Por defecto, el formato de las URL amigables de Joomla es:

http://www.tusitio.com/3-alias-de-la-categoria/21-alias-del-articulo

Vamos a ver como eliminar los ID en artículos y categorías en joomla 2.5.

 

Abrimos el archivo que se encuentra en la siguiente ruta:

1

Tenemos que modificar las líneas 27 y 208 del archivo router.php reemplazando el cero con un uno en cada línea.

2

3

Para evitar el error 404 que nos puede surgir después de hacer los cambios, de página no encontrada
hay que comentar el código existente entre las lineas 228 y 232.
Quedaría algo así:

4

Como eliminar los ID en artículos y categorías en joomla 3.2.3
El procedimiento es casi el mismo que para la versión 2.5, aunque puede que no encontremos las líneas a modificar en el mismo sitio.
Tenemos que modificar las líneas 27 y 260 del archivo router.php reemplazando el cero con un uno en cada línea.

Para evitar el error 404 que nos puede surgir después de hacer los cambios de página no encontrada
hay que comentar el código existente entre las líneas 268 y 274.
Quedaría algo así:

 

5

 

Hasta aquí todo igual, pero no funcionará si no hacemos un cambio en otra línea de código:

Sustituimos éste código:

->where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment)));

por éste otro:

->where($db->quoteName('alias') . ' = ' . $db->quote($segment));

Después de realizar los cambios tanto en una versión como en la otra, las URL tendrán el siguiente formato:

http://www.tusitio.com/alias-de-la-categoria/alias-del-articulo


Ya no deben  aparecer los ID de las categorías ni de los artículos.

 Para la versión 3.7  y posteriores de Joomla tenemos que hacer la siguiente modificación en el fichero:

Así es como está:

if ($params->get('sef_advanced', 0)); //line 48

Así es como tiene que quedar:

//if ($params->get('sef_advanced', 0))

$this->noIDs = true;

$sef_advanced = true;

if ($sef_advanced)

Comentarios potenciados por CComment