L'un des problèmes fondamentaux que l'on peut trouver dans le référencement sont les liens brisés, les pages 404, les redirections multiples, le changement incorrect en https ou le changement de domaine sans stratégie de redirection (migration de domaine).
Dans certains d'entre eux, il sera nécessaire de toucher au code source du thème ou des pages ou de la publication, comme c'est le cas avec les liens brisés ou les doubles redirections. Mais dans d'autres, nous devons le faire avec des redirections htaccess
Sommaire
- 1 Qu'est-ce que le fichier .htaccess (accès hypertexte) ?
- 2 ¿Para qué sirve el fichero htacces?
- 3 Redirección por cambio de dominio
- 4 Redirigir dominio sin www a dominio con www. (cambio de sin www a www)
- 5 Redirigir dominio con www a dominio sin www. (Cambio de www a sinwww)
- 6 Redireccionamiento de dominios sin https a dominios con https.
- 7 Redirigir una página cualquiera a la url principal
- 8 ¿Qué precauciones debemos tener?
Qu'est-ce que le fichier .htaccess (accès hypertexte) ?
Es un fichero que se encuentra en la raíz del sitio web, o de cualquier directorio donde haya un index.php, donde le indicamos al servidor distintos comportamientos que debe tener para mostrar la información adecuada al cliente sobre ese mismo directorio o árbol de directorios.
Se trata de un archivo de configuración cuyo nombre será .htaccess y que contendrá los parámetros y directivas adecuados para ordenar al servidor comportamientos en su mismo directorio. Por ello no es uno de los ficheros más importantes de una web sobre un servidor Apache.
¿Para qué sirve el fichero htacces?
Lo podemos utilizar para un montón de situaciones, como por ejemplo:
- Controlar el acceso al sitio web (por ip) o a carpetas determinadas
- Evitar el Hotlinking,
- Cambiar una página de inicio por defecto
- Forzar el cacheo de nuestra web
- Compresión Gzip
- Informar del tiempo de cacheo.
- Crear URL Amigables…
Pero lo que realmente nos atañe, y que es lo más importante, son los redireccionamientos. Por ello vamos a describirlos a continuación
Nos podemos encontrar distintas necesidades para utilizar redireccionamientos de forma masiva o de forma individual. Lo primero que debemos hacer es una copia del fichero, descargarlo por FTP. Siempre es importante llevar un control de versiones del mismo para no tener ningún problema.
A continuación describimos los siguiente problemas que nos podemos encontrar y por qué debemos hacer la redirección:
Redirección por cambio de dominio
Imaginamos que tenemos dominio1.com y hemos cambiado la web de nombre y lo ponemos como dominio2.com. Para ello necesitamos añadir la siguiente línea de código en el htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^dominio1.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.dominio1.com$
RewriteRule (.*)$ https://dominio2.com/$1 [R=301,L]
De esta forma una la url http://dominio1.com/post1 se redirigirá a https://dominio2.com/post1. Esto es importante dejarlo claro. El segundo dominio dominio2.com tiene certificado ssl y por tanto el redireccionamiento se hace de forma completa al dominio con https. Si no lo hacemos así incurriremos en múltiples redireccionamientos que a la postre son perjudiciales para el SEO.
Redirigir dominio sin www a dominio con www. (cambio de sin www a www)
En este caso veremos cómo el dominio https://dominio1.com a https://www.dominio1.com hay que poner el siguiente código:
RewriteCond %{HTTP_HOST} ^dominio1.com [NC]
RewriteRule (.*) http://www.dominio1.com/$1 [R=301,L,QSA]
En el caso que nuestro dominio ya sea en https pondremos la penúltima línea con https en lugar de http quedando el código de la siguiente forma:
RewriteCond %{HTTP_HOST} ^dominio1.com [NC]
RewriteRule (.*) https://www.dominio1.com/$1 [R=301,L,QSA]
Redirigir dominio con www a dominio sin www. (Cambio de www a sinwww)
El ejemplo que vamos a poner es el del redireccionamiento del dominio https://www.dominio1.com a https://dominio1.com y que hay que poner el siguiente código:
RewriteCond %{HTTP_HOST} ^www.dominio1.com [NC]
RewriteRule (.*) http://dominio1.com/$1 [R=301,L,QSA]
Como sucede con el caso anterior, si el dominio tiene https, debemos implementarlo directamente cambiando el http por un https en la penúltima línea, por lo que el código quedaría de la siguiente forma:
RewriteCond %{HTTP_HOST} ^www.dominio1.com [NC]
RewriteRule (.*) https://dominio1.com/$1 [R=301,L,QSA]
Redireccionamiento de dominios sin https a dominios con https.
Esto es necesario cuando se instala un certificado de seguridad SSL. Y es necesario realizarlo porque todos los enlaces internos absolutos y enlaces externos apuntarán sobre la web en http, y si no realizamos la redirección tendremos 2 versiones del dominio.
Este es el código que hay que insertar:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.ejemplo.com/$1 [R=301,L,QSA]
Redirigir una página cualquiera a la url principal
En algunos casos nos encontramos con que el propio CMS ha creado dominio1.com/index.php o dominio1.com/home o dominio1.com/tienda siendo estas iguales que la página principal. Obviamente esto es un problema para el SEO de la web, ya que generaría una cantidad infumable de contenido duplicado. Por ello se debe hacer de la siguiente forma.
Redirect 301 /index.php https://dominio1.com
Esto redireccionaría la página creada llamada index.php a la propia home. Debemos probarlo y cerciorarnos que se hay generado un bucle por lo que la web quedaría out.
Redirigir errores 404 o 500 a otras páginas del sitio
Aquí debemos de sentarnos un minuto a pensar y a analizar. Primero por qué se están sucediendo los errores 404. Estos son páginas que existían y que ya no existen, pero que reciben enlaces, ya sea internos o externos de algún sitio. Lo primero es crear una tabla donde pongamos en un lado las páginas con errores y en el otro las páginas a las que queremos redireccionar esos errores, ya se porque tienen un contenido similar o que es la versión de la nueva página y se ha cambiado la url. Antes de realizar cualquier redireccionamiento debemos cambiar todos los enlaces internos que tengan estas páginas o url antiguas a las urls correctas. Y si podemos también cambiar los externos.
Una vez tengamos todo deberemos hacerlo uno a uno de la siguiente forma: una línea por redireccionamiento o error de la siguiente forma:
Redirect 301 (url del error sin la raíz) (url absoluta de la nueva). Por ejemplo
Si queremos redireccionar https://dominio1.com/post1-viajes-gulliver/ a https://dominio1.com/post1-viajes-de-gulliver-el-grande/ el código sería el siguiente:
Redirect 301 /post1-viajes-gulliver/ https://dominio1.com/post-viajes-de-gulliver-el-grande/
De esta forma estaremos indicando que la dirección url primera ha cambiado su dirección de forma permanente a la url2.
¿Qué precauciones debemos tener?
Cuando realizamos redirect masivos habitualmente cometemos errores por eso aconsejamos leer los siguientes puntos que indican las precauciones que debemos tener para no cometer errores:
- Copia de seguridad del fichero .htaccess
- Vérifiez après avoir mis un code qu'il n'y a pas de double redirection. (pour cela, il existe une extension Chrome que nous pouvons installer : Redirect Path avec laquelle nous pouvons voir toutes les redirections effectuées lorsque nous entrons sur un site Web.
- Vérifiez les redirections avec Screaming Frog, où nous pouvons également voir des boucles de redirection et plusieurs redirections.
- Si vous avez des redirections précédentes et que vous passez en https, vous devez les changer, afin qu'il n'y ait pas de double redirection.
- N'oubliez pas que dans les doubles redirections, la force des liens reçus est perdue et le Linkjuice est dilué.
- Soyez clair qu'une redirection 301 est effectuée et non une redirection 302
En gros, c'est ce dont nous avons besoin pour que tout fonctionne correctement lors d'une modification ou d'une migration sur notre site Web.
One of the fundamental problems that can be found in SEO are broken links, 404 pages, multiple redirections, incorrect https changes or domain name changes without a redirect strategy (domain migration).