(Tiempo estimado: 2 - 4 minutos)

En este tip te traigo todo lo que necesitas saber para pasar tus URL antiguas (con el ID del artículo de Joomla) a URL nuevas sin perder posicionamiento.

Redirecciones 301 para pasar al nuevo #Router de Joomla: cómo quitar ID del artículo en URL Tuitéalo

Como sabes, entre mis objetivos de este año está el rediseño de mi web cuando salga Joomla 4.

Una de las cosas que quiero hacer en esta nueva versión de mi web es quitar el dichoso ID de artículo de las URL que se generan a partir de los alias de los artículos.

Sé que se pueden quitar usando alguna de las extensiones que hay sobre SEO, pero no he querido instalar ninguna (alguna vez me han dado mucho trabajo este tipo de extensiones en alguno de los proyectos que he gestionado).

Puedes ver algunas de las extensiones SEO para Joomla de las que te he hablado en este blog:

Y desde que salió el nuevo Router en la versión 3.8 de Joomla, ya se puede hacer de forma nativa.

El problema es que si tienes una web desde hace más tiempo, si activas el nuevo Router, tus URLs cambian y comenzarías a tener errores 404.

Para solventarlo puedes crear redirecciones 301 y añadirlas al fichero .htaccess de tu servidor (o usar el componente de redirecciones de Joomla).

Pero si tienes muchas URL... da un poco de pereza ponerse con ello.

Por eso el motivo de este tip para Joomla: una solución rápida que he encontrado para hacerlo.

Pero antes, vamos a ver algunas cosas.

Qué es el nuevo router de Joomla

Si te das cuenta, las URL que tengo en el blog en el momento de escribir este artículo, tienen el ID del artículo en el alias:

https://sergioiglesias.net/blog/joomla/477-redirecciones-para-pasar-al-nuevo-router-de-joomla-quitar-id-del-articulo.

El 477 es el ID.

Activando el nuevo sistema de enrutamiento, ese ID desaparecería quedando la URL más limpia.

https://sergioiglesias.net/blog/joomla/redirecciones-para-pasar-al-nuevo-router-de-joomla-quitar-id-del-articulo.

Es algo que los usuarios de Joomla llevaban tiempo diciendo y, a partir de esta versión 3.8, ya se puede hacer.

En proyectos nuevos te recomiendo que lo actives.

Cómo activar el nuevo router en Joomla

Activar este nuevo sistema de enrutamiento es muy sencillo.

Solo tienes que ir al apartado de configuración de los artículos (Contenido > Artículos > Opciones) y, en la pestaña de Integración tienes un apartado de "Enrutamiento".

Enrutamiento por defecto en Joomla

Por defecto, está en modo "Heredado".

Para poner el nuevo cámbialo a modo "Actual" y, para eliminar el ID, marca "Sí".

Enrutamiento nuevo en Joomla

Pues bien, sabiendo todo esto, vamos a ver cómo crear el sistema de redirecciones del que te hablaba.

Cómo crear el sistema de redirecciones 301

Antes de activar el nuevo sistema de enrutamiento, lo que he hecho (en un entorno de desarollo) es instalar la extensión OSMap (que es un componente que genera tu sitemap completo).

A este componente le he hecho unos cambios para que, en lugar de que me muestre los enlaces del sitemap, me saque las redirecciones 301 en el formato que necesito:

Redirecciones 301 en Joomla

De esta forma tan sencilla ya tengo todo el sistema de redirecciones para que las URL antiguas apunten a las URL nuevas.

Ahora a solo tengo que poner este código en el fichero .htaccess de mi servidor.


Espero que este Tip Joomla te haya gustado y te ayude en tus proyectos web con Joomla.

Si es así y quieres ayudar a otros usuarios... ¡compártelo!

Redirecciones 301 para pasar al nuevo #Router de Joomla: cómo quitar ID del artículo en URL Tuitéalo

Sobre el autor, Sergio Iglesias

Sergio Iglesias

Sergio Iglesias es formador, desarrollador y front-end del CMS Joomla!. A través de su blog y sus cursos puedes aprender a desarrollar tu propio portal web autogestionable.

 

¿Te ha gustado el artículo? ¡Suscríbete YA!

¿Necesitas un sitio web que funcione?

¿No quieres depender de nadie para gestionar tu página web?

Recibe contenido exclusivo y GRATIS mi curso sobre desarrollo de plantillas Joomla!


Me apunto ya!

Comentarios

#2 sergiois 28-06-2021 07:43
Hola Fernando. Gracias por comentar en el blog.

Con respecto a tu primera observación, comentarte que no se puede dejar por defecto el modo "actual" ya que muchos sitios comenzarían a dar errores 404 tal y como explico en el artículo si no tienen en cuenta ese detalle. Tenemos que tener cuenta siempre la compatibilidad con el resto de sitios que llevan mucho tiempo publicados desde versiones anteriores de Joomla.

En relación a la segunda observación quizás sea así, pero es porque tiene muchas configuraciones para que Joomla valga para todos. Hay que conocer bien el producto independienteme nte del CMS que sea para poder sacarle el mayor provecho.

Y para finalizar, es probable que esos campos deberían estar en la pestaña que dices, pero siempre tienes opción de crearte tu propia pantalla de edición de artículo, bien a través de un override o bien usando algún componente como los que recomiendo en el artículo de "Extensiones para gestionar artículos en Joomla" (https://sergioiglesias.net/blog/extensiones/461-extensiones-para-gestionar-articulos-en-joomla).

Salu2!!
Citar
#1 Fernando Bautista 27-06-2021 10:20
Interesante dato señor Iglesias.

Joomla deberia dejar la opcion por defecto directamente en el modo "actual" no entiendo porque dejarlo en el modo "heredado" si ese id de articulo no es nada recomendable para el tema seo.

Eso es lo que me molesta de Joomla, que tiene muy buenas opciones pero o estan demasiado escondidas o no las ponen por defecto.

Siempre he considerado que el campo "meta descripcion" y "meta palabras clave" debe estar en la pestaña de edicion del articulo y no en la pestaña "publicacion"
Citar

Escribir un comentario

Puedes publicar el comentario que quieras, pero si lo considero SPAM será eliminado automáticamente.

 

SergioIglesias.NET te informa que los datos de carácter personal que nos proporciones rellenando este formulario serán tratados por Sergio Iglesias Sánchez como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es, únicamente, para gestionar los comentarios de este blog. La legitimación se realiza a través del consentimiento del interesado. Te informamos que los datos que nos facilitas estarán ubicados en los servidores de SiteGround (proveedor de hosting). Ver política de privacidad de Siteground. El hecho de que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud. Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@sergioiglesias.net así como el derecho a presentar una reclamación ante una autoridad de control. Puedes consultar la información adicional y detallada sobre Protección de Datos en mi política de privacidad.

¿Quieres tener un sitio web que funcione?

Contacta conmigo