← Back to Skills Marketplace
geoly-geo

Schema Markup Generator

by GEOLY AI · GitHub ↗ · v1.0.1
cross-platform ⚠ suspicious
445
Downloads
1
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install geo-schema-gen
Description
Generate complete, validated Schema.org JSON-LD markup for any content type to boost AI citation rates. Creates structured data for Organization, FAQPage, Ar...
README (SKILL.md)

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 \x3Cschema-type> [--url \x3Cpage-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 \x3Chead>:

\x3Chead>
  \x3Cscript type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    ...
  }
  \x3C/script>
\x3C/head>

Test Before Deploying

  1. Schema.org Validator: https://validator.schema.org
  2. Google Rich Results Test: https://search.google.com/test/rich-results
  3. 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 \x3Cscript> 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

Usage Guidance
This skill appears coherent and consistent with its stated purpose, but review a few practical points before running: 1) The scripts perform network requests (auto-extract and batch modes) — only use URLs/sitemaps you trust and be mindful of crawling rate limits and robots.txt. 2) The package includes Python code that relies on requests and beautifulsoup4; install those dependencies in a controlled environment (virtualenv or sandbox) before running. 3) I observed minor code quality issues in the listed files: batch_generate.py references re in detect_page_type but doesn't import re (this will raise a NameError), and the generate_schema.py listing in the package preview was truncated — confirm the full file is present and review it for completeness. 4) Validate generated JSON-LD with the recommended validators (validator.schema.org and Google Rich Results Test) before deploying to production. 5) As a general precaution, inspect the scripts yourself or run them in an isolated environment to ensure they behave as expected (no hidden network endpoints or unexpected file writes). If you want, I can point out exact lines to patch (e.g., add `import re`), or scan the full generate_schema.py for any additional issues.
Capability Analysis
Type: OpenClaw Skill Name: geo-schema-gen Version: 1.0.1 The skill is classified as suspicious due to critical vulnerabilities allowing arbitrary local file reads and Server-Side Request Forgery (SSRF). The scripts `batch_generate.py`, `generate_schema.py`, and `validate_schema.py` accept user-provided file paths, enabling an attacker to read any file on the system. Additionally, `batch_generate.py` and `generate_schema.py` fetch content from user-supplied URLs, which could be exploited for SSRF to probe internal networks or access sensitive endpoints. While the skill's stated purpose is benign, these implementation flaws introduce significant security risks.
Capability Assessment
Purpose & Capability
Name/description, SKILL.md, and included scripts align: the package provides schema templates, interactive generation, URL auto-extraction, batch sitemap processing, and validation. There are no environment variables, external credentials, or unrelated binaries requested that would be inconsistent with a schema generator.
Instruction Scope
SKILL.md instructs the agent/user to run the provided Python scripts and to use auto-extraction (requests + BeautifulSoup) or a sitemap for batch processing. That behavior is within scope but implies network activity: the scripts fetch page HTML (user-supplied URLs/sitemaps) and write JSON files locally. Confirm you want the agent to fetch remote pages and potentially process many URLs (batch mode).
Install Mechanism
No install spec is provided (instruction-only), but full Python scripts are included in the bundle. The scripts rely on third-party Python packages (requests, beautifulsoup4). There are no downloads from external/unknown URLs and no extract/install steps that would write unknown binaries to disk. You will need Python and the listed libraries installed on the host.
Credentials
The skill requires no environment variables, credentials, or elevated config paths. It reads user-provided files (JSON, sitemap) and writes output to an output directory — behaviour consistent with a generator/validator and proportionate to the stated purpose.
Persistence & Privilege
The skill is not marked always:true and does not request to persist or modify other skills or global agent settings. It is user-invocable and will only run when triggered; no elevated persistent privileges are requested.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install geo-schema-gen
  3. After installation, invoke the skill by name or use /geo-schema-gen
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
**Expanded: Adds script-based generation, reference docs, and validation tools for Schema.org markup.** - Added scripts for interactive, batch, and auto-extracted schema generation (`generate_schema.py`, `batch_generate.py`, `validate_schema.py`). - Introduced structured documentation: schema type reference, field reference, Google guidelines, and industry examples. - Updated instructions to cover new generation and validation workflows. - Broadened support documentation for advanced and multi-schema scenarios. - Improved overall usability and guidance for Schema.org and SEO best practices.
v1.0.0
Initial release: Generate Schema.org JSON-LD markup for GEO, powered by GEOly AI methodology
Metadata
Slug geo-schema-gen
Version 1.0.1
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Schema Markup Generator?

Generate complete, validated Schema.org JSON-LD markup for any content type to boost AI citation rates. Creates structured data for Organization, FAQPage, Ar... It is an AI Agent Skill for Claude Code / OpenClaw, with 445 downloads so far.

How do I install Schema Markup Generator?

Run "/install geo-schema-gen" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Schema Markup Generator free?

Yes, Schema Markup Generator is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Schema Markup Generator support?

Schema Markup Generator is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Schema Markup Generator?

It is built and maintained by GEOLY AI (@geoly-geo); the current version is v1.0.1.

💬 Comments