feat(docs): SEO overhaul — delete leaks, strict frontmatter, JSON-LD, cross-links#8
Merged
Conversation
…ions, sidebarTitle) - Titles: 13-52 chars, sentence case, no em-dash, no Rendobar prefix - Descriptions: 100-160 chars, start with allowlisted action verb, no em-dash, no brand prefix - Added sidebarTitle where SEO title is longer than needed for nav - 14 files updated: changelog, cli, concepts, job-types, mcp, quickstart, support
…direct - Merged billing how-to content from credits.mdx into concepts/credits.mdx - Removed duplicate credits.mdx (deleted in prior commit with leaked internals) - Updated docs.json navigation: Getting Started now uses concepts/credits - Added redirect rule: /credits -> /concepts/credits - Fixed og:image:alt to match canonical brand slogan (Serverless media processing API)
…ion snippet - guides/raw-ffmpeg.mdx: TechArticle schema + apex cross-link to rendobar.com/ffmpeg/ - snippets/org-jsonld.mdx: shared Organization and WebSite schema snippet (for reference) - @id URLs match apex schema entity IDs for cross-domain entity consolidation Note: Mintlify seo.metatags does not support raw <script> injection. JSON-LD is embedded directly as JSX dangerouslySetInnerHTML in each high-value MDX page.
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.
What this PR does
Comprehensive SEO audit and overhaul following a live GSC + sitemap review that found 17 orphaned/unindexed URLs, two publicly-leaked internal files, and duplicate content at
/creditsand/concepts/credits.Phase 2: Deleted leaked internals
Files removed from the public docs site:
CLAUDE.md— internal AI agent rules, no user valuesuperpowers/specs/2026-04-25-cli-docs-section-design.md— internal speccredits.mdx— consolidated intoconcepts/credits.mdx(see Phase 5)Both
CLAUDE.mdand the superpowers spec were indexed by Google. They have been removed.Phase 3: Frontmatter validator + CI
scripts/validate-frontmatter.mjs— walks all.mdxfiles (excludingsnippets/), parses frontmatter, enforces title length (13–52 chars), sentence case, no em/en-dash, no brand prefix, description length (100–160 chars), allowlisted action verb startpackage.jsonwithvalidate:frontmatterscript.github/workflows/validate-frontmatter.yml— runs on every PR and push to main that touches.mdxfiles or the validator scriptPhase 4: Frontmatter fixes (14 files)
All 24 MDX pages now pass the validator. Changes:
changelog/2026-03-20.mdxcli/overview.mdxsidebarTitleconcepts/credits.mdxconcepts/job-lifecycle.mdxguides/raw-ffmpeg.mdxsidebarTitlejob-types/raw-ffmpeg.mdxsidebarTitlemcp/examples.mdxmcp/installation.mdxmcp/overview.mdxmcp/troubleshooting.mdxmcp/web-and-mobile.mdxquickstart.mdxsidebarTitlesupport/errors.mdxsidebarTitlesupport/limits.mdxPhase 5: Canonicalize /credits
credits.mdx(billing how-to: plans, packs, balance API, usage tracking) merged intoconcepts/credits.mdxconcepts/credits.mdxnow covers both the "why nanodollars" conceptual content and the practical billing how-tocredits.mdxdeleteddocs.jsonnavigation updated: Getting Started group now usesconcepts/credits/credits→/concepts/creditsog:image:altindocs.jsonto match canonical slogan ("Serverless media processing API")Phase 6: JSON-LD (Organization, WebSite, TechArticle)
Mintlify limitation:
seo.metatagsindocs.jsononly injects<meta>tags — it does not support raw<script>injection for JSON-LD. There is nocustomHeadorheadJsfield in the Mintlify schema.Workaround used: JSON-LD injected as JSX
<script dangerouslySetInnerHTML>directly in high-value MDX pages. Mintlify renders MDX as React, so this works correctly.Pages with JSON-LD added:
quickstart.mdx— TechArticle schemamcp/overview.mdx— TechArticle schemaguides/raw-ffmpeg.mdx— TechArticle schemasnippets/org-jsonld.mdx— shared Organization + WebSite schema snippet (for reference; not yet imported globally — would need per-page inclusion)All
@idURLs match the apex schema entity IDs (https://rendobar.com/#organization,https://rendobar.com/#website) for cross-domain entity consolidation.For a global JSON-LD injection on every page, the options are: (a) Mintlify adds
customHeadsupport, or (b) every page imports the Organization/WebSite snippet. Option (b) is ~24 file edits; deferred pending Mintlify roadmap check.Phase 8: Bidirectional cross-links to apex
quickstart.mdxrendobar.com/pricing/, "Explore all operations" →rendobar.com/features/cli/installation.mdxrendobar.com/changelog/mcp/overview.mdxrendobar.com/mcp/guides/raw-ffmpeg.mdxrendobar.com/ffmpeg/concepts/credits.mdxrendobar.com/pricing/support/faq.mdxrendobar.com/andrendobar.com/pricing/All links are natural inline references, not generic footer blocks.
Test plan
node scripts/validate-frontmatter.mjsexits 0 on all 24 pages/credits→/concepts/creditsworksCLAUDE.mdandsuperpowers/no longer appear in the Mintlify sitemap