Please enable / Por favor activa JavaScript!
Por favor activa el Javascript![ ? ]

Contenido duplicado con / al final de la URL o sin ella  Contenido duplicado con / al final de la URL o sin ella

Valoración de éste post
4.5 / 5 de 26 votos



Mensajes: 1077


Puntos totales:

Enhorabuena!

32





El contenido de este artículo o información está sujeto a una licencia Creative Commons BY (CC-BY), puedes divulgar públicamente este contenido pero deberás hacer mención del autor: Kernel e indicar la dirección web de esta página: https://www.exabyteinformatica.com/tienda/foro/contenido-duplicado-con-al-final-de-la-url-o-sin-ella-t302.html

The content of this article or any related information is under the Creative Commons license BY, you can republish this content freely but you must mention the author of this article: Kernel and indicate the URL of this page: https://www.exabyteinformatica.com/tienda/foro/contenido-duplicado-con-al-final-de-la-url-o-sin-ella-t302.html

Bajo licencia de Creative Commons


Uno de los errores imperceptibles cuando generamos contenido duplicado es el hecho de no controlar si nuestras url's terminan o no en /. Es decir, imaginemos la siguiente situación:

http://www.tudominio.ext/pagina1
http://www.tudominio.ext/pagina1/

Aparentemente parece la misma URL pero si ponemos en el navegador la primera sin la / y luego la segunda con la / y vemos que las direcciones siguen siendo diferentes significa que estamos generando contenido duplicado! :shock:

Para solucionar el tema del trailing slash (/) y que pongamos la dirección que pongamos el sistema redireccione solo a una url, deberemos editar el archivo .htaccess de nuestra raiz principal de la siguiente manera:

Si queremos que siempre se añada automáticamente un trailing slash al final de la URL, añadiremos el siguiente código:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]


No debemos sustituir ningún parámetro, las línias de código son copiar-pegar.

Si por lo contrario deseamos que cualquier redirección sea sin un trailing slash final deberemos añadir este otro código en vez del anterior:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^\.localhost$ [NC]
RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/$1 [R=301,L]


Es posible que no nos interesa quitar o poner automáticamente el trailing slash en algunos directorios de nuestro sitio web, si queremos discriminar en que directorio no queremos que afecte la regla anterior fijémonos en el siguiente ejemplo:

RewriteCond %{HTTP_HOST} !^\.tudominio\.ext\$ [NC]
RewriteCond %{REQUEST_URI} !/directorio_al_que_NO_queremos_aplicar_la_regla/$
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]


Listo! Ahora tendremos una única URL para el trailing slash o sin él. :)

Para finalizar, os dejo un vídeo de Matt Cutts dónde nos habla sobre qué ocurre con el Page Rank si no controlamos los trailing slashes en nuestra web:





No te pierdas el tema anterior: Problema de indexación

Salta al siguiente tema: Contenido duplicado en URL's con MAYÚSCULAS y minúsculas

Quizás también te interese:
Si has encontrado información útil en Exaforo, ayúdanos a seguir creciendo. Muchas gracias por confiar en nosotros!



Mensajes: 213

Ubicación: Delante del ordenador

Puntos totales:

Enhorabuena!

204






Fantástico post, solo añadir que si ya hay un conjunto RewriteEngine on con sus RewriteCond, solo deberemos añadir la útlima de las líneas. :thumbsup:

¿se puede votar solo una vez? :D



Volver a Contenido