From typo3-skills
Generates, validates, and implements schema.org structured data (JSON‑LD/Microdata/RDFa) for TYPO3 pages with Fluid and TypoScript integration. Activated when mentioning rich snippets, structured data, or schema markup in a TYPO3 context.
How this skill is triggered — by the user, by Claude, or both
Slash command
/typo3-skills:typo3-rich-snippetsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill helps generate, validate, and integrate structured data markup for web pages. It covers the full lifecycle: choosing schema types, producing markup, injecting it via server-side (TYPO3 Fluid) or client-side (JS) rendering, and validating output.
This skill helps generate, validate, and integrate structured data markup for web pages. It covers the full lifecycle: choosing schema types, producing markup, injecting it via server-side (TYPO3 Fluid) or client-side (JS) rendering, and validating output.
Determine the primary schema.org type for the page content:
| Content | Schema Type | Google Rich Result |
|---|---|---|
| Blog/News | Article / NewsArticle / BlogPosting | Article carousel, Top stories |
| Store/Business | LocalBusiness (or subtype) | Knowledge Panel, Maps |
| Event | Event | Event listing |
| Product | Product + Offer | Product snippet, Merchant listing |
| FAQ | FAQPage + Question | FAQ accordion |
| Breadcrumb | BreadcrumbList | Breadcrumb trail |
| Review | Review / AggregateRating | Review stars |
| How-To | HowTo | Step-by-step rich result |
| Organization | Organization | Knowledge Panel |
If unsure, ask the user what content the page represents. One page can have multiple types (e.g., BreadcrumbList + Article).
| Format | When to Use |
|---|---|
| JSON-LD (default) | Google-recommended. Easiest to maintain. Decoupled from HTML. |
| Microdata | Legacy codebases already using it. Embedded in HTML attributes. |
| RDFa | Rare. Only if explicitly required. |
Always default to JSON-LD unless the user requests otherwise.
Follow this checklist for every markup block:
@context to https://schema.org@type (e.g., NewsArticle over Article)@id for entity cross-referencing within the pageurl, image, logo propertiesinLanguage propertyServer-side (TYPO3 Fluid): See references/typo3-integration.md
Client-side (JS): Inject a <script type="application/ld+json"> element dynamically.
Quick Fluid example:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "{article.title}",
"datePublished": "{f:format.date(date: article.datetime, format: 'c')}",
"author": {
"@type": "Person",
"name": "{article.author}"
}
}
</script>
Run validation in this order:
For automated validation, see references/testing.md and scripts/validate-jsonld.js.
| Issue | Solution |
|---|---|
| Mixing JSON-LD and Microdata for same entity | Pick one format per entity |
Duplicate @id across pages | Use page-unique URIs as @id (e.g., https://example.com/page#article) |
Missing @context | Always include "@context": "https://schema.org" |
Relative URLs in image/url | Always use absolute URLs |
Using Review for self-serving reviews | Google prohibits reviews about your own business |
FAQPage with user-generated Q&A | Use QAPage instead; FAQPage is for site-authored content |
Incorrect @type hierarchy | Check schema.org inheritance (e.g., Store extends LocalBusiness) |
Missing Offer on Product | Products without pricing data won't trigger merchant listings |
| Dates without timezone | Always include timezone offset in ISO 8601 dates |
mainEntityOfPage to declare the primary entityauthor, publisher, offers inline rather than separate blockssameAs for disambiguation: Link to Wikipedia, Wikidata, or social profilesscripts/validate-jsonld.jsnpx claudepluginhub starraider/typo3-skillsGenerates valid JSON-LD structured data for 10 schema types (FAQPage, Article, Product, HowTo, etc.) with Google rich result validation and ready-to-paste script blocks.
Checks and suggests structured data (JSON-LD/Schema.org) improvements for HTML/template code. Useful when adding SEO markup or validating rich results.
Generates and validates JSON-LD schema.org markup for rich search results, covering types like FAQ, product, review, breadcrumb, and more. Helps pages earn enhanced Google results.