Recursos y Herramientas

Cómo redireccionar páginas web (redirect 301, 302 y 307)

Cuando eres el propietario de una web, tarde o temprano necesitarás redireccionar URLs de una página de tu web a otra (u otras). En esta guía te explicaré todo lo que necesitas sobre las redirecciones 301 para abordarlas con éxito.

De todos modos, antes de entrar en materia, un comentario previo: las redirecciones 301 son algo en que el soporte del hosting que tengas contratado te debe ayudar, incluso hacerlas por ti cuando la situación lo requiera.

Si te ponen pegas o lo hacen mal, estás ante un indicio claro de un servicio de calidad deficiente. Tenlo en cuenta por si te pasa.

Hecho estos comentarios previos, vamos al lío…

¿Qué es una redirección 301 y para qué sirve?

Una redirección es una directiva en un servidor web que le indica al servidor que al acceder un usuario a una URL A (que no existe) el servidor web debe llevarle a la URL alternativa B.

Hay varios tipos de redirección donde la más usada, la redirección típica es la redirección 301, es una redirección permanente de una URL a otra.

El número 301 responde a un estado de respuesta del protocolo HTTP.

Es decir, normalmente, cuando un navegador web pide una página con una determinada URL a un servidor web, éste, aparte de enviar el contenido de la página, envía un código de estado como respuesta (normalmente, 200, el código de estado que indica que todo ha ido bien).

De aquí salen los famosos códigos 404 (página no encontrada), 500 (error interno del servidor), etc.

El código de estado 301 es uno más que en este caso indica que la página ha sido movida a otra URL.

¿Qué diferencias hay con las redirecciones 302 y 307?

Quizás hayas oído hablar también de las redirecciones 302 y 307. Son mucho menos usadas que las 301, pero conviene conocerlas.

Las redirecciones 302 (Found / Moved Temporarily)

Lo más importante que hay que saber sobre las redirecciones 302 es que han cambiado. En la versión 1.0 del protocolo HTTP el estado 302 se refería al código de estado «moved temporarily» (movida temporalmente).

Este funcionamiento fue cambiado en la versión 1.1 a «found» (encontrada). Por tanto, como modo de redirección se ha quedado obsoleto.

Google ha indicado en alguna ocasión que hay casos en los que los 301 y 302 se pueden tratar de forma similar, pero los experimentos que han realizado empresas de SEO de primera fila como Moz, por ejemplo, sugieren que es más fiable usar las redirecciones 301.

Las redirecciones 307 (Moved Temporarily)

El estado 307 es el sucesor en HTTP 1.1 del estado 302 en la versión 1.0 de HTTP.

Por tanto, si se quiere crear hoy en día una redirección identificada expresamente temporal, debe usarse una redirección 307.



Cómo funcionan las redirecciones 301 en Google

Una de las preocupaciones más importantes de los usuarios cuando necesitan usar redirecciones es cómo afectan esas redirecciones a aquellos resultados de búsquedas en Google en las que aparecía la página ahora redireccionada a otra URL.

En primer lugar, debes tener claro la regla de que si se cambia la URL de una página para Google significa que la nueva URL corresponde a una página diferente, aunque el contenido de las dos sea idéntico hasta la última coma.

Esto, en principio, implica que esta página tiene que luchar de nuevo desde cero para posicionarse.

Sin embargo, por suerte, Google tiene en cuenta las redirecciones 301 y en ese caso traspasa la autoridad de la página antigua a la nueva casi entera. Pasado un tiempo prudente (se suele tomar un año como norma) puedes eliminar la redirección 301 sin que se pierda la autoridad traspasada.

Ahora bien, tienen que tener un contenido suficientemente afín, Google valora qué % de la autoridad traspasa lo que dependerá fundamentalmente de la afinidad temática entre ambos contenidos. No te funcionará traspasar autoridad de una URL que habla de coches a otra que habla de vino.

Por otra parte, cuando hablamos de una redirección temporal (307) hay cierto lío. Aquí, según Google, se traspasaría autoridad igual que una redirección 301, pero según Moz, no se comportaría así…

Por tanto, mi consejo: no entres en estas cuitas, salvo que haya razones de peso para no hacerlo, usa redirecciones 301 siempre.

5 Escenarios en los que las redirecciones 301 resultan muy útiles

Hay muchos escenarios en los que las redirecciones 301 resultan tremendamente útiles.

Veamos algunos de los más típicos:

1. Redireccionar un dominio a otro nuevo sin perder visitas

