Publishing content without checking on-page SEO is the equivalent of writing a great email with the wrong subject line โ the content might be excellent, but the signals that tell search engines what it is about are missing or weak. Google needs to understand your page before it can rank it, and on-page optimisation is how you help it do that.
This checklist covers every element worth checking before you publish. It is designed to be practical rather than exhaustive โ the items here actually move the needle, not just look good in an SEO audit report.
What On-Page SEO Actually Covers
On-page SEO refers to all optimisation that happens on the page itself โ as opposed to off-page factors like backlinks, or technical factors like site speed. It is everything you can control directly in your content and HTML.
The goal is simple: give Google strong, consistent signals about what your page covers, who it is for, and why it deserves to rank highly for the target query. Every element on this checklist contributes to that signal.
What on-page SEO is not: stuffing your keyword into every paragraph, using invisible text, or trying to trick algorithms. Those tactics are either ineffective or actively harmful. Good on-page SEO looks like good writing โ clear, structured, relevant, and useful.
Keyword Placement
Your target keyword needs to appear in certain places for Google to confirm the topical relevance of the page. But placement matters far more than frequency. Getting the keyword in the right structural locations once is better than using it ten times in body text.
The critical placement locations:
- Title tag โ ideally towards the start of the title
- H1 heading โ your main page headline; should match or closely paraphrase the title tag
- First 100 words of the body content
- At least one H2 โ either exact match or a natural variation
- URL slug โ clean, hyphen-separated version of the keyword
- Meta description โ helps click-through rate, not a direct ranking signal
- Image alt text โ at least one image with keyword-relevant alt text
After these placements, use semantic variations throughout the body โ related terms, synonyms, and related concepts. A post about "keyword research for small businesses" should naturally mention "search volume," "long-tail keywords," "Google Search Console," and similar terms. These are relevance signals, not keyword stuffing.
Title Tags and Meta Descriptions
The title tag is the single most important on-page SEO element. It tells Google what the page is about and is the primary text shown in search results. Get this wrong and nothing else compensates for it.
Title tag best practices
- Include the primary keyword, preferably near the beginning
- Keep it between 50โ60 characters โ longer titles get truncated in search results
- Make it descriptive and compelling, not just a keyword โ it needs to earn the click
- Avoid duplicate titles across pages โ every page needs a unique title
Meta description best practices
- Write 145โ160 characters โ the sweet spot before truncation
- Include the primary keyword naturally โ Google bolds matching terms in the snippet
- Treat it as an ad for the page: what specific value does this page offer?
- Include a soft CTA if appropriate ("Learn how," "See the full checklist," "Find out why")
URL Structure
URLs should be short, readable, and keyword-inclusive. They are a minor but real ranking signal, and a clean URL structure makes your content easier to share and reference.
- Use hyphens to separate words, not underscores or spaces
- Include the primary keyword in the slug
- Remove stop words where the URL still makes sense without them (the, a, and, of)
- Avoid dates in URLs for evergreen content โ they make pages feel outdated and complicate updates
- Keep it short: three to five words in the slug is usually sufficient
Good: donaldngonyo.com/guides/keyword-research-small-business
Avoid: donaldngonyo.com/blog/2024/03/27/how-to-do-keyword-research-for-your-small-business-in-2024
Headings and Content Structure
Headings serve two audiences: readers who scan before committing to read, and search engines that use heading hierarchy to understand content structure. Getting them right helps both.
- One H1 per page โ the page title. Multiple H1s confuse the hierarchy.
- H2s for main sections โ major topic divisions; include keyword variations where they fit naturally
- H3s for subsections โ detail under an H2; useful for FAQ-style content where each question can be an H3
- No heading skips โ do not jump from H2 directly to H4; the hierarchy should be logical
Headings should answer specific questions or make specific promises about what the section delivers. A heading like "More Information" tells nobody anything. "How to Choose the Right Keyword Difficulty" tells readers what they will get and gives Google a relevance signal.
Images and Media
Images are a frequently neglected on-page SEO element. A post with ten images and no alt text is leaving a significant number of relevance signals unwritten.
- Alt text for every image โ describe what the image shows; include the primary keyword in at least one image's alt text where it fits naturally
- File names before upload โ rename image files before uploading:
keyword-research-tools.jpgis better thanIMG_2043.jpg - Compress images โ large image files slow page load, which hurts both rankings and user experience. Keep images under 150KB where possible; use WebP format if your CMS supports it
- Captions where relevant โ Google reads captions; use them to add context and relevance where they make sense, not artificially
Every post I write includes on-page optimisation built in โ from title tags to internal links โ so you do not have to check a separate list.
Internal and External Links
Links within and from your content carry real SEO weight โ and they are also a major reader experience factor. A post with no internal links is a dead end. A post with thoughtful links to related content keeps readers on your site, signals topical depth to Google, and distributes page authority through your content ecosystem.
Internal links
- Link to at least two to three related pages on your own site from every post
- Use descriptive anchor text โ not "click here" but the relevant topic or page title
- Link to cornerstone content from supporting posts, and vice versa โ build a content cluster, not isolated posts
- Check for orphan pages โ posts that have no internal links pointing to them are much harder for Google to discover and index
External links
- Link to authoritative, relevant sources where you reference data, studies, or specific claims
- Do not link to direct competitors โ link to complementary references instead
- Use
rel="nofollow"on sponsored or affiliate links - Open external links in a new tab to keep readers on your site
See the full guide on internal linking strategy for a deeper treatment of how to build a content cluster that compounds authority over time.
User Experience Signals
Google increasingly uses engagement signals to determine how well a page serves its visitors. Pages with high bounce rates, short dwell times, or poor mobile experience rank lower over time โ even if their on-page SEO is technically correct. User experience and SEO are no longer separate concerns.
- Mobile responsiveness โ Google indexes the mobile version of your page first. If your site is not fully responsive, fix that before any other optimisation.
- Page speed โ use Google PageSpeed Insights to diagnose load time issues. Slow pages lose both rankings and readers.
- Readability โ short paragraphs, clear fonts, sufficient line-height, and adequate contrast. Content that is hard to read on screen gets abandoned, and that abandonment affects rankings.
- No intrusive pop-ups โ full-screen interstitials that appear immediately on mobile are a Google ranking penalty factor.
- Clear content hierarchy โ readers should be able to scan your page and understand what it covers without reading every word.
Schema Markup
Schema markup is structured data added to your HTML that tells Google what type of content the page contains โ article, FAQ, how-to guide, recipe, product. It is not a direct ranking factor, but it enables rich results in search (star ratings, FAQ dropdowns, step-by-step previews) that significantly increase click-through rates.
The most valuable schema types for blog content:
- Article schema โ marks the page as a blog post or news article; includes author, date published, date modified
- FAQ schema โ when a page includes a question-and-answer section, marking it up with FAQ schema can trigger dropdown results in Google
- HowTo schema โ for step-by-step guides; can generate rich results showing individual steps in the search listing
- BreadcrumbList schema โ shows the page hierarchy in the search result URL, improving click-through rates
You do not need to write schema manually. Plugins like Yoast SEO (WordPress) and tools like Google's Rich Results Test make implementation straightforward.
The Full Pre-Publish Checklist
Use this before publishing every piece of content. Working through it takes around ten minutes; skipping it routinely costs you rankings.
Keyword & Content
Title Tag & Meta Description
URL, Headings & Structure
Images
Links
Technical & UX
Running this checklist before every piece of content ensures your on-page fundamentals are consistently solid. Over time, it becomes instinctive โ these elements become part of the writing process rather than an afterthought. Combined with the right keyword targeting and consistent publishing, it is what separates content that ranks from content that just exists.
For the writing side of SEO-optimised content, see the companion guide: how to write blog posts that rank on Google.