schema

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...

npx skills add https://github.com/coreyhaines31/marketingskills --skill schema

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.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, 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

2. Use JSON-LD

  • Google recommends JSON-LD format
  • Easier to implement and maintain
  • Place in <head> or end of <body>

3. Follow Google's Guidelines

  • Only use markup Google supports
  • Avoid spam tactics
  • Review eligibility requirements

4. Validate Everything

  • Test before deploying
  • Monitor Search Console
  • Fix errors promptly

Common Schema Types

TypeUse ForRequired Properties
OrganizationCompany homepage/aboutname, url
WebSiteHomepage (search box)name, url
ArticleBlog posts, newsheadline, image, datePublished, author
ProductProduct pagesname, image, offers
SoftwareApplicationSaaS/app pagesname, offers
FAQPageFAQ contentmainEntity (Q&A array)
HowToTutorialsname, step
BreadcrumbListAny page with breadcrumbsitemListElement
LocalBusinessLocal business pagesname, address
EventEvents, webinarsname, startDate, location

For complete JSON-LD examples: See references/schema-examples.md


Quick Reference

Organization (Company Page)

Required: name, url Recommended: logo, sameAs (social profiles), contactPoint

Article/BlogPosting

Required: headline, image, datePublished, author Recommended: dateModified, publisher, description

Product

Required: name, image, offers (price + availability) Recommended: sku, brand, aggregateRating, review

FAQPage

Required: mainEntity (array of Question/Answer pairs)

BreadcrumbList

Required: itemListElement (array with position, name, item)


Multiple Schema Types

You can combine multiple schema types on one page using @graph:

{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "Organization", ... },
    { "@type": "WebSite", ... },
    { "@type": "BreadcrumbList", ... }
  ]
}

Validation and Testing

Tools

Common Errors

Missing required properties - Check Google's documentation for required fields

Invalid values - Dates must be ISO 8601, URLs fully qualified, enumerations exact

Mismatch with page content - Schema doesn't match visible content


Implementation

Static Sites

  • Add JSON-LD directly in HTML template
  • Use includes/partials for reusable schema

Dynamic Sites (React, Next.js)

  • Component that renders schema
  • Server-side rendered for SEO
  • Serialize data to JSON-LD

CMS / WordPress

  • Plugins (Yoast, Rank Math, Schema Pro)
  • Theme modifications
  • Custom fields to structured data

Output Format

Schema Implementation

// Full JSON-LD code block
{
  "@context": "https://schema.org",
  "@type": "...",
  // Complete markup
}

Testing Checklist

  • Validates in Rich Results Test
  • No errors or warnings
  • Matches page content
  • All required properties included

Task-Specific Questions

  1. What type of page is this?
  2. What rich results are you hoping to achieve?
  3. What data is available to populate the schema?
  4. Is there existing schema on the page?
  5. What's your tech stack?

Related Skills

  • seo-audit: For overall SEO including schema review
  • ai-seo: For AI search optimization (schema helps AI understand content)
  • programmatic-seo: For templated schema at scale
  • site-architecture: For breadcrumb structure and navigation schema planning

Plus de skills de coreyhaines31

copywriting
coreyhaines31
Lorsque l'utilisateur souhaite rédiger, réécrire ou améliorer un texte marketing pour n'importe quelle page — y compris la page d'accueil, les pages de destination, les pages de tarification, les pages de fonctionnalités, les pages "À propos" ou les pages produit. À utiliser également lorsque l'utilisateur dit "rédige un texte pour", "améliore ce texte", "réécris cette page", "texte marketing", "aide pour le titre", "texte d'appel à l'action", "proposition de valeur", "slogan", "sous-titre", "texte de la section héros", "au-dessus de la ligne de flottaison", "ce texte est faible", "rends-le plus convaincant" ou "aide-moi à décrire mon produit". Utilisez ceci...
marketingcreativecommunication
seo-audit
coreyhaines31
Lorsque l'utilisateur souhaite auditer, examiner ou diagnostiquer des problèmes de SEO sur son site. Utilisez également lorsque l'utilisateur mentionne "audit SEO", "SEO technique", "pourquoi je ne suis pas classé", "problèmes de SEO", "SEO on-page", "révision des balises meta", "bilan SEO", "mon trafic a chuté", "classements perdus", "je n'apparais pas dans Google", "le site n'est pas classé", "une mise à jour Google m'a touché", "vitesse de page", "core web vitals", "erreurs d'exploration" ou "problèmes d'indexation". Utilisez-le même si l'utilisateur dit simplement quelque chose de vague comme "mon SEO est mauvais" ou "aide...".
marketingresearchdata-analysis
marketing-psychology
coreyhaines31
Lorsque l'utilisateur souhaite appliquer des principes psychologiques, des modèles mentaux ou des sciences comportementales au marketing. Utilisez également lorsque l'utilisateur mentionne 'psychologie', 'modèles mentaux', 'biais cognitif', 'persuasion', 'science comportementale', 'pourquoi les gens achètent', 'prise de décision', 'comportement du consommateur', 'ancrage', 'preuve sociale', 'rareté', 'aversion à la perte', 'cadrage' ou 'nudge'. Utilisez ceci chaque fois que quelqu'un souhaite comprendre ou exploiter la façon dont les gens pensent et prennent des décisions dans un contexte marketing. Pour appliquer...
marketingresearch
content-strategy
coreyhaines31
Lorsque l'utilisateur souhaite planifier une stratégie de contenu, décider quel contenu créer ou déterminer les sujets à aborder. Utilisez également lorsque l'utilisateur mentionne "stratégie de contenu", "sur quoi devrais-je écrire", "idées de contenu", "stratégie de blog", "clusters de sujets", "planification de contenu", "calendrier éditorial", "marketing de contenu", "feuille de route de contenu", "quel contenu devrais-je créer", "sujets de blog", "piliers de contenu" ou "je ne sais pas quoi écrire". Utilisez ceci chaque fois que quelqu'un a besoin d'aide pour décider quel contenu...
marketingresearchcreative
ai-seo
coreyhaines31
Lorsque l'utilisateur souhaite optimiser du contenu pour les moteurs de recherche IA, être cité par les LLM ou apparaître dans des réponses générées par IA. Utilisez également lorsque l'utilisateur mentionne 'AI SEO', 'AEO', 'GEO', 'LLMO', 'answer engine optimization', 'generative engine optimization', 'LLM optimization', 'AI Overviews', 'optimize for ChatGPT', 'optimize for Perplexity', 'AI citations', 'AI visibility', 'zero-click search', 'how do I show up in AI answers', 'LLM mentions' ou 'optimize for Claude/Gemini'. Utilisez ceci chaque fois que quelqu'un...
marketingresearch
programmatic-seo
coreyhaines31
Lorsque l'utilisateur souhaite créer des pages optimisées pour le référencement à grande échelle à l'aide de modèles et de données. Utilisez également lorsque l'utilisateur mentionne "programmatic SEO", "pages modèles", "pages à grande échelle", "pages d'annuaire", "pages de localisation", "pages [mot-clé] + [ville]", "pages de comparaison", "pages d'intégration", "créer de nombreuses pages pour le référencement", "pSEO", "générer 100 pages", "pages basées sur les données" ou "pages d'atterrissage modélisées". Utilisez ceci chaque fois que quelqu'un souhaite créer de nombreuses pages similaires ciblant différents mots-clés ou emplacements. Pour...
marketingdata-analysisweb-scraping
marketing-ideas
coreyhaines31
Lorsque l'utilisateur a besoin d'idées marketing, d'inspiration ou de stratégies pour son produit SaaS ou logiciel. À utiliser également lorsque l'utilisateur demande des 'idées marketing', 'idées de croissance', 'comment commercialiser', 'stratégies marketing', 'tactiques marketing', 'moyens de promouvoir', 'idées pour développer', 'quoi d'autre puis-je essayer', 'je ne sais pas comment commercialiser ceci', 'brainstorming marketing' ou 'quel marketing devrais-je faire'. Utilisez ceci comme point de départ chaque fois que quelqu'un est bloqué ou cherche de l'inspiration pour se développer. Pour des...
marketing
copy-editing
coreyhaines31
Lorsque l'utilisateur souhaite éditer, réviser ou améliorer un texte marketing existant, ou rafraîchir un contenu obsolète. Utilisez également lorsque l'utilisateur mentionne 'éditer ce texte,' 'réviser mon texte,' 'retour sur mon texte,' 'relire,' 'peaufiner ceci,' 'améliorer ceci,' 'révision de texte,' 'resserrer ceci,' 'cette lecture est maladroite,' 'nettoyer ce texte,' 'trop verbeux,' 'affiner le message,' 'rafraîchir ce contenu,' 'mettre à jour cette page,' 'ce contenu est obsolète,' ou 'audit de contenu.' Utilisez ceci lorsque l'utilisateur a déjà un texte et souhaite le...
documentcommunicationmarketing