Mucha gente empieza su web (típicamente un blog) en plataformas gratuitas como BloggerWordPress.comWix y semejantes usando un nombre de dominio de la propia plataforma, es decir, algo así como fulanito.blogspot.com o fulanito.wordpress.com.

Cuando estos sitios empiezan a tener algo de éxito, es cuando el dueño quiere cambiar también a un dominio en condiciones que sea su dominio, es decir, quieren cambiar de fulanito.blogspot.com a fulanito.com.

Con esto, todas las URLs cambian y, en principio, el sitio desaparecería de Google y los enlaces hacia las páginas de este sitio quedarían rotos todos. Total, te quedarías en cero visitas.

Una suerte que existen las redirecciones 301, que permiten redirigir una web entera con unas simple directivas y que, además, Google también las respeta en su buscador 🙂

2. Redirigir URLs de páginas eliminadas a otras páginas

Con los años, toda web acumula un % de páginas que se van quedando obsoletas y que ya no te interesa actualizar, solamente eliminar. Si no fuera por las redirecciones 301, aquí se habría terminado el rendimiento de esas páginas.

Sin embargo, con las redirecciones 301 puedes redirigir estas páginas a otras que sean lo más parecidas posible. Con esto tienes varias grandes ventajas:

  • Evitas los enlaces rotos en webs de terceros que apuntan a la página eliminada.
  • Refuerzas la autoridad de las páginas a las que rediriges la página eliminada. Puedes mantener posiciones de la antigua página o incluso llegar a subir varias posiciones en los resultados de búsqueda gracias a esa inyección de autoridad.
  • Mejoras el retorno del trabajo invertido. Es decir, el trabajo que has invertido en una determinada página sigue dando frutos incluso después de eliminarla.

3. Consolidar contenidos (reutilizar contenidos, canibalización, etc.)

Partiendo del escenario del punto anterior, muchas veces se da el caso de que tienes no una, sino varias páginas obsoletas y con una temática y contenidos muy parecidos.

En este caso tiene mucho sentido consolidar estos contenidos en uno. Esto quiere decir que, o bien, creas uno nuevo aprovechando retales de los obsoletos o complementas el más aprovechable de los actuales con esos retales.

Este mismo proceso será necesario aplicarlo, además, periódicamente para solucionar un fenómeno que muy poca gente sabe qué, pero que afecta a prácticamente todas las webs hundiéndoles el posicionamiento en Google: la canibalización de páginas.

Se produce canibalización cuando, dentro de la misma web, diferentes páginas compiten para las mismas palabras clave. La reacción de Google al lío que le supone esto desde su punto de vista suele ser castigarlas todas con malas posiciones en los resultaos de búsqueda.

Lo malo es que cuando no se trabaja meticulosamente el SEO de un sitio web, la canibalización se produce de manera natural simplemente es natural una inercia en la que acabas compartiendo palabras clave a lo largo de diferentes contenidos.

Y esto es precisamente una de las principales razones del estancamiento e incluso caída en visitas, el famoso “efecto meseta” que se produce en casi todas las webs al cabo de unos años.

No puedo entrar aquí en profundidad en este tema, pero toma nota de ello para investigar por tu cuenta y quédate con la idea de que la solución pasa por consolidar esas páginas en una.

4. Solución fácil a errores 404 (página no encontrada)

Es inevitable que periódicamente se produzcan errores de página no encontrada (error 404) en tu web.

Si identificas que efectivamente estos errores 404 corresponden a enlaces rotos (páginas eliminadas), una redirección 301 a un contenido parecido puede ser una manera muy elegante de ofrecerle al lector lo que está buscando.

Una redirección así va a ser siempre una solución mejor que la típica página de 404.

5. Seguimiento y estadísticas de enlaces

Otra aplicación muy interesante de las redirecciones 301 (incluso sería mejor aplicar las 307 en este caso) es la creación de enlaces especiales que se quieren “tracker”, es decir, de los cuales te interesa recopilar estadísticas (de número de clics, páginas de las que originan los clics, etc.).

En el marketing online es muy típico usar esto en enlaces de afiliación, por ejemplo, te permite medir cosas tan interesantes como en qué medida varia la tasa de clics en estos enlaces según qué tipo de contenido. Esto te dará una información importantísima para atinar con futuros contenidos.

Puedes implementar este tipo de enlaces muy fácilmente con acortadores que incluyen estadísticas de uso como, Bitly o el acortador de Google, por ejemplo.

En el caso de usar WordPress, dispones, además, de un montón de plugins que te permiten implementarlos. Nosotros concretamente usamos Pretty Links.

Qué es y cómo redireccionar con el fichero htaccess

