You open Search Console: impression counts look fine, but click-through rate has been flat for months. Search for your own product on Google and your competitor's listing shows price, stock status, and star ratings; yours is just two lines of plain blue text. Your blog posts rank, but on the results page they sit dull, with no date and no image. Maybe an agency pitched you on 'let's add schema to your site,' but no one could clearly explain what that actually changes.
If these symptoms sound familiar, your problem probably isn't ranking, it's presentation. Google is already listing you; your result just isn't reflecting the information your page carries back onto the results page. The layer that closes this gap is structured data, better known as schema markup: code that labels the information on your page so a search engine understands it with certainty instead of guessing. In this guide we'll walk through what JSON-LD is, which schema types actually produce rich results, what order to implement them in, which tools to test with, and the mistakes we see most often in the field.
What is structured data, and why did JSON-LD become the standard?
Structured data is a standardized labeling vocabulary that makes page content readable for machines. That vocabulary comes from schema.org, a joint initiative of the major search engines. A human infers from context that '$45' on your page is the product's price; a search engine would rather you state it outright: 'this value is a price, the currency is US dollars.' Once the guesswork is gone, Google can qualify your content for rich results: stars, price tags, images, and similar enhancements all come from this mechanism.
Google supports three markup formats: JSON-LD, Microdata, and RDFa. Search Central's documentation openly recommends JSON-LD, and for practical reasons. JSON-LD sits as an independent block of data inside a script tag, without ever touching the page's visible HTML. Unlike Microdata, you don't need to sprinkle attributes throughout your existing markup, which makes it easier to both implement and maintain. When you change your site's theme or refresh its design, the JSON-LD block stays intact. Today, nearly the entire ecosystem, from WordPress plugins to ecommerce platforms, generates in this format.
Two concepts need to be clear from the outset, because managing expectations depends on them:
- Structured data is not a direct ranking factor. Google has said this consistently for years; adding schema to your page doesn't automatically lift your ranking.
- A rich result is a matter of eligibility, not a guarantee. Flawless markup makes you a candidate; whether Google actually enhances the result for any given query is Google's call.
So is it worth the effort? Absolutely. Rich results take up more space on the results page, carry more information, and catch the eye, all of which directly affects click-through rate (CTR). Take an example: a product page gets 10,000 impressions a month and a 2% CTR, producing 200 clicks. Once the page starts showing with price and star information, if CTR climbs to 3% with no change in ranking at all, monthly clicks reach 300. A one-point difference on paper means a 50% increase in traffic in practice. That's the whole business case for structured data: more visitors from the same position.
Which schemas actually produce rich results?
schema.org's vocabulary defines more than eight hundred types, but the list Google supports as rich results is far shorter, and it's published in Search Central's structured data gallery. Marking up an unsupported type isn't harmful, it just has no visual payoff. Let's look closely at the four types with the highest commercial value for small and mid-sized businesses.
Product: the visible face of ecommerce
Product schema added to product pages lets price, currency, stock status, and rating appear directly in the search result. Google's merchant listing experiences draw on the same markup. For an online store, this is the highest-return schema: users see price and availability before they even click, and the ones who do click are closer to buying. The catch is the required fields: if product name and offer information (price and currency) are missing, you never become eligible for the rich result at all. For star ratings to show, the page needs genuine user reviews, with the rating actually derived from them.
Article: content and news appearances
Article schema and its subtypes (BlogPosting, NewsArticle) help your posts show up in search results with a stronger title, image, and date, and help news-worthy content land in featured news placements. Naming the real author and, where available, linking to their profile helps Google recognize author identity, a practice that aligns with expertise and trust signals (E-E-A-T). Keep publish and update dates accurate: refreshing the date without touching the content might look like a shortcut in the short term, but once the inconsistency is noticed, it erodes trust.
FAQPage: the rules changed, the value didn't disappear
Let's be honest here, because plenty of people are still selling this with outdated information. Since August 2023, Google has limited FAQ rich results to well-known, authoritative government and health sites, and removed HowTo rich results entirely. That means a typical business site won't see an expandable Q&A list appear under its result just by adding FAQPage schema. Even so, content structured as questions and answers keeps its value: the same content is a strong candidate for a featured snippet, and it makes it easier for AI-powered search experiences to parse your content correctly. If someone pitches you 'guaranteed rich results with FAQ schema' today, you'll know they're not following current rules.
LocalBusiness: the digital identity of a physical business
For businesses with a store, clinic, restaurant, or office, LocalBusiness schema reports address, phone number, hours, business type, and geographic location to Google in structured form. This information ties into the knowledge panel and local search experiences. The critical rule: the name, address, and phone number in your schema must match your Google Business Profile records exactly; inconsistency between sources is the quietest enemy of local visibility. Businesses tied to a physical location shouldn't treat this schema in isolation from profile management; for the full picture, see our local SEO and Google Business Profile guide.
Beyond these four, a handful of other types carry real practical value: BreadcrumbList makes the page path in results readable; Organization cleanly reports your brand name and logo; Event lifts events and JobPosting lifts job listings into rich results. Which types fit your site depends on your page inventory, which is exactly where the process starts.
The implementation process: structured data in five steps
We recommend treating structured data not as a one-time code addition but as a five-step process. Let's use an example scenario: a business site with a 40-product catalog, 30 blog posts, and one physical location.
- Inventory and map. List your page types: home page, product pages, category pages, blog posts, about, and contact. Assign the right schema to each: Product for product pages, BlogPosting for posts, LocalBusiness for your business identity, BreadcrumbList across all pages. This mapping table is the project's constitution; it keeps you from the wasteful instinct to slap every schema on every page.
- Identify required and recommended fields. For every type it supports, Google lists required and recommended fields separately in Search Central. Miss a required field and eligibility never happens; fill in more recommended fields and the result gets richer. This is also the stage to nail down your data sources: which database field does price come from, where does the image URL come from, how is the review rating calculated?
- Automate JSON-LD generation. Writing the code by hand for 40 products isn't sustainable; for 400 it's impossible. Mature plugins in off-the-shelf platforms and the WordPress ecosystem generate this from a template; on custom software, a block gets added to the template layer that generates JSON-LD from the page's real data. The non-negotiable principle: schema must be generated dynamically from live page data. When the price updates, the price in the schema should update itself.
- Test before you publish. No schema should go live without separate validation for both syntax and Google eligibility. We'll detail which tool answers which question in the next section.
- Publish and monitor from Search Console. As Google recrawls your pages, valid and invalid entries start accumulating in Search Console's rich result reports. Check these regularly in the first few weeks: an error spread across hundreds of pages usually traces back to a single field in the template, and one fix closes it.
Set the right time expectations too: once markup goes live, Google recrawling and processing your pages can take anywhere from a few days to a few weeks, depending on page count and crawl frequency. Rich results don't appear instantly either. Rather than worrying a week later about why the stars haven't shown up, watching the growth in valid entries in Search Console is a far healthier indicator.
Testing tools: which one answers which question?
Three tools answer three different questions in structured data work, and none of them substitute for the others:
- Rich Results Test: Google's official tool. It tests a URL or a code snippet and answers 'which rich results is this page eligible for on Google?' It only reports on types Google supports, and lets you test the page from both mobile and desktop Googlebot's point of view.
- Schema Markup Validator: schema.org's general-purpose validator. It answers 'does my syntax and type usage conform to the schema.org standard?' and checks types outside Google's rich result gallery too. This is where you find out whether a schema that doesn't show up in Rich Results Test is actually broken, or simply unsupported.
- Search Console's rich result reports: the ongoing monitoring layer after launch. It lists valid and invalid entries detected on your site by type; the 'Unparsable structured data' section catches blocks so broken Google can't even identify their type.
The practical workflow: during development, paste the code snippet into Rich Results Test to check eligibility; once live, test the live URL with the same tool again, because some plugins and caching layers can render the code differently than you expect; in the following weeks, add Search Console's reports to your routine. One distinction worth nailing down: a warning flags a missing recommended field and doesn't block the rich result; an error concerns a required field and removes eligibility entirely. Clear errors first, treat warnings as your opportunity list.
Common mistakes and what they cost
These are the structured data issues we run into most often in SEO audits:
- Marking up content that isn't visible on the page. Google's core rule is clear: structured data must reflect the content a user actually sees on the page. Embedding reviews, prices, or Q&As in schema that don't appear on the page is a policy violation.
- Rating yourself on your own site. 'Self-serving' review markup on Organization and LocalBusiness types, a business publishing its own rating on its own page, isn't counted by Google. Stars are the job of genuine product reviews and third-party platforms.
- Choosing the wrong type. Forcing Product schema onto a service page, or adding NewsArticle to a corporate announcement, produces no eligibility and weakens the site's perceived credibility.
- Schema falling out of sync with the page. On hand-written static blocks, the price updates on the page but stays stale in the schema. A mismatch between the price a user sees in the result and the price they find on the page is both a trust problem and a policy problem.
- Missing required fields and broken syntax. A missing comma or an unclosed bracket invalidates the entire block; if the block is invalid, even the most accurate content never reaches Google.
- Conflicting blocks on the same page. It's more common than you'd think for the theme, an SEO plugin, and hand-added code to each print their own Organization block on the same page, leaving Google with contradictory information.
Most of these mistakes cost you visibility and nothing more; but deliberate deception, like trying to win a rich result for irrelevant content, can escalate all the way to a manual action for structured data with spammy behavior. One more thing worth remembering: structured data doesn't work independently of technical SEO as a whole. No matter how flawless a page's schema is, it produces nothing if the page can't be crawled or indexed. To check your site's overall technical health, work through our technical SEO checklist.
Structured data's new job in the age of AI Overviews
In 2026, the search results page isn't just ten blue links anymore: AI Overviews sit at the top of many queries, and how content gets selected and cited by AI systems has become one of the industry's central debates, under the headings GEO and AEO. Google's statements so far point the same way: AI-powered search experiences still draw on the same classic infrastructure, crawling, indexing, quality evaluation. In that picture, structured data takes on a new job: preparing your content not just for rich results, but to be correctly understood by machines. Clean markup that makes the relationships between your business, products, and content explicit raises the odds that your information gets represented with the right context inside the AI layer. For more on this shift, see our AI Overviews guide.
Structured data doesn't tell Google 'put me at the top,' it tells Google 'understand me correctly.' Being understood correctly is the precondition for both rich results and AI visibility.
Summary: a small layer of code, a measurable difference
To sum up: structured data doesn't directly raise your ranking, but it's one of the most concrete techniques for pulling more clicks out of the same ranking. Getting it right runs through five steps: map your page types and schemas, verify required fields against Google's documentation, automate JSON-LD generation from live data, test with two separate tools before and after launch, and keep it consistent with Search Console's reports. Product, Article, and LocalBusiness deliver the strongest payoff today; FAQPage has narrowed on the rich-result side, but it still holds its value for content clarity and AI visibility.
In practice, this usually comes down to two questions: which schema goes on which page, and who writes this code and maintains it? Welda's SEO team treats structured data not as a standalone project inside SEO consulting, but as a natural part of a technical audit: we review your existing markup, build the page-type-to-schema map, implement it alongside your development team or on our end, and report the results against your Search Console data. If you'd like to assess together whether your site is getting the visibility it deserves in search results, get in touch; let's start with a look at where things stand today.