
Short answer: To do on-page SEO step by step: choose one main query per page, match the search intent, write a unique title tag and meta description, use one clear H1 and logical subheadings, answer the query early, cover the subtopics readers expect, add descriptive internal links, use a short readable URL, optimise images and alt text, add suitable schema, check mobile speed, then measure in Search Console and improve.
This guide is for site owners, writers and junior SEOs who want a reliable order of work for optimising a single page, whether it is a blog post, a service page or a product page. I have written it in the sequence I follow when I optimise pages for clients, with the checks I use and the mistakes I find most often. There is a checklist you can tick through as you go, and a worked example at the end.
What on-page SEO covers (and what it does not)
On-page SEO is everything you change on the page itself to help people and search engines understand it and choose it: the content, the title and description, headings, links within your site, images, URL and structured data. It sits between two other areas:
| Area | What it covers | Example tasks |
|---|---|---|
| On-page SEO | Content and HTML of an individual page | Title tag, headings, content gaps, internal links, alt text, schema |
| Technical SEO | How the whole site is crawled, rendered and indexed | Robots.txt, sitemaps, canonicals, site speed, redirects |
| Off-page SEO | Signals from outside your site | Backlinks, brand mentions, reviews, digital PR |
The lines blur (page speed is partly on-page), but the split helps you decide who does what. If the page is not indexed at all, fix that first; my guide to how technical SEO works covers it.
Step 1: Choose one main query and confirm the intent
Every page should have one main job. Pick the query that best describes it, then search it in a private window and note what ranks: the page type (guide, list, product, service page, tool), the format (steps, comparison, table) and the angle (beginner, price, local, current year). If the results are all how-to guides and your page is a sales page, the page type is the problem, not the wording.
Group close variations with the main query. “On-page SEO steps”, “how to do on-page SEO” and “on-page optimisation process” belong on one page. Separate pages for each would compete with each other.
Rather have an expert do this for you?
Hand it over and get back to running your business.
Step 2: Write the title tag
The title tag is the main source for the clickable headline in search results, but Google’s title link documentation says it can also use the page’s main visible title, H1 and other headings, the og:title tag, anchor text pointing to the page and more. In practice, Google rewrites titles that are vague, stuffed or do not match the page.
- Lead with the query in natural wording, then add what makes the page worth clicking: a format, a year when it truly matters, or an audience.
- Keep it unique. Google advises avoiding repeated or boilerplate text across titles.
- Brand concisely, usually at the end after a pipe or hyphen.
- Mind the length. Google has no maximum, but it truncates to fit the device, so I aim for roughly 50 to 60 characters so the important words show.
You can check how a title and description will look with my free SERP snippet preview tool, and my guide to optimising title tags has more examples.
Step 3: Write the meta description
Meta descriptions do not affect rankings directly, and Google often writes its own snippet from the page text. In Ahrefs’ 2020 study of 20,000 keywords, Google showed the page’s own description only about 37% of the time. That is not a reason to skip it. A good description is shown more often for the main query, and it is what people read before deciding to click.
Write one or two sentences that say what the page gives the reader and why it is different, include the main query naturally, and keep it to roughly 140 to 155 characters so it is less likely to be cut off. More detail is in my guide to writing meta descriptions.
Step 4: Structure the page with headings
Use one H1 that matches the page’s topic (most WordPress themes print the post title as the H1 for you). Under it, use H2s for the main sections and H3s for sub-points. Headings should describe what follows, so that a reader skimming them, or a system extracting a passage, understands the section without reading the whole page.
- Phrase some H2s as the questions people ask, where that reads naturally.
- Do not skip levels for styling; change the CSS instead.
- Do not force the exact keyword into every heading.
Step 5: Write content that satisfies the query
This is where most of the ranking difference comes from. Three checks I run on every page:
- Answer first. Put the direct answer in the first 100 words. The Nielsen Norman Group found people spent about 57% of their viewing time above the fold and 74% in the first two screenfuls, so the opening carries most of the weight.
- Cover the expected subtopics. List what at least two of the top three results cover. Those are the reader’s baseline expectations.
- Add something they lack. A worked example, a decision table, current prices or rules, a local detail, a screenshot from real work, or a mistake you see in practice.
Write in short paragraphs, use lists and tables where they make information easier to scan, and cut anything that repeats. Show who wrote the page and why they know the subject; my notes on E-E-A-T on-page signals list what to add. Use the main query where it reads naturally (title, H1, opening) and let related words do the rest; there is no ideal keyword density.
Step 6: Add internal links
Internal links help Google discover pages, understand how they relate, and pass authority from strong pages to newer ones. For each page you optimise, do two things: link out from it to the most relevant related pages, and add links to it from existing pages that already get traffic. Use descriptive anchor text that tells the reader what they will find, and avoid using the same anchor for different URLs. My guide to internal linking explains how to find the best source pages.
Add external links where a reader would want to check a fact: official documentation, the original study, or a regulator. Linking to a good source is a service to the reader, not a leak of ranking value.
Step 7: Set a clean URL
Use a short, readable slug with hyphens between words, describing the topic: /on-page-seo-checklist/ rather than /?p=933 or /2026/10/09/the-best-on-page-seo-checklist-for-beginners-and-experts/. Avoid dates in slugs for content you plan to update. Do not change URLs on established pages just to add a keyword; if you must, 301-redirect the old URL.
Step 8: Optimise images
- Compress images and use modern formats such as WebP; serve them at the size they are displayed.
- Use descriptive file names (
gbp-category-settings.webp, notIMG_2041.jpg). - Write alt text that describes the image for someone who cannot see it. Do not stuff keywords; see my guide to writing alt text.
- Set width and height so images do not shift the layout as they load.
Step 9: Add structured data where it fits
Structured data helps search engines understand what a page contains and can make it eligible for rich results. Use the types that match the visible content: Article for blog posts, Product with offers and reviews for products, LocalBusiness for location pages, BreadcrumbList for navigation. Only mark up what readers can see on the page. Test with Google’s Rich Results Test before publishing. Note that FAQ rich results are now limited to well-known government and health sites, so FAQ markup will not usually create rich results for business sites, though clear FAQ content is still useful to readers. My schema markup guide has templates.
Step 10: Check mobile experience and speed
Google indexes the mobile version of your pages, so check the page on a real phone: is the main content and all the text from desktop present, are buttons easy to tap, and does anything pop up over the content? Then check Core Web Vitals in PageSpeed Insights. Interaction to Next Paint (INP) replaced First Input Delay as a Core Web Vital on 12 March 2024 (web.dev), so older guides that mention FID are out of date.
Step 11: Measure, then improve
Record a baseline before you change anything: clicks, impressions, average position and CTR for the page in Search Console over 28 days. Review again after four to eight weeks. If impressions rose but clicks did not, work on the title and description. If neither moved, revisit intent and content gaps. Avoid judging results across a confirmed core update.
On-page SEO checklist
On-page SEO checklist for one page
- One main query: chosen, with close variations grouped on the same page.
- Intent matched: page type and format match what currently ranks.
- Title tag: unique, query first, about 50 to 60 characters, brand at the end.
- Meta description: 140 to 155 characters, states the payoff, includes the query.
- One H1: matches the topic; H2s and H3s describe their sections.
- Answer first: the query is answered within the first 100 words.
- Subtopics covered: everything 2 of the top 3 results cover, plus something they lack.
- Author and sources: byline, experience note and cited facts.
- Internal links out: 3 or more to related pages with descriptive anchors.
- Internal links in: added from existing pages that get traffic.
- URL: short, hyphenated, descriptive, no dates.
- Images: compressed, sized, descriptive file names and alt text.
- Schema: the right type for the page, matching visible content, tested.
- Mobile: full content present, no intrusive pop-ups, Core Web Vitals checked.
- Baseline recorded: 28-day Search Console numbers saved for comparison.
Ticks are saved in your browser. You can also run a page through my free on-page SEO checker to catch missing tags.
Worked example: optimising a service page
This is an illustrative example, not a client case. A Karachi accounting firm has a page titled “Services” with a 120-word list of everything it does, ranking around position 25 for “tax filing services Karachi”.
| Element | Before | After |
|---|---|---|
| Main query | None chosen | Income tax return filing in Karachi (one page per service) |
| Title tag | Services | Firm Name | Income Tax Return Filing in Karachi | Firm Name |
| Opening | “Welcome to our firm, established…” | Who it is for (salaried, freelancers, businesses), what is included, typical turnaround |
| Content | List of services | Documents needed, FBR filing deadline, steps, fee range, FAQs, qualified accountant’s name |
| Internal links | None | Linked from the homepage and three related blog posts; links to the contact page |
| Schema | None | AccountingService with address and hours matching the Google Business Profile |
None of these changes is clever. Together they turn a page that matches no query well into the most useful answer for one query. For more on this page type, see my guide to optimising a service page.
On-page mistakes I find most often
- Duplicate titles across dozens of pages, usually from a theme or plugin default.
- Thin service pages that list services without saying anything specific about them.
- Two pages chasing one query, such as a blog post and a service page on the same topic, both with the same title.
- Keyword-stuffed alt text and footers listing areas or services.
- Orphan pages with no internal links pointing to them.
- Outdated advice left on old posts, such as FID instead of INP or old character limits presented as rules.
Frequently asked questions
What are the main elements of on-page SEO?
Content that matches search intent, the title tag, meta description, headings, internal links, URL, images and alt text, structured data, and the mobile experience of the page.
How do I start on-page SEO for a new website?
Map one main query to each important page first, then work through the steps above starting with the pages that matter most for your business, usually the homepage and main service or category pages.
How long does on-page SEO take to show results?
Changes to pages Google already ranks can show within a few weeks of being recrawled. New pages and competitive queries usually take three to six months, and results depend on competition and links as well.
Can I do on-page SEO without technical knowledge?
Mostly, yes. In WordPress, plugins such as Yoast or Rank Math let you set titles, descriptions and basic schema without code. You may need help for speed, structured data beyond the basics, or theme issues.
What is the difference between on-page and off-page SEO?
On-page SEO is what you change on your own pages. Off-page SEO is about signals from elsewhere, mainly links, mentions and reviews. Both matter, and strong on-page work makes off-page effort more effective. My off-page SEO page explains the other half.
How often should I review on-page SEO?
Review important pages at least once a year, and whenever Search Console shows a page losing clicks or ranking for new queries it does not fully answer.
Sources
- Google Search Central, “Influencing your title links in search results” (documentation, accessed 2026).
- Ahrefs, “Meta description study” of 20,000 keywords (2020).
- Nielsen Norman Group, “Scrolling and attention” (2018).
- web.dev, “Interaction to Next Paint becomes a Core Web Vital on March 12” (2024).
If you would rather have the work done for you, my on-page optimisation services cover full page audits and rewrites, or you can ask me a question about a specific page.
Request received
Thank you! Saad will contact you within the next 24 hours.
Keep an eye on your phone and inbox.
