Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Add, fix, or optimize schema markup and structured data. Use when the user mentions schema markup, structured data, JSON-LD, rich snippets, schema.org, FAQ schema, product schema, review schema, or breadcrumb schema.
Add, fix, or optimize schema markup and structured data. Use when the user mentions schema markup, structured data, JSON-LD, rich snippets, schema.org, FAQ schema, product schema, review schema, or breadcrumb schema.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Implement schema.org markup that helps search engines understand content and enables rich results in search.
npx clawhub@latest install schema-markup
Adding structured data to new or existing pages Fixing schema validation errors Optimizing for specific rich results (FAQ, product, article) Implementing JSON-LD in React/Next.js applications Auditing existing schema markup
Before 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? Which rich results already appearing? Goals — Which rich results are you targeting? What's the business value?
Schema must accurately represent page content Don't markup content that doesn't exist on the page Keep updated when content changes
Google recommends JSON-LD format Easier to implement and maintain than microdata or RDFa Place in <head> or before </body>
Only use markup Google supports for rich results Avoid spam tactics Review eligibility requirements for each type
Test before deploying Monitor Search Console enhancement reports Fix errors promptly
TypeUse ForRequired PropertiesOrganizationCompany homepage/aboutname, urlWebSiteHomepage (search box)name, urlArticleBlog posts, newsheadline, image, datePublished, authorProductProduct pagesname, image, offersSoftwareApplicationSaaS/app pagesname, offersFAQPageFAQ contentmainEntity (Q&A array)HowToTutorialsname, stepBreadcrumbListAny page with breadcrumbsitemListElementLocalBusinessLocal business pagesname, addressEventEvents, webinarsname, startDate, location For complete JSON-LD examples with required/recommended field annotations: 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)
Combine multiple schema types on one page using @graph: { "@context": "https://schema.org", "@graph": [ { "@type": "Organization", "..." : "..." }, { "@type": "WebSite", "..." : "..." }, { "@type": "BreadcrumbList", "..." : "..." } ] } Use @id to create referenceable entities — define once, reference elsewhere with { "@id": "..." }.
Google Rich Results Test: https://search.google.com/test/rich-results Schema.org Validator: https://validator.schema.org/ Search Console: Enhancements reports
ErrorCauseFixMissing required fieldRequired property not includedAdd the missing propertyInvalid URLRelative URL or malformedUse fully qualified URLs (https://...)Invalid date formatNot ISO 8601Use YYYY-MM-DDTHH:MM:SS+00:00Invalid enum valueWrong enumeration valueUse exact schema.org URLs (e.g., https://schema.org/InStock)Content mismatchSchema doesn't match visible contentEnsure schema reflects actual page contentInvalid priceCurrency symbol or commas includedUse numeric value only ("149.99")
Add JSON-LD directly in HTML template Use includes/partials for reusable schema
export function JsonLd({ data }: { data: Record<string, unknown> }) { return ( <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }} /> ); }
Plugins: Yoast, Rank Math, Schema Pro Theme modifications for custom types Custom fields mapped to structured data
Validates in Rich Results Test with no errors No warnings for recommended properties Schema content matches visible page content All required properties included for each type URLs are fully qualified Dates are ISO 8601 format Prices are numeric without currency symbols
Before implementing, gather answers to: What type of page is this? (product, article, FAQ, local business) What rich results are you targeting? (FAQ dropdown, product stars, breadcrumbs) What data is available to populate the schema? (prices, ratings, dates) Is there existing schema on the page? (check with Rich Results Test first) What's your tech stack? (static HTML, React/Next.js, CMS/WordPress)
Identify page types — map your site's pages to schema types Start with homepage — Organization + WebSite schema Add per-page schema — Article for blog, Product for shop, etc. Add BreadcrumbList — every page with navigation breadcrumbs Validate each page — Rich Results Test before and after Monitor Search Console — check enhancement reports weekly after launch
NEVER add schema for content that doesn't exist on the page — this violates Google's guidelines and risks penalties NEVER use microdata or RDFa when JSON-LD is an option — JSON-LD is easier to maintain and Google's recommended format NEVER hardcode schema that should be dynamic — product prices, availability, and ratings must reflect current data NEVER skip validation before deploying — invalid schema is worse than no schema; it wastes crawl budget NEVER mark up every page identically — each page type needs its own appropriate schema types NEVER ignore Search Console errors — schema errors can cause rich results to disappear entirely
Data access, storage, extraction, analysis, reporting, and insight generation.
Largest current source with strong distribution and engagement signals.