Cómo usar expresiones regulares en la caja de herramientas
Publicado: 2022-04-17- ¿Qué es una expresión regular?
- ¿Cómo podemos construir expresiones regulares?
- Ejemplos de SEO con expresiones regulares
- Filtrado de palabras clave con expresiones regulares
- Incluir o excluir el nombre de la marca
- Incluir o excluir errores en términos de marca
- Incluir o excluir términos de palabras clave que terminen con palabras específicas
- Incluir o excluir términos de palabras clave que comiencen con palabras específicas
- Incluir o excluir términos de palabras clave relacionados con atributos específicos
- Incluir o excluir términos de palabras clave que contengan el nombre de ciudades en el Reino Unido
- Filtrado de URL con expresiones regulares
- Incluir o excluir subdominios
- Incluir o excluir URL que terminen o no terminen en /
- Incluir o excluir URL que contengan números
- Incluir o excluir URL en un formato particular
- Incluir o excluir URLs pertenecientes a mercados incorrectos
- Resumen
¿Qué es una expresión regular?
Una expresión regular se utiliza para comprobar o verificar un patrón. Su aplicación principal es para filtrar elementos y encontrar coincidencias, por ejemplo, en los siguientes escenarios:
- Analytics: podrías usar Regex para segmentar el tráfico.
- Htaccess: podrías reescribir URLs de una manera más eficiente.
- SISTRIX: puede filtrar nuestros informes que contienen URL, fragmentos o palabras clave.
Las expresiones regulares –o Regex– se pueden usar en muchos lenguajes de programación, pero este tutorial se basará en Perl, ya que utiliza el estándar en el que se basa la funcionalidad SISTRIX Regex ya disponible .
¿Cómo podemos construir expresiones regulares?
Vamos a hacer esto usando caracteres, agrupaciones, cuantificadores y clases, ya que es la sintaxis a través de la cual vamos a poder construir expresiones.
Caracteres | Comportamiento | Ejemplo |
---|---|---|
? | Busca el carácter anterior 1 o 0 veces. | https? |
* | Busca el carácter anterior 0 o más veces. | 30* |
+ | Busca el carácter anterior 1 o más veces. | [0-9]+ |
| | Busca un elemento u otro. (o) | (jpg|jpeg) |
^ | Indica el inicio del patrón. | ^https |
ps | Indica el final del patrón. | html$ |
· | Busca cualquier carácter (comodín) | 4.. |
\ | No interpreta un carácter especial (saltar caracteres) | \/ |
Agrupamiento | Comportamiento | Ejemplo |
---|---|---|
() | Captura contenido específico | (hermana) coincide con hermana |
[] | Captura caracteres dentro de los corchetes | [0-9] Coincide con cualquier carácter numérico [Arizona] Coincide con cualquier letra minúscula |
{} | Indica el número de iteraciones, mínimo o máximo | .{1,3} Coincide con cualquier carácter repetido entre 1 y 3 veces. |
En este tutorial no usaremos cuantificadores, pero creemos que es interesante que se familiarice con ellos en caso de que los use en otros entornos.
cuantificadores | Comportamiento |
---|---|
\w | Busca una palabra, un dígito o un tipo de carácter |
\d | Busca un carácter de dígito |
\s | Busca un carácter de espacio en blanco |
\b | Coincide con el principio o el final de una palabra |
\W | Busca un carácter que no sea una palabra, un dígito o _ |
\D | Busca un carácter que no sea un dígito |
\S | Busca un carácter que no sea un espacio en blanco. |
Ejemplos de SEO con expresiones regulares
Para poder utilizar los ejemplos sugeridos, debe ir a la sección 'Palabras clave' y utilizar los filtros de palabra clave, URL, título o descripción.
Filtrado de palabras clave con expresiones regulares
Para acceder a esta función, solo necesita analizar un dominio 1 e ir a Palabras clave 2 , y luego ir a la selección de Filtro 3

Y luego, use el filtro de palabras clave con Regex 4 .

Ahora nos gustaría proponerte varios casos de uso donde puedes aplicar estas expresiones para aprovechar al máximo el análisis de palabras clave de tus proyectos, o cuando estás analizando a tus competidores.
Incluir o excluir el nombre de la marca
Imagine que tiene una marca que acepta diferentes grafías o es conocida por varios nombres de marcas diferentes. Podemos crear una expresión regular para agrupar todas las palabras clave que consideramos términos de marca. Por ejemplo, currys.co.uk tiene varias palabras clave de marca, a saber:
curry, currys, mundo de pc
Así, utilizaremos la siguiente expresión:
(curry|currys|pc world).*

A continuación puedes ver los resultados que obtendríamos:
También es posible configurar el filtro para excluir palabras clave de marca, utilizando la siguiente expresión, y solo mostrará palabras clave genéricas:
^(?!.*(curry|currys|pc world).*?)

