Glossary · SEO
Sitemap
A sitemap is a file that lists the pages of a site you want search engines to find, usually in XML at an address like /sitemap.xml, with the date each page last changed. It helps search engines discover your pages; it does not make them rank.
An example
A blog with two posts. Each <url> is one page: its full address and the day it last really changed.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://bakery.example/blog/wedding-cake-guide</loc>
<lastmod>2026-09-28</lastmod>
</url>
<url>
<loc>https://bakery.example/blog/gluten-free-birthday-cakes</loc>
<lastmod>2026-09-14</lastmod>
</url>
</urlset>Then one line in your robots.txt tells every search engine where it is:
Sitemap: https://bakery.example/sitemap.xmlWhy it matters for a small-business blog
Search engines find pages by following links. A new blog has almost none from other sites, so its posts are found slowly. Google names exactly this case, a new site with few links to it, as one where a sitemap helps.
Google also says a small site whose pages are all linked from its home page may not need one. A blog shown through a script or a builder widget is often not in the site’s own sitemap at all, though, so check that your posts are listed somewhere.
Common mistakes
- Listing pages you do not want found. Drafts, pages marked noindex and addresses that redirect do not belong in it. List the address you want in results.
- Short addresses. Google asks for full addresses (
https://…) and crawls them exactly as written. - A lastmod that changes every day. Google uses it only when it is “consistently and verifiably accurate”: change it when the post changes, not when the footer does.
- Tuning priority and changefreq. Google ignores both.
- Never telling anyone. Name the sitemap in robots.txt, or submit it in Search Console’s Sitemaps report.
- Expecting it to get pages indexed. Google calls a sitemap a hint. A page still has to be worth indexing.
How CMSKite handles it
- On the free blog link, each blog has its own sitemap, listed in the one that robots.txt on cmskite.com names, and a post is in it once you publish. There is nothing to do. Once your own site shows the posts, they are listed at your site’s addresses instead (below).
- With the two-line embed, your website does not know your posts, so its own sitemap leaves them out. We keep one for you at
https://cmskite.com/b/your-blog/site-sitemap.xml, with each post at its address on your site. Add theSitemap:line for it to your robots.txt: Google accepts a sitemap on another site when your robots.txt names it. Steps for each host are in the embed guide. - Through the API,
GET /v1/blog/sitemaplists every published post at its address on your site, as JSON or, with?format=xml, as a sitemap your/sitemap.xmlcan serve as it is. See Making your posts findable. - All of them leave out drafts and posts marked “keep out of search”, and give each post the date it last changed as its lastmod.
Sources
Questions
- How many pages can one sitemap list?
- Up to 50,000 addresses or 50 MB uncompressed, whichever comes first. A larger site splits its pages over several sitemaps and lists them in a sitemap index.
- Can my sitemap be on another website?
- Yes, if the robots.txt of your own site names it. That is how a blog shown through an embed gets its posts listed under your domain.
Related
- Canonical URLThe address each sitemap entry should use.
- NoindexPages with it are left out of a sitemap.
- Embed codeWhy an embedded blog needs a sitemap of its own.
- Add your blog with two linesSubmitting the sitemap on WordPress, Shopify and Webflow.
- SEO-friendly blog platformWhat every CMSKite post tells search engines.
Checked