Oferta SiteGround Black Friday

Mapas del sitio XML nativos en WordPress … pronto, muy pronto

¿Te acuerdas cuando planteábamos la necesidad – o no – de incluir mapas del sitio nativos en WordPress? Sí, que WordPress generase sin necesidad de plugins un sitemap XML.

¡Pues el proyecto está ya en marcha!

Se ha iniciado el proceso de desarrollo, a través de un plugin de prueba de características, de añadir la funcionalidad nativa de mapas del sitio en WordPress.

Aunque está en fase temprana de desarrollo, ya se puede empezar a descargar de aquí, pero sobre todo a probarlo, y avisar de fallos, proponer mejoras, al estilo comunidad WordPress.

Y ¿sabes qué? Pues que funciona, a la primera.

Solo tienes que descargarlo, instalarlo como cualquier otro plugin que te hayas descargado, y activarlo. Luego vas a tu sitio, le añades /sitemap.xml a la URL de tu sitio y ahí está.

Un bonito mapa del sitio XML generado de manera nativa por WordPress. Y cada subpágina también funciona perfectamente.

Eso sí, no busques página de ajustes o similar, que no hay, al menos de momento, aunque supongo que tarde o temprano se incluirán en los ajustes de lectura, enlaces permanentes, o generales, quién sabe.

Pero mejor te cuento qué hace, hará y cómo se va a desarrollar todo este proceso hasta que esté disponible en alguna actualización de WordPress…

Qué tiene/tendrá el mapa del sitio XML nativo de WordPress

esquema sitemap xml

Los mapas del sitio XML nativos incluyen los siguientes submapas:

  • Portada
  • Página de entradas
  • Tipos de contenido por defecto (páginas y entradas)
  • Tipos de contenido personalizados
  • Taxonomías por defecto (etiquetas y categorías)
  • Taxonomías personalizadas
  • Usuarios (autores)

Un ejemplo lo tienes en la captura de arriba.

El índice del sitemap

Una característica fundamental del plugin del sitemap es el índice del mapa del sitio.

Es el archivo XML principal, que contiene el listado de todas las páginas del mapa del sitio visibles en tu sitio WordPress, y la hora en que se modificó cada una por última vez.

Por defecto, el se crea un índice del mapa del sitio en /sitemap.xml, que incluye los mapas de sitio para todo el contenido incluido, separado en grupos por tipos de contenido, taxonomías y usuarios.

Páginas del sitemap

Cada página del índice del sitemap estará disponible en una URL que seguirá esta estructura: sitemap-{object-type}-{object-subtype}-{page}.xml.

