mcpField
S
schema-markup-generator

schema-markup-generator

github.com/thatrebeccaraeMarketing & growth188100 installsUpdated 24w ago
Repository

About schema-markup-generator

A Claude skill for generating and auditing JSON-LD structured data across common content types. It is intended for site owners and content teams adding schema markup or checking existing markup for missing fields and errors.

Key features

  1. 01Generate JSON-LD for multiple schema types
  2. 02Identify required and recommended fields
  3. 03Check markup against visible page content
  4. 04Validate schema with listed validators
  5. 05Provide templates and common-error guidance

Use cases

  1. 01Add structured data to a new page
  2. 02Audit existing markup for errors or missing fields
  3. 03Prepare FAQ or product markup for search results

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/thatrebeccarae/claude-marketing --skill schema-markup-generator

After installing, type/schema-markup-generatorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

EXAMPLES.md
LICENSE
REFERENCE.md

Details

From the project README

Schema Markup Generator

Generate JSON-LD structured data for rich results, AI citations, and enhanced search visibility.

Install

git clone https://github.com/thatrebeccarae/claude-marketing.git && cp -r claude-marketing/skills/schema-markup-generator ~/.claude/skills/

When to Use

  • Adding structured data to new or existing pages
  • Generating JSON-LD for specific schema types
  • Auditing existing schema for errors or missing fields
  • Improving AI search visibility (pairs with aeo-geo-optimizer)
  • Enabling rich results (FAQ dropdowns, star ratings, how-to steps)

Workflow

Step 1: Identify Content Type
ContentPrimary SchemaRich Result
Blog postArticleEnhanced listing with author, date
FAQ sectionFAQPageExpandable Q&A in SERPs
TutorialHowToStep-by-step with images/time
Product pageProductPrice, availability, ratings
ReviewReview + RatingStar ratings in SERPs
RecipeRecipeCooking time, ingredients, ratings
EventEventDate, location, ticket info
Local businessLocalBusinessMaps, hours, contact
Person/authorPersonKnowledge panel
BreadcrumbsBreadcrumbListBreadcrumb trail in SERPs
VideoVideoObjectVideo carousel, thumbnails
SoftwareSoftwareApplicationApp info in SERPs
CourseCourseCourse info in SERPs
DatasetDatasetDataset search results
Step 2: Generate JSON-LD

Generate a <script type="application/ld+json"> block with all required and recommended fields for the schema type. Always use JSON-LD format (not Microdata or RDFa).

Step 3: Validate

Schema Templates

Article
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Article Title (max 110 chars)",
  "description": "Brief description of the article",
  "author": {
    "@type": "Person",
    "name": "Author Name",
    "url": "https://example.com/author/name",
    "jobTitle": "Author Title",
    "sameAs": ["https://linkedin.com/in/author", "https://twitter.com/author"]
  },
  "publisher": {
    "@type": "Organization",
    "name": "Publisher Name",
    "logo": {"@type": "ImageObject", "url": "https://example.com/logo.png"}
  },
  "datePublished": "2026-03-18T00:00:00Z",
  "dateModified": "2026-03-18T00:00:00Z",
  "image": "https://example.com/article-image.jpg",
  "mainEntityOfPage": {"@type": "WebPage", "@id": "https://example.com/article-url"}
}
FAQPage
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is the question?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The complete answer text. Can include <a href=url>HTML links</a>."
      }
    }
  ]
}
HowTo
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to Do Something",
  "description": "Brief description",
  "totalTime": "PT30M",
  "estimatedCost": {"@type": "MonetaryAmount", "currency": "USD", "value": "0"},
  "step": [
    {
      "@type": "HowToStep",
      "name": "Step 1 Title",
      "text": "Detailed step instructions",
      "image": "https://example.com/step1.jpg"
    }
  ]
}
Product
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Product Name",
  "description": "Product description",
  "image": "https://example.com/product.jpg",
  "brand": {"@type": "Brand", "name": "Brand Name"},
  "sku": "SKU-12345",
  "offers": {
    "@type": "Offer",
    "price": "29.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/product"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "127"
  }
}
BreadcrumbList
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com"},
    {"@type": "ListItem", "position": 2, "name": "Category", "item": "https://example.com/category"},
    {"@type": "ListItem", "position": 3, "name": "Current Page"}
  ]
}

Required vs Recommended Fields

Schema TypeRequired FieldsRecommended Fields
Articleheadline, author, datePublished, imagedateModified, publisher, description
FAQPagemainEntity (Question + Answer)—
HowToname, steptotalTime, estimatedCost, image
Productname, offers (price + currency + availability)brand, sku, aggregateRating, image
LocalBusinessname, addressphone, hours, geo, image, priceRange
Eventname, startDate, locationendDate, offers, image, performer
PersonnamejobTitle, url, sameAs, image

Common Mistakes

  1. Missing required fields — always check per-type requirements
  2. Incorrect date format — use ISO 8601 (YYYY-MM-DDTHH:MM:SSZ)
  3. Markup does not match visible content — schema must reflect what users see
  4. Using Microdata instead of JSON-LD — Google recommends JSON-LD
  5. Nesting errors — validate JSON syntax before deploying
  6. Duplicate schema — one schema block per type per page
  7. Self-referencing Organization — publisher should be the organization, not the page

Integration with Other Skills

  • aeo-geo-optimizer — Schema is a key AEO signal; implement types recommended by the AEO audit
  • technical-seo-audit — Audit identifies missing/broken schema; this skill generates the fixes
  • seo-content-writer — Content structure should align with schema structure

Comments

Markdown supported