geo-schema-gen
Schema Markup Generator
Methodology 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.
Quick Start
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
Why Schema Matters for GEO
Structured data helps AI platforms understand:
- What your content is (entity type)
- Who created it (author, publisher)
- When it was published (freshness)
- How it relates to other content (breadcrumbs)
Without schema, AI systems rely on NLP inference which is less reliable.
Supported Schema Types
| 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
Generation Methods
Method 1: Interactive (Recommended)
python scripts/generate_schema.py --type Organization --interactive
Guided prompts for all required and optional fields.
Method 2: From URL (Auto-Extract)
python scripts/generate_schema.py --type Article --url https://example.com/blog/post
Automatically extracts metadata from the page.
Method 3: From JSON Input
python scripts/generate_schema.py --type FAQPage --file faqs.json
Where faqs.json contains your content data.
Method 4: Batch Generate
python scripts/batch_generate.py sitemap.xml --output schemas/
Generate schemas for all pages in a sitemap.
Validation
Validate generated schema:
python scripts/validate_schema.py schema.json
Checks for:
- Required fields present
- Valid Schema.org types
- Proper JSON-LD syntax
- Google Rich Results eligibility
Implementation
Add to Your Page
Paste the generated JSON-LD inside your HTML <head>:
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
...
}
</script>
</head>
Test Before Deploying
- Schema.org Validator: https://validator.schema.org
- Google Rich Results Test: https://search.google.com/test/rich-results
- JSON-LD Playground: https://json-ld.org/playground/
Common Mistakes
❌ 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
Advanced Usage
Multiple Schemas per Page
Some pages need multiple schema types. Combine them in an array:
python scripts/generate_schema.py --types Organization,WebSite --url example.com
Nested Entities
Generate related schemas together:
python scripts/generate_schema.py --type Product \
--with-offer --with-review --with-brand
Custom Properties
Add custom properties not in the generator:
python scripts/generate_schema.py --type Organization \
--custom '{"knowsAbout": ["SEO", "AI", "Machine Learning"]}'
Output Formats
- JSON-LD (default): Ready to paste into HTML
- JSON: Raw structured data
- HTML: Complete
<script>tag - Markdown: With explanations
Schema Hierarchy
Understanding 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)
See Also
- Schema type reference: references/schema-types.md
- Field requirements: references/field-reference.md
- Google guidelines: references/google-guidelines.md
- Examples by industry: references/examples.md