Skip to content

Audit sitemap pages in schema_audit, not guessed paths - #236

Merged
jasperf merged 2 commits into
mainfrom
fix/schema-audit-default-pages
Sep 19, 2026
Merged

jasperf merged 2 commits into
mainfrom
fix/schema-audit-default-pages

Conversation

@jasperf

@jasperf jasperf commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Version: 5.24.2

The schema_audit MCP tool used to check a fixed list of 11 guessed paths, such as /about-us/, /shop/ and /news/. Now it audits the pages listed in the site's sitemap, which gives more accurate results. With the old list, sites that lacked some of those paths got misleading output. On imagewize.com, six of the paths redirect or return 404. The report listed them as "Not Found" and still ended with "All pages have schema markup", which reads as six pages missing schema. The old list also never reached the site's real service and landing pages. Pages are now found through wp-sitemap.xml, sitemap_index.xml or sitemap.xml, and a new maxPages cap limits how many are checked. URLs that don't return 200 are reported separately and no longer count toward the schema totals. This release is version 5.24.2.

Page Discovery:

  • When pages is not passed, the page list comes from the sitemap. The tool tries wp-sitemap.xml (WordPress core) first, then sitemap_index.xml (Yoast, Rank Math, The SEO Framework), then sitemap.xml. From a sitemap index it reads only the page sitemaps, when there are any. The homepage is always checked first.
  • The fixed list of common paths is now only a fallback for sites with no sitemap, and the output says when it is used.
  • A new maxPages parameter (default 25) caps how many sitemap URLs are checked. When the cap shortens the list, the output says so, e.g. "first 25 of 177 URLs".
  • Each page is fetched in one request instead of two: the old code ran a status check and then fetched the body. A 25-page audit of imagewize.com dropped from about 90 to about 58 seconds.

Audit Output (mcp-server/src/server.ts):

  • A new "Pages:" line says where the page list came from: the sitemap URL, the common-path fallback, or the pages argument.
  • URLs that don't return 200 appear in their own "Not checked" section with their status code and redirect target. The heading wording depends on the source. From a sitemap, it flags a real problem, because the sitemap lists a redirect or a missing page. From the fallback, the missing paths are marked as expected.
  • Totals and the final verdict now refer to "reachable pages". A new message covers the case where no page returned 200. When no tracked schema type is found, the output now says so instead of showing an empty list.
  • In summary mode, pages without schema are still listed, and so are URLs that did not return 200. The parameter description was updated to match.

Documentation:

  • CHANGELOG.md gets a 5.24.2 "Fixed" entry. It describes the new sitemap discovery, maxPages, the "Not checked" section and the speedup. It also notes that the wp-ops schema-audit CLI command (wp-cli/seo/schema-audit.sh) still uses the fixed path list.
  • mcp-server/README.md now explains how schema_audit builds its page list: from pages, from the sitemap, or from the fallback. It also explains how URLs that don't return 200 are reported.

Files Changed:

schema_audit checked a fixed list of common paths. On imagewize.com six
of them redirect or 404, and the output listed them as Not Found while
also reporting that all pages have schema, which reads as six pages
missing schema.

Default pages now come from the site's sitemap (wp-sitemap.xml,
sitemap_index.xml, sitemap.xml), page sitemaps only when there is an
index, capped by a new maxPages parameter (default 25). The common
paths remain the fallback for sites without a sitemap.

URLs that don't return 200 get their own section with status code and
redirect target, worded by where the URL came from, and are never
counted toward the schema totals. Each page is now fetched in one
request instead of two.
@jasperf
jasperf merged commit 2497a10 into main Sep 19, 2026
1 check passed
@jasperf
jasperf deleted the fix/schema-audit-default-pages branch September 19, 2026 03:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant