with one click
schema-markup
// Code-generation skill for implementing or fixing schema markup in this repo. Use only when changing JSON-LD, structured data components, or rich-result-related page code.
// Code-generation skill for implementing or fixing schema markup in this repo. Use only when changing JSON-LD, structured data components, or rich-result-related page code.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | schema-markup |
| description | Code-generation skill for implementing or fixing schema markup in this repo. Use only when changing JSON-LD, structured data components, or rich-result-related page code. |
| metadata | {"family":"seo","owner":"seo + engineering","last_reviewed":"2026-04-30T00:00:00.000Z","version":"1.0.0","source_version":"1.1.0"} |
This is a code-generation skill. Use it only for structured-data implementation work in the repo.
Implement schema.org markup using the repo's existing server-rendered JSON-LD helpers. Do not hand-roll page-local schema when an existing helper or shared schema component fits.
Check these before writing schema:
src/shared/seo/JsonLd.tsxsrc/features/career-hub/shared/seo/EnhancedSchemasrc/lib/seo/metadata.ts.agents/skills/seo/seo-foundations/reference/schema-rules.md.agents/skills/seo/seo-page-rules/SKILL.mdBefore implementing schema, understand:
Page Type - What kind of page? What's the primary content? What rich results are possible?
Current State - Any existing schema? Errors in implementation? Which rich results already appearing?
Goals - Which rich results are you targeting? What's the business value?
seo-page-rules when metadata, canonical, or crawl behavior changes too.| Type | Use For | Required Properties |
|---|---|---|
| Organization | Company homepage/about | name, url |
| WebSite | Homepage (search box) | name, url |
| Article | Blog posts, news | headline, image, datePublished, author |
| Product | Product pages | name, image, offers |
| SoftwareApplication | SaaS/app pages | name, offers |
| FAQPage | FAQ content | mainEntity (Q&A array) |
| HowTo | Tutorials | name, step |
| BreadcrumbList | Any page with breadcrumbs | itemListElement |
| LocalBusiness | Local business pages | name, address |
| Event | Events, webinars | name, startDate, location |
For complete JSON-LD examples: See references/schema-examples.md
Required: name, url Recommended: logo, sameAs (social profiles), contactPoint
Required: headline, image, datePublished, author Recommended: dateModified, publisher, description
Required: name, image, offers (price + availability) Recommended: sku, brand, aggregateRating, review
Required: mainEntity (array of Question/Answer pairs)
Required: itemListElement (array with position, name, item)
You can combine multiple schema types on one page using @graph:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", ... },
{ "@type": "WebSite", ... },
{ "@type": "BreadcrumbList", ... }
]
}
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
// Full JSON-LD code block
{
"@context": "https://schema.org",
"@type": "...",
// Complete markup
}