seo-schema
Skill0 starsChanged 3 months agoMITView on GitHub
Structured data, metadata and on-page SEO for the theme. Triggers on "schema", "structured data", "SEO", "meta description", "rich results", "LocalBusiness".
38 other projects use a version of this.
Adopted by
Most recently taken up by
- seranking/seo-skillstheir own version, first seen Nov 8, 2026
- alpit-patel/seo-aeo-geo-kittheir own version, first seen Nov 8, 2026
- Littlpinguin/marketing-cockpit-templatetheir own version, first seen Nov 3, 2026
- Gallyan/trouvabletheir own version, first seen Nov 1, 2026
- zhtyyx/codex-seotheir own version, first seen Nov 1, 2026
- joaoguirunas/team-ostheir own version, first seen Oct 21, 2026
Used with
Projects with it also use seo-agentic, seo-sxo and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
AgriciDanielSkillseo-agentic
Audit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Use when the user asks whether AI agents can use or browse the site, or about llms.txt or WebMCP. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).
Also in 5 projects that use this
timruebenachSkillseo-sxo
Search Experience Optimization: reads Google SERPs backwards to detect page-type mismatches, derives user stories from search intent signals, and scores pages from multiple persona perspectives. Identifies why well-optimized pages fail to rank by analyzing what Google rewards for each keyword. Use when user says "SXO", "search experience", "page type mismatch", "SERP analysis", "user story", "persona scoring", "why isn't my page ranking", "intent mismatch", or "wireframe".
Also in 14 projects that use this
timruebenachSkillseo-google
Google SEO APIs: Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, and GA4 organic traffic. Provides real Google field data for Core Web Vitals, indexation status, search performance, and organic traffic trends. Use when user says "search console", "GSC", "PageSpeed", "CrUX", "field data", "indexing API", "GA4 organic", "URL inspection", "google api setup", "real CWV data", "impressions", "clicks", "CTR", "position data", "LCP", "INP", "CLS", "FCP", "TTFB", or "Lighthouse scores".
Also in 13 projects that use this
mangollcSkillseo-backlinks
Backlink analysis and link building strategy: competitor backlink profiling, outreach plan generation, monthly SEO reporting framework, toxic link identification, link opportunity scoring, and unlinked mention discovery.
Also in 15 projects that use this
mangollcSkillseo-local
Local SEO optimization: Google Business Profile post generation, 30-day posting calendars, NAP consistency checks, local citation audits, review response templates, local keywords.
Also in 19 projects that use this
indranilbanerjeeSkillseo-drift
Compare two SEO exports (Search Console, two dates): gainers, losers, drift classes. \"what moved after the core update\"
Also in 13 projects that use this
- +6 more from timruebenach
Other versions38 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 38
- AgriciDaniel/claude-seo★ 20ksame name
- seranking/seo-skills★ 201same name
- zhtyyx/codex-seo★ 152same name
- coopersimson96/ai-content-system★ 17same name
- ZachArticulateV/designer-pro-and-seo★ 10same name
- Littlpinguin/marketing-cockpit-template★ 9same name
- bestdeejay-design/agent-skills★ 6same name
- joaoguirunas/team-os★ 6same name
- oegeyilmaz9/seo-aeo-geo-ultimate★ 6same name
- 01clauding/claude-seo-skill★ 4same name
28 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- deploySkill
- lead-formsSkill
- page-builderSkill
- site-dnaSkill
- trainSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.
0
Common
Most of the 36 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 26
Add a builder function in theme/inc/schema.php.
- Distinctive: line 50
Do not mark up content that is not visible on the page.
- Very specific: line 52
Do not add aggregateRating without real, verifiable reviews.
- Very specific: line 53
Do not keyword-stuff the service-area list.
“Common” is measured: kept by at least 6 in 10 of the 36 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SEO and structured data
Where it lives
theme/inc/schema.php emits JSON-LD. It reads everything from
site.config.php — name, address, phone, service areas — so the schema and the
visible page can never disagree. That is the point: mismatched NAP data between
your markup and your footer is a real ranking problem and an easy one to create
by hand.
What is emitted
| Type | Where | Source |
LocalBusiness | Every page | SB_COMPANY, SB_STREET, SB_PHONE_*, SB_SERVICE_AREAS |
Product | Single listing | The listing's own meta |
BreadcrumbList | Archives and singles | Post hierarchy |
Adding a type
- Add a builder function in
theme/inc/schema.php. - Source every value from a
SB_*constant or post meta. Never a literal. Validate the emitted JSON before shipping:
php -r 'define("ABSPATH",1); require "site.config.example.php";' && echo "config parses"Then paste a rendered page's JSON-LD into Google's Rich Results Test. Schema that parses as JSON but fails Google's requirements is the normal failure mode — a syntax check alone proves very little here.
On-page rules
- One
<h1>per page. The hero heading is it. - Meta description: 150–160 characters, written for a human, containing the query the page answers.
- Internal links are relative (
/services/), never absolute. Absolute links break the moment you work on a staging domain. - Image
alttext describes the image. Decorative images getalt="", not a keyword.
What not to do
- Do not mark up content that is not visible on the page. It is a manual-action risk and buys nothing.
- Do not add
aggregateRatingwithout real, verifiable reviews. - Do not keyword-stuff the service-area list.
SB_SERVICE_AREASshould be places you actually serve.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