Incluir o excluir errores en términos de marca
Existe la posibilidad de que nos encontremos con marcas, que a menudo están mal escritas o escritas con errores, como Ryanair.
Estos son algunos ejemplos de los términos que los usuarios ingresan para buscar esta aerolínea:
- ryanair
- rayoner
- ryan ir
- rayan ir
- rayana eir
- Raya Nair
- rayan ari
- aire rayado
Hemos identificado más de 35 marcas que podemos capturar usando una sola expresión regular:
Para incluir todas las variaciones de la marca:
(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?
![Tabla de palabras clave en SISTRIX Toolbox para ryanair.com con el filtro regex ".(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e| líneas| )?(línea|ir)?" aplicado.](/uploads/article/246/J4RlqK5XMR1iRPm6.png)
Para excluir todas las variaciones de marca:
^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air)?(e|lines| )?(line|ir)?).)*$
![Tabla de palabras clave en SISTRIX Toolbox para ryanair.com con el filtro regex "^((?!(r|t)[hzeuayi]?[naiy].?[an]?[airn].?(r|t|air) ?(e|lines| )?(line|ir)?).)*$" aplicado.](/uploads/article/246/x8B4lxmc6Vmja5ch.png)
Por supuesto, aún podemos aplicar otros filtros a esta lista, como "contiene", "no contiene", "termina con" o "comienza con".
Incluir o excluir términos de palabras clave que terminen con palabras específicas
Para buscar una única palabra clave bastará con un simple filtro, pero si queremos realizar una búsqueda con varias condiciones, por ejemplo: todas las palabras clave que empiecen por “comprar” y terminen por “online”, podemos utilizar:
^buy.*online$
Esto, aplicado a una tienda online como screwfix.com, devolvería los siguientes resultados:

Incluir o excluir términos de palabras clave que comiencen con palabras específicas
Desde el punto de vista de una herramienta de comparación, puede ser interesante poder filtrar palabras clave que contengan varias marcas.
Por ejemplo, podemos crear una expresión regular que agrupe los términos según los criterios que queramos, que en este caso es cualquier término de palabra clave que comience con cualquier nombre de marca incluido entre corchetes:
^(sony|panasonic|philips|samsung).*
Del mismo modo, podemos usarlo para excluirlos:

^(?!(sony|panasonic|philips|samsung).*)
Incluir o excluir términos de palabras clave relacionados con atributos específicos
Probemos esto con un ejemplo de un atributo que se encuentra comúnmente en muchos proyectos: el precio.
Hay muchas consultas de búsqueda que aluden al precio, como: “barato”, “descuento”, “outlet”, “cupón”, “oferta”, “low cost”, “presupuesto”, etc.
Si queremos excluirlos de los resultados, podemos utilizar la siguiente expresión:
.*(cheap|budget|offer|outlet|price).*

Haciendo uso de las columnas dinámicas de la tabla, podemos organizar los datos por volumen de búsqueda en orden descendente, simplemente haciendo clic en el encabezado de la columna.
En otros casos también podemos utilizar otros atributos como colores, formas, tamaños, target, etc.
Incluir o excluir términos de palabras clave que contengan el nombre de ciudades en el Reino Unido
Muchos proyectos requieren un seguimiento de presencia local. Para ello, podemos usar Regex para agrupar provincias, regiones, ciudades, pueblos, etc.
En este ejemplo, vamos a tomar la lista de ciudades para construir una expresión regular que filtrará términos de palabras clave que contengan una ciudad.
.*(aberdeen|armagh|bangor|bath|belfast|birmingham|bradford|brighton|brighton & hove|bristol|cambridge|canterbury|cardiff|carlisle|chelmsford|chester|chichester|coventry|derby|derry|dundee|durham|edinburgh|ely|exeter|glasgow|gloucester|hereford|inverness|kingston|kingston upon hull|lancaster|leeds|leicester|lichfield|lincoln|lisburn|liverpool|london|manchester|newcastle|newcastle upon tyne|newport|newry|norwich|nottingham|oxford|perth|peterborough|plymouth|portsmouth|preston|ripon|st albans|st asaph|st davids|salford|salisbury|sheffield|southampton|stoke|stoke-on-trent|sunderland|swansea|truro|wakefield|wells|westminster|winchester|wolverhampton|worcester|york).*
Cualquier negocio de comercio electrónico o una herramienta de comparación con presencia física puede usar esta expresión para excluir ciudades, e incluso agregar palabras clave de marca o excluir otros parámetros.
^(?!(.*(aberdeen|armagh|bangor|bath|belfast|birmingham|bradford|brighton|brighton & hove|bristol|cambridge|canterbury|cardiff|carlisle|chelmsford|chester|chichester|coventry|derby|derry|dundee|durham|edinburgh|ely|exeter|glasgow|gloucester|hereford|inverness|kingston|kingston upon hull|lancaster|leeds|leicester|lichfield|lincoln|lisburn|liverpool|london|manchester|newcastle|newcastle upon tyne|newport|newry|norwich|nottingham|oxford|perth|peterborough|plymouth|portsmouth|preston|ripon|st albans|st asaph|st davids|salford|salisbury|sheffield|southampton|stoke|stoke-on-trent|sunderland|swansea|truro|wakefield|wells|westminster|winchester|wolverhampton|worcester|york).*))
Sin embargo, también podemos separarlos en varias expresiones, como se muestra a continuación:

