Stay organized with collectionsSave and categorize content based on your preferences.
How to combine sitemap extensions
Sitemap extensions are a great way to tell Google about the different kinds of content and
their metadata that you're using on your site. Often the content on your pages may fit into
multiple kinds of extensions; for example, you might be publishing news articles that embed
images and videos. Additionally, your pages may be localized as well, which might mean that
you could addhreflangannotations for your localized pages.
Namespaces
For each sitemap extension that you want to use in a sitemap you need to specify the
respective namespace that declares the tags the extension supports. This is done with thexmlnsattribute of theurlsettag. The namespaces for the sitemap
extensions Google supports are:
To declare multiple namespaces, add the respective namespace references to your sitemap as
described in the documentation of the respective extensions. Here's an example that shows how
to add the news, video, and xhtml (forhreflang) extensions to a sitemap:
<?xml version="1.0" encodin>g<="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 --
Combining sitemap extensions
Once you declared the namespaces, follow the implementation details from the respective sitemap
extension documentation you're going to use.
To combine extensions, add the tags from whatever sitemap extensions you're using, one after the
other, to the appropriate<url>tag, as described in each sitemap extension's
documentation.
For example, to add news, video, and xhtml (hreflang) extensions to a sitemap:
<?xml version="1.0" encodin>g<="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&qu>ot;<
> xml<ns:>xhtml="http://www.w3.org/1999/xhtml&<quot>;
u<rl
lochttps://www.example.com/english/pa>ge.ht<ml/loc
> !-- S<tarting with the> news ext<ension ta>gs --
news:ne<ws
n>ews:publi<cation
> <news:nameThe E>xample <Times/news:name
> <news:languageen/news:>language
< /news:publication>
<news:publi>cation_date2008-12-23/news:pub<lication_da>te
< news:t>itleC<ompanies A, B in Merger Talks/news:titl>e
< /news:news>
!-<- Next we add video> extension tags --
video:video
< video:thumbnail_l>ochttps<://www.exam>ple.com/thumbs/123.jpg/vid<eo:thumbnail>_loc
< video:titleLi>zzi is painting the wall/video:title
video:description
Gary< is watching the p>aint dr<y on the wall Li>zzi painted.
/video:description
video:player_l<oc
https:>//pla<yer.example.>com/v<ideo/987654321
/video:player_loc
/vi>deo:v<ideo
!-- And finally the xhtml tags for hreflang --
xhtml:link
rel="alternate"
hreflang>=&quo<t;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="al<ter>nate&quo>t;
hreflang="en"
href="https://www.example.com/english/page.html"/
/url
!-- Add more url tags --
The order of the extension in the sitemap is irrelevant after the<loc>tag. Keep in mind thegeneral sitemap best practices,
especially the file size limits. Combining sitemap extensions increases the file size of your
sitemap significantly.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-06 UTC."],[[["\u003cp\u003eSitemap extensions inform Google about diverse content types and metadata on your site, such as images, videos, news, and localized versions.\u003c/p\u003e\n"],["\u003cp\u003eTo use sitemap extensions, declare their respective namespaces within the \u003ccode\u003eurlset\u003c/code\u003e tag of your sitemap file.\u003c/p\u003e\n"],["\u003cp\u003eCombine extensions by adding tags from different extensions within the \u003ccode\u003e<url>\u003c/code\u003e tag, following each extension's documentation.\u003c/p\u003e\n"],["\u003cp\u003eThe order of extension tags within the \u003ccode\u003e<url>\u003c/code\u003e tag (after the \u003ccode\u003e<loc>\u003c/code\u003e tag) does not matter.\u003c/p\u003e\n"],["\u003cp\u003eBe mindful of sitemap file size limits, as combining extensions can significantly increase file size.\u003c/p\u003e\n"]]],["Sitemap extensions allow specifying content types and metadata. To combine extensions, declare each extension's namespace using the `xmlns` attribute within the `\u003curlset\u003e` tag, referencing the correct URLs for image, news, video, or `xhtml` (for `hreflang`). After declaring namespaces, insert the tags from each desired extension, following the specifications in the respective documentation, within the `\u003curl\u003e` tag. Extensions can be added in any order after the `\u003cloc\u003e` tag, and combining extensions will increase the overall sitemap file size.\n"],null,["# How to Combine Sitemap Extensions | Google Search Central\n\nHow to combine sitemap extensions\n=================================\n\n\nSitemap extensions are a great way to tell Google about the different kinds of content and\ntheir metadata that you're using on your site. Often the content on your pages may fit into\nmultiple kinds of extensions; for example, you might be publishing news articles that embed\nimages and videos. Additionally, your pages may be localized as well, which might mean that\nyou could add `hreflang` annotations for your localized pages.\n\nNamespaces\n----------\n\n\nFor each sitemap extension that you want to use in a sitemap you need to specify the\nrespective namespace that declares the tags the extension supports. This is done with the\n`xmlns` attribute of the `urlset` tag. The namespaces for the sitemap\nextensions Google supports are:\n\n| Extension tags and their namespace definitions ||\n|---------------------------|------------------------------------------------------------------------------------------------------|\n| `image:` | [`http://www.google.com/schemas/sitemap-image/1.1`](http://www.google.com/schemas/sitemap-image/1.1) |\n| `news:` | [`http://www.google.com/schemas/sitemap-news/0.9`](http://www.google.com/schemas/sitemap-news/0.9) |\n| `video:` | [`http://www.google.com/schemas/sitemap-video/1.1`](http://www.google.com/schemas/sitemap-video/1.1) |\n| `xhtml:` (for `hreflang`) | [`http://www.w3.org/1999/xhtml`](http://www.w3.org/1999/xhtml) |\n\n### Declaring multiple namespaces\n\n\nTo declare multiple namespaces, add the respective namespace references to your sitemap as\ndescribed in the documentation of the respective extensions. Here's an example that shows how\nto add the news, video, and xhtml (for `hreflang`) extensions to a sitemap: \n\n```text\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003curlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\n xmlns:news=\"http://www.google.com/schemas/sitemap-news/0.9\"\n xmlns:video=\"http://www.google.com/schemas/sitemap-video/1.1\"\n xmlns:xhtml=\"http://www.w3.org/1999/xhtml\"\u003e\n \u003curl\u003e\n\u003c!-- rest of the sitemap --\u003e\n```\n\nCombining sitemap extensions\n----------------------------\n\n\nOnce you declared the namespaces, follow the implementation details from the respective sitemap\nextension documentation you're going to use.\n\n- [Image sitemap](/search/docs/crawling-indexing/sitemaps/image-sitemaps)\n- [News sitemap](/search/docs/crawling-indexing/sitemaps/news-sitemap)\n- [Video sitemap](/search/docs/crawling-indexing/sitemaps/video-sitemaps)\n- [`hreflang`](/search/docs/specialty/international/localized-versions#sitemap)\n\n\nTo combine extensions, add the tags from whatever sitemap extensions you're using, one after the\nother, to the appropriate `\u003curl\u003e` tag, as described in each sitemap extension's\ndocumentation.\n\n\nFor example, to add news, video, and xhtml (`hreflang`) extensions to a sitemap: \n\n```scdoc\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003curlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"\n xmlns:news=\"http://www.google.com/schemas/sitemap-news/0.9\"\n xmlns:video=\"http://www.google.com/schemas/sitemap-video/1.1\"\n xmlns:xhtml=\"http://www.w3.org/1999/xhtml\"\u003e\n \u003curl\u003e\n \u003cloc\u003ehttps://www.example.com/english/page.html\u003c/loc\u003e\n \u003c!-- Starting with the news extension tags --\u003e\n \u003cnews:news\u003e\n \u003cnews:publication\u003e\n \u003cnews:name\u003eThe Example Times\u003c/news:name\u003e\n \u003cnews:language\u003een\u003c/news:language\u003e\n \u003c/news:publication\u003e\n \u003cnews:publication_date\u003e2008-12-23\u003c/news:publication_date\u003e\n \u003cnews:title\u003eCompanies A, B in Merger Talks\u003c/news:title\u003e\n \u003c/news:news\u003e\n \u003c!-- Next we add video extension tags --\u003e\n \u003cvideo:video\u003e\n \u003cvideo:thumbnail_loc\u003ehttps://www.example.com/thumbs/123.jpg\u003c/video:thumbnail_loc\u003e\n \u003cvideo:title\u003eLizzi is painting the wall\u003c/video:title\u003e\n \u003cvideo:description\u003e\n Gary is watching the paint dry on the wall Lizzi painted.\n \u003c/video:description\u003e\n \u003cvideo:player_loc\u003e\n https://player.example.com/video/987654321\n \u003c/video:player_loc\u003e\n \u003c/video:video\u003e\n \u003c!-- And finally the xhtml tags for hreflang --\u003e\n \u003cxhtml:link\n rel=\"alternate\"\n hreflang=\"de\"\n href=\"https://www.example.de/deutsch/page.html\"/\u003e\n \u003cxhtml:link\n rel=\"alternate\"\n hreflang=\"de-ch\"\n href=\"https://www.example.de/schweiz-deutsch/page.html\"/\u003e\n \u003cxhtml:link\n rel=\"alternate\"\n hreflang=\"en\"\n href=\"https://www.example.com/english/page.html\"/\u003e\n \u003c/url\u003e\n\u003c!-- Add more \u003curl\u003e tags --\u003e\n```\n\n\nThe order of the extension in the sitemap is irrelevant after the `\u003cloc\u003e`\ntag. Keep in mind the\n[general sitemap best practices](/search/docs/crawling-indexing/sitemaps/build-sitemap#general-guidelines),\nespecially the file size limits. Combining sitemap extensions increases the file size of your\nsitemap significantly."]]