For WordPress sites, install Yoast SEO or Rank Math and the sitemap generates automatically at yourdomain.com/sitemap.xml. Both plugins let you exclude post types, taxonomies, or specific pages. This covers 80% of our portfolio at Ottawa SEO Inc. because it requires zero coding and updates in real time when you publish content. For non-WordPress sites or custom setups, Screaming Frog SEO Spider crawls your site and exports a compliant XML sitemap in seconds. The free version handles up to 500 URLs; the paid license ($259 CAD/year) removes limits and lets you schedule crawls. Online generators like xml-sitemaps.com work for smaller sites but cap at 500 pages on the free tier and don't auto-update. If you're running a large ecommerce platform, headless CMS, or custom application, script your sitemap generation. Pull URLs from your database, filter out noindex pages and duplicates, then format them in XML following the sitemaps.org spec. Include <loc>, <lastmod>, <changefreq>, and <priority> tags. Regenerate nightly via cron job so it stays current. For sites over 50,000 URLs, split into multiple sitemaps and reference them in a sitemap index file. Key decisions: exclude paginated URLs, search result pages, and admin sections. Include only canonical URLs that return 200 status codes. For multilingual sites, use hreflang annotations inside the sitemap or generate separate sitemaps per language. Always validate your sitemap with Google's Sitemap Validator or Screaming Frog before submitting it in Search Console. We see the biggest indexing gains when sitemaps list fewer than 10,000 URLs and prioritize money pages—product categories, service pages, cornerstone blog posts. Google crawls smaller, focused sitemaps more reliably than bloated ones listing every tag archive. Submit your sitemap in Google Search Console and Bing Webmaster Tools, then monitor the coverage reports monthly to catch crawl errors or excluded URLs.