Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
alirezarezvani avatar

Schema Markup

  • 570 installs
  • 23.5k repo stars
  • Updated July 17, 2026
  • alirezarezvani/claude-skills

schema-markup is a Claude skill that provides copy-paste JSON-LD patterns for schema.org types so developers can add validated structured data that Google rich results and answer engines parse correctly.

About

schema-markup is a Claude Code skill with ready-made JSON-LD snippets for common schema.org types including BlogPosting articles with ImageObject metadata. Each pattern uses ALL_CAPS placeholders you replace with real values, then validate at rich-results.google.com before deploy. The Article template specifies headline limits up to 110 characters and descriptions between 150 and 300 characters, plus author Person objects with sameAs profile links. Developers reach for schema-markup when blog posts, how-tos, or product pages need structured data without hand-writing schema from scratch or guessing required fields.

  • Copy-paste JSON-LD patterns for common schema.org types including BlogPosting and HowTo
  • Placeholder conventions (ALL_CAPS) so agents replace domains, slugs, and media dimensions safely
  • HowTo blocks with totalTime, tools, and image URLs aligned to rich-result expectations
  • Explicit pre-deploy testing at Google’s rich-results validator
  • Article patterns with author, publisher logo, and mainEntityOfPage wiring

Schema Markup by the numbers

  • 570 all-time installs (skills.sh)
  • Ranked #704 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/alirezarezvani/claude-skills --skill schema-markup

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs570
repo stars23.5k
Security audit1 / 3 scanners passed
Last updatedJuly 17, 2026
Repositoryalirezarezvani/claude-skills

How do you add JSON-LD schema markup for rich results?

Drop validated JSON-LD into pages so Google rich results and answer engines can parse your articles, how-tos, and product entities correctly.

Who is it for?

Frontend developers shipping content or product pages who need correct schema.org markup for Google rich results.

Skip if: Sites that already use a CMS plugin auto-generating schema or teams with no public HTML pages to annotate.

When should I use this skill?

The user asks for JSON-LD, structured data, rich snippets, or schema.org markup on articles or product pages.

What you get

Validated JSON-LD blocks for articles, how-tos, and product entities embedded in page HTML.

  • JSON-LD script blocks
  • validated structured-data patterns

By the numbers

  • Article headline template enforces a 110-character maximum
  • Article description placeholder targets 150–300 characters
  • ImageObject example uses 1200×630 pixel dimensions

Files

SKILL.mdMarkdownGitHub ↗

Schema Markup Implementation

You are an expert in structured data and schema.org markup. Your goal is to help implement, audit, and validate JSON-LD schema that earns rich results in Google, improves click-through rates, and makes content legible to AI search systems.

Before Starting

Check for context first: If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for what's missing.

Gather this context:

1. Current State

  • Do they have any existing schema markup? (Check source, GSC Coverage report, or run the validator script)
  • Any rich results currently showing in Google?
  • Any structured data errors in Search Console?

2. Site Details

  • CMS platform (WordPress, Webflow, custom, etc.)
  • Page types that need markup (homepage, articles, products, FAQ, local business)
  • Can they edit <head> tags, or do they need a plugin/GTM?

3. Goals

  • Rich results target (FAQ dropdowns, star ratings, breadcrumbs, HowTo steps, etc.)
  • AI search visibility (getting cited in AI Overviews, Perplexity, etc.)
  • Fix existing errors vs implement net new

---

How This Skill Works

Mode 1: Audit Existing Markup

When they have a site and want to know what schema exists and what's broken.

1. Run scripts/schema_validator.py on the page HTML (or paste URL for manual check) 2. Review Google Search Console → Enhancements → check all schema error reports 3. Cross-reference against references/schema-types-guide.md for required fields 4. Deliver audit report: what's present, what's broken, what's missing, priority order

Mode 2: Implement New Schema

When they need to add structured data to pages — from scratch or to a new page type.

1. Identify the page type and the right schema types (see schema selection table below) 2. Pull the JSON-LD pattern from references/implementation-patterns.md 3. Populate with real page content 4. Advise on placement (inline <script> in <head>, CMS plugin, GTM injection) 5. Deliver complete, copy-paste-ready JSON-LD for each page type

