CMSKite

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.

DashboardStart freeNo card. Your blog is live in a minute.

An example

A blog with two posts. Each <url> is one page: its full address and the day it last really changed.

https://bakery.example/sitemap.xml · xml
<?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:

https://bakery.example/robots.txt · plain
Sitemap: https://bakery.example/sitemap.xml

Why 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 the Sitemap: 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/sitemap lists every published post at its address on your site, as JSON or, with ?format=xml, as a sitemap your /sitemap.xml can 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.

Checked