
Schema Markup for WordPress: FAQ, Organization, Article, and Service
Schema markup for WordPress is structured data, usually written in JSON-LD, that tells search engines and AI tools what a page is, who published it and how its parts relate. You can add it with an SEO plugin such as Yoast SEO or Rank Math, with a dedicated schema plugin, or by pasting code by hand. Most business sites need four types: Organization, Article, FAQPage and Service.
This guide explains what each type does, where it belongs on your site, how to add it in WordPress, and how to test it.
TL;DR: the schema checklist
- Use JSON-LD, the format Google recommends.
- Define your Organization once and reference it from other schema using an @id.
- Add Article (or BlogPosting) schema to every blog post, with a real author and accurate dates.
- Add FAQPage schema only where a page shows real questions and answers.
- Add Service schema to each service page.
- Let one tool, either your SEO plugin or custom code, own each schema type so nothing is duplicated.
- Test with the Rich Results Test and the Schema Markup Validator, then monitor Search Console.
What is schema markup?
Schema markup is a standard vocabulary, maintained at schema.org, for describing the things on a web page: a business, an article, a question, a service, a product, a person. It is added to a page as code that visitors never see but search engines and AI tools can read.
There are three formats: JSON-LD, Microdata and RDFa. Google recommends JSON-LD because it lives in one script block instead of being woven through your HTML, which makes it far easier to maintain on WordPress.
Does schema markup help SEO and AI citations?
Schema markup is not a direct ranking factor. What it does is remove guesswork. It states clearly who your business is, who wrote an article, when it was updated and which questions a page answers.
That helps in three ways:
- Rich results. Some types make a page eligible for enhanced listings in Google, such as breadcrumbs, product details and review snippets.
- Understanding. Search engines can connect your pages, authors and brand into a single entity instead of guessing.
- AI tools. Clean, accurate structured data makes it easier for AI search tools to identify what a page covers and who stands behind it. It does not guarantee a citation, but it supports the trust and clarity those tools look for.
Two changes are worth knowing about. In 2023 Google limited FAQ rich results to a small set of well-known government and health sites, and it retired HowTo rich results. FAQ markup is still valid and useful for machine understanding, but do not expect FAQ dropdowns in Google results for a typical business blog. Google’s documentation changes, so confirm current rules before relying on any specific rich result.
How to add schema markup to WordPress
There are three practical ways to do it:
| Method | Best for | Pros | Cons |
|---|---|---|---|
| SEO plugin (Yoast SEO, Rank Math, All in One SEO) | Most sites | Automatic Organization, Article and breadcrumb schema, no code | Less control over custom types; some types need a paid version |
| Dedicated schema plugin | Sites with many custom types | Visual builders and many schema types | Can clash with your SEO plugin and output duplicates |
| Manual JSON-LD | Developers and special cases | Full control, exact output | Must be maintained by hand and kept in sync with page content |
The most reliable setup for most WordPress sites is to let your SEO plugin handle Organization, Article and breadcrumbs, then add anything it does not cover, such as Service, with a small piece of custom JSON-LD or the plugin’s own schema editor.
The key rule is one owner per schema type. If your SEO plugin already outputs Article schema and you paste a second Article block, search engines receive two competing versions of the same page.
[Editor note: place Body Image 1, “How the four schema types connect”, here, at the end of this section or at the start of the next. It shows how Organization, Person, Article, WebPage, FAQPage and Service link together.]

Organization schema
What it does: Identifies your business as an entity: its name, website, logo and official profiles.
Where it goes: Your homepage and About page. Define it once, then reference it from other schema using its @id.
Key properties:
nameandurllogo, a square image of at least 112 pixelssameAs, links to your official profiles such as LinkedIn and FacebookcontactPoint, if you want to publish a support phone or email@id, a stable identifier that other schema can point to
Example:
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://yoursite.com/#organization",
"name": "Your Company",
"url": "https://yoursite.com/",
"logo": "https://yoursite.com/wp-content/uploads/logo.png",
"sameAs": ["https://www.linkedin.com/company/your-company"]
}
On WordPress: Yoast SEO and Rank Math both build this from your site representation settings, so fill those in completely rather than adding the code by hand.
If you serve customers in a specific area, use the more specific LocalBusiness type, or another subtype that fits your business.
Article schema
What it does: Describes a blog post or article: its headline, author, publish and update dates, and image. It signals who wrote the page and how current it is.
Where it goes: Every blog post and guide.
Which type to use: BlogPosting for blog posts, Article for general editorial content and NewsArticle for news. For a business blog, BlogPosting or Article are both fine.
Key properties:
headline, matching the page’s H1author, ideally a Person with a name and a link to an author pagedatePublishedanddateModified, in ISO 8601 formatimage, ideally the featured imagepublisher, pointing to your Organization
Example:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Schema Markup for WordPress",
"datePublished": "2026-11-11",
"dateModified": "2026-11-11",
"author": { "@type": "Person", "name": "Jane Smith" },
"publisher": { "@id": "https://yoursite.com/#organization" },
"image": "https://yoursite.com/wp-content/uploads/schema-markup.png"
}
On WordPress: Yoast SEO outputs Article schema for posts by default and lets you change the article type in the editor’s Schema tab. Update dateModified only when the content genuinely changes.
FAQPage schema
What it does: Marks up a set of questions and answers so machines can read each pair clearly.
Where it goes: Any page with a visible FAQ section. Do not mark up questions that are not on the page.
Rules to follow:
- Every question and answer must be visible to readers on that page.
- Each question needs one complete answer, not a link to somewhere else.
- Do not use FAQ markup for advertising or for content users can submit themselves, such as forum threads.
- Keep the markup identical to the on-page wording.
Example:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is structured data that tells search engines what a page is about."
}
}]
}
On WordPress: The simplest route is the FAQ block from Yoast SEO or Rank Math in the block editor. It displays the questions on the page and generates matching FAQPage schema automatically, so the two can never drift apart.
Service schema
What it does: Describes a service your business offers, who provides it and where it is available. It helps search engines and AI tools connect a service page to the business behind it.
Where it goes: Each individual service page, such as maintenance, support or design. Use one Service per page, describing that page’s service.
Key properties:
nameanddescription, matching the page contentserviceType, a short label for the category of serviceprovider, pointing to your Organization by @idareaServed, the places you serveurl, the service page addressoffers, only if you publish real, current prices
Example:
{
"@context": "https://schema.org",
"@type": "Service",
"name": "WordPress Maintenance",
"serviceType": "WordPress maintenance and support",
"description": "Monthly updates, backups, security monitoring and fixes for WordPress sites.",
"provider": { "@id": "https://yoursite.com/#organization" },
"areaServed": "Worldwide",
"url": "https://yoursite.com/wordpress-maintenance/"
}
Service schema does not currently produce a dedicated rich result in Google, but it adds clear meaning to your most important commercial pages. Yoast SEO does not add it by default, so it normally needs custom JSON-LD or a plugin that supports it. Never add prices or reviews to schema unless they are shown on the page and are real.
Which schema type goes on which page?
A simple map keeps your site consistent. Organization lives on the homepage and About page. Article lives on blog posts. FAQPage lives on any page with a visible question-and-answer section. Service lives on each service page.
[Editor note: place Body Image 2, “Which schema type goes on which page”, here.]
Where you use more than one type on a page, such as BlogPosting, BreadcrumbList and FAQPage on the same blog post, that is fine. Each type must describe content visitors can actually see.

