What it actually does
Structured data is a machine-readable description of what a page is, in a vocabulary search engines have agreed on. It does not affect ranking. It decides whether your result can be drawn as something richer than a blue link — a recipe card, a breadcrumb trail, a star rating, an event with a date beside it.
The value is click-through from the same position, which is a real and measurable thing. It is not a shortcut past having a page worth ranking.
The loop, and why it is slow
The required-property rules are the part that catches people. An Article without a headline is dropped. A Product with a price and no priceCurrency is rejected. An aggregateRating without a reviewCount beside it is rejected. None of these are subtle, and all of them are discovered after publishing because the only validator most people use needs a URL to fetch.
Those rules are documented and stable. There is no reason the first three rounds of that loop cannot happen before anything goes live.
Empty fields are worse than missing ones
A property present with an empty string asserts something false: that the page has an author whose name is nothing, or an image at no address. Emit only what you filled in. A generator that writes every field regardless is producing invalid data that happens to parse.
FAQ markup, and what happened to it
FAQ rich results were among the most widely implemented types on the web. Google narrowed them to government and health sites in 2023, then retired them outright in May 2026. The Rich Results Test dropped support that June and the Search Console API follows in August. Everyone's markup is still valid and still read; nobody's draws an accordion.
This is worth stating plainly because a great deal of advice written before it is still circulating, and people implement FAQ markup expecting a visual result they will not get. The markup is not wasted — it is still a description of the page — but it is no longer a way to take up more space in the results.
Mark up what is on the page
The one rule that carries a real penalty. Structured data has to describe what a reader can see. A rating nobody left, a price the page does not display, a recipe that is not on the page — these are a manual-action risk, and a manual action costs far more and lasts far longer than the rich result was ever worth.
Every required-field error in a good checker is a field Google will reject on. None of them is an invitation to invent data to fill the gap.
Where the script goes
In a <script type="application/ld+json"> tag, head or body. What matters is that it is in the HTML Google receives, not injected afterwards by a script it may or may not run. If your structured data is added client-side, verify it is present in view-source and not only in the DevTools Elements panel.
Checking it before it is live
The schema generator builds JSON-LD for the common types and checks the required properties as you fill them in, which is the half of the job the Rich Results test can only do after publication. Paste the finished page source into the meta tag analyser to confirm the rest of the head, and into the heading checker to confirm the outline the markup claims to describe actually exists.