Introducción a XML Sitemap
Quién soyJosé Antonio Rodríguez Carvajal
Desarrollador Drupal/PHP en Emergya/La Drupalera
Miembro del grupo de Drupal Sevilla
joe_carvajal Drupal Sevilla
Sitemap.xml<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9 ">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2005-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
Sitemap index<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/sitemap1.xml.gz</loc>
<lastmod>2004-10-01T18:23:17+00:00</lastmod>
</sitemap>
…
</sitemapindex>
Drupal 7: XML Sitemaphttps://www.drupal.org/project/xmlsitemap
● Archivo sitemap.xml autogenerado en función de contenido.
● Permanentemente actualizado a través de cron.
● Personalizable gracias a submódulos a nivel de tipo de contenido, nodo,
menús, usuarios y enlaces personalizados.
● Permite enviar el sitemap directamente a los buscadores (submódulo
xmlsitemap_engines.
● Permite tener un sitemap.xml por cada idioma.
Drupal 7: XML Sitemap
Drupal 7: XML Sitemap - Programáticamente - 1● Añadir enlaces custom desde código:
$link = array(
'type' => $type,
'loc' => $path,
'priority' => '0.5', // Normal priority
'changefreq' => '86400', // 1 day = 24 h * 60 m * 60 s
'language' => $lang,
);
xmlsitemap_link_save($link);
Drupal 7: XML Sitemap - Programáticamente - 2Generar nuevos contextos de sitemap. Para ello es necesario implementar los hooks:
● hook_xmlsitemap_context_info() // Definir el nuevo contexto
● hook_xmlsitemap_context_url_options() // Definir URL según el nuevo contexto
● hook_query_TAG_alter() // Alterar la query para elegir qué indexar según contexto
En el caso de hook_query_TAG_alter(), la implementación del hook será:
function mymodule_query_xmlsitemap_generate_alter(QueryAlterableInterface $query)
Referencias● https://www.sitemaps.org/es/protocol.html
● https://www.drupal.org/project/xmlsitemap
● http://www.drupalcontrib.org/api/drupal/contributions!xmlsitemap!xmlsit
emap.api.php/7