Most free generators hand you a separate, disconnected block per type. This one emits a single @graph and wires the nodes together with stable @id values — article to publisher, page to site, offer to seller. Those links are what establish entity identity; isolated blocks do not.
What structured data does and does not do
Structured data is not a ranking factor. Its job is to translate what the page says into a form a machine can read without interpreting: this is a product, this is its price, this is who sells it. Google uses that for rich results. In generative search it does something slightly different — the system assembling the answer does not have to guess which figure on the page is the price and which is the SKU. Markup never substitutes for content; it lowers the odds that good content is misread.
Why one @graph instead of separate blocks
Putting Organization, WebSite, Article and BreadcrumbList on a page as four separate <script> blocks is technically valid. But those four blocks do not know about each other: the article never says who published it, the page never says which site it belongs to. Inside a single @graph with stable @id values those relationships become explicit — Article.publisher points straight at the #organization node. The difference is between stating facts and connecting them.
sameAs: the only externally verifiable field
You write every field in your markup yourself, so all of it is a claim. sameAs is the exception: it links your entity to records you do not control. Wikidata, a LinkedIn company page, Crunchbase, industry directories, press coverage. A search system answering "does this brand exist and is it what it says it is" leans on those links. With sameAs empty, an Organization block can look complete while establishing no identity at all.
Why AggregateRating is not generated
Star ratings are the most requested field in tools like this and the one deliberately left out. Google's structured data policies require that reviews be genuine and visible to users on the page. A score you assign to your own product on your own site violates that, and when it is caught the result is loss of rich results plus a manual action. Add the field when you have real reviews — not before.
Markup must say the same thing as the page
The most common failure is putting information in the markup that is not on the page: invisible FAQ entries, a price that appears nowhere, a different author name. Google treats this as a mismatch between structured data and page content, and the penalty is losing rich result eligibility for the whole page. The rule is simple: every statement in the markup should be something a human reading the page could also see.
Where to put it
Paste the generated block into the page's <head>. It also works inside <body>, but head is safer — some template systems relocate script blocks that sit in the body. Multiple JSON-LD blocks on one page are not an error, though the point of this tool is to collapse them into one. After you install it, check the page with both Google's Rich Results Test and the Schema.org validator; they look at different things.
Which type belongs on which page
Organization and WebSite belong on every page, not just the homepage — they are the site's identity. Article belongs on blog posts and news pieces only; putting Article on a service page is common and wrong. Product belongs on pages that sell exactly one product. BreadcrumbList belongs on every page except the homepage, and it must match the navigation the visitor actually sees. FAQPage is for question-and-answer pairs that genuinely appear on the page.
Do generative engines read schema?
Short answer: there is no documented "add markup, get cited" guarantee, and sources claiming otherwise deserve scepticism. What is known: the Bing index behind ChatGPT search and Google's AI Overviews already process pages together with their structured data, and when fields like price, date and author are read from that data the chance of misinterpretation disappears. So markup does not create visibility on its own; it makes your information travel accurately once you have visibility. That is a small but measurable difference.