Add robots.txt, llms.txt and full sitemap for AI/search discoverability - #15
Merged
Conversation
embarquech
force-pushed
the
feature/seo-ai-discoverability
branch
2 times, most recently
from
August 11, 2026 09:25
8c3f7fe to
98d9bda
Compare
The published site had no robots.txt (404), no llms.txt (404), and the sphinx-sitemap output covers only the root project's 3 pages of 16. Adds, via html_extra_path: - robots.txt: explicit allow-all + pointers to both sitemaps - llms.txt: curated index of every doc section and PDF for LLM crawlers - sitemap-docs.xml: static full sitemap (16 URLs incl. SDK subsites and PDFs) complementing the generated /sitemap.xml Plus a content and metadata pass: - index.rst: the wallet card also carries the FIDO Alliance certified FIDO2/U2F applets (CTAP2.1, Level 1) and doubles as a FIDO2 security key; explicit coverage entities (BIP32, secp256k1/NIST P-256, MuSig2 BIP-327); product-page and tech-spec links under Other resources - layout.html: unify the JSON-LD publisher with the brand entity https://cryptnox.com/#organization (was a detached 'Cryptnox Docs' org); repoint og:image, twitter:image and the logo away from wp-content paths that 404 on GitHub Pages; og:image dimensions corrected to the replacement image's actual 512x512 - conf.py: add FIDO2, MuSig2, BIP-327 and secp256k1 to the keywords The llms.txt product note states both card interfaces (ISO/IEC 7816 contact and ISO/IEC 14443 contactless) and the USB smart card readers sold alongside the cards. No html_last_updated_fmt: Sphinx computes that value once per build from the current time, not per source file, so on a CI-deployed site every page would advertise the last deploy date as its content date. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
embarquech
force-pushed
the
feature/seo-ai-discoverability
branch
from
August 11, 2026 10:32
98d9bda to
caee8ef
Compare
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 published site had no
robots.txt(404), nollms.txt(404), and thesphinx-sitemap output covers only the root project's 3 pages out of 16 URLs.
This adds three files to the published site root via
html_extra_path:robots.txt— explicit allow-all + pointers to both sitemapsllms.txt— curated index of every doc section and PDF for LLM crawlerssitemap-docs.xml— static full sitemap (16 URLs incl. SDK subsites and PDFs), complementing the generated/sitemap.xmlPlus one line in
docs/source/conf.py:Without that line Sphinx never copies the files and nothing publishes. The
Deploy Sphinx to GitHub Pagesworkflow runs a plainsphinx-build docs/source _site, so the three files land at the site root on merge.Verify after the Pages deploy finishes (~2 min after merge)
Follow-ups (separate PRs)
html_last_updated_fmt = '%Y-%m-%d'in conf.py — visible "last updated" datessitemap-docs.xmlis hand-written)🤖 Generated with Claude Code