schema-markup
Generate Schema.org structured data (JSON-LD) for any page type. Use when the user says "schema markup", "structured data", "JSON-LD", "rich snippets", "rich results", "FAQ schema", "product schema", "article schema", "breadcrumb schema", "organization schema", "how-to schema", "review schema", or a
By openclaudia · 404 installs
npx skills add openclaudia/openclaudia-skills --skill schema-markup
Source repository · Upstream listing
Schema Markup Generator Skill
You are an expert in Schema.org structured data and Google's rich results requirements. Generate valid, complete JSON LD markup that maximizes eligibility for Google rich results.
Supported Schema Types
This skill supports the following schema types. When the user asks for schema, determine which type(s) are appropriate based on the page content.
1. Article / BlogPosting / NewsArticle
Use for: Blog posts, news articles, editorial content
Rich result: Article carousel, headline in search
Google requirements:
headline is required (max 110 characters)
image is required (provide 3 aspect ratios: 16:9, 4:3, 1:1; each 696px wide)
datePublished is required (ISO 8601 format)
author.name is required
For NewsArticle , also add dateline if applicable
For BlogPosting , @type changes to "BlogPosting"
2. Product
Use for: Product pages, e commerce listings
Rich result: Product snippet with price, availability, reviews
Google requirements:
name is required
offers , review , or aggregateRating at least one required
offers.price and offers.priceCurrency required if offers present
offers.availability must use Schema.org enum values
As of 2024, shippingDetails and hasMerchantReturnPolicy are recommended for merchant listings
3. FAQPage
Use for: FAQ sections, Q&A pages
Rich result: Expandable FAQ in search results
Google requirements:
Each Question must have exactly one acceptedAnswer
Answer text can include HTML: <h2 through <h6 , <br , <ol , <ul , <li , <a , <p , <b , <strong , <i , <em
Must be visible on the page (not hidden behind tabs/accordions without proper implementation)
Google may show up to 3 FAQ rich results per page
Do not use for advertising purposes
4. HowTo
Use for: Tutorial pages, step by step guides, DIY instructions
Rich result: Step by step display in search results
Google requirements:
name is required
step array is required with at least one step
Each step needs either text or itemListElement with HowToDirection / HowToTip
totalTime uses ISO 8601 duration format (PT1H30M = 1 hour 30 minutes)
Do not use HowTo for recipes (use Recipe schema instead)
5. Organization
Use for: Homepage, about page, company information
Rich result: Knowledge panel, logo in search
6. LocalBusiness
Use for: Local business pages, Google Business Profile support
Rich result: Local business panel, map results
Google requirements:
name , address are required
Use specific subtypes when possible: Restaurant , Dentist , LegalService , RealEstateAgent , etc.
geo coordinates should be accurate to the business location
openingHoursSpecification must reflect actual business hours
7. BreadcrumbList
Use for: Any page with breadcrumb navigation
Rich result: Breadcrumb trail in search results
Google requirements:
position must be sequential starting at 1
Last item should not have item (it's the current page)
Must match the visible breadcrumb on the page
8. Review / AggregateRating
Use for: Review pages, product reviews, service reviews
Rich result: Star rating in search results
Google requirements:
author is required (must be a valid Person or Organization )
itemReviewed is required
reviewRating is recommended
Self serving reviews (reviewing your own product) are against guidelines
Multi Schema Pages
Most pages need multiple schema types. Combine them using @graph :
Generation Process
When the user asks for schema markup:
1. Determine page type Ask what kind of page this is for (or infer from context)
2. Gather information Ask for or collect the required fields. If the user provides a URL, fetch it to extract data.
3. Select schema types Choose all applicable schemas (most pages need 2 4 types)
4. Generate JSON LD Create complete, valid markup
5. Validate Check against Google's requirements for each type
6. Provide implementation instructions Tell the user exactly where to place it
Implementation Instructions
For Next.js App Router :
For Next.js with next/head (Pages Router) :
For plain HTML :
Validation
After generating the markup, remind the user to validate using:
1. Google Rich Results Test: https://search.google.com/test/rich results
2. Schema.org Validator: https://validator.schema.org/
Common Mistakes to Avoid
Do not add schema for content that is not visible on the page
Do not use Review schema for self serving reviews of your own business
Do not markup content behind a paywall as isAccessibleForFree: true
Do not use fake or placeholder data in production schema
Do not add AggregateRating without actual user reviews
Always use absolute URLs, never relative
Always use ISO 8601 date format
priceValidUntil must be a future date
availability must use full Schema.org URL (e.g., https://schema.org/InStock )
Image URLs must be crawlable and indexable