Ahora que ya sabes lo que son las redirecciones y para qué sirven, como ya decía arriba, cuando las necesites, debería ser tan simple como pedírselas al soporte de tu hosting y que ellos te añadan la redirección en cuestión a la configuración de tu web.

Pero si tienes curiosidad por conocer también el lado técnico de todo esto y/o quieres ser más autónomo a nivel técnico, voy a contarte también cómo funciona la parte técnica.

Para ello tenemos que partir de la base de que las redirecciones las podemos crear básicamente de dos maneras:

  • Como una configuración en el servidor web que se realiza en un fichero.
  • O en un lenguaje de programación implementándolas en una aplicación web.

Empecemos por el servidor web.

La gran mayoría los servicios de hosting que usan típicamente bloggers y pequeños emprendedores son un entorno LAMP (las siglas de Linux – Apache – MySQL – PHP), una combinación de determinado software de código abierto.

Lo que nos interesa aquí específicamente es el servidor web que es Apache.

En Apache, las redirecciones se han de configurar en un fichero que se encuentra en la raíz de la carpeta correspondiente de tu servidor de hosting al dominio de tu web con el nombre de .htaccess (incluido el punto al principio).

Si el panel de control de tu hosting es cPanel, ya cuentas con las herramientas de edición online necesarias para hacer todo desde ahí. Pero, de todos modos, aunque tengas un panel de control diferente a cPanel, éste debería incorporar herramientas de edición de ficheros de texto.

Otra alternativa para editar este fichero es bajártelo a tu equipo local y editarlo allí con algún editor que hayas instalado en tu ordenador.

Particularmente te recomiendo Notepad++ que es un editor de texto y de código libre que te será muy útil para esto y para muchas otras cosas.

Veamos entonces cómo se crean las redirecciones 301 más típicas con htaccess.

Cómo hacer un redirect 301 de una URL en htaccess con Apache

Vamos a ir de ejemples más sencillos a ejemplos más difíciles. Para calentar motores, lo más simple es redireccionar una URL concreta a otra dentro del mismo dominio o a un dominio diferente.

En este ejemplo redireccionamos la URL de http://midominio.com/como-hacer-redirecciones/ a http://midominio.com/redirecciones-301/

Para ello tenemos que añadir esta línea con la directiva “redirect” a htaccess:

