Marketing

The On-Page SEO Checklist to Run Before Every Publish

I have published enough posts to know that the writing is the easy part. The part that actually decides whether anyone reads it happens in the ten minutes after I think I am done, when I stop being a writer and become a checker. For years I skipped that step. I would finish a draft, feel good about it, hit publish, and then quietly wonder why a piece I had poured a weekend into never climbed past the second page.

The answer was almost never the words. It was a title tag I wrote in three seconds, an image I forgot to compress, a heading structure that made sense to me and to no crawler on earth. This is the checklist I now run on every single post before it goes live. It is not theory. It is the exact sequence I click through, top to bottom, and it takes about ten minutes once it becomes muscle memory. Most of it needs no paid tool. It only needs you to slow down long enough to look.

Start with intent, not the page

Before anything technical, open a private browser window and search the exact phrase you want to rank for. This one habit has saved me more wasted afternoons than any tool. Google has already decided what people want when they type that query, and the ten results on that page are the answer key sitting in front of you.

Look at the format first. If every result is a numbered list and you wrote a flowing essay, you have a mismatch that no amount of on-page tuning will fix. If the results are product pages and you wrote a guide, same problem. Note the angle too. A search for best running shoes wants current picks and comparisons, not the history of the running shoe. Match the dominant format, then earn your spot by doing it better: more useful, more current, easier to skim. Intent is the gate. Everything below is how you walk through it once you are sure you belong on that page.

Write the title tag like it matters

Your title tag is the single line that does the most work in search, and it is the thing writers rush the most. Put the primary keyword near the front, keep it readable, and write it for a human deciding whether to click, not for a robot counting words.

Google shows roughly the first 50 to 60 characters on desktop before it truncates, so aim to land your meaning inside that window. Stay under about 60 characters and you will rarely see the cut-off in the results. Keep every title on your site unique, because two pages fighting over the same title confuse readers and crawlers alike.

Title tags, weak vs strong

WeakStrong
Home | Blog | My WebsiteOn-Page SEO Checklist: 11 Pre-Publish Checks
Everything You Ever Wanted to Know About On-Page SEO Optimization TipsOn-Page SEO Checklist to Run Before Every Publish
One honest caveat.  Google rewrites title tags more often than most people realize. A large analysis of tens of thousands of titles by Zyppy found roughly six in ten were rewritten. You cannot fully control that, but a clear, well-sized, keyword-forward title is far less likely to be swapped than a vague or bloated one.

Treat the meta description as ad copy

A meta description will not directly lift your ranking. It earns the click, and the click is what you are really after. So treat it like a two-line advertisement for the page rather than a summary you owe someone.

Write around 150 to 160 characters, work the keyword in naturally so it bolds when it matches the query, and end with a reason to click. Be specific about what the reader gets. Learn about SEO is a wasted line. The exact ten-minute checklist I run before every post, with the limits and thresholds that matter gives someone an actual reason. Expect Google to rewrite these often too, but write a sharp one anyway. On the queries where it keeps yours, that line is the difference between a scroll-past and a visit.

Clean up the URL before it locks in

Short URLs read better, share better, and tend to perform better. Before you publish, look at the slug your platform generated and fix it. Strip the filler, drop dates unless the content is genuinely time-bound, and cut stop words where the meaning survives without them. Use hyphens between words, never underscores or spaces, and keep everything lowercase so you never trip over a duplicate caused by a stray capital letter.

Slug clean-up, before and after

Instead ofPublish this
/2026/08/the-best-on-page-seo-checklist-for-you/on-page-seo-checklist
/blog/post?id=48213&ref=home/blog/on-page-seo-checklist
/On_Page_SEO_Checklist_FINAL/on-page-seo-checklist

Set the slug once and resist changing it later. A changed URL without a redirect throws away every link and every bit of ranking that page has earned.

Give the page a real skeleton

Headings are the skeleton a reader scans and a crawler reads to understand your page. Get the structure right and both jobs get easier. Use exactly one H1, and make it the clear subject of the page. Below it, organize with H2s for main sections and H3s for the points inside them.

Do not jump from an H2 to an H4 because you liked the smaller size. Style with CSS, structure with the correct tag. Write headings that would make sense as a table of contents on their own: if someone read only your headings, they should still understand the shape of the argument. That habit is also how featured snippets get built, so a clean question-and-answer heading can quietly win you the box above the first result. 

Answer fast, then go deep

Readers who arrive from search have low patience, and so does the algorithm measuring whether they stay. Put your primary keyword in the first hundred words, state the core answer near the top, then earn the rest of the read with detail.

Cover the subtopics a thorough piece would include. If you are writing about on-page SEO and never mention structured data or Core Web Vitals, a crawler notices the gap. Think in terms of the questions a reader would ask next, and answer them in order. Skip the keyword stuffing while you are at it. Modern search understands synonyms and related concepts, so writing naturally about the topic covers your bases better than repeating one phrase. Read the draft out loud, and if a sentence exists only to hold a keyword, cut it. Depth and genuine usefulness move rankings now. The tricks from a decade ago mostly do not.

