Crear, probar y comprender las redirecciones 301 y 302

¿Qué es una redirección de URL?

Se puede acceder a los recursos disponibles en Internet mediante las URL (consulta el artículo dedicado a las URL). A veces, el responsable de un sitio puede querer cambiar la ubicación de un recurso. Pero entonces, si algunos usuarios acostumbrados a la antigua ubicación (por ejemplo utilizando un marcador / bookmark en su navegador) tratan de acceder ahí, les aparecerá un error. Por suerte, hay una solución simple: establecer una redirección de la antigua URL hacia la nueva. El navegador seguirá mágicamente este camino de redirección, el cliente accederá a su recurso y la nueva URL aparecerá en la barra del navegador.

redirection 301

Pueden existir otros escenarios en los que resulta útil una redirección, pero el principio de funcionamiento sigue siendo el mismo.

Técnicamente una redirección se gestiona a nivel del protocolo HTTP. Cuando el navegador contacta con el servidor web en una «antigua» URL, este responde con un código HTTP preciso (redirección 301 o redirección 302) e indica también la «nueva» URL (gracias al campo HTTP Location).

¿Redirección 301 o redirección 302?

Hay dos tipos de redirección en función del código HTTP de la respuesta:

  • Redirección 301 «Moved permanently»: Es una redirección permanente hacia una URL indicada en la respuesta (campo 'Location'). Esta redirección se considera como 'Google Friendly'. En concreto, esto significa que la nueva URL aparecerá siempre en los resultados de búsqueda en lugar de la antigua. Y la nueva URL recuperará el historial de la antigua, lo que resulta esencial desde el punto de vista del SEO.
  • Redirección 302 «Moved temporarily»: Es una redirección temporal hacia una URL indicada. Hay algunos casos en los que esto puede ser útil: contenido temporalmente no disponible, redirección en función del idioma... Google seguirá considerando la URL de origen como existente.

Cómo realizar una redirección 301 o 302?

Técnicamente hay varios modos de establecer una redirección. Esto depende de tu necesidad, de tus recursos técnicos y de la modularidad que tu plataforma web ofrezca. La redirección puede realizarse en cuatro niveles distintos:

  • A nivel de registrar. (Es la empresa que gestiona tu nombre de dominio, por ejemplo Gandi). La mayor parte de los Registrars permiten establecer mediante su interfaz de gestión redirecciones web. Es útil sobre todo para redirigir globalmente todo un dominio hacia otro (por ejemplo, redirigir www.prueba.com hacia beta.prueba.com), sin necesidad de saber programar para establecer este tipo de redirección.
  • A nivel del servidor web (por ejemplo Apache o IIS): es possible configurar redirecciones de manera lógica cambiando los archivos de configuración del servidor web utilizado (.htaccess, httpd.conf por ejemplo con Apache). Hacen faltan conocimientos de administración de los servidores para establecer este tipo de redirección. Este método es bastante flexible gracias principalmente a la fuerza de las expresiones regulares. Es el método empleado por nuestra herramienta de generador de htaccess.
  • Por programación del lado del servidor (con un lenguaje como PHP, ASP...). En este caso hacen falta conocimientos básicos de desarrollo web para establecerlos. Este método es potente pero a veces menos flexible que el anterior (considerablemente, pues tiene que intervenir un desarrollador para cada establecimiento).
  • Por programación del lado del cliente (en Javascript). Este método es útil cuando una acción del usuario debe llevar hacia una nueva página, pero se desaconseja en el marco de una redirección sistemática, pues no utiliza el mecanismo estándar de redirección a nivel HTTP (301, 302). Un robot de indexación no sabrá interpretarla correctamente.

No debes confundir redirección de URL y reescritura de URL (en inglés: URL Rewriting)

Una redirección de URL es visible para el usuario, ya que la URL cambia en la barra del navegador. Por el contrario, una reescritura (URL Rewriting) es invisible para el usuario final, pues es una reescritura de URL interna en el servidor web. Consulta el artículo sobre la URL Rewriting para leer toda la información sobre este tema.

Probar tus redirecciones 301 y 302 con nuestra herramienta gratuita Yakaferci


Analizar gratis las redirecciones de tu página:
Analizar mi página


Crear redirecciones 301 o 302 con un archivo .htaccess

Con el formulario de aquí arriba puedes generar un archivo .htaccess para establecer las redirecciones. Para esto basta con indicar la URL de origen que se debe redirigir (absoluta o relativa) y a continuación la URL de destino (SIEMPRE absoluta, es decir, que comienza por http:// o https://) y pinchar en generar. Puedes indicar varias URL introduciendo varias líneas en los campos.

  • Antigua(s) URL:
  • Nueva(s) URL:
  • Tipo de redirección:
  • Resultado:

Basta con copiar y pegar el campo resultado en un archivo .htaccess situado en la raíz de tu sitio. Esto funcionará con todos los servidores web de tipo Apache (con los módulos mod_alias y mod_rewrite).