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
More from geoly-ai/geo-skills
geo-local-optimizer
>
16geo-citation-writer
Write AI-citable content in proven formats including FAQ pages, definition articles ("What is X?"), comparison guides (A vs B), how-to guides, and original data/statistics roundups. Creates content optimized for ChatGPT, Perplexity, Gemini, and Claude citations. Use whenever the user mentions writing content for AI citations, creating FAQ pages, writing definition articles, building comparison content, making how-to guides, or generating statistics roundups that AI will reference.
16geo-studio
Master GEO content orchestrator that understands user goals and intelligently routes tasks across specialized GEO skills. Automatically selects the right workflow from strategy and audit to content creation, optimization, and human editing. Use as the default starting point for any GEO-related task including creating GEO content, ranking in AI search, auditing content for AI visibility, building GEO strategies, writing AI-citable articles, or when unsure which specific GEO skill to use.
14geo-llms-txt
Generate, validate, and optimize llms.txt files for AI crawler accessibility. Creates structured markdown files that help AI platforms (ChatGPT, Perplexity, Gemini, Claude) understand site structure and prioritize content for citation. Use whenever the user mentions creating an llms.txt file, optimizing llms.txt, making their site AI-crawler friendly, helping AI understand their website, building AI-readable site documentation, or wants to improve visibility in AI search engines.
14geo-content-publisher
>
14geo-structured-writer
Format any content into AI-readable structured formats that maximize citation probability. Converts unstructured text into GEO-optimized layouts using headers, FAQs, tables, and definition blocks. Use whenever the user mentions reformatting content for AI search, structuring articles for AI citations, converting text to GEO-friendly format, adding FAQs and headers, or making pages AI-readable.
14