0

Evita el contenido duplicado con .htaccess

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (1 votos, promedio: 5,00 de 5)
Loading ... Loading ...

El tema de los contenidos duplicados es algo muy a tener en cuenta a la hora de posicionar nuestros sitios, y es que a ningún buscador le gusta el contenido duplicado (eso, tal vez lo sabemos todos..) de hecho les molesta tanto que penalizan fuertemente por esta práctica.. Y con esto quiero decir, que si encuentra el “mismo” contenido en tu sitio en distintas direcciones (lugares) del mismo, podrías llevarte una tarjeta amarilla. A sol de hoy, un problema común con los buscadores (bots) es que consideran como contenido duplicado algunas cosillas que muchos no tenemos en cuenta, veamos un ejemplo:

  • http://tudominio.com/servicios.html
  • http://www.tudominio.com/servicios.html

Y si tenemos permalinks, la cosa se agrava:

  • http://tudominio.com/servicios
  • http://tudominio.com/servicios/
  • http://www.tudominio.com/servicios
  • http://www.tudominio.com/servicios/

Ocurre con tu sitio? ten cuidado!!! Google considera que una web con www no es la misma que sin www, y en los permalinks la barra final también influye. El contenido de esas 4 direcciones es el mismo, por lo que google quizás no tarde en penalizarte bajándote unos cuantos puestos tan valiosos dentro de su buscador.

Si nuestro servidor web es Apache, podemos usar .htaccess para solucionar esta duplicidad:

Añadir www al dominio

Abrimos el archivo .htaccess (si no existe, lo creamos en el directorio raíz) y escribimos:

1
2
RewriteCond %{HTTP_HOST} ^tudominio.com [NC]
RewriteRule (.*) http://www.tudominio.com/$1 [L,R=301]

En la línea 1 indicamos la condición que se tiene que dar para que se aplique la regla de la línea 2. En este caso, la condición es que el dominio (HTTP_HOST) se haya escrito “tudominio.com” tal cual, sin nada delante (^). La directiva NC indica que no tenga en cuenta la concordancia de mayúsculas y minúsculas.

Si esta condición se cumple, haremos una redirección 301 al dominio “www.tudominio.com”. La directiva R significa redirección, y la directiva L significa que esa es la última regla a tener en cuenta en ese bloque.

Quitar www al dominio

De igual modo podemos hacer que nuestro dominio se muestre siempre sin www (como es nuestro caso). Para ello, abrimos nuestro .htaccess y escribimos:

1
2
RewriteCond %{HTTP_HOST} ^www.tudominio.com [NC]
RewriteRule (.*) http://tudominio.com/$1 [L,R=301]

Añadir un slash al final

En el caso de los permalinks, debemos definir un modo “visual” de tener nuestras direcciones, podemos saber que tenemos un problema cuando: al entrar a una url de nuestro sitio SIN el slash éste nos muestra la página pero la dirección se “queda” sin ese slash.. Lo “normal” es que reaparezca (se redireccione a la dirección con slash).. Para ello, si queremos añadir un slash a nuestras direcciones, editamos nuestro .htaccess y escribimos:

1
2
3
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://www.tudominio.com/$1/ [L,R=301]

Y básicamente le estaríamos diciendo; si no es un fichero (línea 1) y no acaba con una barra (línea 2), aplicamos la regla de la línea 3.

Nota: hay quienes añaden dos líneas más al bloque, escribiendo la regla de la siguiente manera:

1
2
3
4
5
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://www.tudominio.com/$1/ [L,R=301]

Lo que se traduce como; La línea 1 establece el directorio raíz, y la línea 3 es similar a la condición de la línea 2, pero comprobando si no es un directorio existente en lugar de un fichero. Dependiendo de la configuración de nuestro Apache podremos necesitarlas.

Eliminar el slash del final

Para ello, tan sólo tendremos que quitar el último slash de la condición de la línea 2 y de la redirección de la línea 3, así:

1
2
3
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)$
RewriteRule (.*) http://www.tudominio.com/$1 [L,R=301]

Con estos ejemplos, podremos definir las direcciones canónicas de nuestro sitio web y evitar el contenido duplicado.

Ejemplo del .htaccess completo

Veamos un ejemplo de nuestro .htaccess si queremos por ejemplo, agregar un www al inicio y slash al final.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Options +FollowSymLinks
RewriteEngine on
 
# añadir www
RewriteCond %{HTTP_HOST} ^tudominio.com [NC]
RewriteRule (.*) http://www.tudominio.com/$1 [L,R=301]
 
# añadir slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule (.*) http://www.tudominio.com/$1/ [L,R=301]
 
# un permalink simple
RewriteRule ^nuestros-servicios/$ /nuestros-servicios.php

Las dos primeras líneas son obligatorias, éstas inician el motor mod_rewrite de apache.

En este ejemplo, si escribimos cualquiera de las variaciones posibles (con o sin www, y con o sin barra final), nos llevará a la misma dirección: http://www.tudominio.com/nuestros-servicios/  y evitaremos el contenido duplicado.

Comparte!

LuisLY

Soy Luis LY, la mayor parte de mi tiempo lo invierto aprendiendo y compartiendo sobre Diseño Web, Marketing y SEO.

Deja un comentario