SEO & AI Visibility Resources

Practical guidance for improving website readiness, search visibility, and AI discoverability.

An XML sitemap lists the preferred public URLs you want search engines to discover. It helps explain your website structure, but it does not guarantee crawling, indexing, ranking, or an AI citation. If a scan flags a missing, broken, or inconsistent sitemap, inspect the actual file and its listed pages before changing your CMS configuration.

What a sitemap should contain

Treat the sitemap as an inventory of preferred, indexable destinations. Include useful articles, service pages, products, and other public content that should appear in search. Leave out private reports, checkout steps, internal search results, redirects, error pages, and intentionally excluded duplicates. A URL that exists in your database is not automatically appropriate for the file.

Use the same protocol, hostname, path, language convention, and trailing slash that your public links use. If a page declares another canonical, decide which page belongs in the inventory. The sitemap, internal links, redirects, and canonical should describe the same architecture. See the canonical URL guide before changing a preferred route.

Confirm the reported problem

  1. Locate the sitemap reference in robots.txt and identify the generator in your CMS. Do not assume every site uses the filename sitemap.xml.
  2. Open the file without your administrator session. A styled browser view is fine, but the underlying response must be valid sitemap XML rather than a login page or HTML error.
  3. If it is a sitemap index, open its child files too. A healthy index can point to a missing or blocked child sitemap.
  4. Check representative listed URLs for their final status, canonical, indexing directive, and visible content. Include a recent page and an older page.
  5. In the verified Search Console property, inspect the submitted sitemap result and the exact affected page. Distinguish a failed fetch from a discovered page that Google chose not to index.

Keep timestamps truthful

A lastmod value should represent a meaningful change to that particular page. Do not set every URL to the current time whenever a scheduled generator runs. If you cannot maintain a reliable value, omit it rather than manufacture freshness. Google says it ignores the priority and changefreq fields; changing those numbers is not a repair for missing content.

For a small site, compare the timestamp on a recently revised article with a page that has not changed. For a larger site, sample each content type. A template or metadata change can justify updated dates on affected pages, but an unchanged footer copyright year does not justify pretending every article was rewritten.

Repair the file and its source inventory

  1. Choose the existing approved sitemap generator as the owner. Preserve a copy of its configuration and URL inclusion rules before editing.
  2. Correct the underlying publishing, access, canonical, or route problem first. A sitemap cannot turn an unavailable page into a healthy destination.
  3. Exclude non-public and obsolete URLs. Replace listed redirects with their final equivalent canonical pages, rather than adding both versions.
  4. Generate valid UTF-8 XML with escaped values. If the inventory exceeds the protocol limits, split it into child sitemaps and use an index.
  5. Publish the file at its intended stable location. Test that security rules and caches return XML to an unauthenticated request.
  6. Reference the approved location in robots.txt or the search engine submission tools. Record the submitted URL and subsequent processing result.

Joomla and WordPress checks

Joomla

Identify the sitemap extension or existing generation process. Check which menus, categories, languages, and access levels it includes. Confirm that it produces the approved category-routed article URLs rather than alternate component routes. A missing menu selection inside a generator is a local configuration issue; it does not justify rebuilding navigation or changing global URL settings.

WordPress

WordPress core exposes a sitemap index at /wp-sitemap.xml on eligible public sites. An SEO plugin may replace or disable that output and provide its own sitemap index. Check the active owner and its exclusions before adding another plugin. Confirm that public post types and useful archives are included according to your indexing policy.

Passing and failing examples

These are illustrative checks, not results from a client website. A redirect may work for visitors while remaining the wrong URL for the sitemap. Also check that the listed page is discoverable through normal internal navigation.

PASS: https://example.com/guides/sitemaps/
200 response; indexable; self-canonical; useful public page

FAIL: http://example.com/old-guide/
301 redirect to an HTTPS replacement, still listed as a separate page

Verify the repair and follow indexing separately

Refresh the sitemap cache, request the index and affected child files again, and compare the final inventory against the approved pages. Record a small set of successful page checks so the next person can reproduce them. Repeat the scan using a comparable sample; a different sample can produce different findings.

A clean sitemap check means that the observable sitemap condition improved. It does not prove that Google has indexed every listed page. Investigate remaining exclusions through the indexing diagnosis guide. For Bing-specific discovery and notifications, use the separate platform guide when available; do not treat IndexNow as a universal indexing guarantee.

Frequently asked questions

Does every page need to appear in the sitemap?

No. Include the preferred public pages you want indexed. Private, duplicate, utility, and error destinations do not belong simply because the CMS can generate a URL for them.

Does a sitemap replace internal links?

No. Visitors still need a useful path through the website. Link important pages from an appropriate hub or category index, and verify that those links use the same canonical URLs.

Why does the scan say missing when I have one?

The scanner may not have discovered a custom location or may have received a blocked response. Check the report evidence, robots.txt reference, and the exact sitemap URL before creating a replacement.

Primary references

Use these first-party references for the technical definitions and platform behavior discussed in this guide.