Skip to content

feat(seo): Google Search Console audit fixes, docs root elevation and SEO hygiene - #53

Merged
humanbydefinition merged 3 commits into
mainfrom
dev
Aug 22, 2026
Merged

feat(seo): Google Search Console audit fixes, docs root elevation and SEO hygiene#53
humanbydefinition merged 3 commits into
mainfrom
dev

Conversation

@humanbydefinition

@humanbydefinition humanbydefinition commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Summary

This PR addresses crawl, indexing, canonical, and structured data issues discovered during a Google Search Console (GSC) audit of sc-domain:code.textmode.art, while streamlining documentation routing and site configuration.

Key Changes

1. Elevated Introduction to Documentation Root

  • Moved docs/introduction.md to docs/index.md: Resolves the 404 error reported by Google Search Console on https://code.textmode.art/docs/ and https://code.textmode.art/docs.
  • Navigation and Sidebar:
    • Updated nav.mts to point Documentation directly to /docs/.
    • Updated sidebar.mts so both the Start group header and the Introduction item link to /docs/.
    • Updated home hero Get started link and contributing guides to point to /docs/.

2. Canonical URL Normalization

  • Refactored transformHead in head.mts:
    • Directory index pages (/, /docs/, /api/, /docs/contributing/) now receive trailing-slash canonical URLs matching GitHub Pages static server behavior.
    • Leaf pages (/gallery, /api/...) receive clean non-trailing-slash canonical URLs.
    • Eliminates GSC "Page with redirect" and "Alternate page with proper canonical tag" warnings.

3. Structured Data and Schema.org Enhancements

  • Breadcrumb Validation: Fixed dynamic breadcrumb generation so all intermediate and leaf items resolve to valid 200 OK pages, eliminating 404 intermediate breadcrumbs on deep API reference pages.
  • API Reference Schema: Injected structured TechArticle schema across all API reference pages.
  • WebSite Schema: Removed nonexistent /search?q= SearchAction from root schema.

4. Blog Decommissioning and Crawl Blocking

  • Excluded blog/** from VitePress builds and sitemap in config.mts.
  • Removed vitepress-plugin-blog theme wrapper and configuration.
  • Added Disallow: /blog/ and Disallow: /blog to public/robots.txt to prevent search bots from crawling deprecated blog paths.

5. Sitemap and Source Cleanup

  • Added root repository markdown files (README.md, LICENSE.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, CONTRIBUTORS_AUTOMATION.md, and .vitepress/data/TESTIMONIALS_README.md) to srcExclude in config.mts.
  • Resulting sitemap is reduced to 805 valid documentation and API reference URLs with zero orphans.

Verification

  • Contributor validation test suite passes (node --test scripts/contributors.test.mjs).
  • API examples scanner test suite passes (node --test scripts/api-examples.test.mjs).
  • Full static build passes with 0 errors (vitepress build).
  • Verified canonical tags on built HTML outputs (index.html, docs/index.html, api/index.html, gallery.html).
  • Verified sitemap.xml contains 0 blog URLs, 0 orphan root markdown files, and includes /docs/.

@humanbydefinition humanbydefinition changed the title feat(seo): Google Search Console audit fixes, docs root elevation & SEO hygiene feat(seo): Google Search Console audit fixes, docs root elevation and SEO hygiene Aug 22, 2026
@humanbydefinition
humanbydefinition merged commit 5fdc45c into main Aug 22, 2026
2 checks passed
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