Skip to content
Brusnica Development

schema.org markup for a whole site

Claude turns your site's markup into one graph: the organization is declared once and pages point to it.

Version 1.0.0 · · MIT license

Claude CodeExample of Claude's answer with the skill

Add schema.org structured data to the whole site

Found
pass
7 JSON-LD blocks across 4 page types
Organization
pass
Declared once: /#organization
@id references
pass
23 of 23 resolve to a declared node
FAQPage
pass
Questions match the text on the page
Rich Results Test
not run
Needs a browser: 4 URLs to check listed below

The graph lives in lib/seo.ts, with generators for 4 page types.

Install and run

  1. Install the skill

    Paste into a terminal: the command unpacks the skill into ~/.claude/skills/. Then restart Claude Code.

    mkdir -p ~/.claude/skills
    curl -fsSL https://brusnica.dev/skills/schema-graph.skill -o /tmp/schema-graph.skill
    unzip -o /tmp/schema-graph.skill -d ~/.claude/skills/

    For one project only, unpack it into .claude/skills/ inside that project.

  2. Ask Claude

    • Add schema.org structured data to this site
    • Our Organization schema differs on every page — fix it
    • Audit the JSON-LD and tie it into one graph

    The skill loads on its own when a task matches. Your own words work.

What the skill does

Every real thing — the company, the website, a service, a product — is one node with a stable @id, and other blocks point to it. The skill finds existing markup (SEO plugins included), sets up a module with the site's entities, writes generators for services, products, articles, FAQs and breadcrumbs, and checks that every @id reference leads to a node.

  • One organization, site-wide

    Organization and WebSite are declared once on the home page, no duplicates.

  • From the data the page shows

    Prices, FAQs and breadcrumbs come from the layout's source, so they never drift.

  • Graph links checked

    After the build, the skill checks that every @id reference leads to a node.

You'll need

  • Claude Code opened in the project folder
  • A Next.js, Astro, WordPress or static-generator site
  • Python 3 or Node to check the HTML

Good to know

Search engines show rich results at their discretion: markup doesn't guarantee them. The Rich Results Test and Schema Markup Validator open in a browser; the skill gives you the URLs.

Read SKILL.md before installing, it's plain text. A skill runs with your files and network.

Common questions

An organization declared on every page with different details looks like several companies. In a graph there's one, and pages point to it via @id.

No. It extends the plugin's graph through filters instead of adding a second organization.

It's one signal: an assistant can more easily cite a company whose details form one entity. Nobody can guarantee results.

Yes, it's MIT-licensed: use, change and share it, keeping the copyright notice.

Want the result rather than the skill?

We'll run the audit and make the fixes ourselves: SEO, GEO, structured data, speed — on your site or a new Next.js one.

Websites & web apps
schema.org structured data skill for Claude | Brusnica Dev