JSON-LD generator
Pick a type, fill the fields, get valid JSON-LD with the required properties enforced. The FAQPage option carries a warning you will not find in most generators — because we are the ones who got it wrong.
Your markup
Paste this before </head>. One block per page is enough; a page with five competing blocks is harder to read than a page with one.
Checks
The FAQPage trap, from the inside
Until last week this site had 74 question-and-answer pairs marked up in JSON-LD across 30 pages, and on every one of those pages the question text did not appear anywhere a reader could see it. The markup was valid. The JSON parsed. Every automated check we ran said the pages had FAQ structured data, because they did.
Google's requirement for FAQ rich results is not that the markup exists. It is that the content is visible to users. A page whose answers exist only inside a script tag is not eligible for the rich result, and the failure is silent: nothing errors, nothing warns, the summary simply never appears.
We rebuilt all 74, which is why the FAQ blocks on this site are expandable rows with visible text instead of markup only. This generator will not stop you from making the same mistake — no generator can, because the check happens on the rendered page, not on the JSON. But it will tell you, every time you pick FAQPage, that the JSON is only half the job.
What we measured about JSON-LD
0.391 is the largest correlation in the whole experiment — larger than word count, larger than tables, larger than whether a page had a summary block. It is also the only page-level feature that clears the threshold for a sample this size. Every other feature we measured sits below the line, which is why this site does not sell you a list of ten schema types to add.
It is still a correlation on 48 pages, and a page that carries JSON-LD is often a page someone already took care of in other ways. We cannot separate those two effects with this sample, so we do not claim causation.
Questions about JSON-LD
Does JSON-LD improve my rankings?
Not directly, and not in any way we can prove. What we measured is a correlation with being cited: pages carrying JSON-LD were cited 36.0% of the time against 10.5% for pages without it. That is a 48-source sample, it is a correlation rather than a controlled experiment, and the caveats are all on the methodology page. It is still the strongest signal we found.
Why do you single out FAQPage?
Because we got it wrong ourselves. We had 74 question-and-answer pairs marked up in JSON-LD across 30 pages where the question was not visible anywhere on the page — the markup was there, the text was not. Google's requirement for FAQ rich results is that the content must be visible to users, so every one of those pages was eligible for nothing. We rebuilt all of them, and this generator warns you before you repeat it.
Which type should I use on a blog post?
Article, or BlogPosting if your theme already uses it. Organization and WebSite belong once, on the home page — putting them on every page is the most common way to end up with forty copies of the same entity and no clear canonical one.
Do I need @id?
Only when you reference the same entity from more than one node. One node on one page does not need an identifier. The moment you write <code>publisher</code> on an Article and point it at your Organization, both sides need a matching @id or a crawler has to guess that they are the same company.
Will this pass Google's Rich Results Test?
The JSON will parse, which is the first thing that test checks, and required properties are enforced here. Whether a rich result actually appears depends on the visible page matching the markup — and that is the part no generator can do for you.
The other tools
llms.txt generator
Write llms.txt and llms-full.txt, checked against the four rules the format has.
FREE Open →robots.txt generator for AI crawlers
Choose a policy and get the AI-crawler block, with retrieval and training kept apart.
FREE Open →AI crawler reference
Every user-agent that decides whether your page enters an AI answer, and what blocking it costs.
FREE Open →Fix generator — all four files at once
If you want llms.txt, robots.txt and JSON-LD in one pass instead of one at a time.
FREE Open →AI readability check
Eight checks on a pasted page, including whether the two files above are even reachable.
FREE Open →