Written by: Jeevan, Founder of RankWebsite
Last updated: Oct 2026
We added schema markup to rankwebsite.in by placing one JSON-LD block on each key page, using a Custom HTML block in the WordPress editor or an HTML widget in Elementor. Each block describes the business, the founder, the page type and the FAQs that visitors can see on that page. We then tested every page with Google’s Rich Results Test and the Schema Markup Validator, and switched off an old code snippet that was adding a second, outdated set of FAQ markup.
This is not a theory article. It is a record of the structured data work we did on our own website in October 2026, including one mistake we found along the way. If you run a WordPress site, you can follow the same steps.
What schema markup is (and what it is not)
Schema markup is code that describes your page in a vocabulary search engines understand, defined at schema.org. The most common format is JSON-LD, a small script that sits in your page and lists facts such as your business name, address, founder, services and prices.
Schema markup does not directly push a page up the rankings. What it does is help search engines understand what the page is about and who is behind it. Google is also clear that structured data should match the visible text on the page, and that no special markup is required to appear in AI Overviews. So the goal is accuracy, not tricks.
Our starting point
Before we started, the only structured data on most pages was a basic Organization block added by a plugin. It listed our name as “rankwebsite.in”, had no address, no founder and no social profiles. Our home page, About page and pricing page described nothing else.
Step 1: Choose schema types that match each page’s purpose
We did not add every type we could find. We picked the types that describe what each page actually is.
| Page | Schema types we used | Why |
|---|---|---|
| Home page | ProfessionalService, WebSite, FAQPage | Describes the business, its address, phone, services and visible FAQs |
| About page | AboutPage, Person, BreadcrumbList, FAQPage | Connects the founder to the business for trust and E-E-A-T |
| SEO packages page | Service, Offer with UnitPriceSpecification, BreadcrumbList, FAQPage | States monthly price ranges in INR exactly as shown on the page |
| Service pages | Service, WebPage, BreadcrumbList, FAQPage | Describes the service, who provides it and the questions answered |
Step 2: Give the business and the founder one stable ID
The most useful thing we did was give our business and founder a permanent identifier with the @id property. Every page refers to the same IDs, so search engines can connect them instead of seeing several separate businesses.
{
"@type": "ProfessionalService",
"@id": "https://rankwebsite.in/#business",
"name": "RankWebsite",
"founder": { "@id": "https://rankwebsite.in/#founder" }
}On the About page, the Person block uses the same https://rankwebsite.in/#founder ID and points back to the business with worksFor.
Step 3: Add the JSON-LD to WordPress
There are four common ways to add schema markup in WordPress:
- A Custom HTML block in the block editor, placed at the bottom of the page.
- An HTML widget if the page is built with Elementor.
- An SEO or schema plugin such as Rank Math, which generates markup from settings.
- A code snippet plugin such as WPCode, which can print markup on specific pages.
We used the first two. Keeping the markup on the same page as the content it describes means that whenever we edit an FAQ or a price, the markup is right there to update as well.
Step 4: Make the markup match what visitors see
Every question and answer in our FAQPage markup is copied word for word from the FAQ visible on that page. On the pricing page, each plan uses minPrice and maxPrice in INR with unitText set to MONTH, and states that tax is not included, because our prices are shown as “per month + GST”. If the page and the markup ever disagree, the page wins and the markup gets fixed.
Step 5: Look for duplicate markup (the mistake we found)
When we checked our Local SEO Services page, we found two separate FAQPage blocks. One came from the page itself and listed 17 questions. The other came from an old code snippet in WPCode and listed six questions that were no longer on the page at all.
That is a real problem: it tells search engines two different stories about the same page, and one of them describes content visitors cannot see. We switched the old snippet off, so only the markup that matches the page remains.
To check your own site, open a page, view its source and search for application/ld+json. Count how many blocks appear and check that each one describes something actually on the page.
Step 6: Test every page
- Run the page through Google’s Rich Results Test to catch errors Google cares about.
- Run it through the Schema Markup Validator to check the general schema.org syntax.
- Use URL Inspection in Google Search Console to request indexing after big changes.
- Recheck after editing FAQs, prices or contact details.
A note on FAQ rich results in 2026
Google no longer shows FAQ rich results in Search. Its documentation records that the feature was deprecated in May 2026 and removed in June 2026. We still keep FAQPage markup on pages where the FAQs are visible, because it describes the page accurately, but nobody should add it expecting extra dropdowns in Google results.
Our schema markup checklist
- One business ID and one founder ID, reused on every page
- Only the schema types that describe what the page really is
- Names, prices, addresses and FAQs that match the visible page exactly
- No duplicate blocks from old plugins or snippets
- Every page tested in the Rich Results Test and Schema Markup Validator
Frequently Asked Questions
Does schema markup improve Google rankings?
Not directly. Schema markup helps search engines understand your page and who is behind it, and it is required for some rich results. Rankings still depend on helpful content, relevance and authority.
Do I need a plugin to add schema markup in WordPress?
No. You can paste JSON-LD into a Custom HTML block or an Elementor HTML widget. Plugins like Rank Math are convenient, but check that they do not add duplicate or inaccurate markup.
Which schema format should I use?
Use JSON-LD. It is the format Google recommends, it sits in one script block and it does not change how your page looks.
Will schema markup get my website into AI Overviews?
Google says there are no additional requirements or special markup needed for AI Overviews. Accurate structured data that matches your visible content can support understanding, but good content and standard SEO matter most.
Related guides: Google Maps top 3 checklist, how to get mentioned in ChatGPT, Gemini and Perplexity and hospital SEO page structure.
Sources
- Google Search Central: Introduction to structured data
- Google Search Central: AI features and your website
- Schema.org: ProfessionalService
Want us to audit the structured data on your website? Request a free SEO audit or see our SEO services.

