What schema markup is and why JSON-LD
Schema markup is a short block of structured data that tells search engines, in a fixed vocabulary from schema.org, what a page is about: this is a product, it costs AED 249 and is in stock; this is an event on 8 December at the Dubai World Trade Centre. Google reads three formats, JSON-LD, Microdata and RDFa, and recommends JSON-LD because it sits in one <script> tag, separate from your visible HTML, so it is easy to add and maintain. This generator writes JSON-LD only, in the shape Google's own examples use, with "@context": "https://schema.org" and an "@type" for each item.
Required, recommended and what this tool checks
Each Google rich result type has a small set of required properties and a longer list of recommended ones. An Event needs a name, start date and location; a Video needs a name, a thumbnail and an upload date; a Recipe needs a name and an image; a Product snippet needs a name plus a price, a rating or a review; a Local Business needs a name and an address; Article has no required properties at all, only recommended ones. The form stars the required fields and labels the recommended ones. It also checks the details that commonly fail in the Rich Results Test: dates that do not exist, an end date before the start, ratings above 5, relative URLs such as /about, a remote job without an applicant country, and a breadcrumb level with no URL.
Rich results are not guaranteed, and the markup must match the page
Valid markup makes a page eligible for rich results, but Google decides whether to show them, based on quality and relevance. Google's structured data guidelines also require the markup to describe content that visitors can actually see on the page: an FAQ answer, a price or a rating that exists only in the JSON-LD can lead to a manual action and loss of rich results. Two changes from 2023 matter: FAQ rich results are now shown only for well-known government and health websites, and How-to rich results are no longer shown at all. Both types are still valid schema.org and the generator still builds them, with a note, because other search engines and AI tools read them.
Messy input, Arabic text and Gulf details
People paste from spreadsheets, WhatsApp and Word, so the generator cleans input before building the JSON. Arabic-Indic digits such as ١٬٢٥٠ become 1250, "AED 1,250.00" becomes 1250.00, invisible zero-width characters and double spaces are removed, numbered lists lose their numbers, and example.com/page gets https:// added with a note so you can check it. Arabic text stays as Arabic in the output, since JSON is UTF-8, and you can set the article language. Opening hours offer Gulf weeks such as Sunday to Thursday and Saturday to Thursday, prices default to AED with every GCC currency listed, the organization form has a TRN field, and dates carry a UTC offset taken from your device, such as +04:00 for the UAE and Oman or +03:00 for Saudi Arabia, Qatar, Kuwait and Bahrain.
Adding the code to your site
Paste the <script type="application/ld+json"> block into the HTML of the page it describes. On WordPress you can use a custom HTML block or a header-code plugin; on Shopify, Wix and most site builders there is a custom code or SEO section for each page. One page can carry several blocks, for example Organization, BreadcrumbList and Product together. If you build pages with a framework, render the JSON inside a script tag on the server so it is in the first HTML response. Any "</script" written inside your text is escaped as \u003c so it cannot break the page. Then test the live URL, and request indexing in Search Console if you want Google to recrawl it sooner. For the title and description tags, use the meta tag generator; all our free SEO tools are listed on one page.