Project · Open source
Chinese-Geo
A China-first open-source SEO + GEO toolkit: one command audits your site’s AI visibility, so it gets crawled and cited by domestic AI engines — Doubao / DeepSeek / ERNIE / Tongyi / Yuanbao / Kimi — and the overseas majors too.
Quick start
Command line
Install it (needs Python 3.9+):
pip install Chinese-Geo Run a visibility audit on any URL:
seogeo audit example.com In a few seconds you get a report: a score across 7 dimensions plus a prioritized fix list to work through. Add --format json for CI.
For AI agents
It was built for agents — 6 Agent Skills + an MCP server (8 tools). One-click in Claude Code (skills + MCP together):
/plugin marketplace add qingqingpi/Chinese-Geo /plugin install seogeo Other agents (Codex / Cursor / Kimi …): run seogeo init --agent codex (or cursor / gemini …) in your project — it writes the instruction file + MCP config for you, without overwriting what's already there.
Why I built it
Almost every SEO / GEO (generative engine optimization) tool out there is built for the overseas world — it only watches ChatGPT and Perplexity, and only knows Wikipedia and llms.txt. But China is a different game: each AI engine mostly feeds on its own ecosystem — Doubao ← Douyin / Toutiao, Yuanbao ← WeChat official accounts, ERNIE ← Baidu Baike / Baijiahao, Tongyi ← portal media, DeepSeek / Kimi ← Zhihu / CSDN. Crawler admission, off-site distribution, citation monitoring — all of it differs, and llms.txt is basically useless domestically: here GEO is won through live retrieval, not training data.
Nobody was filling that gap, so I did — cover the China side fully, without dropping the overseas majors. Two ecosystems, one tool.
What it does
I boiled the core down to one command: an AI-visibility audit for any site. I didn't want it to just say "go do some SEO" — so it hands you something concrete: a score across 7 dimensions plus a prioritized fix list — whether domestic / overseas crawlers are let in, whether your sitemap is findable, structured data, content citability, JS-render shells, technical baseline. Each item tells you where you're losing points and what fixing it is worth. A deterministic engine, happy to run in CI.
The best test is to turn it on yourself. I audited my own site with it — and, more to the point, actually fixed what it flagged:
$ seogeo audit sunxin.xin total 76 / 100 · good # first run: two real gaps ★ Domestic AI crawlers 16 / 26 · AI discoverability 0 / 8 · # fixed per the list: robots blocks + a real /sitemap.xml, re-run ↓ $ seogeo audit sunxin.xin total 90 / 100 · excellent # +14, both green ★ Domestic AI crawlers 26 / 26 ✓ AI discoverability 8 / 8 ✓
From "good" to "excellent." The remaining "content citability" points I left on the table on purpose — the home page is a minimal landing; the citable depth lives in the blog, not here. Beyond the audit it also generates recommended robots.txt, JSON-LD and llms.txt scaffolds, monitors citation rate / SoV inside domestic engines, and lays out an off-site matrix for Zhihu / CSDN / WeChat.
Making it beautiful
I set myself one bar: it had to be something I'd be comfortable handing to someone else. So I didn't cut corners here:
- Adding a new check takes me minutes. One rule = one
@registerfile plus one import; the pipeline finds it on its own, no touching the core — so it keeps growing as each engine changes. - It's solid enough that I'd put it in production. Zero runtime dependencies (pure Python stdlib), 25 test files of real assertions, CI across Python 3.9–3.12, auto-publish to PyPI on tag, and I added SSRF protection in the fetch layer.
- It genuinely understands China — the part I think is hardest to replace. I built a double-check for Bytespider's "robots-blocked ≠ really blocked", measured body length by Chinese character count (so "Chinese has no spaces" can't fool it), and verify crawler IPs by reverse DNS — things overseas tools generally lack.
How to use it
I shipped it in four shapes — use whichever fits your workflow:
- CLI:
pip install Chinese-Geo, thenseogeo audit example.com. - 6 Agent Skills (vendor-neutral, run in Claude Code / Codex / Kimi…): audit → rewrite → off-site, end to end.
- MCP server: 8 tools, plug into any MCP-capable agent.
- Claude Code plugin: one-click install with slash commands.