Skip to content

feat(docs): add GEO infrastructure for AI search visibility#2224

Merged
Borda merged 7 commits intodevelopfrom
docs/geo
Apr 21, 2026
Merged

feat(docs): add GEO infrastructure for AI search visibility#2224
Borda merged 7 commits intodevelopfrom
docs/geo

Conversation

@Borda
Copy link
Copy Markdown
Member

@Borda Borda commented Apr 20, 2026

This pull request introduces major improvements to the documentation and publishing workflow for the Supervision library. The most significant updates include enhanced SEO and discoverability features, such as structured metadata, Open Graph and Twitter Card tags, and root files for search engines and LLMs. Additionally, the documentation content has been expanded with new descriptions and an improved introduction, and the publishing workflow now injects essential files into the gh-pages branch.

SEO and discoverability enhancements:

  • Added JSON-LD structured data for organization, software, tech articles, and breadcrumbs, as well as Open Graph and Twitter Card meta tags to docs/theme/main.html for improved SEO and social sharing.
  • Added robots.txt to allow all major bots and provide a sitemap, and added llms.txt with a summary, install instructions, key APIs, and links for LLM discoverability. [1] [2]
  • Updated the GitHub Actions workflow (.github/workflows/publish-docs.yml) to automatically inject robots.txt and llms.txt into the gh-pages branch on publish.

Documentation content improvements:

Homepage and introduction updates:

  • Added a new "What is Supervision?" section to the homepage (docs/index.md) with a concise library overview, key features, and community adoption metrics.

These changes collectively make the documentation more discoverable, easier to understand for new users, and ready for integration with search engines and LLMs.

- Inject JSON-LD schemas (Organization, SoftwareApplication, TechArticle, BreadcrumbList) and OG/Twitter Card meta tags into docs/theme/main.html
- Create docs/robots.txt (AI crawler Allow rules, Disallow /0.*/, Sitemap) and docs/llms.txt (LLM-readable library summary, API index, citation)
- Add CI step in publish-docs.yml to inject robots.txt and llms.txt into gh-pages branch root after each mike deploy
- Add "What is Supervision?" definitional section and description frontmatter to docs/index.md; add description frontmatter to 13 how-to and reference pages

---
Co-authored-by: Claude Code <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 20, 2026 13:14
@Borda Borda requested a review from SkalskiP as a code owner April 20, 2026 13:14
@Borda Borda added documentation Improvements or additions to documentation enhancement New feature or request labels Apr 20, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77%. Comparing base (6069c47) to head (511a2f3).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff           @@
##           develop   #2224   +/-   ##
=======================================
  Coverage       77%     77%           
=======================================
  Files           66      66           
  Lines         8211    8211           
=======================================
  Hits          6350    6350           
  Misses        1861    1861           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enhances Supervision’s documentation discoverability by adding SEO/“GEO” metadata, LLM-friendly root files, and a publishing workflow step to place those root files on gh-pages.

Changes:

  • Add JSON-LD structured data plus Open Graph/Twitter Card meta tags to the MkDocs theme.
  • Introduce robots.txt and llms.txt, and update the docs publish workflow to inject them into the gh-pages root.
  • Add per-page description front matter across key docs pages and expand the homepage introduction.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
docs/trackers.md Adds page description metadata for SEO snippets.
docs/theme/main.html Injects JSON-LD + Open Graph/Twitter meta tags in the MkDocs theme.
docs/robots.txt Adds crawler directives and a sitemap reference (see review comments).
docs/llms.txt Adds LLM-oriented project summary, key APIs, and links.
docs/index.md Adds homepage description and a “What is Supervision?” intro section.
docs/how_to/track_objects.md Adds page description metadata.
docs/how_to/save_detections.md Adds page description metadata.
docs/how_to/process_datasets.md Adds page description metadata.
docs/how_to/filter_detections.md Adds page description metadata.
docs/how_to/detect_small_objects.md Adds page description metadata.
docs/how_to/detect_and_annotate.md Adds page description metadata.
docs/how_to/count_in_zone.md Adds front matter with description metadata.
docs/how_to/benchmark_a_model.md Adds page description metadata.
docs/detection/core.md Adds page description metadata.
docs/detection/annotators.md Adds page description metadata.
docs/datasets/core.md Adds page description metadata.
docs/changelog.md Adds page description metadata.
.github/workflows/publish-docs.yml Injects robots.txt and llms.txt into gh-pages root after deployment.

Comment thread docs/robots.txt Outdated
Comment thread docs/robots.txt Outdated
Borda and others added 5 commits April 20, 2026 15:41
- 404.html extends main.html; when MkDocs builds theme templates, page
  context is None — page.title | tojson raises TypeError: Undefined is
  not JSON serializable
- Wrap all JSON-LD and OG/Twitter blocks in {% if page %} so they are
  skipped for theme templates; analytics scripts remain outside the guard

---
Co-authored-by: Claude Code <noreply@anthropic.com>
…agraphs

- Add FAQPage JSON-LD (5 Q&As) on homepage for Google AIO extraction
- Add Wikipedia to Organization sameAs for ChatGPT/Gemini entity graph
- Add IndexNow key file + meta tag; CI pings Bing on every deploy
- Fix release canonical: filter rc/alpha/beta tags from `latest` alias
- Add 9 prose paragraphs after H2 headings across 6 how-to pages
- Update site_description to accurate model-agnostic copy

---
Co-authored-by: Claude Code <noreply@anthropic.com>
- /0.*/ block was misplaced after GoogleOther group (blank line ends a
  group in robots.txt), making it a dangling directive most parsers
  would ignore; move it into User-agent:* so all crawlers respect it

[resolve #1] Review comment by @Copilot (PR #2224):
"Disallow: /0.*/ directive is currently under the User-agent: GoogleOther
group, so it only applies to that crawler..."

---
Co-authored-by: Claude Code <noreply@anthropic.com>
Three files must stay in sync — add comments to the two that support
comments (main.html, publish-docs.yml) so editors know not to rename or
delete the key without updating all three locations.

---
Co-authored-by: Claude Code <noreply@anthropic.com>
/0.*/ only covered 0.x releases; add /1.*/ through /9.*/ so future
major versions are also disallowed — crawlers should index /latest/ only.
robots.txt has no character classes, so one Disallow per leading digit.

---
Co-authored-by: Claude Code <noreply@anthropic.com>
@Borda Borda merged commit c4a3038 into develop Apr 21, 2026
27 checks passed
@Borda Borda deleted the docs/geo branch April 21, 2026 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants