My sitemap looks something like this:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/page1.html</loc>
</url>
</urlset>
In the most examples in the internet urlset
tag has a xmlns
attribute with this value http://www.sitemaps.org/schemas/sitemap/0.9
. My question is, what that value comes from?
What exactly should it be?
- The path of where my website sitemap file is located?
- Literally
http://www.sitemaps.org/schemas/sitemap/0.9
?
2
Answers
The Sitemap protocol defines the XML schema which has the namespace
http://www.sitemaps.org/schemas/sitemap/0.9
.By using
you convey that the
urlset
element (and its descendants, unless they have a different namespace) should be interpreted according to this Sitemap protocol.Namespaces help to avoid name collisions. There is no central authority that controls which element names can be used in XML, so any other XML schema may specify an element named
urlset
, too. Namespaces also allow you to mix elements from different XML schemas, e.g., for extending the Sitemaps protocol.tl;dr: You have to provide (exactly!) this namespace value, otherwise it wouldn’t be a sitemap as defined by the Sitemap Protocol.
I readed many blogs and also read the sitemap protocol at schema.org but the issue was not resolved but after week of reasearching this i found out that
This type of sitemap is for old xhtml sites
And this version is for new html sites as per many cms like wordpress builds i may be wrong