En algunas ocasiones nos encontramos con sitios web de nuestros clientes que no han configurado las urls amigables de la forma más óptima para el posicionamiento en buscadores. En este artículo nos vamos a centrar en un caso en concreto, cuando las urls tienen la siguiente forma misitio.com/index.php/mi-enlace-menu, estas urls se pueden mejorar para que sean misitio.com/mi-enlace-menu. Eliminando el /index.php/ tendremos unas urls más amigables y sencillas de recordar para los visitantes del sitio web. Además redirecionaremos las urls antiguas para evitar problemas de urls duplicadas y enlaces rotos.
¿Por qué las urls de Joomla llevan /index.php/ ?
Importante: Vuestro servidor debe tener activado el módulo mod_rewrite, es un módulo habitual que se encuentra activado en la mayoría de los servidores comerciales.
Esto se debe a la configuración de las urls amigables. Desde dentro de la zona de administración ve a Configuración global >> Sitio >> Configuración SEO y activa la reescritura de urls.
Todavía nos queda un paso más por hacer antes de poder eliminar el /index.php/. Si te fijas ahora en las urls del sitio web verás que ya no tienen el molesto /index.php/, pero... ¡los enlaces no funcionan!. Ahora debes buscar el archivo htaccess.txt y renombrarlo a .htaccesss, lo encontrarás en la carpeta raíz de Joomla. Llegados a este punto ya te deberías haber librado del molesto /index.php/.
Redirección 301 para /index.php/
Si el sitio web ya había sido indexado por los buscadores, es muy importante hacer una redirección 301 para evitar que Google entienda que la url misitio.com/index.php/mi-enlace-menu y misitio.com/mi-enlace-menu son urls distintas, pero que tienen contenido duplicado y por lo tanto penalice el posicionamiento.
Esto lo podemos hacer añadiendo las siguientes líneas al archivo .htaccess , justo detras de Rewrite On
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /index\.php/[^\ ]+
RewriteRule ^index\.php/(.*)$ /$1 [L,R=301]
Con ello conseguimos avisar que la página ha sido movida de forma permanente a las urls que no contienen /index.php/ y en cuestión de tiempo los buscadores reemplazaran las páginas antiguas con /index.php/ por las páginas nuevas sin /index.php/
Más artículos sobre SEO en Joomla
Comentarios
#RewriteBase /
por:
RewriteBase /
Espero que ayude.
Cito a Juan Miguel:
Seguí meticulosamente el procedimiento, aunque tengo la duda de haber colocado en su sitio el fragmento de código.
Coloqué las dos lineas justo detrás de Rewrite On así:
## Mod_rewrite in use.
RewriteEngine On
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /index\.php/[^\ ]+
RewriteRule ^index\.php/(.*)$ /$1 [L,R=301]
Es correcto?
Pd: vuelvo a dejarlo todo como estaba, hasta que me puedas responder, para no dejar oculta la web.
Gracias
Gracias.
Agradezco esta información, muy útil para todos los que no somos muy avanzados.
Un Saludo.
Noelia para poder acceder tienes que hacerlo por ftp, por ejemplo con FileZilla, los datos para la conexión los tendrás en el panel de tu proveedor de hosting
Gracias anticipadas x tu ayuda.
Un saludo,
Noelia