MOBILE

Manufacturas de Internet | eCommerce | Tiendas online | Web | Internet

Switch to desktop

Eliminar el "numero" en las URLs de Joomla

Desde hace algunas versiones, las URLs google-friendly de Joomla incorporan un número al inicio de cada segmento, tanto para las categorías como para los alias de cada artículo, algo parecido a:

http://www.manufacturasdeinternet.es/1-mi_seccion/2-mi_articulo.html

El motivo de ello es de simple seguridad. Antes, cuando un documento o página) llevaba el mismo nombre que otro, o bien una categoría tenia el mismo nombre que un documento, el sistema podía llegar a bloquearse y no saber que debía mostrar en cada caso, si un documento, otro o una categoría.

Para solventarlo, cada uno de los alias para las URLs llevaría además del ID con el que la base de datos de Joomla indexa cada entrada. Así, aunque dos documentos o categorías llevasen el mismo nombre (exactamente el mismo nombre) ya no serían confundidas nunca por el sistema, ya que los IDs son siempre únicos y normalmente correlativos.

Lo que fué una excelente forma de solventar un problema, se convirtió entonces en algo que, si bien no tiene ningún inconveniente desde el punto de vista del SEO, no hace las URLs tan "bonitas" como debiera. Si, no es más que un problema estético sin relevancia ni para google ni para los usuarios. Pero reconozcamos que no queda bonito, las cosas como son!

No obstante, hay una solución rápida y sencilla modificando ligeramente el código de un archivo concreto del core del sistema, el archivo router.php, que puedes encontrar en:

root/components/com_content/router.php

En este archivo, simplemente edita las dos líneas con este código:

$advanced = $params -> get('sef_advanced_link', 0);

cambiando el cero del final, por un simple 1, de forma que quede:

$advanced = $params -> get('sef_advanced_link', 1);

Y eso es todo!

NOTA: dependiendo de la versión del Joomla, las líneas pueden ser la 27 y la 252, o estar un poco más adelante, en las líneas 34 y 287.

Algo más de info en la Comunidad Joomla: http://magazine.joomla.org/es/ediciones-anteriores/abril-2013/item/1161-como-eliminar-los-id-de-las-url-en-joomla-303

 

ACTUALIZACION (Mayo 2017): la nueva actualización 3.7.2 ha traído también la modificación de ese archivo router.php y ahora sólo existe una línea en la que "tocar", aproximadamente en la línea 48. Adicionalmente, el anterior archivo router.php pasa a estar dentro de la carpeta "com_content/helpers"  y se llama legacyrouter.php Ahora es este archivo el que hay que tocar también, en las dos líneas que se indican en este artículo, para las versiones anterirores.

Aunque normalmente funciona... puede que necesites en algunos casos eliminar el archivo router.php que trae la versión 3.7 y sustituirlo por el viejo router.php de versiones anteriores, convenientemente editado (cambiar los 0 por 1 en ambas líneas)

Claro que, si quieres olvidarte por completo de este engorro cada vez que actualices, puedes dejar el archivo router.php en la carpeta tu-template/html/com_content/router.php a modo de override (compruébalo antes de darlo por válido; se han reportado problemas en algunas versiones de Joomla).

Ojo, parece que esto no será necesario a partir de la próxima versión 3.8, que trae una novedad muy interesante al respecto ;)

Manufacturas de Internet | 902 848 838 | CC BY-NC-SA 3.0

Top Desktop version