Al ser la redirección dentro del mismo dominio no es necesario poner expresamente la parte del dominio de la URL (“http://midominio.com”). Se asume que la barra inicial de la URL corresponde a la carpeta raíz del dominio.

Si fueran dominios diferentes, sin embargo, quedaría así:

Ojo, porque una URL que tenga el “/” final es diferente a una que no lo tenga. Es decir, en principio, estas URLs no son las mismas:

  • http://midominio.com/como-hacer-redirecciones
  • http://midominio.com/como-hacer-redirecciones/

Dependiendo de la configuración de tu .htaccess, puede que una se redirija automáticamente a la otra, pero si te quieres currar en salud, prueba ambas variantes para ver si las dos se redirigen bien.

Si no es así, puedes pedirle al soporte de tu hosting que te echen una mano, o bien, directamente hacer esto (una línea sin la barra final y otra con ella en la URL origen):

Como ves, no hay ningún problema en hacer varias redirecciones a la misma URL destino.

De hecho, esto es justamente lo sucede cuando hacemos una consolidación de contenidos (como he explicado arriba) donde consolidamos varias páginas antiguas en una nueva.

Redireccionar un dominio entero con htaccess

Vamos a ir ahora a un escenario un poco más complicado: redirigir un dominio entero.

Aquí la novedad es que estamos trabajando con las expresiones regulares de Apache.

Las expresiones regulares son todo un mundo en sí mismas y no puede entrar aquí en un terreno tan extenso. Simplemente quédate con la idea de que son una especie de comodines que encajan con ciertos patrones de texto.

Para poder usar expresiones regulares tenemos que cambiar de directiva: ahora necesitamos la directiva “redirectmatch”.

Aquí, con ^(.*)$ estamos “captando” básicamente el texto de cualquier URL del  sitio y ese valor lo estamos metiendo en la variable “$”. Más adelante en la misma línea, ese valor de la variable lo colocamos en la posición de “$1”.

El resultado es que a cualquier URL le estamos cambiando el dominio y sólo el dominio. El resto de la URL se mantiene intacta.

Advertencia: lo que estamos haciendo en este caso es muy delicado, estamos redirigiendo una web entera.Si lo haces mal, puedes meter mucho la pata. Por tanto, no deberías hacer esto sin la supervisión de un técnico. Mejor aún: que lo haga el soporte de tu hosting.

Y aun en el caso que lo haga el soporte de tu hosting, para cerciorarte, prueba con varias páginas concretas que todo ha ido bien.

Cómo hacer Redirecciones 301 de HTTP a HTTPS en htaccess

Con la aparición de los certificados SSL gratuitos de Let’s Encrypt hace unos años definitivamente todo el mundo se puso las pilas para pasar de conexiones HTTP inseguras (por transmitir la información en texto plano) a conexiones HTTPS seguras (donde la información viaja cifrada).

Tanto es así que en el mundo de los profesionales del posicionamiento web se da por hecho que Google toma en consideración que una web use o no use conexiones seguras como criterio de posicionamiento en sus resultados de búsqueda favoreciendo las que usan conexiones seguras.

Por tanto, si tu web sigue siendo HTTP en vez de HTTPS, ya te estás poniendo las pilas…

Para hacerlo, primero necesitarás un certificado electrónico para conexiones SSL. Hoy en día, todos los hostings “decentes” te ofrecen opciones gratuitas como Let’s Encrypt para tenerlo.

Así que esto es pedirlo al soporte de tu hosting y seguir, si acaso, una serie de sencillos pasos de configuración que te indiquen (normalmente ni eso, es activarlo en el panel de control y punto).

Hecho esto, aunque no lo parezca, hemos cambiado la URL y tenemos que redirigir el tráfico, aunque no hayas cambiado el dominio. Esto se resuelve habitualmente con otro tipo de directiva, con las reglas de reescritura (rewrite rules) de Apache.

Aquí te dejo como plantilla la configuración para nuestra web (tras eliminar algunas directivas específicas para nuestro caso):

Esto lo tendrías que añadir, de nuevo, a htaccess.

Y, de nuevo, reitero mi advertencia anterior: esto son configuraciones avanzadas donde es muy fácil meter la pata. Por tanto, mejor que intervenga un técnico especializado y, a continuación, prueba a fondo esta nueva configuración navegando por un buen número de páginas.

Crear un redirect 301 con htaccess desde WordPress

Si tu web es un sitio basado en WordPress y, por algún motivo, prefieres trabajar directamente con htaccess desde WordPress y no desde las herramientas del hosting, puedes hacerlo también.

Para ello te recomiendo aprovechar el plugin de Yoast SEO, recomendable para prácticamente cualquier web. Este plugin dispone de un editor de ficheros que incluye un editor específico para htaccess:

Una vez instalado el plugin, puedes acceder a este editor vía el menú SEO/Herramientas/Editor de Archivos.

Pero ojo, a veces, se deshabilita la edición de ficheros desde WordPress como medida de seguridad (medida recomendable, por cierto). En esos casos, el menú anterior no va a estar disponible.

Herramientas y documentación útil para trabajar con redirecciones en htaccess

Como último en este apartado sobre htaccess, te dejo también algunas referencias de herramientas y documentación:

Otras formas de hacer redirecciones 301

Aunque implementar las redirecciones con directivas en htaccess es la manera más común de trabajar con ellas, no es la única. Hay otras formas de hacerlo que, además, tienen sus ventajas específicas.

Veámoslas:

Cómo redireccionar webs y URLs en PHP

La forma de trabajar con las redirecciones en htaccess es estática, es decir, defines un conjunto de reglas y éstas, por muy sofisticadas que sean, van a ser siempre las mismas.

Pero es posible que esto en la práctica no sea suficiente, que necesites redireccionar a una página u otra en función de cierta lógica, es decir, que tengas que hacer redirecciones de una manera dinámica.

Cuando sucede esto, hay que programar.

Hay muchos lenguajes de programación, pero el más usado en la web y, en particular, en las plataformas de código abierto tan populares como WordPressJoomlaPrestashop, etc., es PHP.

En PHP una redirección se implementa así:

No te olvides de “matar” la ejecución al final con exit() o con die() ya que, tras una redirección no tiene sentido seguir procesando más código PHP de la página actual.

No te olvides tampoco de que cuando estamos hablando de PHP, estamos hablando de ejecución en el servidor.

Cómo redireccionar a otras páginas con JavaScript

Si la redirección forma parte de algo que se ejecuta en el cliente, es decir, en el navegador web, tenemos que usar JavaScript, el lenguaje de programación que fue creado específicamente para poder ejecutar programas en el navegador web y hacer así las páginas web más dinámicas.

En este caso, una redirección se haría de esta manera:

Pero OJO a un detalle muy importante: esto no es una redirección 301.

Lo que se está haciendo aquí se comporta, en efecto, como una redirección llevando al usuario a otra página, pero no es una redirección en el sentido genuino del protocolo HTTP. No lo es porque no estamos en el servidor y, por tanto, no hay un código de estado 301 o 307 como respuesta.

En principio, una consecuencia muy importante de esto sería que esta redirecciones no pasarían autoridad, no obstante, parece que hay evidencias que sugieren que Google es lo suficientemente inteligente para detectar esto y comportarse como con una redirección 301 normal.

En cualquier caso, si no realmente necesitas hacerlo con JavaScript, intentaría evitar este tipo de redirecciones.

Redireccionar URLs y páginas web desde HTML

Puedes hacer algo muy similar también directamente en HTML con el siguiente patrón de código:

Un matiz muy interesante aquí es que con el atributo “content” puedes especificar un número de segundos que la página debe esperar antes de cargar la página a la que se está redireccionando.

En cuanto al comportamiento en Google no he encontrado información concluyente sobre el comportamiento de esto a la hora de pasar o no autoridad (PageRank). Por tanto, también aquí sería muy prudente si pasar la autoridad resulta importante para la página en cuestión.

Cómo hacer redirecciones 301 en WordPress con plugins

Otra opción que no hemos explorado cuando el sitio es un sitio WordPress es la de crear las redirecciones con plugins. Dos de los más populares son Redirection y Simple 301 Redirects.

Aquí puedes hacerte una idea de cómo se trabaja con este tipo de plugins:

De todos modos, tengo que decir que no soy muy partidario de usar este tipo de plugins porque al final tampoco simplifican mucho (por ejemplo: si quieres usar expresiones regulares, sigues teniendo que crearlas tal cual) y al final escriben en el fichero htaccess.

Para eso y lo relativamente poco que aportan, prefiero trabajar directamente en htaccess y evito cargar WordPress con un plugin más.

No obstante, tienen algunas ventajas interesantes, entre ellas que pueden exportar reglas htaccess a otros servidores web, por ejemplo, a NGinx, un servidor web que está subiendo en popularidad haciéndole seriamente competencia a Apache.

Cómo hacer redirecciones 301 en Blogger, WordPress.com y otras plataformas

Un caso muy especial, que se sale de todo lo que hemos visto, se da cuando estamos en la plataforma de un tercero, independientemente de que sea con un dominio propio o con el dominio de un tercero.

En este caso, todo depende de la política del sitio en cuestión. Por ejemplo: en Blogger te dan ciertas opciones para que tú gestiones las redirecciones de página, mientras que en WordPress.com necesitas un plan de pago que incluya este servicio para poder hacerlo.

Por tanto, si estás con alguna plataforma de este tipo, consulta con su soporte o con foros especializados en cada caso.

Conclusiones finales

Si tienes una web que funciona, tarde o temprano te vas a encontrar con la necesidad de hacer redirecciones. Normalmente van a ser siempre redirecciones 301. Por eso, es importante que sepas lo que son.

Las redirecciones más frecuentes (el 99% de los casos) son de una URL a otra (las primeras que hemos visto) y son muy simples de implementar. Aquí poco puedes hacer mal, es relativamente seguro que manipules directamente el fichero htaccess de tu servidor sin ayuda técnica.

Sin embargo, cuando toca hacer cosas avanzadas, especialmente cuando requieren el uso de expresiones regulares (dónde es muy fácil cometer errores), deberías dirigirte al soporte de tu hosting para que te lo hagan técnicos de sistemas especializado en estos temas.

Si no lo quieren hacer o ves que meten la pata, ya tienes un criterio muy claro para cambiar de hosting en cuanto puedas. Hay muchas opciones excelentes en el mercado, y por poco dinero, como lo son las que recomendamos nosotros (WebempresaSiteGround o Raiola Networks principalmente).

En ese sentido, me disculpo también de antemano por no poder responder a problemas o recomendaciones de configuración concretas que queráis plantear en los comentarios. Este post ha sido simplemente una introducción general, pero no soy un técnico especializado en este tema.

Por último, conciénciate también de que tocar el fichero htaccess es tocar un elemento muy delicado de tu web, si cometes errores (un simple error de sintaxis en las directivas, por ejemplo), puedes llegar a tirar tu web entera.

Por eso, como buena práctica, siendo el fichero htaccess lo importante que es, aparte de probar bien, antes de manipularlo, aunque sea para una tontería de cambio, haz siempre una copia de seguridad de ese fichero.

Un artículo escrito por

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *