Schema · Structured Data

Schema markup: which structured data to use on each page type

Visual guide to schema markup: LocalBusiness, Product, Service, BlogPosting, FAQPage and Organization. Learn which structured data to use on each page type to rank on Google and get cited by AI.

Published on · Updated on · 11 min read

Schema markup: which structured data to use on each page type (LocalBusiness, Product, Service, BlogPosting, FAQPage and Organization)

Okay, let’s talk straight. You know structured data is important.

The problem isn’t that there are too many schemas. The problem is that nobody has told you which ones to use on each page.

And on top of that, things have gotten more complicated. Because you don’t only have to think about Google. Artificial intelligences (ChatGPT Search, Perplexity, Gemini) also read your code and use that data to decide whether to cite you or not.

If you’re starting from scratch with technical SEO, begin with what SEO is and how it works and the complete On-Page SEO guide.

What is structured data and what is it for?

Structured data is like the labels in a library. It’s code you add to your site (usually in JSON-LD format) to tell Google and artificial intelligences what each thing means.

What exactly is it for?

  • So Google understands you better: you help the algorithms interpret your page’s content and display it in the right search results.
  • To get Rich Snippets: those enriched results with stars, prices, images or event information that stand out in the SERP and attract many more clicks. Here’s how to optimize the meta title and meta description to take advantage of them.
  • To speak AI’s language: platforms like ChatGPT Search, Perplexity or Gemini use this data to find quick answers and cite reliable sources. If you don’t make it easy, they’ll probably ignore you. Here I explain how to optimize your site for AI (GEO).

Schema for LocalBusiness (homepage or contact page)

The LocalBusiness schema is the backbone for businesses with a physical location or service area. Without it, Google and AI have to guess your basic data.

Field typePropertyDescription
Required@typeThe specific subtype of your business (e.g. Plumber, Restaurant, Dentist)
nameExact business name, must match your Google Business Profile
addressFull postal address with PostalAddress (street, city, region, postal code, country)
telephoneMain phone number that matches your GBP
urlThe URL of your website
imageLogo or main photo of the business
OptionalpriceRangePrice range (e.g. $, $$, $$$)
openingHoursSpecificationOpening hours by day of the week
geoLatitude and longitude coordinates (GeoCoordinates)
areaServedCoverage area for businesses without a physical location (SABs)
sameAsLinks to social media and directory profiles
aggregateRatingAverage rating and number of reviews (if applicable)
hasMapLink to your Google Maps listing

Practical example: if you’re a plumber in Madrid, your homepage should have LocalBusiness with @type: "Plumber". Include name, address, phone, opening hours and service area. Add sameAs with links to your Google Business Profile and social media to connect entities.

If you work in local SEO, complement this schema with a good strategy in free local SEO directories and with reviews on your Google Business Profile.

Schema for Product (product pages in ecommerce)

On a specific product page, the goal is to sell. The schema should give all the information so that AI and Google show rich snippets with price, availability and ratings.

Field typePropertyDescription
RequirednameProduct name, must match the visible title
imageURL of at least one product image
descriptionClear and precise product description
offersObject with price, currency and availability
brandProduct brand (as a Brand entity)
OptionalaggregateRatingAverage rating and total number of reviews. Enables stars in the SERP
reviewIndividual reviews with author and rating
skuProduct identification code
gtinBarcode or global identification
mpnManufacturer part number
shippingDetailsShipping cost, delivery time and service region
hasMerchantReturnPolicyReturn window and conditions

Practical example: a TV page should have Product with name, description, image, sku and brand. Inside, an Offer with price, priceCurrency and availability. If there are reviews, include aggregateRating with ratingValue and reviewCount.

Schema for Service (service pages)

If you offer services instead of physical products, you need Service. This applies to local businesses, consultancies, agencies, etc. It helps AI understand what service you offer and in what area.

Field typePropertyDescription
RequirednameName of the service you offer
OptionalserviceTypeType of service (e.g. «boiler repair», «SEO consulting»)
providerWho offers the service (link to your LocalBusiness or Organization via @id)
areaServedGeographic area where the service is provided
offersPrice information (Offer object)

Practical example: each service page (e.g. «boiler repair») should have Service linked to the LocalBusiness of your homepage via provider and @id. AI uses these connections to know that you’re the one offering that service in your area. If you work on local positioning, reinforce this with local positioning on Google Maps.

Schema for BlogPosting (articles and blog posts)

Your content should demonstrate authority and experience. The schema helps AI know who wrote what and when. Google requires certain fields to show article rich snippets.

Field typePropertyDescription
Required@typeBlogPosting or Article (use the most specific one)
headlineArticle title (maximum 110 characters)
imageURL of at least one image. Google requires it for rich snippets
authorPerson or entity who wrote the article
datePublishedPublication date in ISO 8601 format (YYYY-MM-DD)
publisherOrganization that publishes the content (with its logo)
OptionaldateModifiedLast modified date
articleBodyThe full body of the article
articleSectionArticle section or category (e.g. «SEO», «Marketing»)
wordCountNumber of words
aboutThe main topic of the content
speakableIndicates sections suitable for text-to-speech

Practical example: if you publish a guide on «how to fix a water leak», add BlogPosting with the author, publication date and featured image. Link the author to an «About» page with experience and credentials. Here’s how to apply E-E-A-T: experience, authority and trust on Google correctly.

Schema for FAQPage (frequently asked questions pages)

If you have a FAQs section, the schema can make your answers appear directly in search results and in AI answers. It’s a great hook for traffic.

Field typePropertyDescription
Required@typeFAQPage
mainEntityArray of Question objects
Question.nameThe question text
Question.acceptedAnswerAnswer object with the answer
Answer.textThe answer text

Golden rule: don’t mark questions that the user can’t see on the page. It’s misleading and goes against Google’s guidelines.

Schema for Organization (institutional pages)

For «About» or institutional pages, Organization helps define who the entity behind the site is. Useful for brands, NGOs or projects without a physical location.

Field typePropertyDescription
RequirednameOrganization name
urlURL of the organization’s website
OptionallogoOrganization logo
sameAsLinks to social media and profiles
descriptionOrganization description
legalNameOfficial legal name

How to implement all this without losing your mind

You have three paths to add structured data to your site. Choose the one that best fits your technical level.

01

WordPress plugins

Tools like Rank Math, Yoast SEO or Schema Pro can generate basic schema without touching code. They’re perfect to start with, but they tend to be limited in customization.

02

Manual JSON-LD

It’s the most professional and clean route. You write the JSON-LD code in your page’s <head> and have total control over each property and @id connection.

03

Plugins specialized in Local SEO

There are plugins designed specifically to generate LocalBusiness and Service schema. They’re usually lighter and more accurate than generalist SEO plugins.

04

Free SEO tools

You can rely on tools like checking that your schema works or on this very article to replicate the examples.

Important: no matter what, always validate your code with the official Google tools (Rich Results Test) and Schema.org tools (Schema Markup Validator). A small syntax error can render the entire block useless.

And remember: if you don’t know what schema you already have implemented, start with a complete SEO audit in 7 steps to review your site’s technical status. If you also want AI to cite you, complement it with a properly configured llms.txt file step by step and a strategy to show up in ChatGPT with your business.

The time to act is now

Structured data is the language Google and AI speak. If you don’t use it, you’re letting them guess who you are and what you offer.

You don’t need to implement all the schemas in the world at once. Start with the basics on your main page and your main services. As you grow, add more layers. But don’t wait any longer.

Speak their language. And they’ll listen.

If you’d rather have a professional implement the schema for you, I analyze your site, define which schema types each page needs and implement them in properly validated JSON-LD. Tell me about your project and I’ll reply in less than 48 hours.

Alex Figueiras, freelance SEO consultant in Valencia

Written by

Alex Figueiras

Freelance SEO consultant in Valencia · WordPress + Elementor + Rank Math

I help local businesses and SMEs rank on Google with technical audits, on-page SEO and content that converts. More than 40 projects audited and cases measured in sectors such as renovations, training and ecommerce.

Want to implement schema correctly?

I implement the right structured data for each page type, validated and ready for Google and AI.