A partir de aquí añadimos el Filtro Experto para indicar que estas dos expresiones son de tipo “y”, en lugar de tipo “o”.


Filtrado de URL con expresiones regulares
Los pasos que debe seguir para filtrar las URL son los mismos que exploramos para las palabras clave, la única diferencia es que tendría que seleccionar "URL" y luego expresiones regulares.

Incluir o excluir subdominios
Ahora que hemos aprendido a usar expresiones regulares para filtrar palabras clave, busquemos algunos casos típicos de uso de SEO en los que necesitaríamos filtrar URL.
Estos son algunos casos de uso básicos para analizar un dominio completo y agrupar las URL por subdominios estratégicos:
(www|support)

Podemos usar un filtro de exclusión para, por ejemplo, separar los subdominios puramente transaccionales y omitir las palabras clave informativas que provienen de los blogs o las preguntas frecuentes.
^^(?!.*(www|support).*?)

Incluir o excluir URL que terminen o no terminen en /
Si el dominio .com de la página de inicio termina en una barra inclinada, la expresión regular se puede adaptar para que coincida:
^.*.com/$
^(?!(.*.com/$))
Cualquier URL que termine con /
.*/$
También podemos usar este Regex para URL, para enfocarnos exclusivamente en las URL que terminan con la barra inclinada (/). Para hacerlo, ingrese el dominio en la barra de búsqueda (1), luego haga clic en URL en la navegación (2), agregue un filtro (3) y elija el filtro de URL como "expresión regular" (4):

Por supuesto, esto también funciona para las URL que no terminan en /
^(?!(.*/$))

Incluir o excluir URL que contengan números
Podemos jugar con la sintaxis de URL para identificar cuáles contienen números para incluirlos o excluirlos:
.*-[0-9].*
^(?!(.*-[0-9].*))
Si queremos algo más específico y sabemos que hay URL que terminan con un número en particular, también podemos incluirlas o excluirlas de la siguiente manera:
.*-[0-9]+$
^(?!(.*-[0-9]+$))
En este caso, nuestra solicitud fue filtrar cadenas que contienen series de 8 números consecutivos.
.*[0-9]{8}.html$
^(?!(.*[0-9]{8}.html$))
Incluir o excluir URL en un formato particular
También podemos usar Regex para filtrar formatos de URL. Por ejemplo, las URL de htm o html, así como las de pdf.
Esto es bastante fácil, ya que podemos contar con filtros "termina con" o "contiene" para hacerlo.
.*htm.?$
.*pdf$
Para excluir los formatos de URL deseados:
^(?!(.*html.?$).)
^(?!(.*pdf.?$).)
Podemos usar varios formatos dentro de una misma expresión, lo que será más valioso y nos ahorrará la molestia de concatenar varios filtros, para incluir:
.*(htm|html)$
.*(jpg|jpeg|gif|png)$
Y también podemos combinar formatos para ser excluidos:
^(?!(.*(htm|html)$).)
^(?!(.*htm.?)$).)
^(?!(.*(jpg|jpeg|gif|png)$).)
Incluir o excluir URLs pertenecientes a mercados incorrectos
Podemos monitorear las URL que no deberían aparecer en los resultados de un mercado específico. Por ejemplo, URLs pertenecientes al mercado estadounidense, mexicano o alemán que aparecen en los resultados del español.
Tomando las siguientes instancias de URL como nuestra base:
Español de España /es_es/
Inglés británico /en_gb/
Inglés de EE. UU. /en_us/
Italiano de Italia /it_it/
Y así.
Podemos usar Regex para filtrar el número de URLs que no pertenecen al mercado español.
^(?!(.*[es]_[az].*)|(.*[az]_[es].*).)
![Tabla de palabras clave en SISTRIX Toolbox para hm.com con el filtro regex "^(?!(.*[es]_[a-z].*)|(.*[a-z]_[es].*).)" aplicado .](/uploads/article/246/TIPPU8qnSB57ontM.png)
Como puede ver, la expresión permite la URL de la página de inicio, donde se encuentra el selector de idioma.
Para refinar aún más esta expresión y dejar fuera la página de inicio, podemos extenderla como se muestra a continuación:
^(?!(.*.com/$)|(.*[es]_[az].*)|(.*[az]_[es].*).)
![Tabla de palabras clave en SISTRIX Toolbox para hm.com con el filtro regex "^(?!(.*.com/$)|(.*[es]_[a-z].*)|(.*[a-z]_[ es].*).)" aplicado.](/uploads/article/246/vxYA4KacpOcflwYd.png)
Resumen
Con los parámetros provistos en esta publicación, ahora puede encontrar sus propios casos de uso donde las expresiones regulares pueden ser útiles y ayudarlo a hacer que sus análisis de SEO sean más eficientes.
Puede seguir probando y practicando con herramientas como https://www.Regextester.com/, o directamente con los filtros de URL, palabras clave o fragmentos de SISTRIX.
Aunque no brindamos soporte para Regex, continuaremos actualizando este tutorial con nuevos casos de uso y análisis de SEO que pueden resultarle útiles.