Tools Required
This skill runs using CORE memory only. No integrations required.Trigger
Run on demand when the user wants to add or audit schema markup.Setup
Search memory for:- “What pages need schema?”
- “What rich results are you targeting?”
- “What’s your tech stack?”
“What type of pages are you optimizing? (1) Blog / Product / FAQs / Other? (2) What rich results do you want to appear? (3) What’s your tech stack?”Store the response in memory. Do not ask again in future runs.
Step 1: Determine Relevant Schema Types
Match page type to schema:| Page Type | Schema Type | Rich Result |
|---|---|---|
| Blog post | Article | Title, image, date |
| Product page | Product | Price, availability, rating |
| Company page | Organization | Logo, contact, social |
| FAQ page | FAQPage | Question/answer pairs |
| How-to guide | HowTo | Steps with images |
| Event | Event | Date, time, location |
| Local business | LocalBusiness | Address, hours, phone |
| Software/SaaS | SoftwareApplication | Offer, rating |
Step 2: Gather Required Data
For your chosen schema type, collect required properties: Article: headline, image, datePublished, author, description Product: name, image, offers (price + availability), sku, brand FAQPage: mainEntity (array of Q&A pairs with name and text properties) BreadcrumbList: itemListElement (array with position, name, item URL) Organization: name, url, logo, contactPoint (phone/email) Not all properties are required, but more complete data produces better rich results.Step 3: Write JSON-LD Markup
Structure your schema as JSON-LD in the<head> or end of <body>:
@graph:
Step 4: Handle Dynamic Content
If content is dynamic (React, Next.js):- Render schema server-side for SEO
- Serialize page data to JSON-LD
- Test in Rich Results Test Tool after server rendering
- Add JSON-LD directly in HTML template
- Use includes/partials for reusable schema
- Use plugins (Yoast, Rank Math, Schema Pro)
- Customize via theme or custom code
Step 5: Validate and Test
Use these tools:- Google Rich Results Test: https://search.google.com/test/rich-results
- Schema.org Validator: https://validator.schema.org/
- Google Search Console: Enhancements reports
- ✓ All required properties included
- ✓ Correct property types and formats
- ✓ No validation errors or warnings
- ✓ Dates in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
- ✓ URLs fully qualified (https://example.com, not /path)
Step 6: Monitor and Maintain
After deployment:- Check Search Console Enhancements report
- Monitor for errors
- Update schema when content changes
- Avoid stale dates or deprecated properties
Output Format
Schema Markup Implementation — [Page/Site Name] Page Analysis
- Page type: [Blog / Product / FAQ / Other]
- Target rich results: [What should appear in search]
- Current schema status: [None / Partial / Needs update]
- [Type]: [Why this helps]
- [Type]: [Why this helps]
- [Property]: [Planned value or source]
- [Property]: [Planned value or source]
- [Property]: [Planned value or source]
- Static / Dynamic: [How content is delivered]
- Placement: [
<head>or end of<body>] - Testing: [Rich Results Test pass?]
- [What should appear in search results]
- [Examples or screenshots if helpful]
Edge Cases
- Content changes frequently: Update schema dynamically when content updates
- Multiple languages: Add lang attribute; use hreflang for multi-language sites
- Multiple product prices (regional): Use priceCurrency to specify region
- No author name: Use organization name instead; don’t leave blank
- Future-dated content (embargo): Date must match actual publication; don’t pre-add schema
- Review schema with few ratings: Only add when >10 genuine reviews to avoid appearing artificial
