Skip to content
Development
Skill

/algo-seo-schema

\"Implement Schema.org structured data markup in JSON-LD format for enhanced search results. Use this skill when the user needs to add rich snippets to web pages, implement FAQ/Product/Article schema, or validate structured data — even if they say 'rich snippets', 'structured

From plugin
awesome-agent-skill
27200 skills4 commands

Claude Code

$ npx -y skills add charlieviettq/awesome-agent-skill --skill algo-seo-schema --agent claude-code

SKILL.md

algo-seo-schema.SKILL.md
name: "\"algo-seo-schema\""
description: "\"Implement Schema.org structured data markup in JSON-LD format for enhanced search results. Use this skill when the user needs to add rich snippets to web pages, implement FAQ/Product/Article schema, or validate structured data — even if they say 'rich snippets', 'structured data', or 'Google rich results'.\"."
allowed-tools: Read, Glob, Grep

Schema.org Structured Data

Overview

Schema.org structured data provides machine-readable page context to search engines via JSON-LD. Enables rich results (stars, FAQs, breadcrumbs, product cards) in SERPs. Implementation is O(1) per page — it's a markup task, not computational.

When to Use

**Trigger conditions:**

  • Adding rich snippet eligibility to web pages
  • Implementing product, article, FAQ, HowTo, or event markup
  • Debugging Google Search Console structured data errors

**When NOT to use:**

  • When optimizing page content or keywords (use content SEO)
  • When improving page speed (use Core Web Vitals optimization)

Algorithm

IRON LAW: Schema Markup Must MATCH Visible Content
Marking up content that users can't see violates Google guidelines
and risks manual penalties. Every structured data field must
correspond to content visible on the page.

Phase 1: Input Validation

Identify page type (Article, Product, FAQ, HowTo, Event, etc.). Map visible content to required and recommended schema properties. **Gate:** Page type identified, all required properties have visible content.

Phase 2: Core Algorithm

1. Select the correct Schema.org type from the vocabulary 2. Map page content to schema properties (name, description, image, etc.) 3. Build JSON-LD object with @context and @type 4. Handle nested types (e.g., Product contains Offer contains Price) 5. Place JSON-LD in `<script type="application/ld+json">` in `<head>`

Phase 3: Verification

Validate with Google Rich Results Test. Check: no errors, all required fields present, no mismatch with visible content. **Gate:** Passes Google Rich Results Test with zero errors.

Phase 4: Output

Return complete JSON-LD markup ready for insertion.

Output Format

{
  "schema": {"@context": "https://schema.org", "@type": "Product", "name": "...", "offers": {"@type": "Offer", "price": "29.99", "priceCurrency": "TWD"}},
  "validation": {"errors": 0, "warnings": 1, "eligible_rich_results": ["Product snippet"]}
}

Examples

Sample I/O

**Input:** FAQ page with 3 questions and answers **Expected:** FAQPage schema with 3 Question/Answer pairs in JSON-LD

Edge Cases

| Input | Expected | Why | |-------|----------|-----| | Page with no clear type | Use WebPage as fallback | Most generic valid type | | Multiple schemas needed | Array of JSON-LD objects | One page can have multiple types | | Missing required field | Error, do not generate | Incomplete schema hurts more than none |

Gotchas

  • **Required vs recommended**: Google requires certain fields per type. Missing required fields = schema ignored entirely. Check documentation per type.
  • **Nesting depth**: Deeply nested schemas (Product > Offer > Seller > Address) are error-prone. Validate each nesting level.
  • **Schema spam**: Adding schema for content not on the page (fake reviews, unavailable prices) triggers manual actions.
  • **Type specificity**: Use the most specific type available. "Article" is better than "WebPage"; "NewsArticle" is better than "Article" for news content.
  • **Testing gap**: Google Rich Results Test shows what Google sees, but not all valid schema triggers rich results. Eligibility ≠ guarantee of display.

References

  • For complete property reference by type, see `references/type-properties.md`
  • For common validation errors and fixes, see `references/validation-errors.md`
Read more
@charlieviettq
Ships withawesome-agent-skill

Curated skill pack for LLM agents in engineer and science workflow (Cursor & Claude ready).

Stars on GitHub

Momentum

stars in total
27
Star history of charlieviettq/awesome-agent-skill on GitHub, a chart by star-history.com

Other skills on awesome-agent-skill.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about algo-seo-schema.

Which coding agents can use algo-seo-schema?
algo-seo-schema installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.