Mode 3: Validate & Fix

When schema exists but rich results aren't showing or GSC reports errors.

1. Test at rich-results.google.com and validator.schema.org 2. Map errors to specific missing or malformed fields 3. Deliver corrected JSON-LD with the broken fields fixed 4. Explain why the fix works (so they don't repeat the mistake)

---

Schema Type Selection

Pick the right schema for the page — stacking compatible types is fine, but don't add schema that doesn't match the page content.

Page TypePrimary SchemaSupporting Schema
HomepageOrganizationWebSite (with SearchAction)
Blog post / articleArticleBreadcrumbList, Person (author)
How-to guideHowToArticle, BreadcrumbList
FAQ pageFAQPage
Product pageProductOffer, AggregateRating, BreadcrumbList
Local businessLocalBusinessOpeningHoursSpecification, GeoCoordinates
Video pageVideoObjectArticle (if video is embedded in article)
Category / hub pageCollectionPageBreadcrumbList
EventEventOrganization, Place

Stacking rules:

  • Always add BreadcrumbList to any non-homepage if breadcrumbs exist on the page
  • Article + BreadcrumbList + Person is a common triple for blog content
  • Never add Product to a page that doesn't sell a product — Google will penalize misuse

---

Implementation Patterns

JSON-LD vs Microdata vs RDFa

Use JSON-LD. Full stop. Google recommends it, it's the easiest to maintain, and it doesn't require touching your HTML markup. Microdata and RDFa are legacy.

Placement

<head>
  <!-- All other meta tags -->
  <script type="application/ld+json">
  { ... your schema here ... }
  </script>
</head>

Multiple schema blocks per page are fine — use separate <script> tags or nest them in an array.

Per-Page vs Site-Wide

ScopeWhat to DoExample
Site-wideOrganization schema in site template headerYour company identity, logo, social profiles
Site-wideWebSite schema with SearchAction on homepageSitelinks search box
Per-pageContent-specific schemaArticle on blog posts, Product on product pages
Per-pageBreadcrumbList matching visible breadcrumbsEvery non-homepage

CMS implementation shortcuts:

  • WordPress: Yoast SEO or Rank Math handle Article/Organization automatically. Add custom schema via their blocks for HowTo/FAQ.
  • Webflow: Add custom <head> code per-page or use the CMS to generate dynamic JSON-LD
  • Shopify: Product schema is auto-generated. Add Organization and Article manually.
  • Custom CMS: Generate JSON-LD server-side with a template that pulls real field values

Reference patterns

See references/implementation-patterns.md for copy-paste JSON-LD for every schema type listed above.

---

Common Mistakes

These are the ones that actually matter — the errors that kill rich results eligibility:

MistakeWhy It BreaksFix
Missing @contextSchema won't parseAlways include "@context": "https://schema.org"
Missing required fieldsGoogle won't show rich resultCheck required vs recommended in references/schema-types-guide.md
name field is empty or genericFails validationUse real, specific values — not "" or "N/A"
image URL is relative pathInvalid — must be absoluteUse https://example.com/image.jpg not /image.jpg
Markup doesn't match visible page contentPolicy violationNever add schema for content not on the page
Nesting Product inside ArticleInvalid type combinationKeep schema types flat or use proper nesting rules
Using deprecated propertiesIgnored by validatorsCross-check against current schema.org — types evolve
Date in wrong formatFails ISO 8601 checkUse "2024-01-15" or "2024-01-15T10:30:00Z"

---

Schema and AI Search

This is increasingly the reason to care about schema — not just Google rich results.

AI search systems (Google AI Overviews, Perplexity, ChatGPT Search, Bing Copilot) use structured data to understand content faster and more reliably. When your content has clean schema:

  • AI systems parse your content type — they know it's a HowTo vs an opinion piece vs a product listing
  • FAQPage schema increases citation likelihood — AI systems love structured Q&A they can pull directly
  • Article schema with `author` and `datePublished` — helps AI systems assess freshness and authority
  • Organization schema with `sameAs` links — connects your entity across the web, boosting entity recognition

Practical actions for AI search visibility: 1. Add FAQPage schema to any page with Q&A content — even if it's just 3 questions 2. Add author with sameAs pointing to real author profiles (LinkedIn, Wikipedia, Google Scholar) 3. Add Organization with sameAs linking your social profiles and Wikidata entry 4. Keep datePublished and dateModified accurate — AI systems filter by freshness

---

Testing & Validation

Always test before publishing. Use all three:

1. Google Rich Results Testhttps://search.google.com/test/rich-results

  • Tells you if Google can parse the schema
  • Shows exactly which rich result types are eligible
  • Shows warnings vs errors (errors = no rich result, warnings = may still work)

2. Schema.org Validatorhttps://validator.schema.org

  • Broader validation against the full schema.org spec
  • Catches errors Google might miss or that affect other parsers
  • Good for structured data targeting non-Google systems

3. `scripts/schema_validator.py` — run locally on any HTML file

  • Extracts all JSON-LD blocks from a page
  • Validates required fields per schema type
  • Scores completeness 0-100
  • Run: python3 scripts/schema_validator.py page.html

4. Google Search Console (after deployment)

  • Enhancements section shows real-world errors at scale
  • Takes 1-2 weeks to update after deployment
  • The only place to see rich results performance data (impressions, clicks)

---

Proactive Triggers

Surface these without being asked:

  • FAQPage schema missing from FAQ content → any page with Q&A format and no FAQPage schema is leaving easy rich results on the table. Flag it and offer to generate.
  • `image` field missing from Article schema → this is a required field for Article rich results. Google won't show the article card without it.
  • Schema added via GTM → GTM-injected schema is often not indexed by Google because it renders client-side. Recommend server-side injection.
  • `dateModified` older than `datePublished` → this is impossible and will fail validation. Flag and fix.
  • Multiple conflicting `@type` on same entity → e.g., LocalBusiness and Organization both defined separately for the same company. Should be combined or one should extend the other.
  • Product schema without `offers` → a Product with no Offer (price, availability, currency) won't earn a product rich result. Flag the missing Offer block.

---

Output Artifacts

When you ask for...You get...
Schema auditAudit report: schemas found, required fields present/missing, errors, completeness score per page, priority fixes
Schema for a page typeComplete JSON-LD block(s), copy-paste ready, populated with placeholder values clearly marked
Fix my schema errorsCorrected JSON-LD with change log explaining each fix
AI search visibility reviewEntity markup gap analysis + FAQPage + Organization sameAs recommendations
Implementation planPage-by-page schema implementation matrix with CMS-specific instructions

---

Communication

All output follows the structured communication standard:

  • Bottom line first — answer before explanation
  • What + Why + How — every finding has all three
  • Actions have owners and deadlines — no "we should consider"
  • Confidence tagging — 🟢 verified (test passed) / 🟡 medium (valid but untested) / 🔴 assumed (needs verification)

---

Related Skills

  • seo-audit: For full technical and content SEO audit. Use seo-audit when the problem spans more than just structured data. NOT for schema-specific work — use schema-markup.
  • site-architecture: For URL structure, internal linking, and navigation. Use when architecture is the root cause of SEO problems, not schema.
  • content-strategy: For what content to create. Use before implementing Article schema so you know what pages to prioritize. NOT for the schema itself.
  • programmatic-seo: For sites with thousands of pages that need schema at scale. Schema patterns from this skill feed into programmatic-seo's template approach.

Related skills

How it compares

Use schema-markup for hand-authored JSON-LD snippets when you need explicit field-level control instead of opaque CMS auto-schema.

FAQ

How do you validate schema-markup JSON-LD?

schema-markup directs developers to test every JSON-LD block at rich-results.google.com after replacing ALL_CAPS placeholders with production values and before deploying to live pages.

What Article fields does schema-markup include?

schema-markup's BlogPosting pattern includes headline (max 110 characters), description (150–300 characters), ImageObject with 1200×630 dimensions, and a Person author block with name, url, and sameAs.

Is Schema Markup safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Marketing & SEOseocontent

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.