Core Sitemaps

Descripción

Note: This feature has been integrated into WordPress 5.5. If you run WordPress 5.5, you can freely disable this plugin.

Tal como se propuso originalmente en junio de 2019, este plugin de características busca integrar en el núcleo de WordPress la funcionalidad básica de mapas del sitio XML.

Puedes encontrar una breve explicación sobre cómo funciona este plugin en esta entrada del blog del núcleo en Make.

¿Estás interesado en colaborar con este plugin? No dudes en unirte a nosotros en GitHub y en el canal #core-sitemaps de Slack.

Ganchos y filtros disponibles

General:

  • wp_sitemaps_enabled – Filters whether XML Sitemaps are enabled or not.
  • wp_sitemaps_max_urls – Filters the maximum number of URLs displayed on a sitemap.
  • wp_sitemaps_register_providers – Filters the list of registered sitemap providers.
  • wp_sitemaps_init – Fires when initializing sitemaps.
  • wp_sitemaps_index_entry – Filters the sitemap entry for the sitemap index.

Proveedores:

  • wp_sitemaps_post_types – Filters the list of post types to include in the sitemaps.
  • wp_sitemaps_posts_entry – Filters the sitemap entry for an individual post.
  • wp_sitemaps_posts_show_on_front_entry – Filters the sitemap entry for the home page when the ‘show_on_front’ option equals ‘posts’.
  • wp_sitemaps_posts_query_args – Filters the query arguments for post type sitemap queries.
  • wp_sitemaps_posts_pre_url_list – Filters the posts URL list before it is generated (short-circuit).
  • wp_sitemaps_posts_pre_max_num_pages – Filters the max number of pages before it is generated (short-circuit).
  • wp_sitemaps_taxonomies – Filters the list of taxonomies to include in the sitemaps.
  • wp_sitemaps_taxonomies_entry – Filters the sitemap entry for an individual term.
  • wp_sitemaps_taxonomies_query_args – Filters the query arguments for taxonomy terms sitemap queries.
  • wp_sitemaps_taxonomies_pre_url_list – Filters the taxonomies URL list before it is generated (short-circuit).
  • wp_sitemaps_taxonomies_pre_max_num_pages – Filters the max number of pages before it is generated (short-circuit).
  • wp_sitemaps_users_entry – Filters the sitemap entry for an individual user.
  • wp_sitemaps_users_query_args – Filters the query arguments for user sitemap queries.
  • wp_sitemaps_users_pre_url_list – Filters the users URL list before it is generated (short-circuit).
  • wp_sitemaps_users_pre_max_num_pages – Filters the max number of pages before it is generated (short-circuit).

Hojas de estilo:

  • wp_sitemaps_stylesheet_css – Filters the CSS for the sitemap stylesheet.
  • wp_sitemaps_stylesheet_url – Filters the URL for the sitemap stylesheet.
  • wp_sitemaps_stylesheet_content – Filters the content of the sitemap stylesheet.
  • wp_sitemaps_stylesheet_index_url – Filters the URL for the sitemap index stylesheet.
  • wp_sitemaps_stylesheet_index_content – Filters the content of the sitemap index stylesheet.

Instalación

Instalación desde WordPress

  1. Visita Plugins > Añadir nuevo.
  2. Busca Core Sitemaps.
  3. Instala y activa el plugin Core Sitemaps.

Instalación manual

  1. Sube toda la carpeta core-sitemaps al directorio /wp-content/plugins/.
  2. Visita Plugins.
  3. Activa el plugin Core Sitemaps.

FAQ

¿Cómo puedo desactivar completamente la generación del mapa del sitio?

If you update the WordPress settings to discourage search engines from indexing your site, sitemaps will be disabled.
Alternatively, use the wp_sitemaps_enabled filter, or use remove_action( 'init', 'wp_sitemaps_get_server' ); to disable initialization of any sitemap functionality.

¿Cómo puedo desactivar los mapas del sitio en cierto tipo de objeto?

Puedes usar el filtro wp_sitemaps_register_providers para desactivar la generación del mapa del sitio en las entradas, usuarios o taxonomías.

¿Cómo puedo desactivar los mapas del sitio en determinado tipo de contenido o categoría?

Puedes usar el filtro wp_sitemaps_post_types para desactivar la generación del mapa del sitio para las entradas de un determinado tipo de contenido.

Por defecto, solo las entradas públicas serán representadas en el mapa del sitio.

De manera similar, el filtro wp_sitemaps_taxonomies se puede usar para desactivar la generación del mapa del sitio para ciertas taxonomías.

