

En el mundo del SEO una de las acciones que más veces aplicamos en un proyecto son las redirecciones. Desde eliminaciones de productos de una tienda online hasta cambios de web, este mecanismo es esencial para evitar perder el posicionamiento acumulado de una o múltiples URLs.
En webs grandes, el proceso de preparar estas redirecciones puede eternizarse si se han modificado muchas URLs y no se ha planificado con cuidado. Imaginaos, por ejemplo, el rediseño de un directorio web con miles de referencias en el que se han cambiado todas las URLs de listados y fichas. Sería prácticamente imposible crear todas las redirecciones manualmente.
En este tipo de escenarios es cuando entran en juego las expresiones regulares: a través de ellas podemos agilizar enormemente la tarea de generar redirecciones en proyectos grandes. Vamos a definir qué son y a ver ejemplos reales del uso de expresiones regulares para redirecciones.
Estrictamente hablando, las redirecciones en el entorno web son un grupo de códigos de respuesta HTTP (en concreto, los 300). Sirven para indicar a nuestro navegador que la URL que estamos solicitando ya no está disponible, a la vez que se nos proporciona una nueva URL a la que acceder. Este proceso suele ser transparente para el usuario final, ya que es el navegador quién se encarga de (re)dirigirnos a la nueva URL.
Los códigos de respuesta de tipo 300 son los siguientes:
En la práctica, cuando en el ámbito del SEO hablamos de una redirección, solemos referirnos a las redirecciones de tipo 301. ¿Por qué? Son las que habitualmente necesitamos utilizar para trasladar el valor SEO de una página a otra, y las que recomienda Google utilizar en el caso de redirecciones permanentes.
Las redirecciones 301 están compuestas de dos partes:
Las expresiones regulares o RegEx son patrones de diferentes caracteres (letras, números, símbolos) que utilizamos para analizar una cadena de texto. Por ejemplo, en un formulario en el que uno de los campos es el DNI, podemos utilizar una expresión regular para determinar si tiene el formato correcto. O cuando un usuario introduce una fecha, podemos extraer el año de la misma.
Las combinaciones de patrones en expresiones regulares son infinitas y es difícil perderse a la hora de intentar configurar una que nos sea útil. A la práctica, cuanto más simples mejor, siempre y cuando el proyecto que estemos trabajando nos lo permita. Algunos ejemplos de patrones habituales que podemos utilizar en RegEx son:
Hemos visto ya la definición tanto de las expresiones regulares como de las redirecciones. Pero a la práctica, ¿Cómo podemos utilizar RegEx para nuestras redirecciones? Dependiendo del tipo de web que tengamos deberemos optar por una solución u otra:
Para este artículo vamos a centrarnos en las redirecciones aplicadas con el archivo htaccess. Pero la lógica detrás de ellas sería la misma si utilizamos otro método.
En el caso que nuestra web haya cambiado sólo de dominio, podemos apuntar todas las URLs del dominio antiguo hacia el nuevo mediante esta regla en nuestro htaccess:
RewriteRule ^(.*)$ https://www.midominio.com/$1 [R=301,L]
La primera parte de la redirección contiene la expresión regular ^(.*)$Cuando tenemos varios subdominios (por ejemplo, www), podemos querer unificarlo todo bajo un mismo subdominio o bajo nuestro dominio principal. Aquí tenemos que añadir una condición sólo aplicar la redirección en los subdominios que nos interese:
RewriteCond %{HTTP_HOST} ^www\.midominio\.com$ [NC]
RewriteRule ^(.*)$ https://midominio.com/$1 [R=301,L]
Pongamos por ejemplo que queremos redirigir todas las URLs de nuestra web que contengan una palabra determinada:
RewriteRule ^.*palabra.*$ /destino [R=301,L]
Imaginemos ahora que, mientras trabajamos en una tienda online de zapatos, ha cambiado la URL de la categoría Zapatos deportivos, pasando de /zapatos/deportivo/ a /zapatos/deportivos/. Y esto afecta a todas las URLs de producto de esa categoría, como /zapatos/deportivo/adidas-low-forum/. Para gestionar estas redirecciones con expresiones regulares podemos utilizar el siguiente código:
RewriteRule ^/zapatos/deportivo/(.*)$ /zapatos/deportivos/$1 [R=301,L]
Estos son sólo algunos casos reales de redirecciones mediante expresiones regulares. Como decíamos más arriba, la flexibilidad que aportan las expresiones regulares es prácticamente infinita. Pero si no lo véis claro y preferís que un equipo profesional os ayude con vuestro proyecto, en nuestra agencia SEO estaremos encantados de ayudaros.

¿Tienes un proyecto en mente? Cuéntanoslo
Olvídate de redirecciones manuales gracias a las expresiones regulares