Actualizar el URL Alias de un tipo de contenido en Drupal 7

Uno de los módulos más utilizados e indispensables de cualquier portal relativamente complejo y orientado a posicionar bien en buscadores es Pathauto. Este módulo es una garantía a la hora de crear las URLs personalizadas para los distintos tipos de contenidos de nuestro portal, permitiendo de esta manera desarrollar un esquema de URLs coherente en nuestra web y construir una arquitectura de la información atractiva para los buscadores, con las palabras clave más relevantes en las URLs de cada nodo de Drupal.

El problema surge cuando esta URL ha de cambiar por alguna razón, tras haber establecido previamente un patrón de URLs específico para el tipo de contenido, y tener ya las URLs generadas para varios nodos. Pathauto no ofrece ninguna opción para borrar los alias de URL de un tipo de contenido específico, sino que habría que eliminar todos los alias de nuestra web y volver a generarlas, perdiendo los alias generados manualmente.

Para ello, a pesar de que en el módulo no se ofrece ninguna opción específica en la interfaz para realizar esta tarea, se puede realizar con la ayuda de una pequeña sentencia SQL que elimine los alias de URL antiguos, y luego volver a generarlos en base al nuevo patrón establecido.

El primer paso sería eliminar los alias que queremos descartar:

DELETE u FROM node n JOIN url_alias u ON CONCAT('node/', n.nid) =
u.source WHERE n.type='tipo_contenido'

Acto seguido podemos proceder a configurar la ruta nueva en las opciones de Pathauto (/admin/config/search/path/patterns), y a continuación, a generar los alias nuevamente, en la ruta  admin/config/search/path/update_bulk de nuestro Drupal. El resultado será que habremos descartado las URLs que seguían el patrón antiguo y tendremos el nuevo patrón de URL operativo.

Referencias | Pathauto · StackOverflow.

Etiquetas: , , , , ,