Live tool: seoschemamarkup.com · Built by Bilal Naseer / WebSensePro · YouTube
A free, open-source hub of schema markup generators and a JSON-LD validator. Create valid schema.org structured data for FAQ, Product, Article, Local Business, Organization, Breadcrumb, Event and Review — then test any markup against Google's required and recommended properties. Everything runs in the browser; no signup, no data leaves your machine.
- 9 tools — a schema validator/checker plus generators for the highest-impact schema types.
- Live JSON-LD output with hand-rolled syntax highlighting, copy, copy-as-
<script>, and download. - Inline validation — required fields flagged red, recommended fields amber, in plain English.
- One shared rule set (
assets/js/schema-rules.js) powers both the generators and the validator. - Self-referencing schema —
BreadcrumbList+SoftwareApplicationon every tool page. - Fast & accessible — light/dark mode, semantic HTML, no layout shift, Lighthouse-focused.
- Vanilla JS, multi-page static HTML. No framework, no SPA, no client-side routing.
- No build step required. Every page is a real
.htmlfile that runs as-is. - Zero external runtime dependencies / no CDN frameworks.
- Hosted on Cloudflare Pages. MIT licensed.
The only optional server code is a Cloudflare Pages Function for genuine ratings (see below).
No build needed — it's static. Use any static server so module imports resolve:
npx serve .
# or
python3 -m http.server 8000Then open http://localhost:8000.
/ index.html (home)
/schema-markup-validator/ validator (paste JSON-LD or HTML)
/<type>-schema-generator/ one folder per generator
/<guide>/ cornerstone guides + Shopify/WordPress lead-gen pages
assets/css/main.css hand-written design system (light + dark)
assets/js/shared.js theme, nav, copy/download, JSON highlighter
assets/js/schema-rules.js single source of truth for required/recommended props
assets/js/validator.js validation engine (shared)
assets/js/generators/ core framework + per-type config modules
functions/api/rating.js optional Cloudflare Pages Function (KV)
tools/ OPTIONAL dev scripts (page + sitemap generation)
These are developer conveniences only — the committed output is plain static HTML and the site works without them:
node tools/build-pages.js # regenerate generator/guide pages from shared templates
node tools/build-sitemap.js # regenerate sitemap.xmlEdit shared chrome (nav/footer/head) or page copy in tools/ then re-run, or edit the generated .html directly.
To keep ratings honest, aggregateRating is never hardcoded. The included Cloudflare Pages Function (functions/api/rating.js) records real votes in Cloudflare KV (one vote per IP per page per day) and assets/js/rating.js injects a real aggregateRating only when count > 0. To enable:
- Create a KV namespace and bind it as
RATINGSin your Cloudflare Pages project. - Add to a tool page:
<div class="rating-widget" data-page="/faq-schema-generator/" id="rate"></div>and<script type="module" src="/assets/js/rating.js"></script>.
Until enabled, pages ship valid SoftwareApplication markup without aggregateRating — fully compliant, just no stars until genuine reviews exist.
- No secrets in the repo. AdSense IDs and any keys are added on the deployed site / via environment — ad slots in the markup are empty styled placeholders.
- Always confirm final eligibility with Google's Rich Results Test.
See CONTRIBUTING.md. Keep it vanilla, no build, no fake ratings.
MIT © Bilal Naseer / WebSensePro
Need schema & SEO done for you? WebSensePro builds Shopify & WordPress SEO + structured data that earns rich results.