Como combinar extensões de sitemap

As extensões de sitemap são uma ótima maneira de informar ao Google sobre diferentes tipos de conteúdo e os metadados que você está usando no site. Muitas vezes, o conteúdo das páginas pode se encaixar em vários tipos de extensões. Por exemplo, você pode publicar artigos de notícias que incorporam imagens e vídeos. Além disso, suas páginas também podem ser localizadas, o que significa que você pode adicionar anotações hreflang para elas.

Namespaces

Para cada extensão de sitemap que você quer usar em um sitemap, é necessário especificar o respectivo namespace que declara as tags compatíveis. Isso é feito com o atributo xmlns da tag urlset. Os namespaces das extensões de sitemap aceitos pelo Google são:

Tags de extensão e definições de namespace
image: http://www.google.com/schemas/sitemap-image/1.1
news: http://www.google.com/schemas/sitemap-news/0.9
video: http://www.google.com/schemas/sitemap-video/1.1
xhtml: para hreflang http://www.w3.org/1999/xhtml

Declarar vários namespaces

Para declarar vários namespaces, adicione as respectivas referências de namespace a seu sitemap, conforme descrito na documentação das respectivas extensões. Veja um exemplo que mostra como adicionar as extensões de notícias, vídeo e xhtml (para hreflang) a um sitemap:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
           xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
           xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"
           xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
<!-- rest of the sitemap -->

Combinar extensões de sitemap

Depois de declarar os namespaces, siga os detalhes de implementação na documentação da extensão de sitemap que você vai usar.

Para combinar extensões, adicione as tags de todas as extensões de sitemap que você estiver usando, uma após a outra, à tag <url> adequada, conforme descrito na documentação de cada extensão de sitemap.

Por exemplo, para adicionar extensões de notícias, vídeo e xhtml (hreflang) a um sitemap, faça o seguinte:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
    xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"
    xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.example.com/english/page.html</loc>
    <!-- Starting with the news extension tags -->
    <news:news>
      <news:publication>
        <news:name>The Example Times</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:publication_date>2008-12-23</news:publication_date>
      <news:title>Companies A, B in Merger Talks</news:title>
    </news:news>
    <!-- Next we add video extension tags -->
    <video:video>
      <video:thumbnail_loc>https://www.example.com/thumbs/123.jpg</video:thumbnail_loc>
      <video:title>Lizzi is painting the wall</video:title>
      <video:description>
        Gary is watching the paint dry on the wall Lizzi painted.
      </video:description>
      <video:player_loc>
        https://player.example.com/video/987654321
      </video:player_loc>
    </video:video>
    <!-- And finally the xhtml tags for hreflang -->
    <xhtml:link
                rel="alternate"
                hreflang="de"
                href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link
                rel="alternate"
                hreflang="de-ch"
                href="https://www.example.de/schweiz-deutsch/page.html"/>
    <xhtml:link
                rel="alternate"
                hreflang="en"
                href="https://www.example.com/english/page.html"/>
  </url>
<!-- Add more <url> tags -->

A ordem da extensão no sitemap é irrelevante após a tag <loc>. Siga as práticas recomendadas gerais de sitemap, especialmente os limites de tamanho de arquivo. Combinar extensões de sitemap aumenta significativamente o tamanho do arquivo.