task: Inject brand-level Organization JSON-LD with sameAs on docs.celo.org
- Dominant language
- MDX
- Stars
- 90
- Forks
- 382
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 35
Description
### What needs to be done?
Connect the docs' structured data to the Celo brand entity. Verified against the live site today (`curl https://docs.celo.org/ | grep ld+json`):
- Mintlify auto-injects an `Organization` node named **"Celo Docs"** with `url: https://docs.celo.org` and **no `sameAs`** — the node is isolated from the Celo brand entity that AI engines and the Knowledge Graph resolve.
- A second injected block even names **Mintlify** as the site's creator.
Mechanism (verified in Mintlify's docs): any `.js` file in the content directory is loaded on every page with no `docs.json` wiring. Add one small script that injects a JSON-LD `Organization` block for **Celo** (`url: https://celo.org`) with a `sameAs` array — GitHub org, X, YouTube, Discord, CoinGecko, DefiLlama, L2BEAT — and marks docs.celo.org as its documentation property.
### Definition of done
- [ ] `seo-schema.js` (or similar) in the repo root injecting the JSON-LD described above; every `sameAs` URL verified live before merge
- [ ] Verified on the Mintlify preview deployment: the injected block is present in the rendered DOM and parses as valid JSON-LD
- [ ] Known limitation recorded in the file header: the script runs client-side after load — Google processes DOM-injected JSON-LD, plain-fetch crawlers do not see it; static head injection is not available on the current Mintlify plan
### Non-goals
celo.org's own (missing) JSON-LD — that lives in Framer and is tracked outside this repo. Renaming Mintlify's auto-injected nodes (not configurable).
Contributor guide
Assessment
This issue has not been assessed yet.