JSON-LD structured-data wizard
Hand-writing JSON-LD is miserable. One stray comma and Google quietly ignores the whole block. So this builds it for you, for the rich-result types that actually move the SERP in 2026: Product with offer and aggregate rating, Article, FAQPage, HowTo, Recipe, Course, JobPosting, LocalBusiness, Event, Review, BreadcrumbList. Pick a type, fill the form, copy the script tag. Output tracks the Google Search Central docs and passes the Rich Results Test plus the Schema.org validator. Optional fields start switched off, on purpose, so what you get out stays lean instead of bloated.
What comes out is plain Schema.org markup, nothing exotic. Drop the <script> tag into your page <head> or just before </body>. Then re-run the Google Rich Results Test once it’s live, not before.
What Schema.org JSON-LD does for SEO in 2026
Schema.org is just a shared vocabulary. Google, Bing, Yandex, DuckDuckGo, Apple and a handful of AI search products all read it to figure out what a page actually is. Declare a Product and Google can light up a star rating, a price, an availability chip right there in the result. Declare a Recipe? Cooking time and a thumbnail show up. Declare JobPosting and the listing can land in the Google Jobs experience. Here’s the catch most people miss: none of this is inferred. Search engines won’t guess your structured data. You publish it, explicitly, as JSON-LD on the page, or you get nothing. And clean markup on the right page types pulls noticeably more click-through than an empty page, or worse, broken markup that gets silently dropped.
So this tool spits out the JSON-LD for the types Google supports right now and that genuinely nudge organic visibility: Product, Article, FAQPage, HowTo, Recipe, Course, JobPosting, LocalBusiness, Event, Review, BreadcrumbList. The forms only ask for what Google’s 2026 docs mark Required or Recommended. Nothing else. That’s why the output clears the Rich Results Test without you hand-editing a thing. Need a vendor-specific extension? Bolt it on yourself afterward. The baseline here covers what most teams ever actually need, honestly.
How the wizard generates valid Schema.org markup
- Pick the schema type from the 11 rich-result types supported today. Each one loads its own form template with the field set that fits it.
- Fill the form. Required fields get flagged. Recommended ones show up too, but skip them if you want. The gnarly nested bits (Product Offer, Recipe Instructions, JobPosting hiringOrganization) sit in their own labelled sub-sections so they don’t sprawl.
- Generate the JSON-LD by hitting the button. Behind the scenes it builds the object tree, tosses empty fields, normalises dates to ISO 8601, prefixes prices with the currency code, then wraps the lot in the standard
@contextand@typeenvelope. - Validate through the “Open Google Rich Results Test” link with your markup pasted in. Green check means you’re eligible. Warnings? Those just list optional fields you could add for a richer display.
- Publish by dropping the full
<script type="application/ld+json">tag into<head>or right before</body>. Where you put it doesn’t touch ranking. Being consistent about it does.
Common use cases for the wizard
- E-commerce product pages. Build Product with the offer (price, availability, currency), plus aggregateRating, brand, SKU. Get it right and you earn price chips in the SERP and qualify for the Shopping experience. Get it wrong and you earn nothing.
- Editorial article. Build Article with headline, author, datePublished, image, publisher. This is the price of entry for Google News and Discover, and for any shot at the Top Stories carousel.
- FAQ block on a landing page. Build FAQPage from 4 to 8 question and answer pairs. The payoff is biggest when the page already sits in the top 5, less so otherwise.
- How-to tutorial. Build HowTo from ordered steps, with optional supplies or tools. Handy for kitchen walkthroughs, DIY guides, fiddly technical setup pages.
- Local business. Build LocalBusiness with address, geo, openingHoursSpecification, telephone, priceRange. It feeds your Google Business Profile signals.
- Job posting. Build JobPosting with title, description, datePosted, validThrough, hiringOrganization, jobLocation, baseSalary. Skip any of those required ones and Google Jobs won’t show you.
- Online course. Build Course with name, description, provider, offers. Google’s been indexing these more and more since 2023.
- Event listing. Build Event with name, startDate, location, performer, organizer. This is what powers the Events SERP feature.
- BreadcrumbList. Build the navigation crumbs that swap out the raw URL in your result. Small win, but a steady one.
Limitations and validation tips
Here’s the thing nobody likes hearing: valid markup buys you eligibility, not the rich result itself. Google still decides per page whether to show it, weighing the markup against query intent and quality signals. Slap Product on a page that isn’t a product and you’re asking for a manual action. FAQPage on the same page as Article is fine, as long as that FAQ is genuinely visible to a real human. Hidden or auto-generated FAQ blocks? Those have triggered manual actions since 2023, and Google hasn’t softened on it. This tool sticks to the Required and Recommended properties. Schema.org is a far bigger vocabulary than that, so when your content carries more structured data worth declaring, go extend the output yourself.
The whole thing runs in your browser. Your field values get processed locally and never touch PeopleAreGeek or Google during generation. The “Open Google Rich Results Test” button just opens Google’s official validator in a fresh tab, and that’s the one moment your JSON-LD reaches Google, no different from pasting it into the public web tool by hand.
Frequently asked questions
Where in the page should the JSON-LD script go?
Either the <head> or anywhere in the <body>. Google parses both, so it honestly doesn’t matter much. A lot of people park it just before </body> because that won’t block first paint. Placement won’t move your ranking. Doing it the same way across the whole site, that’s what helps.
Can I publish multiple JSON-LD blocks on the same page?
Yep. One page can declare BreadcrumbList, Article and FAQPage all at once. Either give each type its own <script type="application/ld+json"> tag or wrap the whole set in @graph, your call. This tool emits one type at a time, so if you need several, just stitch the outputs together yourself.
Why does my markup pass the validator but no rich result appears?
Because eligible and displayed aren’t the same thing. Google calls it per query, weighing quality signals, intent and site authority before it shows the enhanced result. Valid markup is the floor, not the ceiling. To check you’re actually eligible, watch the Search Console enhancements report for that type.
Does Google still support FAQPage rich results?
It does, just narrowed way down since the 2023 change. These days the FAQ rich snippet mostly surfaces for government, official and big authoritative sites, not the average page. Marking up your FAQ is still worth it though, for the wider semantic web and for the AI agents now reading JSON-LD directly.
Is BreadcrumbList enough or do I also need on-page breadcrumbs?
Do both, honestly. Visible HTML breadcrumbs in the layout and BreadcrumbList JSON-LD up in the head. Google will honour the markup even with no visible crumbs at all, sure, but real crumbs help actual people find their way and they sail through the design review. Markup alone tends to get flagged there.
Are the generated values stored?
No. It all runs in your browser. Your form values, the generated JSON, the file you download, none of it reaches PeopleAreGeek or any other server. The “Open Rich Results Test” button is the one and only outbound link, and clicking it ships the markup to Google, which is rather the whole point of validating.













