Eliminar /index.php/ de las urls de Joomla y redireccionar para no perder el posicionamiento

redireccion 301En 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. 

configuracion url amigables joomla

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  

#8 Feli 14-12-2016 16:54
He llegado aquí con la misma duda y puede que te pasase lo mismo que a mi. Comparto como lo corregí. Modifica esta linea:

#RewriteBase /

por:

RewriteBase /

Espero que ayude.

Cito a Juan Miguel:
Hola. He seguido los pasos indicados en el tutorial pero no funcionan los enlaces.

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
Citar
#7 Juan Miguel 01-03-2016 14:27
Hola. He seguido los pasos indicados en el tutorial pero no funcionan los enlaces.

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
Citar
#6 Gildardo 13-11-2015 06:07
Si hago el primer paso antes de empezar a ingresar contenido a mi sitio, también es necesario hacer el segundo paso?
Gracias.
Citar
#5 JOSE FONTAN 21-03-2015 20:49
HOLA.
Agradezco esta información, muy útil para todos los que no somos muy avanzados.
Un Saludo.
Citar
#4 Y0X 11-12-2014 21:50
Muchas gracias!
Citar
#3 Patricia 23-11-2014 23:24
Muchas gracias por la información me estaba volviendo loca con las url duplicadas de joomla :)
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
Citar
#2 Noelia Hernando 11-11-2014 14:51
Muy interesante tu artículo pero cómo se llega a la carpeta raíz de Joomla.
Gracias anticipadas x tu ayuda.
Un saludo,

Noelia
Citar
#1 Profesor 02-11-2014 03:18
Gracias! es lo que necesitaba para mi web, espero que sea suficiente para no ser penalizado... :X
Citar

Escribir un comentario

Por favor procura que tus comentarios estén relacionados con la entrada, comenta con tu nombre y no pongas enlaces en tu comentario. Intenta también respetar a los demás lectores, los comentarios off topic, promocionales, ofensivos o ilegales serán editados y borrados.


Código de seguridad
Refescar