On-page SEO is the part of search optimization you have complete control over. You can’t decide who links to you, and you can only partly control how Google crawls your site. But every element on the page itself — the title, the structure, the internal links, the images — is yours.
The good news for WordPress users is that a decent SEO plugin handles perhaps 40% of this automatically. The rest is editorial judgment, and it’s where most sites leave rankings on the table.
This is the checklist in the order that actually matters, with WordPress-specific instructions for each step.
Before You Optimize Anything
Two prerequisites, because optimizing around them wastes time.
Install one SEO plugin. Rank Math, Yoast, or All in One SEO — see our comparison of WordPress SEO plugins if you haven’t picked. Install exactly one; two will produce conflicting title tags and canonicals.
Fix your permalink structure. Settings → Permalinks → Post name. If your site is currently serving URLs like /?p=123 or /2026/08/12/post-title/, change it now, before you have hundreds of posts and a redirect problem. If the site is established and already indexed, changing permalinks means setting up redirects for everything — weigh whether it’s worth it.
1. The Title Tag
The title tag is the highest-leverage on-page element. It’s what appears as the clickable headline in search results, and it carries real ranking weight.
In WordPress, your post title and your title tag are separate things. Your SEO plugin lets you set the title tag independently — use that. The post title can be written for readers on the page; the title tag can be written for the search result.
What works:
- Front-load the keyword. “WordPress SEO Checklist: 12 Steps for 2026” beats “12 Steps to a Better Site in 2026: A WordPress SEO Checklist.”
- Stay under about 60 characters. Longer titles get truncated. Remember your site name is usually appended automatically — check what your plugin adds.
- Add a reason to click. A number, a year, a promise of specificity. “Best WordPress SEO Plugins” is fine; “Best WordPress SEO Plugins (Free vs Paid, Compared)” is better.
- Don’t stuff. Repeating the keyword twice in a title reads as spam to both readers and Google.
If a page has impressions but no clicks in Search Console, the title is the first thing to change — but check the position first. At average position 20, near-zero clicks is normal regardless of how good the title is. Title rewrites pay off from roughly position 10 upward.
2. The URL Slug
Short, readable, keyword-bearing, no dates. WordPress defaults the slug to your full post title, which is usually too long.
/best-wordpress-seo-plugins/ — good.
/best-wordpress-seo-plugins-in-2026-free-vs-paid-compared/ — too long, and the year will age badly.
Edit the slug before publishing. Changing it after a post is indexed means a redirect, and if you skip the redirect you lose whatever the page had earned.
Avoid stop words where they add nothing (a, the, for, to), but don’t mangle readability to save two characters.
3. Heading Structure
Headings do two jobs: they let readers scan, and they tell parsers how your content is organized. In 2026 that second job matters more than it used to, because AI search systems excerpt content by section.
The rules:
- One H1 per page. WordPress uses your post title as the H1 automatically. Don’t add another in the content — if you use a Heading block at the top, set it to H2.
- Don’t skip levels. H2 → H3 → H4. Never H2 → H4.
- Make headings descriptive, not clever. “How to Choose” beats “Making the Call.” Someone scanning should be able to reconstruct the article from the headings alone.
- Use question headings where the query is a question. A section headed “Does an SEO plugin slow down WordPress?” is far more likely to be pulled into a featured snippet or AI answer than the same content headed “Performance considerations.”
In the block editor, use the Document Overview panel (the list icon, top left) to see your heading hierarchy at a glance. Broken hierarchies are obvious there and invisible in the editor itself.
4. The First Hundred Words
Answer the question immediately.
The instinct is to open with context — why this topic matters, how the landscape has changed. That framing has its place, but not before the reader knows they’re in the right place. If someone searched “how to add schema in WordPress,” the first paragraph should establish that this page tells them how to add schema in WordPress.
This has become more important as AI-generated answers proliferate. Systems extracting an answer from your page weight the opening heavily. A page that states its answer in the first paragraph gets cited; a page that builds to it over 400 words gets skipped.
Include your target phrase naturally in this opening. Not forced — but if you’re writing about WordPress SEO plugins and the phrase doesn’t appear in the first paragraph, something is off.
5. Content Depth and Coverage
This is where rankings are actually won, and where checklists are least useful.
The practical method: search your target keyword, open the top five results, and list every subtopic they cover. Your page should address the union of those subtopics — not because Google counts them, but because collectively those pages represent what searchers found useful enough to rank.
Then add the thing none of them have. A comparison table where everyone else has prose. Real pricing where everyone else says “contact for pricing.” An honest caveat where everyone else is uniformly positive. That differentiator is what earns links and what makes the page worth citing.
On keyword density: ignore it. Use your phrase where it fits naturally, use variations and related terms because you’re covering the topic properly, and move on. Density targets are a 2012 idea that produces stilted writing.
6. Internal Links
The most under-used on-page tactic, and the cheapest.
Three things to do:
Link from strong pages to new ones. Find your pages that already get impressions in Search Console, and add a contextual link from them to whatever you just published. New content with no internal links can sit uncrawled or under-evaluated for months.
Link with descriptive anchor text. “Read our WordPress SEO plugin comparison” tells Google what the destination is about. “Click here” tells it nothing. Don’t over-optimize either — varying the anchor naturally is fine and better than repeating an exact phrase every time.
Find and fix orphans. An orphaned page has no internal links pointing at it. In Rank Math and AIOSEO the link tools will surface these; Yoast Premium flags orphaned content directly. Every published page should have at least two or three inbound internal links from relevant articles.
Aim for three to six internal links in a typical post, placed where they’re genuinely useful. Links crammed into a “Related posts” block at the bottom carry less weight than a link inside a relevant sentence.
7. Images
Images affect on-page SEO in three ways, and only one of them is alt text.
File size. Large images are the most common cause of poor Core Web Vitals on WordPress. Compress before upload, and serve WebP — most modern themes and hosts handle the conversion, but verify rather than assume.
Dimensions and layout shift. Always let WordPress output width and height attributes so the browser reserves space. Missing dimensions cause the layout to jump as images load, which directly damages your Cumulative Layout Shift score.
Alt text. Write it for someone who can’t see the image, describing what’s actually there. If your keyword genuinely belongs in that description, include it; if it doesn’t, don’t force it. Decorative images should have empty alt attributes, not keyword-stuffed ones.
Also: rename files before uploading. wordpress-seo-plugin-comparison.jpg is better than IMG_4471.jpg, and it takes two seconds.
8. Meta Description
Not a ranking factor. Still worth writing.
Google rewrites meta descriptions roughly half the time, choosing a passage from the page that better matches the specific query. That’s fine — you’re writing the description for the other half.
Keep it around 150 characters, include the target phrase (it gets bolded when it matches the query, which draws the eye), and describe what the reader will get rather than restating the title. If the title is the promise, the description is the specifics.
9. Schema Markup
Your SEO plugin handles the baseline automatically: Article or BlogPosting, Organization, and BreadcrumbList. That covers most requirements and you don’t need to do anything.
Worth adding manually:
- FAQPage where you have genuine questions and answers on the page. This is the highest-value addition in 2026, because FAQ blocks are disproportionately extracted by AI answer systems.
- HowTo for genuine step-by-step processes.
- Product or Review if you’re publishing reviews with ratings.
The rule that gets sites in trouble: schema must describe content that is actually visible on the page. FAQ markup for questions that don’t appear in the article is a manual action waiting to happen.
Verify with Google’s Rich Results Test after publishing. It takes a minute and catches the errors that silently disable your markup.
10. Page Speed
Technically adjacent to on-page rather than part of it, but it interacts with everything above.
The WordPress-specific priorities, in order of impact:
- Hosting. The single biggest factor, and no plugin compensates for a slow host.
- Caching. A page cache plugin is non-negotiable. Many managed hosts provide one at the server level — don’t stack a second on top.
- Images. Compress and serve WebP. Usually the largest remaining payload.
- Plugin count. Every active plugin adds queries and assets. Audit quarterly and delete what you don’t use — deactivated plugins still take up space and still need updating.
- Theme. Page builders are convenient and heavy. If you’re chasing Core Web Vitals on a builder-based site, you may be fighting the wrong battle.
Measure with PageSpeed Insights, but pay attention to the field data (real users) rather than the lab score. A green lab score with poor field data means real visitors are having a worse experience than the test suggests.
The Checklist
Before you hit publish:
- Title tag under 60 characters, keyword near the front
- Slug short, readable, no dates
- One H1; H2/H3 hierarchy unbroken
- Target phrase in the first hundred words
- Question answered before any preamble
- Subtopics from the top-ranking pages all covered
- Three to six internal links with descriptive anchors
- At least one inbound internal link from an existing strong page
- Images compressed, renamed, alt text written, dimensions present
- Meta description written, around 150 characters
- FAQ schema added if the page has genuine Q&A
- Rich Results Test passed
- Read once on mobile
What This Doesn’t Cover
On-page SEO is necessary and not sufficient. A perfectly optimized page on a site with no authority will rank on page three, and no amount of heading hierarchy changes that. If you’ve done everything here and pages still aren’t moving, the constraint is off-page — links and topical authority — not on-page.
The reverse is also true and more common: sites with real authority routinely leave rankings unclaimed because their titles are vague and their new posts have no internal links. This checklist is cheap to run and fixes that.
For the tooling layer that sits on top of this, see the best AI SEO tools and plugins for WordPress, and how to use AI for SEO in 2026 for using AI in the research and drafting stages without producing the kind of content that gets impressions and no clicks.