Crear un sitemap dinámico con PHP y MySQL (Corregido 29-07-2019)

4 minuto(s)

Demo Github

Uno de los elementos indispensables para tener un buen SEO es colocar nuestras URLs en un archivo de mapa del sitio, específicamente el archivo sitemap.xml se sabe que con este archivo le decimos a los buscadores, por ejemplo al buscador Google cual es la estructura y el lugar de las páginas que contiene nuestro proyecto. Si estamos trabajando un proyecto con PHP y MySQL y estamos generando páginas dinámicas debemos de brindarle dinámicamente a los robots las paginas junto con su contenido interno alojados en nuestra base de datos, vamos con el tutorial.  

Si creas un archivo sitemap.xml este no te va mostrar las páginas, porque .xml no es un formato que interactúa con la base de datos, solo es un formato de lectura y envío de datos, debemos de crear un archivo PHP en el cual creare el código que conectará y hará la petición de las URLs dinámicamente. 

Configuración del Servidor (Apache)

Primer configuramos en nuestro servidor el entorno para hacer funcionar nuestro proyecto, este tutorial es para un servidor Apache el cual se configura sobre el archivo .htaccess en este archivo voy a crear un regla nueva, en esta regla le voy a decir a los buscadores que mi archivo sitemap.php es el archivo sitemap.xml ya que XML no es un lenguaje de programación que interactue con la Base de Datos, para eso usaremos PHP 

Base de Datos

En este tutorial no queremos salirnos del tema principal que es crear un Sitemap dinámicamente con PHP y MySQL, entonces debes de tener una tabla en tu base de datos con las urls de los registros que necesitas colocarlos en el archivo sitemap.xml

Yo he creado una tabla llamada postres en donde tengo una columna llamada url, en esta columna he insertado las url para cada registro, lo he separado con guiones en medio para hacerlo más amigable a los buscadores, es decir un ejemplo: mi-producto-delicioso

La base de datos que estoy usando es MySQL y le he asignado la codificación utf8mb4_unicode_ci

Código PHP

He colocado comentarios para explicar que hace cada porción de mi codigo:


En el código PHP estoy imprimiendo manualmente 4 URLs que serian la página Principal, Nosotros, Servicios y Contacto, asimismo en donde dice www.midominio.com debes de colocar el nombre de tu dominio


Luego imprimo dinámicamente la columna url de cada registro de mi tabla postres con $row[“url”]  

El nombre de la carpeta /postres/ la he escrito manualmente, tu puedes colocarle el nombre que desees


Puedes ver el resultado final en el Demo que esta al inicio de este tutorial, asimismo puedes clonar el código alojado en el repositorio GitHub para que puedas implementarlo en tus proyectos.

Notas

  • Si obviamos nuestras paginas dinámicas no las estaremos posicionando, es por eso que les comparto este algoritmo en PHP el cual les ayudará a trabajar mejor el SEO de su proyecto.
  • Las tecnologías usadas en este tutorial puede cambiar en sus futuras versiones, esto no depende de nosotros si no de los Desarrolladores o Empresas que dan soporte a PHP, MySQL y Apache. 

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.