feat(seo): structural fixes to stop crawl noise permanently#72
Merged
Conversation
- Asset path 404s: vercel.json redirects for /assets/, /javascripts/, /stylesheets/ → /docs/* equivalents - Pre-deploy SEO validator (scripts/validate_seo.py): blocks deploy on broken external links and missing meta descriptions - Auto-linking MkDocs hook (scripts/hooks/auto_link_children.py): every section index.md auto-links its children at build time - Weekly audit script (scripts/weekly_seo_audit.py): crawls live site from sitemap, checks links, descriptions, and asset paths Note: .github/workflows/pages.yml change requires a PAT with 'workflow' scope. Will submit separately.
# Conflicts: # scripts/hooks/auto_link_children.py
temalo
added a commit
that referenced
this pull request
Jul 16, 2026
…laceholder URLs (#74) Three fixes to the pre-deploy SEO validator shipped in #72: 1. Crash: the orphan-page check unpacked find_internal_links() (which returns a set of path strings) as 'text, link' -> ValueError: too many values to unpack. It now iterates single link values, so all 4 checks run to completion. 2. Placeholder URLs: API-doc example links (Shopify /store/.../orders/12345, QuickBooks {REALM_ID}) were counted as broken links and blocked deploy. Added _is_placeholder_url() to skip illustrative URLs. 3. Auth-walled statuses: 401/403/429 mean 'exists but gated / rate-limited', not 'broken' — no longer treated as failures. The 52 missing-meta-description findings are real and left as-is (that's the validator doing its job); this only fixes the crash + false positives. Note: the Pages workflow (pages.yml) does NOT run this as a gate today, so this was not blocking live deploys — but it will be safe to wire in as one now.
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.
Structural SEO cleanup (85 files): removes crawl-noise catalog/marketplace pages, prunes dead build hooks (absolute_asset_urls, truncate_meta_description), and updates mkdocs.yml + auto_link_children. Ben's SEO pass. Powered by CorpusIQ