Redirecciones 301 en htaccess – Guía completa

Aspectos básicos acerca del redireccionamiento de páginas web.

En un sitio, el redireccionamiento es un método para transferir visitantes de una dirección web a otra. Existen diversas razones para que un sitio necesite usar este recurso.

a) El sitio está en un dominio similar pero diferente.
b) Dos sitios se fusionan en una página
c) Hay una dirección nueva para el nuevo sitio.

Por ejemplo, si una empresa cambió su nombre hace poco tiempo, entonces preferirán que sus visitantes y clientes se dirijan al sitio con el nuevo nombre.

Actualmente, los usuarios se encuentran con estas redirecciones cuando visitan un enlace relacionado a ventas. Esto es porque cuando un enlace afiliado es muy extenso, no es amigable para la publicidad en la red. Con frecuencia el sitio afiliado direcciona un enlace hacia otra URL que tenga menor extensión para esconder el hecho que están transfiriendo usuarios hacia una oferta relacionada.

Si tienes le necesidad de usar este recurso, no importando el por qué, entonces este artículo te será muy útil. En esta publicación se describirán los métodos más eficientes para la redirección de sitios con el fin de ayudarte.

¿Qué es la redirección 301?

Cuando se redirecciona de un sitio a otro, hay que tener en mente que los motores de búsqueda no se pierdan después de la aplicación de este método. Una redirección 301 es la indicada para estos casos, porque permite conservar las posiciones que tengas en los motores de búsqueda después de este proceso. Esta redirección es diferente a la 302, porque es un método para cambiar de sitio tu web de forma permanente, por lo que no habrá conexión futura entre la dirección antigua y la nueva. Para implementar la redirección 301 tienes que crear un archivo .htaccess (asegúrate que los proveedores del alojamiento de tu sitio tienen este sistema).

Los diferentes pasos de una redirección via .htaccess:

 

htaccess redirecciones requestcycle
Redirecciones .htaccess el «requestcycle»

 

 

¿Qué es un archivo .htaccess?

En los servidores web (que general son Apache), .htaccess es el nombre por defecto para el archivo de configuración a nivel de directorio, que permite la gestión descentralizada de la configuración del servidor web. Un archivo .htaccess es un archivo ASCII, como los que usarías en un editor de texto como el Bloc de Notas o SimpleText. Este archivo tiene instrucciones específicas para algunos pedidos, lo que incluye casos de seguridad en la redirección y como actuar ante errores determinados. Cuando un visitante o un robot de los motores de búsqueda hace un pedido a tu sitio a través de cualquier método, entonces el servidor web necesitará revisar primero el archivo .htaccess. Todo cambio que se aplique a estos archivos tendrá efecto inmediato.

¿Cómo implementar la redirección 301 para páginas estáticas?

Antes que todo, necesitas revisar si hay un archivo .htaccess en el directorio raíz de tu servidor. Si no lo encuentras, abre el bloc de notas u otro editor de texto y crea el archivo, bajo el nombre de .htaccess.

Si ya tienes este archivo con algunas líneas de código, entonces simplemente necesitaras descargarlo a tu escritorio para editarlo. No deberías modificar las líneas que ya estaban creadas a menos que sepas lo que estás haciendo.

Avanza más allá de las líneas que ya estaban creadas, deja espacio de una línea, y crea una nueva línea para ubicar el siguiente código: redirect 301 /old/old.htm https://www.tu.com/nuevo.htm . Guarda el archivo y luego súbelo a la carpeta raíz de tu servidor. Abre tu navegador y dirígete a la dirección antigua de tu página web, que debería enviarte a tu nueva dirección. ¡Felicitaciones!

Notas: Asegúrate que la dirección antigua de tu sitio ocupe toda tu página, por lo que no deberías agregar https://www al inicio de tu dirección antigua. Además, deberías mantener un sólo espacio entre los siguientes tres elementos: redirect 301 /old/old.htm https://www.tu.com/nuevo.htm

¿Cómo implementar un redireccionamiento 301 en páginas dinámicas?

A diferencia del caso anterior, una página dinámica puede cambiar cada vez que se carga (sin necesidad de hacer estos cambios de forma manual) y pueden modificar su contenido según el comportamiento del usuario, como cuando se hace clic en una imagen. Este tipo de páginas son creadas por lo general por una aplicación comandada por una base de datos, como el caso de los programas de foros o blogs. Significa que el sitio obtendrá información desde una base de datos para luego insertarla en el lugar, cada vez que sea cargado. Cuando se trata de revisar la dirección URL de una página dinámica, te encontrarás con un archivo enlazado por una cadena de consulta, como el caso que se ve a continuación:
https://www.ejemplo.com/pagina.php?id=13

Si existe una cadena de consulta en tu URL antigua, entonces se puede deducir que tu antigua página web era dinámica. Para estos casos no sirve la redirección 301 para sitios estáticos. Necesitarás usar una solución de reescritura. Por ejemplo, con el caso anterior pagina.php?id=13 necesitarás todos los códigos siguientes en tu archivo htaccess:

RewriteEngine on RewriteCond %{QUERY_STRING} ^id=13$ RewriteRule ^/pagina.php$ https://www.ejemplo.com/nuevonombre.htm? [L,R= 301]

Recuerda por favor reemplazar el id=13 de arriba con la cadena de consulta de la página que quieres redireccionar y también reemplazar el texto pagina.php con el nombre de tu archivo previo a la cadena de consulta.

¿Cómo implementar la redirección 301 en nombres de archivo con espacios?

Generalmente la mayoría de los sitios web tienen nombres con espacios, como “Formulario Para Entradas”.htm. Cuando se trata de hacer la redirección, surge el problema con los códigos estándar de redirección 301. Afortunadamente, la solución es aplicar comillas que encierren la ruta del archivo original. Entonces el ejemplo quedaría como lo siguiente: redirect 301 “antigua página.htm” https://www.ejemplo.com/nuevapágina.htm

¿Cómo aplicar la redirección 301 al sitio completo?

Si tienes un nuevo dominio para tu empresa y quieres sacarle todo el provecho porque es maravilloso, entonces tendrás que redireccionar el sitio completo añadiéndole el siguiente código a tu archivo .htaccess: redirect 301 / https://www.tu.com/

La primera barra oblicua “/” significa que todo el sitio será redireccionado. Si vas a usar las mismas rutas y nombres de archivo como el sitio antiguo, entonces será relativamente fácil lograr el propósito haciendo uso de este método.

Por favor no olvides la barra oblicua “/” en la URL de destino, ya que en caso contrario no funcionará. También se te recomienda dejar el nombre del dominio antiguo y sus archivos en el mismo lugar durante unas semanas para que los motores de búsqueda tengan tiempo de indexar tus cambios.

¿Necesitas hacer una redirección a tus sitios? No es tan difícil como imaginabas. Puedes finalizar todo este proceso en unos pocos segundos si tu proveedor de alojamiento web tiene cPanel hosting y el archivo .htaccess.