# SEO Schema

> Structured data and meta markup for SEO: JSON-LD schema.org (Product, Article, Organization, Breadcrumb, FAQ — extraction + validation) and title/description/OG/Twitter meta generation (lengths, uniqueness, CTR). Script seo_schema.py: --meta (title/description/OG/canonical/h1/img audit) and --jsonld (extract + validate JSON-LD blocks). Triggers: 'seo schema', 'json-ld', 'schema org', 'structured data', 'meta tags', 'title description', 'разметка', 'jsonld', 'структурированные данные', 'meta теги'.

- Skill: `bestdeejay-design/seo-schema` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add bestdeejay-design/seo-schema`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bestdeejay-design/seo-schema/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- License: MIT
- Author: bestdeejay-design (https://skillmd.com/u/bestdeejay-design)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/bestdeejay-design/seo-schema

---


# SEO Schema — structured data & meta markup

Use this skill for the **markup** layer of SEO: structured data (JSON-LD /
schema.org) and meta tags (title, description, Open Graph, Twitter Cards).

## Commands (documented in `commands/`)

| Command | What it does |
|---|---|
| `seo-schema` | JSON-LD schema.org: Product, Article, Organization, Breadcrumb, FAQ — validation |
| `seo-meta` | Title/description generation: lengths, uniqueness, CTR, Open Graph, Twitter Cards |

## Script

```bash
python3 scripts/seo_schema.py --meta file.html      # title/desc/OG/canonical/h1/img audit
python3 scripts/seo_schema.py --jsonld file.html    # extract + validate JSON-LD blocks
```

- `--meta`: title + length, description, canonical, og:title/description/image,
  twitter:card, robots, heading order, missing img alt.
- `--jsonld`: extracts `application/ld+json` blocks and validates `@context`
  (schema.org), `@type`, and type-specific required fields (Product→offers+name,
  Article/BlogPosting→headline+author, FAQPage→mainEntity, Organization→name+url).
- Pure Python stdlib; stdin supported.

## When to use

- User asks for "seo schema", "json-ld", "schema org", "structured data",
  "meta tags", "разметка", "структурированные данные".
- A page needs its schema.org markup and meta layer checked or written.

## Do NOT use

- For the full technical audit / CWV / reports / fixes — that is `seo-audit`.
- For content / keywords / headings / images — that is `seo-content`.
- For crawlability / linking structure — that is `seo-crawl`.

