Google Sitemap con php y XSL – cómo crear un mapa de tu sitio web

Crear un sitemap dinámico con PHP, es una tarea bastante sencilla.

Si no sabes de qué hablo: Un sitemap, es el directorio que contiene todas las URLs indexables en tu sitio web. El objetivo de este archivo, es facilitarle a los robots (De Google por ejemplo), indexar correctamente el contenido de tu sitio web.

En este Blog, realizo ese proceso con Yoast SEO, se encarga de todo.

Sin embargo, si tienes un sitio y/o plataforma no necesariamente diseñada con un CMS, debes generar el mapa del sitio, para indicarle a Google qué contenido quieres indexar.

Me encanta la forma visual en como lo hace Yoast SEO. Hace poco tuve que crear el mapa del sitio en Roicaster , nuestra plataforma de Podcast. Para ese fin, he desarrollado un script en PHP que se encarga de crear el sitemap, obteniendo los valores de la base de datos y siendo similar a Yoast SEO.



Sitemap con PHP


Quise que mi sitemap dinámico en PHP, fuera visualmente “bonito” como ya mencioné en el texto de arriba.

Para lograrlo, usé XSL, el encargo de darle los estilos o hacer el sitemap más visual. No es necesario, solo me gusta. 😉

¡Manos a la obra!

El proceso es realmente sencillo y en mi caso, se compone de 3 archivos:

  1. config.php (Archivo de configuración).
  2. xml-sitemap.xsl (Archivo de formato).
  3. xml-sitemap.php (Archivo principal, datos dinámicos).


1. config.php (Archivo de configuración).


Explicación: El fragmento de código anterior, conforma el archivo config.php y su única función es definir algunas variables. El archivo se encuentra comentado y no creo que requiera mayor explicación.

Prioridad y Frecuencia, son valores que usaremos para generar el correcto sitemap, según el estándar.

2. xml-sitemap.xsl (Archivo de formato).


Explicación: Estilos. Es lo único que hace el fragmento de código anterior. Debe estar en un archivo de formato XSL.

Siento que no requiere mayor explicación y no deberías preocuparte por el, siempre y cuando lo copies y agregues en el archivo correspondiente. (Puedes explorar para aprender más). 😉

Aprende acerca de XSL en la W3.

3. xml-sitemap.php (Archivo principal, datos dinámicos).

Personalmente para mi, la magia ocurre en este archivo. Esto puede cambiar mucho según tus objetivos.

En mi caso: Hago una consulta a la base de datos y obtengo las urls de las páginas correspondientes, adicional obtengo la fecha. (Un valor necesario).

No pretendo abordar consultas a bases de datos y para este fin, usaré un arreglo tipeado por mi, como ejemplo.


Explicación: El archivo es el encargado de iterar el arreglo con todas las páginas a incluir en el sitemap. Para el ejemplo, he usado un arreglo con valores estáticos.

El objetivo, es que puedas obtener ese valor de la base de datos. De esa forma, será dinámico.

La organización de este archivo, es importante.

Explicación de cada valor:

Loc: URL a indexar.
Lastmod: Última actualización de la página a indexar.
Changefreq: Frecuencia de actualización.
Priority: Prioridad asignada.

No es necesario que te compliques con los valores anteriores, pero si deseas comprender en detalle, acá está la documentación oficial.

Si todo ha salido bien, podrás ir a Google Search Console y reportar tu nuevo sitemap generado con PHP:

Enviar sitemap en google search console


En resumen, el proceso es bastante sencillo. No necesariamente debe ser algo visual, pero después de acostumbrarme a Yoast SEO, quería un sitemap dinámico en PHP, que fuera similar y más organizado.

Puedes obtener todo el código, desde el repositorio en Github.

¿Dudas? Te veo en los comentarios. 😉

Compartir es amor.

CC,

COMENTARIOS