Por ejemplo:

  • Tipo de contenido – entradas: sitemap-posts-post-1.xml 
  • Tipo de contenido – páginas: sitemap-posts-page-1.xml
  • Taxonomía – categorías: sitemap-taxonomies-category-1.xml
  • Usuarios – sitemap-users-1.xml (fíjate que el objeto WP_User no es compatible con subtipos.

El protocolo oficial de los mapas de sitio establece que cada mapa de sitio puede contener un máximo de 50.000 URLs y no debe ser mayor de 50MB (52.428.800 bytes).

Sin embargo, en la práctica, se ha detectado que el rendimiento comienza a degradarse cuando se intenta generar una consulta que devuelve más de unas pocas miles de URLs, por lo que se ha decidido limitar la implementación por defecto a un máximo de 2.000 URLs por mapa de sitio, que puede modificarse utilizando un filtro en el gancho core_sitemaps_max_urls.

Se generarán páginas de mapa del sitio para cada tipo de contenido público (excepto de los archivos adjuntos), que incluirán las URL de las páginas individuales.

Asimismo, se generarán sitemaps para todas las taxonomías públicas, que incluirán las URL de las páginas de archivo de cada taxonomía, y se generarán sitemaps para todos los usuarios con contenido publicado, incluyendo la URL de la página de archivo del autor de cada usuario.

La lista de subtipos de contenidos y taxonomías compatibles se puede filtrar usando los filtros core_sitemaps_post_typescore_sitemaps_taxonomies respectivamente.

Además, se pueden añadir o quitar URLs de cualquier tipo de objeto usando los siguientes filtros:

  • Tipos de contenido: core_sitemaps_posts_url_list
  • Taxonomías: core_sitemaps_taxonomies_url_list
  • Usuarios: core_sitemaps_users_url_list

Como puedes adivinar, estos ganchos y filtros van a permitir a los plugins SEO existentes, y a cualquier plugin o tema añadir a los sitemaps otros tipos de objetos (taxonomías, tipos de contenido, etc.)

Rendimiento y escalabilidad

sitemap xml

Añadir un mecanismo de caché a los mapas del sitio XML figuraba específicamente como un objetivo no deseado del proyecto, por lo que no se ha incluido.

Sin embargo, había que asegurar que la versión inicial del plugin tuviese en cuenta la escalabilidad, por lo que se han investigado los principales problemas de escalabilidad existentes en las instalaciones actuales y las formas de resolverlos.

Utilizando las mejores prácticas para conseguir que nuestras principales consultas fueran eficaces, se ha logrado eliminar la mayoría de los problemas de escalabilidad de las páginas individuales del mapa del sitio.

Sin embargo, el principal problema de rendimiento es la generación de las últimas modificaciones para cada página en el índice del mapa del sitio.

No es escalable calcular estos valores de forma dinámica, por lo que en su lugar se ha empezado con una implementación que actualiza estos valores utilizando una tarea WP_Cron que se ejecuta dos veces al día, y guarda estos valores en la tabla de opciones.

También se ha empezado a investigar y a escribir una implementación para un mecanismo de caché de páginas de mapas de sitio más robusto, usando tipos de contenido personalizados para almacenar y actualizar los datos de los mapas de sitio, que pueden explorarse más a fondo si la implementación inicial resulta ser insuficiente como implementación inicial para el núcleo.

¿Y ahora qué?

El anuncio de la primera versión de este plugin de características es ya un hito importante, pero es sólo un primer paso en el proceso de incluir esta característica en el núcleo de WordPress.

Ahora es cuando hace falta tu ayuda para probar, validar y mejorar lo que ya se está creando, para asegurar de que cumple con las necesidades de la amplia comunidad de WordPress.

También se ha animado a los autores de plugins con mapas de sitios a que se integren con el plugin, aprovechando específicamente la API de mapas de sitios para ampliar sus características principales.

Como siempre, habrá reuniones semanales en el Slack de WordPress.

Mientras tanto, si estás interesado, apúntate al equipo ya mismo, para empezar a debatir sobre esta característica.

Además, puedes dejar tus preguntas y comentarios en la sección de comentarios de esta entrada o como nuevos avisos en el repositorio de GitHub.

Pues me parece bien

En serio, estoy totalmente de acuerdo en incluir mapas del sitio en el núcleo de WordPress, es un básico imprescindible que vengo reclamando hace años, y que ya tienen el resto de CMS con todo el sentido, no considero que sea «territorio plugin».

¿Y a ti, qué te parece?

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 9

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

4 comentarios en “Mapas del sitio XML nativos en WordPress … pronto, muy pronto”

    1. Solucionado! :
      add_filter(
      ‘wp_sitemaps_users_query_args’,
      function( $args ) {
      $args[‘exclude’] = isset( $args[‘exclude’] ) ? $args[‘exclude’] : array();
      $args[‘exclude’][] = 1;
      return $args;
      }
      );

  1. Hola, respecto a la consulta de Fer, ¿es necesario tener la línea del sitemap de users o sería conveniente eliminarla?
    También me crea una con un plugin de un carrusel y tampoco sé si debería dejarla o debería también eliminarla.

    Gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio