Redirecciones 301: qué son, por qué son tan importantes y cómo hacerlas
¡Buenas tardes a tod@s! Hoy toca un artículo un poquito técnico pero muy importante tanto para el desarrollo y correcto funcionamiento de tu página web como a nivel de marketing y posicionamiento web: las redirecciones 301. Veremos qué son, para qué se usan y porqué son fundamentales. También veremos cómo hacerlas desde la forma más sencilla hasta los métodos más profesionales. ¡Vamos allá!
Índice de contenido
¿Qué es una redirección 301?
Seguramente a muchos os suene el «Error 404: página no encontrada» porque es de los más comunes cuando estamos navegando por internet. Técnicamente ese «404» es lo que se conoce como un código HTTP, una especie de índice que nos sirve a los desarrolladores (y a las máquinas, y éste es un punto importante) para identificar si una solicitud a un servidor web ha funcionado o no y porqué.
Existen un montón de códigos HTTP, no los voy a explicar todos porque no es el tema que nos ocupa, pero los más comunes (y que reconoceréis algunos) son:
- 200: Solicitud OK. Este código se envía en todas las peticiones de páginas web que funcionan bien 🙂
- 401: No autorizado. Es el código que devuelve una página web cuando no tienes permiso para verla (usuario, contraseña…)
- 403: Prohibido. Ups, este código nos indica que no tenemos permiso para ver esa URL y que no debemos repetir la petición (no es un problema de contraseñas).
- 404: Página no encontrada. Pues si, el típico error de que la página a la que queremos acceder ya no existe 🙁
- 500: Error interno del servidor. Si vemos este error significa que el servidor de nuestra web tiene un problema. Puede ser porque el programa que está ejecutando tiene un fallo, un archivo .htaccess está mal configurado… lo mejor es contactar con un experto si vemos esto.
- 301: Redirección permanente: Este error no se muestra en la pantalla, es un código que le indica al navegador que la dirección a la que quieres entrar ha cambiado y ahora es otra… y te lleva a ella.
Como podemos ver, hay códigos que son buenos y que nos indican funcionamientos correctos y otros que no. Y es que éste el objetivo final de estos códigos, conocer los fallos de la web para evitarlos y hacer que funcione bien.
Y aquí es donde el último de la lista que he puesto antes es de los más importantes. Si hemos visto que el 404 es un error que queremos corregir (porque significa que la página que estaba en esa URL a la que acabas de acceder ya no existe) vamos a usar un codigo 301 para que, cuando se acceda a esa URL, automáticamente, se redireccione a otra URL nueva donde tenemos el nuevo contenido que sustituye al que antes había en la primera dirección.
¿Porqué son tan importantes?
Además de los motivos técnicos que acabamos de hablar, las redirecciones 301 le encantan a Google. Como hemos mencionado en el artículo sobre los puntos claves SEO para este 2018, no debemos hacer perder el tiempo al buscador por lo que mantener la página libre de errores 404 o direcciones inservibles nos ayudará a posicionar mejor nuestra web.
Imaginemos que tenemos un portal web con más de 200 direcciones (URLs de productos, blog, servicios…), Google las indexará y clasificará en su totalidad (además de archivos, imágenes…) para poder mostrarlas cuando se realicen búsquedas relacionadas con las palabras clave por las que las hemos posicionado. Imaginemos, además, que es un eCommerce y que vamos a cambiar el nombre de 30 referencias/productos porque hemos cambiado de proveedor ¿Cómo hacemos para que Google elimine esas URLs y las cambie por las nuevas? (Recordemos que no eliminamos y dejamos de comercializar el producto, simplemente hemos cambiado el nombre y la URL,»https://mitiendaonline.es/pan-bimbo-rebanadas» ahora es «https://mitiendaonline.es/pan-rebanadas-bellaeaso«) ¿Esperamos? ¿Eliminamos el producto viejo con la URL del nuevo? ¿Y el SEO que lleva acumulado la URL del producto antiguo?
La respuesta es directa y sencilla: hacemos una redirección 301 desde la url «https://mitiendaonline.es/pan-bimbo-rebanadas» hacia «https://mitiendaonline.es/pan-rebanadas-bellaeaso» y el propio Google entenderá todo lo que hemos hecho, eliminará la URL vieja de su base de datos y la cambiará por la nueva manteniendo todo el posicionamiento SEO. Por eso son TAN IMPORTANTES las redirecciones 301 bien hechas.
Otras aplicaciones directas e importantes son cuando cambiamos de dominio, cambiamos una categoría de nombre…
¿Cómo hacer una redirección 301?
Existen múltiples métodos para realizar estas redirecciones. Vamos a ver las dos más usadas: con un plugin de WordPress (sólo válida, lógicamente, si tu página web está realizada con este estupendo CMS) y a mano desde el fichero .htaccess (esta opción valdrá siempre que tengas un servidor que usa Apache, que son la inmensa mayoría. Si tu servidor es IIS, NginX… escríbenos en los comentarios e intentaremos ayudarte).
Redirecciones 301 desde un plugin de WordPress
Si usas WordPress en tu página web y no tienes muchos conocimientos técnicos, acceso FTP o tu servidor no es un Apache puedes usar un plugin gratuito del repositorio para poder hacer las redirecciones 301 de las que venimos hablando. También es interesante mencionar que el famoso plugin Yoast SEO permite también hacerlas, aunque únicamente en su versión de pago.
El plugin que recomendamos es «Redirection«, es de los más antiguos y tiene 4 estrellas sobre 5 en valoraciones después de más de 390 opiniones. Se actualiza periódicamente por lo que, además de novedades, es compatible con todas las versiones de WordPress y no tendremos problemas con las actualizaciones.
Ventajas y desventajas de usar este plugin:
- Ventaja: Es muy cómodo de usar, al ser un plugin de WordPress se instala de forma sencilla.
- Ventaja: Sistema de monitorización de errores 404 lo que nos facilitará saber qué está fallando en nuestra web para poder redireccionarlo en caso de ser necesario. Ojo, no siempre es necesario hacer redirecciones, el plugin no distingue entre usuarios, bots o hackers… por lo que si nuestro log crece mucho puede aumentar el tamaño de la base de datos.
- Ventaja: Tiene una opción para exportar todas nuestras redirecciones en formato htaccess o csv por si queremos cambiar de sistema, hacer migraciones o comprobaciones…
- Ventaja: Permite agrupar las redirecciones para localizarlas muy fácilmente (entradas, productos, otros…).
- Desventaja: No es tan rápido como hacerlo en .htaccess. Las redirecciones se hacen internamente mediante PHP (aunque soporta htaccess no siempre funciona bien).
- Desventaja: No es tan potente como htaccess ya que sólo permite hacer redirecciones simples o con un patrón, aunque es más que suficiente en el 99% de los casos.
- Desventaja: Necesitas WordPress, si tu web está en otro sistema no podrás usarlo.
- Desventaja: No tiene un sistema de permisos por lo que cualquier usuario con permisos de administrador puede modificar las redirecciones, algo que puede ser un problema como hemos visto.
Como vemos, es una opción muy recomendable para la mayoría de los usuarios y no requiere grandes conocimientos técnicos.
Redirecciones 301 desde el archivo .htaccess
Esta es la opción más recomendada y la más rápida, flexible y potente. El archivo .htaccess es un fichero de configuración especial que indica al servidor cómo debe comportarse cuando procesa una petición de URL. De hecho, este archivo de configuración es el que usa el propio WordPress cuando configuramos los enlaces permanentes.
Al tratarse de un archivo de texto simple, necesitamos acceder a nuestro servidor mediante FTP y acceder a la carpeta que contiene la instalación base de nuestra web (o nuestro WordPress). Ahí encontraremos un archivo de nombre ‘.htaccess‘ (con un punto al principio del nombre, si no lo ves quizá tengas que activar la opción de mostrar los archivos ocultos). Una vez lo localicéis tenéis que abrirlo con un editor de texto cualquiera y ya podréis modificarlo.
Aunque realizar redirecciones 301 mediante este método requiere ciertos conocimientos, en la mayoría de los casos podremos solucionarlo copiando y pegando el código que más se ajuste a nuestras necesidades de los que os proponemos a continuación.
¡Mucho cuidado! Haced una copia de seguridad de este archivo antes de modificarlo ya que puede dejar completamente inaccesible vuestra web.
HTTP a HTTPS (y viceversa)
Este código es muy útil si acabamos de implementar un certificado seguro y queremos que todas nuestras URLs se carguen ahora con HTTPS.
RewriteCond %{HTTPS} off
RewriteRule (.*) https://mipaginawebchula.com/$1 [R=301,L,QSA]
También podrías hacer la redirección inversa (de HTTPS a HTTP)… y aunque no se nos ocurre ningún caso en el que nadie quiera hacer eso aquí te lo dejamos:
RewriteCond %{HTTPS} on
RewriteRule (.*) http://mipaginawebchula.com/$1 [R=301,L,QSA]
De WWW a NO-WWW (y al revés)
Nosotros somos partidarios de URLs cortas. Cierto es que esto no influye en el posicionamiento web pero ayuda a que el cliente se acuerde más facilmente de la web. Lo realmente importante es que no existan ambas opciones funcionando a la vez sino que una redirija a la otra, así que tu decides que versión usar:
# no-www a www RewriteCond %{HTTP_HOST} ^mipaginawebchula.com [NC] RewriteRule (.*) http://www.mipaginawebchula.com/$1 [R=301,L,QSA]
# www a no-wwww RewriteCond %{HTTP_HOST} ^www.mipaginawebchula.com [NC] RewriteRule (.*) http://mipaginawebchula.com/$1 [R=301,L,QSA]
Redirección de una URL simple, un directorio…
Si hemos cambiado una URL de una página de nuestra web y queremos que ahora sea otra, si hemos eliminado algo…
Si queremos hacer lo mismo con varias páginas individuales, sólo debemos poner una línea por cada página:
Redirect 301 /mipagina01/ http://mipaginawebchula.com/pagina-01/
Redirect 301 /mipagina02/ http://mipaginawebchula.com/pagina-02/
Esta opción no sólo sirve para redireccionar primer nivel sino también para URLs más complejas:
Redirect 301 /productos/marca01/especial01/otracosa/ http://mipaginawebchula.com/marca01/nuevoespecial/nuevacosa/
Añadir o quitar la «/» final de cada URL
Esto va a depender de cómo esté programado y funcionando la web. WordPress, por ejemplo, añade una «/» al final de cada dirección por lo que, si tenemos las dos opciones funcionando puede ser un problema. Lo dejamos aquí por si lo necesitáis:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://mipaginawebchula.com/$1/ [R=301,L,QSA]
El «extra», comprobar si el las redirecciones son posibles
Normalmente, cuando se hace este tipo de redirecciones, se suelen incluir todas las líneas que hemos añadido dentro de un apartado propio del archivo .htaccess. Esto favorece la organización y, además, ayuda a que se realice la comprobación de si el módulo de redirecciones de Apache está activo y cargado.
Para hacer esto simplemente añadimos las líneas que necesitemos siguiendo el siguiente patrón:
#BEGIN Mis redirecciones 301
<IfModule mod_rewrite.c>
...(aquí las redirecciones)
</IfModule>
#END Mis redirecciones 301
Os dejamos también un enlace a un Gist de Scott Philips con una chuleta de éstas y otras redirecciones por si queréis indagar más en todo lo que se puede hacer.
Y con esto ya lo tenemos todo. Hoy un artículo algo espeso pero como hemos comprobado, tremendamente importante y útil.