Table of Contents
SEO 9 min read

Schema markup: a guide to implementing structured data

Structured data is a language you use to tell search engines precise information about the content of your pages. Without schema markup, Google has to work out on its own what a page is...

2026-03-25
Schema markup: a guide to implementing structured data

Structured data is a language you use to tell search engines precise information about the content of your pages. Without schema markup, Google has to work out on its own what a page is about. Whether it is an article, a product, a recipe or a local business.

With schema markup implemented correctly, you remove the ambiguity and give Google exactly the information it needs to show attractive rich results on the search page.

The rich results (rich snippets) generated by structured data include visual elements such as star ratings, prices, images, FAQs and breadcrumbs right in the Google results page. These elements greatly increase the visibility and click-through rate of your pages compared to standard results that show only the title, URL and meta description.

In this guide you will learn what schema markup is, how to implement structured data using the JSON-LD format recommended by Google, which schema types are most relevant for different kinds of websites, and how to validate your implementation to avoid the errors that prevent rich results from being shown.

Whether you run a blog, an online store or a company website for a local business, structured data is a basic element of any modern SEO strategy.

Schema markup: a guide to implementing structured data


Schema markup is a standardized vocabulary (schema.org) used by Google, Bing and other search engines to understand the content of web pages. Correct implementation improves your SEO visibility and gives you the chance to get rich results in search. Schema.org was created in 2011 through a joint effort by Google, Microsoft (Bing), Yahoo and Yandex, with the aim of standardizing how information is presented to search engines worldwide.

What schema markup is and why it matters


Schema.org defines hundreds of entity types (Article, Product, LocalBusiness, Recipe etc.) and their properties (name, description, price, rating etc.). Each entity type describes a category of real-world objects, and the properties describe the characteristics of that entity. When you implement schema markup on a page, you give the search engine a structured context that it can interpret precisely, regardless of how the text on the page is worded.

The benefits of implementing schema markup:

  • Rich snippets: rich results with stars, prices, images, FAQ right in the SERP
  • Higher click-through rate: results with rich snippets attract 20-30% more clicks than standard results
  • Better understanding by Google: structured data removes ambiguity and helps Google classify content correctly
  • Eligibility for special features: product carousels, recipe cards, knowledge panels and other special displays require schema markup
  • AI compatibility: as Google AI becomes more important in search, structured data provides clear information that AI can process
  • Competitive advantage: many competing websites don't implement structured data correctly, giving you a big visual advantage in the SERP
One important thing to keep in mind is that schema markup does not automatically guarantee that rich results will be shown. Google decides whether to use the structured data based on content quality, relevance and other algorithmic factors. Even so, correct implementation is a necessary condition for being eligible for these displays.

The JSON-LD format, the standard recommended by Google


Google recommends using the JSON-LD (JavaScript Object Notation for Linked Data) format to implement structured data. There are three main formats for structured data, JSON-LD, Microdata and RDFa, but JSON-LD is preferred for its ease of implementation and maintenance.

The advantages of JSON-LD over other formats:

  • It is inserted in a single script block, without changing the existing HTML
  • It is easier to implement and maintain
  • It can be generated dynamically by JavaScript
  • It does not interfere with the design or functionality of the page
  • It can be placed anywhere on the page: in <head> or in <body>
  • It lets you define several entities in a single script block
A complete example of Article schema for a blog post:
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Titlul articolului dvs.",
  "description": "Descrierea scurtă a articolului",
  "author": {
    "@type": "Person",
    "name": "Numele autorului",
    "url": "https://domeniu.ro/autor/"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Numele website-ului",
    "logo": {
      "@type": "ImageObject",
      "url": "https://domeniu.ro/logo.webp"
    }
  },
  "datePublished": "2026-03-01",
  "dateModified": "2026-03-05",
  "image": "https://domeniu.ro/imagine-articol.webp",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://domeniu.ro/articol/"
  }
}
</script>

Basic schema markup types


Article and BlogPosting


For blog posts and editorial content. It includes properties such as headline, author, datePublished, dateModified, image and publisher. This schema matters for websites that publish content regularly. The BlogPosting type is a subtype of Article and can be used specifically for blog posts, while Article is better suited to news articles or formal editorial content.

LocalBusiness


For local businesses with a physical address. It includes the business name, address, phone number, opening hours, service area and reviews. This schema matters for local SEO and for showing up in Google Maps. There are specialized subtypes such as Restaurant, MedicalBusiness, FinancialService or LegalService that let you specify the type of business more precisely.

Product


For product pages in online stores. It includes the product name, price, availability, brand, rating and reviews. The Product schema lets the price and star ratings show directly in Google results. The offers property matters for communicating price and availability, and the aggregateRating property lets the star ratings show.

FAQPage


For pages with frequently asked questions. Each question-answer pair is marked up separately using the Question and Answer types. Google can show the questions and answers as dropdowns right in the search results, taking up more visual space in the SERP. This schema is especially valuable for matching informational search intents.

HowTo


For step-by-step guides. Each step is marked up with a name, text and optional image. Google can show the individual steps in search results, especially on mobile. The HowTo schema is suited to tutorials, DIY recipes, technical guides or any content that explains a process in stages.

