Most Indian business websites I audit have the same problems. Not obscure ones. Title tags that overflow the SERP or get copy-pasted across every page. Service pages with no heading structure. Hero images at 4MB. Schema markup that's installed but broken. None of these are hard to fix, but they're sitting there quietly killing rankings on sites that otherwise deserve to do better.
This on-page SEO checklist covers every factor that actually moves rankings in 2026. Six sections, 20 items, one summary table you can use as a working audit sheet. Go through your most important pages, homepage, service pages, location pages, top blog posts, and flag everything that needs work.
- Title Tags and Meta Descriptions (Items 1–4)
- Headings and Content Structure (Items 5–8)
- Search Intent and Content Quality (Items 9–11)
- Images and Media (Items 12–14)
- Internal Links and URL Structure (Items 15–17)
- Schema Markup and Page Experience (Items 18–20)
- Full Checklist Summary Table
- Frequently Asked Questions
Title Tags and Meta Descriptions
These two elements control how your page appears in Google search results. They don't directly boost rankings the way content quality does, but they determine whether someone clicks your result or scrolls past it. A page sitting at position 4 with a 7% CTR will often outrank a page at position 2 with a 2% CTR over time. Getting these right is basic, and most Indian business sites haven't.
Title tag is 50–60 characters and contains your target keyword
Google typically displays 50 to 60 characters before truncating with "...". Too short and you waste the space. Too long and it gets cut mid-sentence in the SERP, which looks sloppy and loses clicks.
The keyword should appear early, not necessarily first, but within the first half. "Dental Clinic in Kochi | Dr. Anand Dental Centre" will outperform "Dr. Anand Dental Centre | Dental Clinic in Kochi" for someone searching "dental clinic Kochi," because the relevant term appears before the truncation point.
The most common Indian business website mistake: using the site name as the title tag on every single page. Every page on a dental clinic website showing "Dr. Anand Dental Centre" tells Google nothing about what each individual page covers and wastes every opportunity to target a different keyword.
| Title Tag Type | Example | Problem |
|---|---|---|
| Too short | Dental Clinic Kochi | Doesn't use available space; no brand signal |
| Too long | Best Dental Clinic in Kochi for Root Canal, Braces, Implants and Whitening | Truncated in SERP; looks like keyword stuffing |
| No keyword | Dr. Anand Dental Centre — Welcome | Misses the ranking opportunity entirely |
| Good | Root Canal Treatment in Kochi | Dr. Anand Dental | — |
Every page has a unique title tag
Duplicate title tags tell Google your pages are interchangeable. It then decides which one to rank, and it will pick whichever one it thinks is most relevant, which may not be the one you want. Check for duplicates using Screaming Frog or Google Search Console. The Coverage report in GSC flags "Duplicate, Google chose different canonical than user" — that's a sign this problem exists on your site.
Meta description is 150–160 characters and has a call to action
Meta descriptions don't directly affect rankings. What they affect is click-through rate, which does affect rankings over time. A meta description that says "We are a dental clinic in Kochi offering various services" is a wasted 160 characters. One that says "Root canal, braces, and implants at Dr. Anand's Kochi clinic. 15 years experience. Book a free consultation today." gives someone a reason to click your result over the next one.
Include what the page is actually about, one specific benefit or differentiator, and a call to action. If you're unsure what SEO costs for your site, note that a good meta description rewrite takes under an hour per page and has an immediate impact on CTR.
Every page has a unique meta description
If you leave it blank, Google auto-generates a snippet from whatever text on the page it thinks is relevant. Sometimes this works. More often it pulls a random sentence that makes no sense out of context. Write your own for every page that matters.
Not sure if your title tags and meta descriptions are costing you clicks? A professional on-page SEO audit covers every page with specific rewrite recommendations.
Request a Free Page Review →Headings and Content Structure
Heading tags (H1, H2, H3) do two things: they tell Google what a page is about, and they make content scannable for real people. Most visitors don't read web pages from top to bottom — they scan for the section relevant to them. If your page is a wall of paragraphs with no heading breaks, most people leave before they find what they came for.
One H1 per page, containing the primary keyword
The H1 is the most important heading on the page. There should be exactly one. It should contain your primary keyword, but it doesn't need to sound robotic. "Root Canal Treatment in Kochi: What to Expect and What It Costs" is a strong H1. "Root Canal Kochi Root Canal" is keyword stuffing.
I regularly find Indian business websites with either no H1 at all (the page title is styled visually but not tagged as H1 in the HTML) or multiple H1s on a single page. Both are fixable in five minutes in any CMS.
H2s and H3s break the page into logical sections
Think of H2s as chapter headings. Each major topic gets its own H2. Sub-points within that topic get H3s. You don't need to force keywords into every subheading — just make them descriptive. Google reads these to understand the structure and depth of your page, and users rely on them to navigate.
Primary keyword appears in the first 100 words
This isn't about keyword stuffing. It's about confirming early that the page delivers on what the title promises. If your H1 says "Root Canal Treatment in Kochi" but your opening paragraph is about the clinic's founding story, Google has to work harder to connect the page to the keyword. Put the keyword in a natural sentence somewhere in the intro — that's all it takes.
Content length matches the topic's depth requirements
Long content isn't inherently better than short content. A page answering "what time does the clinic open" needs one sentence. A page targeting "root canal treatment cost Kochi" needs enough depth to genuinely answer what someone with that query wants to know — procedure overview, typical price range, what affects pricing, what to expect on the day. That usually takes 600 to 1,000 words.
The practical benchmark: open the top 3 pages ranking for your target keyword. Match or exceed their depth and specificity. Don't write to a word count — write to the question. For the full list of what each page needs, the guide on types of SEO explains how on-page fits into your overall strategy.
Search Intent and Content Quality
This is where most on-page SEO checklists go quiet, which is exactly why most of them don't produce results. You can get every technical item right and still not rank if your page doesn't match what the searcher wanted. Google's job is to show the most relevant result. If your page isn't that, the rest of this checklist doesn't save you.
Your page matches the dominant search intent for the keyword
There are four types of search intent:
- Informational: They want to learn something. "What is root canal treatment?"
- Navigational: They want a specific website. "Dr. Anand dental clinic Kochi"
- Commercial: They're comparing options. "Best dental clinic Kochi"
- Transactional: They're ready to act. "Book dental appointment Kochi"
A service page targeting "root canal treatment Kochi" needs to satisfy commercial and transactional intent — explain the procedure, show credentials, give pricing context, make it easy to book. If the page reads like a Wikipedia article on the topic, it won't rank for a commercial query regardless of how well the title tag is written.
The simplest test: Google your target keyword and look at what's already ranking. If positions 1 to 3 are all service pages, you need a service page. If they're all blog posts, you need a blog post. Match the format.
Content answers the full question, not just the surface query
Someone searching "root canal cost Kochi" doesn't just want a number. They want to know what affects the price, whether dental insurance covers it, how it compares to other cities, and whether the cheapest option is worth the risk. A page that answers all of that will outrank one that quotes a price and stops there.
Look at the top-ranking pages for your keyword and note every sub-question they cover. Then answer those — more specifically and with more useful detail than what's already ranking.
No keyword cannibalization across your site
Keyword cannibalization is when two or more pages on your site go after the same keyword. Google doesn't know which one to rank, so it either alternates between them unpredictably or ranks neither well. I've audited Indian clinic websites where the homepage, the about page, and the services page all targeted "dentist in Kochi." None of them ranked on the first page.
Each keyword needs one clearly designated page. If you find overlapping pages, either consolidate the content or differentiate the keyword focus between them.
Images and Media
Images are consistently the most broken area on Indian business websites — and also the easiest to fix. The same three issues show up in almost every audit I run.
All images are compressed and in a modern format
A hero image at 3.5MB isn't a minor issue. It can be the difference between a 1.8s LCP and a 6s LCP, and LCP is a Core Web Vital that directly affects rankings. Convert images to WebP and compress to under 150KB for standard page images, under 300KB for hero images. Squoosh (free, browser-based) or ShortPixel handle this without any technical knowledge needed.
Every image has a descriptive alt text
Alt text tells Google what an image shows and makes your site accessible for visually impaired users using screen readers. "Root canal procedure at Dr. Anand Dental Clinic, Kochi" is good alt text. "image1" is not. Neither is an empty alt attribute on a content image.
Decorative images — dividers, background textures — can have empty alt attributes intentionally. Every content image needs something descriptive.
Images have descriptive file names before uploading
Google reads file names. "dental-clinic-kakkanad-kochi.jpg" provides useful context. "DSC04821.jpg" provides nothing. Rename images before uploading — once they're in your CMS with a generic name, changing it means updating every reference to that file, which is far more work than naming them correctly at the start.
Internal Links and URL Structure
Internal linking is how you distribute authority across your site and signal to Google which pages matter most. It also keeps visitors on your site longer by pointing them toward related, useful content. Most Indian business websites either have no internal link strategy at all or rely entirely on navigation menus, which doesn't pass meaningful authority to deeper pages.
Key service and landing pages have internal links pointing to them
A page with no internal links pointing to it is an orphan page. It gets almost no crawl attention from Google and ranks poorly regardless of its content. Every important page on your site — service pages, location pages, core blog posts — should have at least 3 to 5 contextual internal links pointing to it from related pages.
When you publish a new blog post, go back to 2 to 3 existing pages and add a link to it from a relevant sentence. Don't drop links randomly — link from places where the destination is genuinely useful to someone reading that paragraph.
Anchor text is descriptive, not "click here"
Anchor text is the clickable text in a hyperlink. "Click here to learn more about our services" is weak. "Our root canal treatment page covers the procedure and costs in detail" is strong — the anchor text "root canal treatment page" tells Google exactly what the destination is about. Use descriptive anchor text consistently, but don't over-optimise by forcing exact-match keywords into every link. Vary it naturally.
URLs are short, readable, and contain the target keyword
Good URL: /services/root-canal-kochi/
Bad URL: /services/dental/?page_id=847&cat=treatments&lang=en
Keep URLs lowercase, hyphen-separated, and free of unnecessary filler words. Avoid dates in blog post URLs unless the content is specifically time-sensitive. "/blog/root-canal-kochi/" stays relevant indefinitely, while "/blog/2024/03/root-canal-kochi/" signals to Google that it might go stale.
Schema Markup and Page Experience
Schema and page speed sit at the overlap of technical and on-page SEO. They're in this checklist because they're implemented at the page level — each URL needs its own attention.
Relevant schema markup is implemented and validated
Schema markup (JSON-LD structured data) tells Google what type of content is on your page. A clinic without LocalBusiness schema is leaving rich result eligibility on the table. A blog post without Article schema isn't signalling that this is authored, dated content with a named expert behind it.
The schema types most Indian business websites need:
- LocalBusiness (or a specific subtype like Dentist, MedicalClinic) on every location-relevant page
- FAQPage on any page with a Q&A section — unlocks FAQ dropdowns in search results
- Article with author Person schema on every blog post
- BreadcrumbList on every page — adds breadcrumb trail below your search result
After implementing, validate using the Google Rich Results Test. Schema with validation errors does nothing — it has to be clean to count.
Page passes Core Web Vitals for mobile
Google's mobile-first indexing means your mobile version is what gets evaluated for rankings. A page that loads fine on a desktop and takes 8 seconds on a 4G connection in Kochi is a page with a ranking problem, not a connection problem. The three metrics to hit: LCP under 2.5s, INP under 200ms, CLS under 0.1. Check your pages in Google Search Console under the Core Web Vitals report.
Page is fully functional and readable on mobile without zooming
This sounds obvious. It's broken on a surprising number of Indian business websites, particularly older sites built on desktop-first templates. Check your most important pages on a mid-range Android phone. Look for text that's too small to read without pinching, buttons too close together to tap accurately, and tables that overflow the screen width. If any of those exist, Google notices — and so do the visitors who leave.
Full Checklist: All 20 Items
Use this as your working audit sheet. Go through each important page on your site and mark off what's done.
| # | Item | Section | Priority |
|---|---|---|---|
| 1 | Title tag is 50–60 characters and contains the target keyword | Title & Meta | Critical |
| 2 | Every page has a unique title tag | Title & Meta | Critical |
| 3 | Meta description is 150–160 characters with a call to action | Title & Meta | High |
| 4 | Every page has a unique meta description | Title & Meta | High |
| 5 | One H1 per page, containing the primary keyword | Headings | Critical |
| 6 | H2s and H3s break the page into logical sections | Headings | High |
| 7 | Primary keyword in first 100 words | Headings | High |
| 8 | Content depth matches the topic's requirements | Content | High |
| 9 | Page matches dominant search intent | Intent | Critical |
| 10 | Content answers the full question | Intent | High |
| 11 | No keyword cannibalization | Intent | High |
| 12 | Images compressed, WebP format | Images | Critical |
| 13 | All images have descriptive alt text | Images | High |
| 14 | Images have descriptive file names | Images | Medium |
| 15 | Key pages have 3–5 internal links pointing to them | Links | High |
| 16 | Anchor text is descriptive | Links | Medium |
| 17 | URLs are short, readable, keyword-containing | Links | High |
| 18 | Relevant schema markup implemented and validated | Schema | High |
| 19 | Page passes Core Web Vitals for mobile | Technical | Critical |
| 20 | Fully readable and functional on mobile | Technical | Critical |