Link on purpose, then test every one

Two kinds of links matter here. Internal links pass authority around your own site and keep readers moving, so add two or three to genuinely related pages using anchor text that describes the destination. Read more teaches a crawler nothing. Our guide to Core Web Vitals teaches it plenty.

External links to credible sources signal that your piece is grounded in something real. Link to the original study, the official documentation, the primary source, not a competitor blog restating it secondhand. Then, before you publish, click every link. A single broken link is a small thing that quietly erodes trust with readers and crawlers, and it is the easiest problem on this whole list to prevent.

Make every image earn its weight

Images are where speed and search quietly overlap. A page heavy with uncompressed images loads slowly, and a slow page ranks worse and converts worse. A few seconds of prep per image prevents that.

The four checks per image

CheckWhat good looks likeWhy
File namerunning-shoe-review.webpHelps image search read the file
Alt textDescribes what the image showsAccessibility and image ranking
FormatWebP or AVIF, compressedSmaller files, faster load
DimensionsExplicit width and height setStops the layout from jumping

That last one matters more than it looks. When the browser knows an image size in advance, it reserves the space and the page does not lurch as things load. That lurch has a name and a score, which is the next step.

Add the schema and validate it

Structured data is the markup that turns a plain result into a rich one: the star ratings, the FAQ dropdowns, the recipe cards you see in search. It does not guarantee those features, but without it you are not even eligible for them.

Pick the schema type that fits the page. An article uses Article, a how-to uses HowTo, a product uses Product, and a page answering common questions can use FAQPage. Add it as JSON-LD in the head, then run the page through the Rich Results Test before you publish. That tool tells you in seconds whether your markup is valid and which rich results the page qualifies for. Broken schema earns nothing, so validate every single time rather than trusting that a copied snippet still works.

Know the numbers for Core Web Vitals

Speed and stability are ranking factors, measured through three Core Web Vitals. You do not need the engineering, but you should know the numbers you are aiming for, because fast enough is a defined target, not a feeling.

Core Web Vitals thresholds

MetricWhat it measuresGoodPoor
LCP  Largest Contentful PaintHow fast the main content appears2.5s or lessOver 4s
INP  Interaction to Next PaintHow fast the page responds to a tap200ms or lessOver 500ms
CLS  Cumulative Layout ShiftHow much the page jumps as it loads0.1 or lessOver 0.25

One detail worth flagging: INP officially replaced First Input Delay in March 2024, so any guide still citing FID is out of date. Run the URL through PageSpeed Insights, read the field data if it exists, and fix anything sitting in the red before the post goes live.

The two checks everyone forgets

First, indexability. Confirm the page is not set to noindex by accident, that your canonical tag points to this URL and not a stray duplicate, and that the page will make it into your sitemap. A brilliant post with a noindex tag is invisible, full stop, and it is a maddening thing to discover a month later.

Second, the social preview. Set an Open Graph title, description, and an image sized around 1200 by 630 pixels so the link looks deliberate when someone shares it. Search and social feed each other. A shareable card earns the links and traffic that, in turn, help the page rank.

The full pre-publish list

Copy this, keep it beside your editor, and run it top to bottom every time.

Before you touch the page

✓   Searched the target query in a private window

✓   Content format matches what already ranks

The words search sees first

✓   Title tag under 60 characters

✓   Keyword near the front of the title

✓   Meta description, 150 to 160 characters

✓   Every title on the site is unique

Structure and body

✓   Slug short, lowercase, hyphenated

✓   Exactly one H1 on the page

✓   H2 and H3 nested logically

✓   Answer and keyword in the first 100 words

Links and media

✓   Two or three internal links added

✓   External links point to primary sources

✓   Every link clicked and working

✓   Images named, alt-tagged, compressed

Technical and social

✓   Schema added and validated

✓   Core Web Vitals out of the red

✓   Page indexable, canonical correct

✓   Open Graph title, description, image set

required to run the list on a single post.

The verdict, after a few hundred posts

I run this list on every post, and I have watched it change outcomes in a way that genuinely surprised me. Pieces that used to stall now have a fighting chance, and the difference was rarely a better idea. It was the ten quiet minutes of checking the boxes I used to skip in my hurry to publish.

Here is what I would tell anyone starting out. The checklist feels slow the first few times, the way any checklist does. By the tenth post it is automatic, and by the fiftieth you feel a small discomfort hitting publish without it, the same way you would leaving the house without your keys. That discomfort is the point. It is the habit doing its job.

None of this replaces writing something worth reading. A perfect title tag on a thin post is a well-dressed nobody. But great writing on a page nobody can find, on a page that jumps and lags and confuses the crawler, is the far more common tragedy, and it is entirely preventable. Do the ten minutes. Your future self, watching the piece actually climb, will be glad you did.

Related Posts