Repository navigation
docs: mark Doxygen source listings noindex and keep them out of the sitemap - #398
Merged
Merged
Conversation
…itemap The API documentation site draws most of its search impressions to raw C++ source listings (Doxygen's per-file `*_8<ext>_source.html` pages), while the API reference pages get few. docs/seo_postprocess.py now adds one `<meta name="robots" content="noindex">` in the head of a source listing, replacing any robots meta it already had, and drops every page that carries a noindex or none directive from sitemap.xml. A page is a source listing only when its file name matches that pattern and its title ends with "Source File", which is how Doxygen titles a listing: a hand-written page can choose a colliding name with an explicit page id and must stay indexable. File reference pages (`*_8hpp.html`), class, struct, namespace, member, group and directory pages, the hand-written pages, the landing page and the 404 page are unchanged. robots.txt keeps allowing everything: a crawler that may not fetch a page never sees its noindex. A second pass over the output is byte-identical. The `--self-test-seo` self-test gains a second phase with six source fixtures (including one with a conflicting robots meta, one with an uppercase tag and one whose title has trailing whitespace), twelve API and narrative fixtures, among them a class whose name ends in `source`, and a hand-written page whose explicit id collides with the listing name pattern and must stay indexable and in the sitemap. It asserts which pages get the tag, the sitemap URL set, the position of the tag, untouched assets and a byte-identical second pass. The footer already links to pineforge.dev on every page, source listings included; docs/ci.md says so. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
luisleo526
added a commit
that referenced
this pull request
Oct 17, 2026
* docs: the 1.6.1-rc.1 release candidate notes Prepare the 1.6.1-rc.1 changelog entry dated 2026-10-17, carrying forward the reviewed 1.6.1 — Unreleased section (b148979, c818585) and naming all pull requests merged since v1.6.0 (#398, #400, #401, #402). Update the two CHANGELOG section anchor links in README.md and docs/pages/public-contract.md introduced by b148979 from #161--unreleased to #161-rc1--2026-10-17 while keeping the current final release and pair lines on 1.6.0. * docs: drop the hpo-candidate pairing line from the 1.6.1-rc.1 entry (review of #403) No pineforge-hpo release candidate exists yet and the reviewed 1.6.1 entry did not claim one. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> --------- Co-authored-by: HaoLiangWen <[email protected]> Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The API documentation site drew most of its search impressions to raw C++ source listings. Those Doxygen source-listing pages now carry noindex and are left out of sitemap.xml; the API reference, file reference, class, namespace, hand-written and landing pages are unchanged, and robots.txt still allows everything so crawlers can read the noindex.
Proven on the real built site: 125 titled source listings = the 125 pages carrying noindex (independent title check), 0 name-only matches, a pineforge.dev link on every page, a second pass byte-identical. Docs only; all CI steps passed on this exact tree.
🤖 Generated with Claude Code