Making Science
 Olivia Jiménez Delgado
Olivia Jiménez Delgado
Consultora SEO

Introducción a las expresiones regulares en SEO

28 de September de 2018
1 min 30 s

¿Qué son y para qué sirven las expresiones regulares?

Las expresiones regulares, también conocidas como regex o expresión racional, son una secuencia de caracteres que crean un patrón de búsqueda, y como tal nos proporcionan un método eficaz y flexible de buscar y reconocer cadenas de texto.

Las expresiones regulares permiten:

  • Analizar rápidamente grandes cantidades de texto en busca de patrones de caracteres específicos
  • Extraer, editar, reemplazar o eliminar subcadenas de texto.
  • Agregar cadenas extraídas a una colección con la finalidad de generar un informe.

Se convierten en muchos casos en una herramienta indispensable.

Expresiones regulares en SEO

En SEO las expresiones regulares pueden ser de gran utilidad. Con su uso podemos definir un patrón y encontrarlo rápidamente en uno o varios documentos.

Hay un conjunto de herramientas SEO en el mercado que permiten el uso de Regex, entre las que podemos destacar:

  • Crawlers o herramientas de rastreo: Screaming Frog y DeepCrawl entre otras.
  • Google Analytics: podemos crear filtros personalizados para extraer tráfico de determinadas páginas.
  • Google Sheet: en las propias hojas de cálculo de Google podemos hacer uso de la sintaxis =REGEXTRACT para extraer datos de cadenas de URLs entre otros usos.

Algunas expresiones regulares básicas

Profundizando un poco en este apartado, os mostramos un conjunto de expresiones regulares muy útiles en SEO, que son bastante eficaces y nos ahorran mucho trabajo sobre todo cuando: tenemos que extraer una información concreta en varios documentos de un site, o cuando un determinado sitio web es tan grande, que realizar un rastreo completo es una pesadilla, y optamos por rastrear un path concreto o excluir algunos.

Para ello a continuación os mostramos algunos ejemplos sobre el uso de expresiones regulares (regex) en herramientas de crawl como Screaming Frog:

  • Si desde nuestro blog https://www.makingscience.com/, queremos rastrear páginas que contengan únicamente el path ‘/en/’ en la ruta de la URL, con Screaming podemos ir al menú superior y seleccionar  “Configuration” – “Include” e incluimos dentro de la función ‘Incluir”, la siguiente expresión regular: .*/en/.*

Como resultado sólo se rastrearán las URLs que contengan dicho path, tal y como se puede observar en las siguientes imágenes:

Por lo tanto, ya sabemos que todos aquellos caracteres que aparezcan entre los signos “.*” serán los que estamos indicando que aparezcan en la ruta de URLs que se pretende rastrear.

Otra manera de especificar esta expresión, sobre todo cuando el path que queremos rastrear aparece justo después del dominio, es incluirlo de la siguiente manera:

https://www.makingscience.com/en/:*

Si queremos seleccionar únicamente URLs que contienen un parámetro determinado, podemos utilizar las siguientes expresiones:

  • Si por el contrario, nos interesa descartar un conjunto de URLs en el crawl, desde el menú de Screaming vamos a “Configuration” – “Exclude”, y al igual que en el caso anterior, especificamos con regex qué path no queremos que aparezca. Y aquellas URLs que coincida con la exclusión indicada no aparecerá en el rastreo directamente. Algunos casos de uso los podemos encontrar a continuación:
  • Para excluir el subdirectorio o path “/en/” de nuestro blog: https://www.makingscience.com/en/, hay que incluir la siguiente sintaxis en la función “Exclude”:  https://www.makingscience.com/en/.*
  • Para excluir una carpeta o path, que aparece intercalada entre carpetas previas, utilizamos la siguiente expresión: https://www.dominio.com/.*/example-path.*

Por ejemplo en la siguiente imagen mostramos cómo podríamos excluir del rastreo todas las URLs que formen parte de la carpeta “/seo-social-media/”

  • Si queremos excluir del rastreo todas las imágenes que aparecen en nuestro site, la expresión regular sería similar a: .*jpg$

Y en la siguiente imagen se puede observar que al descartarse las imágenes, no se ha rastreado ninguna en Screaming:

  • Si queremos excluir páginas que contengan algún término concreto en la URL como por ejemplo “desarrollador”, la expresión regex sería: .*desarrollador.*
    • Si nos interesa excluir las URLs que contengan el protocolo de seguridad (HTTPS), la expresión regular sería: .*https.*

Y si queremos excluir todas las páginas con HTTP, el regex sería: http://www.dominio.com/.*

  • Por poner un ejemplo del uso de una expresión regular más compleja, si tenemos agrupados en Google Sheet un listado de URLs pertenecientes a distintos dominios, y queremos extraer únicamente del mismo los dominios, podemos hacer uso de la siguiente sintaxis:

=REGEXEXTRACT(A2;”^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)”)

A continuación, especificamos un ejemplo con el uso de esta sintaxis en Google Sheet, pero con URLs de nuestro propio blog, para que podáis ver el resultado del proceso:

Hoja de trucos de expresiones regulares

Las expresiones regulares pueden ser más complejas, dependiendo de los patrones que nos interese extraer. Por ello, en la siguiente tabla podréis encontrar una hoja de trucos (cheat sheet), que servirá como aprendizaje para familiarizarse con los metacaracteres que más se utilizan en regex, y que nos permitirán crear expresiones útiles que nos ahorren tiempo:

Usamos cookies para mejorar tu experiencia como cliente. Política de cookies

×