Cómo generar un sitemap con las URLs amigables de sh404SEF en Linux

Un mapa del sitio es un elemento importante para posicionar mejor un portal web en los distintos motores de búsqueda como Google y Bing. En publicaciones pasadas, compartí algunos servicios de generación de sitemaps de sitios web basados en Joomla. Algunos de ellos eran gratuitos otros de pago. Y si bien por lo general funcionan muy bien, siempre me pregunté por qué no era posible generar un sitemap a partir de las URLs amigables con motores de búsqueda del reconocido componente para Joomla: sh404SEF. De esta forma, sería posible crear un mapa muy completo e incluso personalizado de todo el sitio web. 

Por lo anterior, decidí crear y subir a GitHub un pequeño script que permite crear un sitemap a partir de estas URLs amigables. A continuación explico en detalle como utilizarlo. 

Exportar desde sh404SEF

Para obtener el archivo de sh404SEF necesario para generar el sitemap solo es necesario ingresar al panel de control del componente y elegir SEF URLs:

Después solo es necesario hacer clic en el botón Export y luego hacer clic en Next para generar el archivo:

Ahora solo hay que guardar el archivo en el ordenador. 

Configuración del script 

El script, de momento, está solo disponible para usuarios de Linux. Este se ejecuta tal y como se ejecuta cualquier script para BASH. Primero es necesario descargar el archivo .sh desde GitHub y darle permisos de ejecución:

chmod +x sh404SEFsitemap.sh

Hecho lo anterior, únicamente hay que ejecutar el script utilizando el nombre del archivo exportado desde sh404SEF como el primer y único parámetro:

./sh404SEFsitemap.sh 2018-04-22_urls_export.txt

Generación del sitemap

Antes de generar el sitemap, el script  solicitará al usuario el dominio completo del sitio web:

Por ejemplo, es posible escribir dominio.com, dominio.net, www.dominio.com, subdominio.dominio.com etc. NO es necesario escribir https:// o http://.

Una vez escrito el dominio, el script dará al usuario la opción de elegir entre utilizar https:// o http:// para la generación del mapa del sitio. Para usar https:// hay que escribir Y oprimir la tecla de Enter:

Listo. El script habrá generado un archivo sitemap.xml siguiendo el esquema del protocolo descrito en el sitio sitemaps.org para los sitemaps en formato XML

El archivo generado tendrá una un formato igual al del siguiente ejemplo:

Anotaciones finales

El script debe ser ejecutado en la misma carpeta donde se encuentra el archivo exportado desde el componente sh404SEF. Si ya existe un archivo llamado sitemap.xml en la carpeta, este será sobreescrito por el nuevo generado. Si se trabaja con múltiples sitios web es mejor respaldar cada archivo XML generado de forma independiente. 

El script elimina todas las entradas duplicadas del archivo de sh404SEF. Estas entradas duplicadas se deben a que Joomla genera URLs duplicadas que sh404SEF unifica bajo una misma URL amigable con los motores de búsqueda. Al exportar las URLs todas son añadidas a la lista, incluso las repetidas bajo diferentes URL no amigables. El script primero separa las amigables del resto de información no útil y después elimina las entradas duplicadas. 

Fundador
Seguidor de Jesús. Escribo artículos en mi tiempo libre sobre temas de tecnología que me interesan.