Connect everything with @id and a single graph
When schema types sit on a page as separate, unconnected blocks, search engines have to guess how they relate. Connect them instead.
- Give each entity a stable
@id, usually the page URL plus a fragment such as#organization. - Reference that @id from other types. The Article’s publisher is the Organization. The Service’s provider is the same Organization.
- Where possible, output everything in one
@graphso a page’s schema reads as a single, connected description.
Yoast SEO builds this kind of connected graph for you, which is another reason to extend your plugin’s output rather than fight it.
Step by step: adding schema in WordPress with Yoast SEO
Menu names change between versions, so treat these as a guide.
- Set up your Organization. Open Yoast’s general settings, go to site representation, choose Organization, and complete the name, logo and social profiles.
- Set the page and article types. In the post editor, open the Yoast sidebar, choose the Schema tab, and confirm the page type and article type.
- Add FAQs with the FAQ block. Insert Yoast’s FAQ block in the editor and write each question and answer. Schema is generated for you.
- Add Service schema. On each service page, paste a Service JSON-LD block using a Custom HTML block or a code snippet plugin, or use Yoast’s schema API if you have a developer.
- Publish and test (see the next section).
Rank Math and All in One SEO follow a similar flow, with their own schema tabs and generators. Some schema types in those tools are available only in paid versions.
How to test your schema markup
- Rich Results Test. Enter the live URL to see which rich results the page is eligible for and any errors.
- Schema Markup Validator. Use it to check the general syntax of any schema, including types that do not produce rich results.
- Google Search Console. After publishing, check the enhancement and rich result reports for errors and warnings across your site.
- View the source. Search the page source for
application/ld+jsonand confirm each type appears once, not twice.
Fix errors first. Warnings about optional properties can be fixed later if the data is not available.
Common schema mistakes
- Adding two versions of the same type, one from the plugin and one pasted by hand
- Marking up FAQ questions that do not appear on the page
- Inventing reviews, ratings or prices that are not shown to visitors
- Leaving placeholder values in the code, such as a fake logo URL
- Updating
dateModifiedwithout changing the content - Pointing the Organization at the wrong logo or leaving
sameAsempty - Setting up schema once and never testing it after a theme or plugin update
WordPress schema checklist
- Organization defined once, with logo and social profiles
- Article or BlogPosting on every post, with a named author and accurate dates
- FAQ markup only on pages with visible FAQs
- Service schema on each service page
- Entities connected with @id values
- One tool responsible for each schema type, with no duplicates
- Pages tested in the Rich Results Test and Schema Markup Validator
- Search Console reports checked after publishing
- Schema reviewed after major theme or plugin updates
Frequently asked questions
What is schema markup in WordPress?
Schema markup in WordPress is structured data, usually written in JSON-LD, that tells search engines and AI tools what a page is about, who published it and how its parts relate. You can add it with an SEO plugin like Yoast SEO or Rank Math, a dedicated schema plugin, or by pasting code manually.
Which schema types should a WordPress site use?
Most sites need Organization (or LocalBusiness), Article or BlogPosting on posts, BreadcrumbList for navigation, FAQPage where a page has real questions and answers, and Service on service pages. Add Product on WooCommerce product pages.
Does schema markup improve rankings?
Schema is not a direct ranking factor, but it helps search engines understand your content and can make pages eligible for rich results. Clear structured data also helps AI tools identify your brand, authors and topics, though it does not guarantee citations.
Is JSON-LD better than Microdata?
Google recommends JSON-LD for structured data. It sits in a single script block, is easier to maintain than markup woven into your HTML, and works with every major SEO plugin.
Does Yoast SEO add schema automatically?
Yes. Yoast SEO outputs a connected schema graph that includes Organization or Person, WebSite, WebPage, Article and breadcrumbs by default. You can adjust page and article types in the editor and extend the graph with its schema API or FAQ block.
How do I test schema markup?
Use Google’s Rich Results Test to check eligibility for rich results and the Schema Markup Validator to check general syntax. After publishing, watch the enhancement and rich result reports in Google Search Console.
Can I add multiple schema types to one page?
Yes. A single page can have several types, such as BlogPosting, BreadcrumbList and FAQPage, as long as each describes content that is visible on the page. Connecting them in one @graph with shared @id values keeps them tidy.
Conclusion
Good schema markup is accurate, connected and tested. Define your Organization once, mark up articles with real authors and dates, use FAQ markup only where the questions are on the page, and describe each service on its own page. Let your SEO plugin do the heavy lifting, add only what it misses, and check the result every time you change your site.
Schema works best alongside strong content and a clean technical setup. If you would like a second pair of eyes on your structured data, our WordPress SEO services include a full schema audit. Contact us and we will review what is on your site today.