A sitemap is one of those things most websites have once and forget about. For a blog, it's also one of the easiest wins for SEO — it tells search engines exactly what exists and when it was published. If you've been publishing posts for months without updating your sitemap, you're leaving search index coverage on the table. Here's how sitemaps work for blogs, what a proper blog sitemap looks like, and how to keep it current as you publish.
What a Sitemap Does for Your Blog
Search engines discover pages through crawling — following links from known pages to unknown pages. A sitemap supplements this by giving crawlers a complete list of your URLs in a standardized format. For a blog with 20–30 posts, the sitemap does several things:
- Ensures all posts are discovered: Even if no other site links to your oldest blog post, the sitemap lists it. Google will find it.
- Communicates publication dates: The sitemap's <lastmod> tag tells search engines when each post was published or updated. This helps with recency ranking for time-sensitive content.
- Prioritizes by recency: The <priority> tag can signal to crawlers which pages matter most. A homepage or latest posts page gets higher priority than an archive page from 3 years ago.
- Tracks change frequency: The <changefreq> tag tells crawlers how often content updates. Blog posts typically use "monthly" or "yearly" once they're published.
The Proper Blog Sitemap Format
A blog sitemap should list every post with the relevant metadata:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://leadtrawl.polsia.app/blog/how-much-do-contractor-leads-cost-2026</loc>
<lastmod>2026-05-17</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<!-- more posts -->
</urlset>
Key format notes:
- Use the blog post URL, not the blog index: Each entry should be a specific post URL, not the /blog/ listing page.
- ISO 8601 dates in lastmod: Use YYYY-MM-DD format for the last modification date.
- Priority 0.7–0.9 for posts: Blog posts typically use 0.7 (standard) to 0.9 (high priority). The homepage gets 1.0.
- Valid XML only: Malformed XML in a sitemap causes parsers to skip the file. Use a validator after any manual edit.
How to Submit and Update Your Sitemap
After updating the sitemap, two steps:
- Submit to Google Search Console: If you have a Search Console account, go to Sitemaps → enter your sitemap URL (e.g., /sitemap.xml) → click Submit. Google will re-crawl based on the updated lastmod dates.
- Submit to Bing Webmaster Tools: Same process at bing.com/webmasters. Bing's crawler is slower than Google's but still matters for ~10–15% of search traffic.
If you don't have Search Console set up, the sitemap still helps — search engines discover it on their next crawl. Manual submission just accelerates the process.
How to Keep the Sitemap Updated as You Publish
The cleanest approach: automate the sitemap generation as part of the publication process. If you're using a CMS or a tool that generates pages programmatically, the sitemap can be generated dynamically. For a static sitemap (as in LeadTrawl's case), the update process is:
- When a new blog post is seeded (via migration), add the entry to sitemap.xml
- Use the publication date as the <lastmod> value
- Deploy the updated sitemap with the new post
For LeadTrawl, the sitemap is regenerated in the same commit that adds new posts — every time a migration adds posts 25–32, the sitemap update is included in the same push. This ensures the sitemap is always current by the time the post goes live.
Checking Your Sitemap for Coverage Issues
A few things to verify:
- All published posts are in the sitemap: If a post doesn't appear, it either wasn't added to the sitemap or is blocked by robots.txt or noindex meta tags.
- No duplicate URLs: Canonical issues can cause the same post to appear under multiple URLs. Each slug should appear once.
- lastmod dates are accurate: If lastmod is older than the actual publication date, search engines may think the content is stale.
- No broken URLs: Every <loc> should return a 200 status. Deleted or redirected posts should be removed from the sitemap or marked with a 301 redirect.
Test your sitemap at xml-sitemaps.com/validate-sitemap.html or use Google's URL Inspection tool in Search Console to check individual posts.
LeadTrawl's sitemap at /sitemap.xml lists all 32 published posts with accurate lastmod dates — check it to see the full coverage status.