It marks up the website's breadcrumb navigation. Google replaces the URL in search results with formatted breadcrumbs, giving users a view of the site's hierarchy. This schema improves the user experience in the SERP and communicates the site's structure to the search engine.

Event


For pages that describe events, conferences, concerts, webinars or any scheduled activity. It includes the date, location, organizer and ticket information. Google can show events in specific enhanced results, including in Google Events.

VideoObject


For pages that contain videos. It includes the video's title, description, thumbnail and duration. Google can show a thumbnail and information about the video right in search results, greatly increasing the click-through rate for video content.

Implementation in WordPress


For WordPress websites, there are several implementation methods. Choosing the right one depends on the complexity of your site and the technical resources available.

The main implementation options:

  • Yoast SEO Premium: automatically generates schema markup for Article, WebSite, Organization, BreadcrumbList and FAQPage; includes a visual editor for FAQ and HowTo blocks
  • Schema Pro: a dedicated plugin with support for more than 20 schema types and detailed visual configuration
  • Rank Math: includes a schema markup generator with support for all the main types and an intuitive configuration interface
  • Manual implementation through functions.php: add the JSON-LD code directly in the WordPress theme using WordPress hooks; it gives maximum control but requires development knowledge
  • Custom Gutenberg blocks: create blocks that automatically generate schema markup when specific content is added
An example of manual implementation through functions.php for the LocalBusiness schema:
function add_local_business_schema() {
    if ( is_front_page() ) {
        $schema = array(
            '@context'  => 'https://schema.org',
            '@type'     => 'LocalBusiness',
            'name'      => get_bloginfo('name'),
            'url'       => home_url(),
            'telephone' => '+40754308781',
            'address'   => array(
                '@type'           => 'PostalAddress',
                'streetAddress'   => 'Piața Iuliu Maniu, Nr. 16',
                'addressLocality' => 'Alba Iulia',
                'postalCode'      => '510094',
                'addressCountry'  => 'RO'
            )
        );
        echo '<script type="application/ld+json">'
            . wp_json_encode( $schema )
            . '</script>';
    }
}
add_action( 'wp_head', 'add_local_business_schema' );

Whichever method you choose, make sure the structured data correctly reflects the visible content of the page. Google penalizes schema markup that includes information different from what is shown to users, for example, a 5-star rating in the schema but 3 stars on the page.

Validating structured data


After implementation, validate the structured data with dedicated tools. Regular validation is important because changes to the theme or plugins can affect schema markup without it being obvious at first glance.

Recommended validation tools:

  • Rich Results Test (search.google.com/test/rich-results): checks whether the page is eligible for rich results and identifies errors; it gives a preview of how the rich result might look
  • Schema Markup Validator (validator.schema.org): checks compliance with the schema.org standard and identifies missing or incorrect properties
  • Google Search Console: the “Enhancements” section shows the state of structured data across the whole website and notifies you if errors or warnings appear
Common errors found by validation:
  • Missing required properties: each schema type has required properties; for example, Product requires name, and Review requires reviewRating
  • Incorrect date format: use the ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS)
  • Invalid URLs: all URLs in the schema must be accessible and return a 200 status
  • Content that doesn't match: the data in the schema must match the visible content of the page
  • Wrong schema type: using the Article type for a product page or vice versa hurts eligibility for rich results

Common mistakes in implementing schema markup


Avoiding common mistakes saves you time and prevents penalties from Google. The most frequent problems found in schema markup implementations:
  • Schema markup on irrelevant pages: don't add Product schema to a blog page or Article schema to a product page
  • Fake reviews: Google detects and penalizes fabricated reviews implemented through schema markup; use only real reviews
  • Outdated data: prices, availability and other dynamic information must be updated in the schema markup every time they change
  • Overlapping schemas: avoid implementing the same schema type several times on the same page through different plugins
  • Ignoring Search Console errors: errors reported in Search Console must be fixed promptly to stay eligible for rich results
  • Implementing schema on poor-quality content: structured data does not make up for weak content; Google also takes content quality into account when deciding whether to show rich results

The long-term implementation strategy


Implementing structured data is not a one-off action but an ongoing process. As your website evolves and Google introduces new types of rich results, schema markup must be updated and extended accordingly.

An effective implementation plan involves several steps:

  1. Audit the existing pages to identify the content types and the matching schemas
  2. Implement the schemas with the highest impact for your type of website first
  3. Validate each implementation before publishing
  4. Monitor the Enhancements section in Google Search Console for errors and warnings
  5. Update the schema markup whenever you change the page content
  6. Track the click-through rate after implementation to measure the real impact
As Google rolls out new types of rich results, such as those for products with shipping, special offers or educational content, be ready to adopt the new schema types quickly so you are among the first to benefit from their competitive advantages.

Schema markup is a powerful tool that transforms the way your website appears in Google results. Correct implementation takes attention to detail and regular validation, but the benefits, higher click-through rates, better visibility and clear communication with search engines, fully justify the effort invested.

Source references

Dorel Tănase

Original author at GOAI. Published here in English with permission.

Share this article

Back to Blog

Our network