Quick Answer: Optimising a blog post is the last forty minutes of the job, not the whole job. The checklist below tells Google what the post is about and makes it easy to lift. It cannot make a post worth lifting — that part was decided before you opened the editor.
Every in-house marketer knows this moment. The draft is done, someone asks “did you SEO it?”, and you go looking for a checklist. You find one with twenty-five items, half of them things you have no access to, and you tick what you can.
Three months later the post sits on page four and nobody can say which item was supposed to move it.
This is the shorter, ordered version we use at ZenWeb on client blogs, plus the part most checklists leave out: what on-page work actually changes, and what it never will.
Source video: On-Page SEO Pt 2: How to Optimize a Page for a Keyword, from the Ahrefs SEO course, on YouTube
Quick Answer: On-page optimisation is a translation job. It takes a post that already deserves to rank and makes that obvious to Google. If the post says what forty other pages already say, no amount of tag-fixing will rescue it.
This is the part most checklists skip. Google’s 2026 guidance for AI search says that “commodity” content — the generic 7 Tips For… post that could have come from anyone — adds little unique insight and is not what their systems are built to surface. The same document tells you to stop chasing tricks: no llms.txt file, no “chunking” your text for AI, no magic word count.
What the ten items below do, and do not do:
Not sure whether your posts are worth optimising in the first place?
That question is answered before you write, not after. See how our SEO team plans blog content →
Quick Answer: Yes, but the size of the move depends almost entirely on the post underneath. Across client blogs, the same on-page pass lifted a substantive post with an original angle by around nine positions in 90 days, and a thin post by fewer than four.
We ran the same ten-item pass on already-published posts and tracked the median Google Malaysia position before and 90 days after. Nothing else changed: no new links, no rewrite of the argument.
| Content tier | Median position before | Median position after 90 days | Positions gained |
|---|---|---|---|
| Substantive post, original angle or data | 18.4 | 9.1 | 9.3 |
| Substantive post, common angle | 24.7 | 17.9 | 6.8 |
| Thin post, under 600 words, no original point | 41.2 | 37.6 | 3.6 |
| Post competing with another post on the same site | 33.5 | 32.8 | 0.7 |
Source: ZenWeb client tracking across 12 industries, Malaysian SME blogs, 2024–2026.
The bottom row is the one to remember. When two of your posts chase the same query, on-page work is almost wasted. Merge them first, then optimise the survivor.
Quick Answer: Work through these ten items in this order on every post. The order matters: each one narrows what the next one has to decide, so you never end up rewriting a title tag for a keyword you later change your mind about.
Forty minutes in that sequence. The rest of this piece is detail on the items people get wrong.
Quick Answer: There is no hard character limit on a title. Google says the title link is simply truncated to fit the device, and it will replace your title if it thinks the page deserves a better one. Write for the searcher, keep the keyword early, and stop counting to sixty.
Most checklists give you a number — 60 characters, 155 characters — and stop there. Google’s documentation is more useful. It states that there is no limit on how long a title element can be, and the title link is truncated in search results as needed, typically to fit the device width. It also lists what it may pull from instead: your H1, your og:title, prominent text, even anchor text from other sites.
The rules that follow:
Quick Answer: It is rarely the technical items. On the blogs we audit, the most common gaps are internal links, an answer-first opening, and question-shaped headings — the three items that decide whether Google and AI Overviews can use the page at all.
What we find on first audit, as a share of the posts we check:
| Missing item | Share of posts affected | Share |
|---|---|---|
| No contextual internal links in the body | 71% | |
| No answer-first opening paragraph | 66% | |
| No question-shaped H2 headings | 61% | |
| Title tag simply copied from the H1 | 58% | |
| Meta description left blank or auto-generated | 54% | |
| Images with no alt text | 49% | |
| More than one H1 on the page | 22% |
Source: ZenWeb on-page audits of Malaysian SME blog posts, 2024–2026.
Notice the shape of it. The items everyone remembers — alt text, one H1 — are least often broken. The three at the top decide whether a page can be understood and quoted at all, and they are missing on roughly two posts in three.
Want to know which of these gaps your blog has?
You can run the check yourself with our simple DIY SEO audit walkthrough →
Quick Answer: Put a 40 to 60 word answer under every heading, phrase the headings the way people search, and add three to five internal links from the body. These are the three most-skipped items and the three that decide whether Google and AI Overviews can use the page at all.
Google does not want content chopped into artificial fragments for AI. What it rewards is content organised so a human can follow it: clear sections, real headings. Answer-first is that principle taken seriously.
Links are the third leg, and the one most often missing. Google’s documentation is blunt about anchor text: it helps Google understand what the linked page is about, which is why “click here” wastes a link. Give each post two or three links to sibling posts — this one only makes sense after doing keyword research for your own blog posts — one to the service page the topic belongs to, and one inbound link from an older post. A post with no inbound links is an orphan, and orphans rank badly however good they are.
Quick Answer: Internal links, the title tag and the answer-first opening produce most of the movement for a fraction of the effort. Alt text and schema are worth doing, but they earn visibility rather than positions.
Median position change per item, 90 days on, one item at a time.
| Checklist item | Minutes | Median positions gained | What it is really for |
|---|---|---|---|
| Add 3–5 contextual internal links | 20 | 3.4 | Rankings |
| Rewrite the title tag for the target query | 10 | 2.6 | Rankings and clicks |
| Restructure H2s around real questions | 30 | 2.2 | Rankings and snippets |
| Add the answer-first opening | 15 | 1.9 | Snippets and AI answers |
| Write the meta description | 8 | 0.4 | Click-through rate |
| Compress images and add alt text | 25 | 0.3 | Speed and image search |
| Add FAQ or HowTo schema | 20 | 0.2 | Eligibility for rich results |
Source: ZenWeb operational data, single-item changes tracked on Malaysian SME blog posts, 2024–2026.
The last three rows are not failures. They do a different job. Judge the meta description on click-through rate, and schema on whether the page becomes eligible for a rich result — Google is explicit that there is no special markup needed for generative AI search, so never bolt schema onto content that does not match it. Images earn their keep on speed: resize before uploading, because a 4MB hero image is the most common speed problem on an SME blog and no plugin fully undoes it.
Sitting on 40 posts that were never optimised?
Retrofitting existing posts is usually cheaper than writing new ones. Get a free review of your existing blog →
Quick Answer: Google replaces the title link more often every year, and it happens most to titles that were never written properly. On client blogs, titles copied straight from the H1 were replaced roughly two and a half times as often as titles written deliberately for the query.
Tracked across client blog posts, half-year by half-year:
| Period | Title written for the query | Title copied from the H1 |
|---|---|---|
| First half 2024 | 12% | 34% |
| Second half 2024 | 14% | 37% |
| First half 2025 | 15% | 41% |
| Second half 2025 | 17% | 44% |
| First half 2026 | 19% | 48% |
Source: ZenWeb client tracking, Malaysian SME blog posts, 2024–2026.
The gap between the two columns is the whole argument for item two on the checklist. Google is not being difficult; it is filling a gap you left. Write a title that describes the page for the searcher and you are far likelier to keep the one you wrote.
Quick Answer: Submit the URL for indexing, add one internal link to it from an older post, and set a 90-day reminder to check impressions and average position in Search Console. Traffic is the wrong first measure — it arrives months after the signal does.
The post-publish routine takes ten minutes, and it is where most in-house blogs quietly fall apart:
Impressions and position are the honest early numbers, conversions the eventual one, so it pays to have conversion tracking set up properly in GA4 before the blog starts producing leads. Then package it like any other channel: our guide to building a marketing report your boss will actually read covers the framing, and the discipline you would bring to a first Google Ads campaign — decide the success measure before you spend — applies here too.
To optimise a blog post for SEO is forty minutes of ordered, unglamorous work: one keyword, a real title tag, a real meta description, a clean slug, an answer at the top, question-shaped headings, internal links, one primary source, tidy images, then schema and indexing.
Do it in that order and the time lands on the items that move the page. What the checklist cannot do is make a forgettable post memorable — that was decided when you chose the topic and the angle. Get those right and the same forty minutes is worth twice as much. If you would rather have the whole cycle handled for you, that is what our SEO team does for Malaysian businesses every month.
There is no ideal length. Google states that no page length is required, and that shorter or longer pages both work depending on the topic. Write until the query is answered, then stop. Padding to hit a word count adds nothing a reader or a search engine wants.
One primary keyword, plus its close variants and the questions that belong to it. If another post on your site targets the same query, merge them. Two of your own pages competing for one phrase wastes more on-page effort than any other mistake.
No. It is not a ranking factor, and Google often rewrites it to match the query. It still earns clicks at the position you already hold, so write it as short ad copy, not a summary of the article.
Expect impressions and average position to move within four to eight weeks, with a clearer picture at 90 days. Traffic arrives after the ranking signal, so judging a post on visits after a month makes good work look like failure.
Usually more worth it than writing new ones. Old posts already have crawl history and often impressions, so an on-page pass has something to build on. Start with posts that get impressions but almost no clicks.
Want your blog to earn enquiries, not just tick boxes?
Book a free 30-minute strategy session. We will audit your existing posts, show you which ones are closest to ranking, and hand you the fixes in priority order.
Complete the form and our team will contact you to discuss your goals. Let’s grow your business.

Online