What does the schema generator do, and who is it for?
Structured data describes what is on your page in a vocabulary search engines can read. When you fill in the form, the tool builds a JSON-LD object starting with @context and @type, serialises it as JSON and gives you a script block ready to paste.
It is meant for site owners, WordPress editors and developers who want business, person, organisation, article, product, breadcrumb or FAQ markup without hand-writing the template.
How to use it
- Pick a schema type; the form shows only the fields for that type.
- Fill in the required fields marked with an asterisk. For breadcrumbs and FAQs, use “Add row” for up to 100 rows.
- Press “Generate JSON-LD”. Invalid fields are highlighted and listed next to the form.
- View the result as a script block or plain JSON, copy it, or download it as a
.jsonfile.
After you edit the form, the previous output is no longer treated as current; copying is disabled until you generate again.
Choosing a type
| Type | Use it for | Required fields |
|---|---|---|
LocalBusiness | A business with a physical address | Name, URL, street, city |
Person | An author or expert profile | Name |
Organization | A company or institution | Name, URL |
Article | A blog post, news story or guide | Headline, page URL, author, publish date |
Product | A single product page | Name; price and currency if you add an offer |
BreadcrumbList | The page’s position in the site | Ordered name/URL rows |
FAQPage | Questions and answers visible on the page | Question and answer pairs |
Choose the type that matches what the page is about. A category page listing many items is not a single Product; a contact page that describes the business itself fits LocalBusiness.
Required fields and generation rules
- JSON is built as an object, never by concatenating strings, and empty fields are left out entirely.
addressCountrydefaults toTR, since the tool was built for Turkish sites; change it to any two-letter code such asGBorUS.- Postal codes are kept as text, so
01234keeps its leading zero. - Prices accept both
1,234.56and the Turkish1.234,56, and both become1234.56. Ambiguous values like1,234and malformed numbers are rejected.0is a valid price. - Dates must be ISO formatted and exist on the calendar:
2026-02-30is an error. - Breadcrumb positions start at 1 and increase without gaps; only the last row may omit its URL.
- If you enter a product offer, price and currency are both required.
Matching visible content
Markup should repeat information a visitor can see on the page. Adding an FAQ that is not on the page, an invented author or a rating not backed by real customer reviews is misleading. That is why the tool never generates aggregateRating or review, and offers no medical or legal reviewer field. If an article really shows an editorial review, represent that real person on a suitable WebPage object.
Placing JSON-LD on the page
Paste the script block into the page’s head or body. In WordPress, add it through your theme, a code-snippet plugin or your SEO plugin’s custom schema field. If Yoast or Rank Math already outputs the same type, do not add a second copy.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Jane Doe"
}
</script>The output escapes < and > as \u003c and \u003e. Even if an answer contains </script>, the block cannot close early, and the JSON still reads back the same value.
Worked example
Say you choose Product, enter “Handmade ceramic mug” as the name, 24.90 as the price, USD as the currency and “In stock” as availability. The offers object in the output contains "price": 24.9, "priceCurrency": "USD" and "availability": "https://schema.org/InStock". If you pick a currency but leave the price empty, you get a required-price error. If the image or description is empty, the JSON is still generated, with a warning that a recommended field is missing.
Rich result limits
Valid schema is not a rich result guarantee. Google applies its own requirements per type and decides whether to show anything. For example, Google retired FAQ rich results in 2026, yet FAQPage remains valid markup that describes the page. Product snippets usually expect a real offer or real reviews. Check syntax with the Schema Markup Validator and eligibility with Google’s Rich Results Test.
Limits and common mistakes
- The tool never requests the URLs you enter; it cannot confirm that an image or page exists.
- Opening hours use the
Mo-Fr 09:00-18:00format, one rule per line. - Adding the same entity through a plugin and by hand can create two conflicting objects.
- A date like
09/28/2026is rejected; use2026-09-28.
Frequently asked questions
Is JSON-LD better than microdata?
Google supports all three formats but recommends JSON-LD. It lives in one block without touching your HTML and is easier to maintain, so this tool outputs JSON-LD.
Why is there no rating or review field?
Rating markup that is not based on genuine reviews violates Google’s guidelines and can lead to a manual action. If you run a real review system, generate that data from it.
Why does a price like 1,234 fail?
It could mean one thousand two hundred thirty-four or, in Turkish notation, one point two three four. Rather than guess, the tool asks for 1234 or 1,234.00.
Can I use several schema types on one page?
Yes. An article page can carry both Article and BreadcrumbList. Generate each type separately and add them as separate script blocks.
Is what I enter stored anywhere?
No. The JSON-LD is generated in your browser. If you choose to include inputs in a share link, anyone with the link can read them.