Install
openclaw skills install geo-schema-genGenerate complete, validated Schema.org JSON-LD markup for any content type to boost AI citation rates. Creates structured data for Organization, FAQPage, Article, BlogPosting, Product, HowTo, BreadcrumbList, WebSite, VideoObject, and ImageObject schemas. Use whenever the user mentions adding schema markup, generating structured data, creating JSON-LD, implementing Schema.org, optimizing for rich snippets, or wants to improve how AI understands and cites their content. Also trigger for requests about Organization schema, FAQ schema, Article markup, Product schema, or any structured data implementation.
openclaw skills install geo-schema-genMethodology by GEOly AI (geoly.ai) — structured data is the language AI uses to understand your brand.
Generate production-ready Schema.org JSON-LD markup for any page type.
Generate schema for your page:
python scripts/generate_schema.py --type <schema-type> [--url <page-url>]
Example:
python scripts/generate_schema.py --type Organization --url example.com
python scripts/generate_schema.py --type FAQPage --file faqs.json
Structured data helps AI platforms understand:
Without schema, AI systems rely on NLP inference which is less reliable.
| Type | Priority | Best For |
|---|---|---|
Organization | 🔴 Critical | Homepage, About page — establishes brand entity |
FAQPage | 🔴 Critical | FAQ/Support pages — feeds AI Q&A answers |
Article / BlogPosting | 🟡 High | Blog posts, news — improves citability |
Product | 🟡 High | Product/pricing pages — enables shopping citations |
HowTo | 🟡 High | Tutorials, guides — feeds step-by-step answers |
WebSite | 🟡 High | Homepage — enables site search in AI |
BreadcrumbList | 🔵 Medium | All pages — improves navigation understanding |
VideoObject | 🔵 Medium | Video pages — enables video citations |
ImageObject | 🔵 Medium | Image galleries — enables image citations |
LocalBusiness | 🔵 Medium | Physical locations — local AI search |
Full schema reference: See references/schema-types.md
python scripts/generate_schema.py --type Organization --interactive
Guided prompts for all required and optional fields.
python scripts/generate_schema.py --type Article --url https://example.com/blog/post
Automatically extracts metadata from the page.
python scripts/generate_schema.py --type FAQPage --file faqs.json
Where faqs.json contains your content data.
python scripts/batch_generate.py sitemap.xml --output schemas/
Generate schemas for all pages in a sitemap.
Validate generated schema:
python scripts/validate_schema.py schema.json
Checks for:
Paste the generated JSON-LD inside your HTML <head>:
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
...
}
</script>
</head>
❌ Wrong: Multiple conflicting Organization schemas on same page ✅ Right: One comprehensive Organization schema
❌ Wrong: Using http://schema.org (insecure)
✅ Right: Using https://schema.org (secure)
❌ Wrong: Copy-pasting without updating placeholder values ✅ Right: All fields contain actual, accurate data
Some pages need multiple schema types. Combine them in an array:
python scripts/generate_schema.py --types Organization,WebSite --url example.com
Generate related schemas together:
python scripts/generate_schema.py --type Product \
--with-offer --with-review --with-brand
Add custom properties not in the generator:
python scripts/generate_schema.py --type Organization \
--custom '{"knowsAbout": ["SEO", "AI", "Machine Learning"]}'
<script> tagUnderstanding how schemas relate:
Organization (top-level entity)
├── WebSite (belongs to Organization)
├── Product (offered by Organization)
│ ├── Offer (pricing for Product)
│ └── Review (of Product)
├── Article (published by Organization)
│ ├── Author (Person or Organization)
│ └── Publisher (Organization)
└── LocalBusiness (subtype of Organization)
└── Place (physical location)