fix(seo): GEO hygiene — indexing, canonical URLs, llms.txt, docs redirects, library consolidation - #8508
Conversation
…rects, library consolidation - Single source for public site URLs (@sim/utils/site) and a check:site-urls audit against apex links - Derive content canonicals from section basePath + slug instead of hand-written frontmatter - Replace robots.txt disallows for app surfaces with X-Robots-Tag noindex; stop blocking /_next/; drop the inherited homepage canonical and og:url; noindex deployed chats - Generate llms.txt / llms-full.txt from the content registries and comparison data - Docs: redirect removed locale URLs in one hop, fix 404 robots/canonical, git-based lastModified - Merge duplicate library articles with 301s and repoint inbound links; differentiate overlapping ones - Interlink comparisons and library; tighten integration page metadata and JSON-LD - One INTEGRATION_COUNT_LABEL; remove invalid review JSON-LD; raster Organization logo
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
…t depend on git history
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
|
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 181 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
…remaining actions
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
Summary
@sim/utils/site);SITE_URL, docsSIM_SITE_URL, andDOCS_URLderive from it. Apexhttps://sim.ailinks (each a 301 hop; POSTs lose their body) rewritten towww, with a newcheck:site-urlsaudit so they can't creep backbasePath+ slug; the hand-writtencanonical:frontmatter field is gone (one article pointed at a different page)X-Robots-Tag: noindexfrom the proxy (incl. the signed-out/workspace→/loginredirect) instead of robots.txt disallows that kept them "indexed, though blocked";/_next/no longer blocked; non-landing routes no longer inherit a homepage canonical/og:url; deployed chats are noindex with their own preview tagsllms.txt/llms-full.txtgenerated from the content registries, comparison data, and navigation (library, comparisons, solutions, blog, full article text) using canonical URLs/fr,/es,/de,/ja,/zh,/en) redirect to the English page in one hop; 404 no longer emits conflicting robots tags or a root canonical;llms.txtdead/tools/link fixed; git-basedlastModifiedfor sitemap + TechArticle JSON-LD from a singlegit logpass (skipped on shallow clones)INTEGRATION_COUNT_LABEL; removed invalid self-curatedreviewJSON-LD; Organization logo is a 512px raster;/changelogsitemap date no longer borrowed from the blog;/studioand/buildinglegacy redirects are single-hopType of Change
Testing
bun run type-check(apps/sim, apps/docs)vitest run lib/content lib/navigation app/(landing) proxy.test.ts lib/compare(111 passing)bun run lint,check:audits(53 passing incl. newcheck:site-urls),docs-manifest:check, block-registry checknext.configredirect tables: no chains, every library redirect lands on an existing article; docs locale redirects curl-verified on a local docs server (308s land on the final URL, assets/llms routes unaffected)lastModifiedfrom the single git pass matchesgit log -1for all 505 pages (~0.2s vs ~11s per-file)Checklist
test-auditauthoring gate)