bundled-skills/schema-markup-generator/SKILL.md
Generate and implement JSON-LD structured data for web apps, blogs, FAQs, and SaaS sites. Supports WebSite, SoftwareApplication, BlogPosting, FAQPage, HowTo, and more.
npx skillsauth add FrancoStino/opencode-skills-antigravity schema-markup-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Add JSON-LD structured data to pages to unlock rich results, improve CTR, and signal context to Google and AI systems.
The cleanest approach is a reusable JsonLd component:
// components/JsonLd.jsx
export function JsonLd({ data }) {
return (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(data) }}
/>
);
}
Use it in any page:
import { JsonLd } from '@/components/JsonLd';
export default function MyPage() {
return (
<>
<JsonLd data={mySchemaObject} />
{/* rest of page */}
</>
);
}
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "100 SEO Tools",
"url": "https://www.100seotools.com",
"description": "Free online SEO tools for keyword research, technical audits, and more.",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.100seotools.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Keyword Density Checker",
"applicationCategory": "WebApplication",
"operatingSystem": "Web",
"url": "https://www.100seotools.com/tools/keyword-density-checker",
"description": "Free keyword density checker tool. Analyze keyword frequency and optimize your content for SEO.",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"featureList": [
"Analyze keyword frequency",
"Detect over-optimization",
"Export results as CSV"
],
"provider": {
"@type": "Organization",
"name": "100 SEO Tools",
"url": "https://www.100seotools.com"
}
}
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How to Improve Your Core Web Vitals in 2025",
"description": "A practical guide to improving LCP, FID, and CLS scores for better rankings.",
"url": "https://www.100seotools.com/blog/improve-core-web-vitals",
"datePublished": "2025-01-15",
"dateModified": "2025-03-20",
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://www.100seotools.com/author/jane-smith"
},
"publisher": {
"@type": "Organization",
"name": "100 SEO Tools",
"logo": {
"@type": "ImageObject",
"url": "https://www.100seotools.com/logo.png"
}
},
"image": {
"@type": "ImageObject",
"url": "https://www.100seotools.com/images/blog/core-web-vitals.jpg",
"width": 1200,
"height": 630
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.100seotools.com/blog/improve-core-web-vitals"
}
}
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is keyword density?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Keyword density is the percentage of times a keyword appears in a piece of content relative to the total word count. A healthy keyword density is typically 1-3%."
}
},
{
"@type": "Question",
"name": "Is this tool free to use?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, our keyword density checker is completely free with no registration required."
}
}
]
}
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Check Keyword Density",
"description": "Step-by-step guide to analyzing keyword density using our free tool.",
"totalTime": "PT2M",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Paste your content",
"text": "Copy your article or webpage content and paste it into the text area.",
"image": "https://www.100seotools.com/images/how-to/step1.jpg"
},
{
"@type": "HowToStep",
"position": 2,
"name": "Enter your target keyword",
"text": "Type the keyword you want to analyze in the keyword field."
},
{
"@type": "HowToStep",
"position": 3,
"name": "Click Analyze",
"text": "Press the Analyze button to get your keyword density report instantly."
}
]
}
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.100seotools.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "SEO Tools",
"item": "https://www.100seotools.com/tools"
},
{
"@type": "ListItem",
"position": 3,
"name": "Keyword Density Checker",
"item": "https://www.100seotools.com/tools/keyword-density-checker"
}
]
}
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "100 SEO Tools",
"url": "https://www.100seotools.com",
"logo": "https://www.100seotools.com/logo.png",
"sameAs": [
"https://twitter.com/100seotools",
"https://www.linkedin.com/company/100seotools"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "[email protected]"
}
}
A tool page can have BreadcrumbList + SoftwareApplication + FAQPage:
export default function ToolPage() {
return (
<>
<JsonLd data={breadcrumbSchema} />
<JsonLd data={softwareApplicationSchema} />
<JsonLd data={faqSchema} />
{/* page content */}
</>
);
}
Each schema lives in its own <script> tag — do NOT merge them into one object.
Always validate schema before deploying:
# Quick check: schema appears in HTML
curl -s https://www.yourdomain.com/tools/keyword-density | grep -A 5 "application/ld+json"
WebSite schemaSoftwareApplication schemaBlogPosting / Article schemaFAQPage schemaHowTo schemaBreadcrumbListOrganization schemadevelopment
Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.
development
Passive income portfolio analysis — activate when user asks about dividend yields, Treasury rates, REIT income, monthly passive income goals, or portfolio yield optimization. Scans 4 asset classes, ranks by risk-adjusted return, and builds allocations targeting a specific monthly income.
devops
End-to-end production QA, build verification, and launch-readiness checklist for fullstack Next.js apps. Covers TypeScript, linting, tests, build, SEO tags, route regression, and sitemap validation.
development
Safe production cleanup and hardening for vibe-coded fullstack apps (Next.js, React, Node.js, etc.). Removes dead imports, unused files, and broken references without breaking routes or APIs.