JSON-LD (JavaScript Object Notation for Linked Data) is a structured data format that helps search engines understand what your pages are actually about. Rather than guessing from your HTML content alone, search engines can read a JSON-LD block and know exactly whether a page describes a recipe, a product, a local business, or a news article. The format uses a <script type="application/ld+json"> block embedded in your HTML, invisible to visitors but fully readable by machines.
What Structured Data Tells Search Engines
Think of structured data as a translation layer between your website and Google. Your page might mention "49.99" somewhere in the text, but without structured data, Google has no idea whether that is a price, a rating, or just a random number. JSON-LD removes that ambiguity by wrapping your content in clearly labeled fields that follow the Schema.org vocabulary.
Google uses this information for several purposes:
- Rich snippets: Enhanced search results that display star ratings, prices, cooking times, FAQ answers, or event dates directly on the results page. These visually stand out from regular listings and tend to attract more clicks.
- Knowledge Graph: When Google builds those information panels on the right side of search results (for companies, people, or places), structured data is one of the key sources it draws from.
- Voice search and assistants: Google Assistant and similar tools pull answers from structured data. If your FAQ page has proper JSON-LD markup, your answers might be read aloud to users.
- Google Shopping and Merchant listings: Product structured data can feed into free merchant listings in Google Shopping results, giving you visibility without paying for ads.
JSON-LD vs. Microdata vs. RDFa
There are three ways to add structured data to a webpage, and they all achieve the same goal, but they work quite differently in practice:
- JSON-LD: A standalone script block, usually placed in the
<head>or at the end of the<body>. It does not touch your HTML markup at all. You can add, modify, or remove it without affecting the visual layout of your page. Google officially recommends this format. - Microdata: Attributes added directly to your HTML elements (
itemscope,itemprop, etc.). This means your structured data is interleaved with your template code, making it harder to maintain and more prone to breaking when you change your theme. - RDFa: Similar to Microdata in that it uses HTML attributes, but follows a different specification. It is more common in non-Google contexts and less widely supported by WordPress plugins.
For WordPress sites, JSON-LD is the clear winner. It keeps your templates clean, works well with caching plugins, and can be generated dynamically by PHP without altering your theme files.
Common Schema.org Types for WordPress Sites
Schema.org defines hundreds of types, but only a handful are commonly relevant for WordPress sites. Here are the ones you will encounter most often:
- Article / BlogPosting: Used on blog posts and news articles. Includes headline, author, publish date, and featured image. This is the most common type on WordPress sites and can trigger article-style rich results in Google.
- FAQPage: Marks up pages with question-and-answer content. When Google picks this up, it can display expandable FAQ snippets directly in search results, which can significantly increase the space your listing occupies.
- HowTo: For tutorial or step-by-step content. Google can display the individual steps in search results, sometimes with images for each step.
- Product: Essential for WooCommerce shops. Includes price, availability, reviews, and brand. This is what enables product-style rich results with prices and star ratings.
- LocalBusiness: For businesses with a physical location. Includes address, opening hours, phone number, and geographic coordinates. This feeds into Google Maps and local search results.
- BreadcrumbList: Describes the navigation path to the current page. Google uses this to display breadcrumb links in search results instead of the raw URL, which looks cleaner and helps users understand your site structure.
- WebSite: Placed on the homepage, this type can enable sitelinks search box in Google, allowing users to search your site directly from the search results page.
How WordPress SEO Plugins Generate JSON-LD
Most WordPress site owners do not write JSON-LD by hand. Instead, SEO plugins handle it automatically:
- Yoast SEO: Generates a comprehensive JSON-LD graph on every page, including WebSite, WebPage, Organization (or Person), Article, and BreadcrumbList types. Yoast builds a connected graph where all entities reference each other, which gives Google a complete picture of your site.
- Rank Math: Offers similar automatic generation but also provides a user interface for adding custom schema types to individual posts. You can mark a post as a Recipe, Event, or Course without writing any code.
- Schema Pro and other dedicated plugins: If you need more granular control (for example, adding multiple schema types to a single page or handling complex nested structures), dedicated schema plugins give you that flexibility.
One important thing to keep in mind: do not use multiple plugins that generate JSON-LD at the same time. Duplicate or conflicting structured data confuses search engines and can result in none of your rich snippets being displayed.
A Practical JSON-LD Example
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "What is JSON-LD?",
"author": {
"@type": "Person",
"name": "John Doe"
},
"datePublished": "2025-01-15",
"dateModified": "2025-03-10",
"publisher": {
"@type": "Organization",
"name": "Example Site",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"image": "https://example.com/article-image.jpg",
"description": "A comprehensive guide to JSON-LD structured data."
}Notice how everything is self-contained in a single block. You could paste this into any page without modifying a single HTML element, and search engines would immediately understand the page describes an article written by John Doe.
Testing and Validating Your Structured Data
Before you rely on your structured data to generate rich results, you should validate it. Google provides two tools for this:
- Rich Results Test (search.google.com/test/rich-results): Enter a URL or paste your code, and Google shows you which rich result types are eligible and whether there are any errors or warnings.
- Schema Markup Validator (validator.schema.org): A more general validator that checks your markup against the full Schema.org specification, not just the subset Google supports.
Run these checks after making changes to your SEO plugin settings or after switching themes. Theme changes can sometimes strip out or duplicate structured data blocks.
Impact on Click-Through Rates
The practical payoff of structured data is better visibility in search results. Pages with rich snippets take up more visual space on the results page and provide more information at a glance. Studies and industry reports consistently show that rich results can increase click-through rates by 20 to 30 percent compared to plain listings. FAQ snippets, in particular, can double the height of your search result, pushing competitors further down the page. Even if your ranking position stays the same, more visual prominence means more clicks.
That said, Google does not guarantee rich results for every page with structured data. It depends on the quality of your content, whether Google considers the markup trustworthy, and how competitive the search query is.
What InspectWP Checks
InspectWP scans your WordPress site for JSON-LD structured data blocks and reports which Schema.org types are present. It checks whether your pages include the most common types (Article, BreadcrumbList, WebSite) and flags pages where structured data is missing entirely. This helps you identify gaps in your markup and make sure your SEO plugin is generating the right output across your entire site.