Ejemplo: Desactivar los mapas del sitio para el tipo de contenido «page»

add_filter(
    'wp_sitemaps_post_types',
    function( $post_types ) {
        unset( $post_types['page'] );
        return $post_types;
    }
);

Ejemplo: Desactivar los mapas del sitio para la taxonomía «post_tag»

add_filter(
    'wp_sitemaps_taxonomies',
    function( $taxonomies ) {
        unset( $taxonomies['post_tag'] );
        return $taxonomies;
    }
);

¿Cómo puedo excluir ciertas entradas / taxonomías / usuarios del mapa del sitio o añadir otras personalizadas?

The wp_sitemaps_posts_query_args, wp_sitemaps_taxonomies_query_args, and wp_sitemaps_users_query_args filters can be used to modify the underlying queries. Using these queries, certain items can be excluded.

Ejemplo: Asegurar que la página con ID 42 no está incluida

add_filter(
    'wp_sitemaps_posts_query_args',
    function( $args ) {
        $args['post__not_in'] = isset( $args['post__not_in'] ) ? $args['post__not_in'] : array();
        $args['post__not_in'][] = 42;
        return $args;
    }
);

Ejemplo: Asegurar que la categoría con ID 7 no está incluida

add_filter(
    'wp_sitemaps_taxonomies_query_args',
    function( $args ) {
        $args['exclude'] = isset( $args['exclude'] ) ? $args['exclude'] : array();
        $args['exclude'][] = 7;
        return $args;
    }
);

Ejemplo: Asegurar que el usuario con ID 1 no está incluido

add_filter(
    'wp_sitemaps_users_query_args',
    function( $args ) {
        $args['exclude'] = isset( $args['exclude'] ) ? $args['exclude'] : array();
        $args['exclude'][] = 1;
        return $args;
    }
);

How can I add `changefreq`, `priority`, or `lastmod` to a sitemap?

You can use the wp_sitemaps_posts_entry / wp_sitemaps_users_entry / wp_sitemaps_taxonomies_entry filters to add additional attributes like changefreq, priority, or lastmod to single item in the sitemap.

Example: Adding the last modified date for posts

add_filter(
    'wp_sitemaps_posts_entry',
    function( $entry, $post ) {
        $entry['lastmod'] = $post->post_modified_gmt;
        return $entry;
    },
    10,
    2
);

Similarly, you can use the wp_sitemaps_index_entry filter to add lastmod on the sitemap index. Note: changefreq and priority are not supported on the sitemap index.

¿Cómo puedo añadir mapas del sitio de imágenes?

Todavía no se pueden añadir mapas del sitio de imágenes pero se añadirá la compatibilidad en el futuro para que los desarrolladores de plugins puedan añadirlos si fuese necesario.

¿Cómo puedo cambiar el número de URL por mapa del sitio?

Usa el filtro wp_sitemaps_max_urls para ajustar el número máximo de URL incluidas en el mapa del sitio. El valor por defecto es 2000 URL.

¿Cómo puedo cambiar la apariencia de los mapas del sitio XML en el navegador usando XSL?

Existe una variedad de filtros para permitirte ajustar los estilos:

  • wp_sitemaps_stylesheet_url – Filtra la URL de la hoja de estilos del mapa del sitio.
  • wp_sitemaps_stylesheet_index_url – Filtra la URL de la hoja de estilos del índice del mapa del sitio.
  • wp_sitemaps_stylesheet_content – Filtra el contenido de la hoja de estilos del mapa del sitio.
  • wp_sitemaps_index_stylesheet_content – Filtra el contenido de la hoja de estilos del índice del mapa del sitio.
  • wp_sitemaps_stylesheet_css – Filtra el CSS solo en la hoja de estilos del mapa del sitio.

¿Este plugin es compatible con los atributos `changefreq` y `priority` para mapas del sitio?

No. Esos son campos opcionales en el protocolo de los mapas del sitio y no suelen ser consumidos por los motores de búsqueda. Los desarrolladores aún pueden añadir esos campos si realmente lo desean.

¿Por qué no se muestra en el mapa del sitio la fecha de última modificación?

Los mapas del sitio XML son el primer y principal mecanismo para descubrir contenido. En la mayoría de los sitios, no es necesario mostrar la fecha en la que el contenido fue modificado por última vez.

Reseñas

Leer todas las 4 reseñas

Colaboradores y desarrolladores

«Core Sitemaps» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Core Sitemaps» ha sido traducido a 15 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce «Core Sitemaps» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

Para ver el registro de cambios del plugin, por favor, echa un vistazo a la lista completa de cambios en GitHub.