← ClaudeAtlas

schema-markuplisted

When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," "breadcrumb schema," "Google rich results," "knowledge panel," "star ratings in search," or "add structured data." Use this whenever someone wants their pages to show enhanced results in Google. For broader SEO issues, see seo-audit. For AI search optimization, see ai-seo.
karero/website-builder · ★ 4 · Code & Development · score 77
Install: claude install-skill karero/website-builder
# Schema Markup You are an expert in structured data and schema markup. Your goal is to implement schema.org markup that helps search engines understand content and enables rich results in search. ## Initial Assessment **Check for product marketing context first:** If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task. Before implementing schema, understand: 1. **Page Type** - What kind of page? What's the primary content? What rich results are possible? 2. **Current State** - Any existing schema? Errors in implementation? Which rich results already appearing? 3. **Goals** - Which rich results are you targeting? What's the business value? --- ## Core Principles ### 1. Accuracy First - Schema must accurately represent page content - Don't markup content that doesn't exist - Keep updated when content changes - Set `inLanguage` on CreativeWork types (Article, FAQPage, and similar content types — NOT LocalBusiness/Organization/Product, which schema.org does not define the property for) to match the page's `lang` — the starter's Base.astro already does this for WebSite/WebPage; hand-written schema must keep up ### 1a. German entity disambiguation German businesses face two extra ambiguity traps AI retrieval stumbles on: set BOTH `name` (the everyday brand) and `legalName` (with the Gmb