JSON-LD Schema Markup for Websites in Uzbekistan

JSON-LD schema markup is a small block of structured data in your page code that tells search engines, in a format they parse reliably, that this is a shop in Tashkent, that product costs a given amount in UZS, and that these are your opening hours. Here is what to mark up, where the data should come from, and how to check it.

What JSON-LD schema markup actually does

Search engines read the text on your page, but they can misjudge what it means. Is the number next to the word “sum” a price, a phone number or a product code? Schema.org is a shared vocabulary that names these things: organization, product, offer, article, author, review. JSON-LD is the most common way to write that vocabulary down, as a JSON object inside a script tag of type application/ld+json.

One honest caveat: markup does not push a site up the rankings by itself. It helps crawlers identify what a page is, and in some cases makes the page eligible for an enhanced result showing price, availability, rating or breadcrumbs. Whether that result appears is the search engine’s call.

For a local business this is a clean way to state your name, city, currency, products and social profiles in one place, which matters when customers search in both Google and Yandex.

Which types to add to which pages

You do not need to mark up everything. Start with the types that match real pages on your site.

  • Organization or LocalBusiness on the home and contact pages: name, logo, address, opening hours, links to Instagram and your Telegram channel
  • Product and Offer on product pages: name, image, price, UZS currency, availability
  • Article or BlogPosting on blog posts: headline, author, publication date
  • BreadcrumbList for the Home, Catalog, Product trail
  • Service on pages for companies that sell work rather than goods
  • Review and AggregateRating only when the reviews are genuinely visible on the page

What it looks like in practice

A minimal local business block sets the context to https://schema.org and the type to LocalBusiness, then adds name, url, sameAs links to your profiles, and an address as a nested PostalAddress with the city (Tashkent) and country code UZ. A product uses the Product type with a nested Offer, where price is a plain number and priceCurrency is UZS.

A common mistake is pasting a formatted string such as a number with spaces plus the word “sum” into the price field. Keep the amount as a clean number and put the currency in its own property.

If you run several branches in Tashkent and the regions, give each branch its own page with its own address and its own LocalBusiness entry. One generic block copied across the whole site tells a crawler very little.

Keep one source of truth

Because JSON-LD sits apart from the visible page, its biggest risk is drifting out of sync. If the page shows a new price and the markup still holds the old one, search engines learn not to trust your data. Generate both the visible price and the JSON-LD from the same source, whether that is your database or CMS fields.

In WordPress an SEO plugin usually outputs the base markup, and you extend it through plugin settings or theme code. In Bitrix, components and site templates do the job. In Next.js, a server-side component that receives the page data and renders the script works well. Pasting identical code into every page by hand goes stale quickly.

You can inject JSON-LD after load with Tag Manager, and Google generally picks it up when it renders the page. For fast-changing facts like price and stock, though, putting the markup in the server-rendered HTML is the safer route.

JSON-LD or Microdata: which to choose

Google recommends JSON-LD, and Yandex reads both JSON-LD and attribute-based markup. Microdata lives inside your HTML tags through itemscope and itemprop, so a layout change can quietly break it. JSON-LD stays independent of the design. For a new site or a redesign, choose JSON-LD. If an older site has Microdata that validates cleanly, there is no need to rewrite it just for the format.

Never describe the same entity in both formats. A typical case: the theme outputs Microdata for a product while a plugin adds JSON-LD, and reports suddenly show two products instead of one. Keep one source and switch the other off.

Common implementation mistakes

The same problems show up on site after site. Check yours against this list.

  • A stray comma or unclosed bracket in the JSON, which makes the whole block unreadable
  • Identical markup on every page instead of data for that specific page
  • Values that contradict the visible content, such as an old price or a different name
  • Reviews or ratings marked up that do not appear on the page
  • Empty required fields: no address, image or currency
  • Duplicates coming from both the theme and a plugin

How to test it and what to do next

Run key pages through Google’s Rich Results Test, the Schema.org validator and the markup validator in Yandex Webmaster. Look beyond “no errors”: confirm the right types and properties were recognised. After indexing, watch the structured data reports in Search Console, where warnings tend to appear.

If you want markup handled as part of SEO optimisation in Uzbekistan, markdev can audit your structured data, find duplicates and errors, and prepare templates that fit your CMS. Tell us about your site and what you want to achieve, and we will work out where to start.

FAQ

Is JSON-LD schema markup required for a website?

No, a site is indexed without it. But markup helps search engines understand your pages and can make them eligible for enhanced results, so it is worth doing for shops and service sites.

Does schema markup guarantee higher rankings?

No. It is not a direct ranking boost. It makes pages easier for crawlers to interpret, and the search engine decides whether to show an enhanced result.

How should I write prices in Uzbek sum?

Put a plain number without spaces or words in price and the code UZS in priceCurrency. The value must match the price the customer sees on the page.

Can I add JSON-LD with Google Tag Manager?

Yes, and Google usually sees it when rendering the page. For price and availability, outputting it in server-rendered HTML is more reliable.

Let’s look at your task for free

Leave your contact — in a 15-minute call we’ll show where leads get lost and what to fix first.