DEV Community

Usman Javed
Usman Javed

Posted on

On-Page SEO Checklist Every Developer Should Run Before Handing a Website to a Client

You spent weeks building the site. The design is clean, the code is solid, the client loves how it looks. You hand it over and two months later they come back asking why nobody can find them on Google.

It happens constantly. Not because the development work was poor — but because on-page SEO is one of those things that lives in the gap between what developers build and what SEO specialists configure. And when nobody owns that gap, it stays empty.

Running through this checklist before handover takes less than a day. What it prevents can save weeks of awkward conversations later.


Title Tags — The Single Most Important Element

Every page on the site needs a unique, descriptive title tag between 50 and 60 characters. This is the headline Google displays in search results and it carries more ranking weight than almost any other on-page element.

The most common mistakes are duplicate title tags across multiple pages, title tags that just say the business name with nothing else, and title tags that are so long Google truncates them mid-sentence.

Check every page individually. A homepage title, a services page title and a blog post title should all be completely different from each other and should each contain the primary keyword that page is targeting.


Meta Descriptions — Often Ignored, Always Worth Writing

Meta descriptions do not directly influence rankings but they directly influence click-through rates — which does influence rankings indirectly.

A well-written meta description between 150 and 160 characters tells the searcher exactly what they will find on the page and gives them a reason to click rather than scroll past. Leaving them blank means Google generates them automatically, usually pulling whatever text appears first on the page — which is rarely the most compelling sentence on it.

Write a unique meta description for every page. Include the primary keyword naturally. Make it sound like something a human wrote for other humans.


Heading Structure — More Than Just Visual Hierarchy

Every page should have exactly one H1 tag. Not zero, not two — one. It should contain the primary keyword for that page and clearly describe what the page is about.

Below that, H2 tags should be used for main sections and H3 for subsections within those. The structure should read logically from top to bottom — if you stripped out all the body text and read only the headings in sequence, you should be able to follow what the page is about.

Search engines use heading structure to understand the scope and organisation of a page's content. A page with a logical, well-structured heading hierarchy consistently signals better than one where headings are used purely for visual styling with no regard for hierarchy.


URL Structure — Keep It Clean and Descriptive

URLs should be short, descriptive and readable by a human without needing to decode them.

Good: yoursite.com/on-page-seo-services

Not good: yoursite.com/page?id=4927&cat=12&ref=nav

WordPress defaults to the second format unless you change the permalink structure to Post Name before the site has any indexed pages. This is one of those settings that needs to be configured at the very beginning of the build — changing it after launch breaks every URL that has already been indexed and requires setting up redirects.

Hyphens separate words in URLs. Underscores do not. This is a small detail that matters.


Image Optimisation — The Easiest Win Most Developers Leave on the Table

Every image on the site needs three things: a descriptive file name before upload, an alt text attribute that describes what the image shows, and a file size that does not add unnecessary weight to the page load.

File names like IMG_4823.jpg tell search engines nothing. hero-section-web-design-services.jpg tells them quite a lot.

Alt text serves two purposes — it describes images to screen readers for accessibility and it gives search engines additional context about the page content. It should describe the image accurately without being a keyword stuffing exercise.

On file size — a full-width hero image should not be a 4MB JPEG. Compress images before upload or use a plugin that handles this automatically. The difference in page load time is significant, especially on mobile connections.


Internal Linking — Often Underdeveloped, Always Valuable

Internal links connect pages within the same website and do two important things. They help search engines discover and crawl all the pages on the site, and they distribute page authority from stronger pages to weaker ones.

A homepage typically accumulates the most external backlinks and therefore the most authority. Internal links from the homepage to key service or product pages pass some of that authority along. Pages that receive no internal links are harder for search engines to find and rank.

Every important page on the site should be reachable from at least two or three other pages through natural, contextually relevant internal links. Not a footer list of every page — actual links within the body content of relevant pages that give searchers and search engines a reason to follow them.


Canonical Tags — Prevent Duplicate Content Problems

Canonical tags tell search engines which version of a URL is the preferred one. Without them, a page accessible at both http and https versions, or with and without a trailing slash, or with and without www — all look like separate pages with duplicate content to a crawler.

WordPress handles some of this automatically with certain SEO plugins but it is worth checking manually, particularly on eCommerce builds where filtered product pages can generate dozens of near-identical URLs.


Schema Markup — Underused and Genuinely Helpful

Schema markup is structured data added to a page's HTML that helps search engines understand what kind of content is on the page — a business, a product, an article, a review, an event, a recipe.

It does not guarantee rich results in search but it makes them possible. A local business page with proper schema markup has a better chance of appearing with a knowledge panel. A blog post with article schema has a better chance of appearing in Google's top stories.

The implementation is straightforward with most SEO plugins handling the basics. Custom schema for specific content types requires a bit more work but it is well worth the effort for clients in competitive local markets.


Page Speed and Core Web Vitals

Google measures three Core Web Vitals as ranking signals — how fast the largest visible element loads, how quickly the page becomes interactive, and how much the layout shifts while loading.

Run every page through Google PageSpeed Insights before handover. Anything scoring below 70 on mobile deserves attention. The most common culprits are unoptimised images, render-blocking scripts, missing caching configuration and an overloaded plugin stack.

Fix what you can during the build rather than leaving it as a post-launch task. Page speed problems are always easier to address before a site is live than after.


The Handover Point

On-page SEO is not a one-time task — it is an ongoing practice as new pages get added, content gets updated and search algorithms evolve. But getting the foundations right before handover means the site starts with a clean, optimised base rather than a backlog of technical debt the client will eventually pay someone to fix.

Run the checklist. Check every page. Document what you have done so the client knows what is in place when they take ownership.


Tags: #seo #webdev #wordpress #tutorial #beginners

Top comments (0)