On-page SEO checklist
On-page SEO is the set of choices you control directly on each page—as opposed to technical SEO (crawlability, site structure) or off-page factors like backlinks. Get these right on every page, not just the homepage.
Keyword & search-intent research
- Each page is built around what real searchers are actually trying to accomplish, not just a phrase you'd like to rank for
- Search intent behind a topic is understood before writing—someone searching to compare options needs a different page than someone ready to buy
- Existing top-ranking pages for a target topic are reviewed to understand what searchers evidently expect to find there, not to copy them
- One page is built to be the strongest answer for a given topic, rather than several thin pages competing with each other for the same search intent
- Keyword research informs the topic and structure of a page; it never dictates unnatural, repeated phrasing stuffed into the copy
Title tags
- Every page has a unique
<title>tag—no two pages share the same title - The primary keyword or topic for the page appears naturally near the front of the title
- Titles are descriptive and specific rather than generic ("Blue Wool Coats" beats "Products")
- Titles are written for a human reader first, not stuffed with repeated keywords
- Titles are a reasonable length so they don't get awkwardly truncated in typical search results
Meta descriptions
- Every important page has a unique, written meta description—not a copy-pasted default
- The description summarizes the page's actual content and gives someone a reason to click
- No meta description is duplicated across multiple pages
- Descriptions avoid clickbait that doesn't match the page's actual content
💡 A meta description doesn't directly affect rankings, but it's often what shows in search results—a weak one costs clicks even when the ranking is fine.
Headings & content structure
- Each page has exactly one
<h1>that describes what the page is about - Headings are used in a logical order (h1, then h2s, then h3s within those) rather than skipped or chosen for font size
- Headings describe the content that follows them, not vague labels like "More Info"
- Body content is organized into scannable sections rather than one long unbroken block of text
Images
- Every meaningful image has descriptive alt text (empty
alt=""for purely decorative images) - Image file names are descriptive rather than generic (
navy-wool-coat.jpginstead ofIMG_4821.jpg) - Images are compressed and appropriately sized for the space they're displayed in (see the image optimization checklist)
URL structure
- URLs are short, readable and describe the page (
/blue-wool-coats/rather than/p?id=48291) - URLs use hyphens to separate words, not underscores or spaces
- URL structure is decided early and kept stable—changing URLs after launch means setting up redirects
- URLs avoid unnecessary parameters, session IDs or duplicate paths to the same content
Internal linking
- Important pages are reachable within a few clicks from the homepage
- Body content links to other genuinely relevant pages on the site using descriptive link text (not "click here")
- Orphan pages—pages with no internal links pointing to them—have been checked for and fixed
- Navigation menus reflect the site's actual priority pages, not just an alphabetical dump
- Anchor text varies naturally across links to the same page rather than repeating one exact phrase every time, which reads as unnatural to both people and search engines
- A reasonable number of genuinely relevant internal links appear in body content—enough to help navigation and topic understanding, not so many that the page reads as a link farm
Duplicate content & canonicalization
- Near-identical pages (printer versions, tracking-parameter variants, staging leftovers) are consolidated with a canonical tag—see the technical SEO checklist
- Content isn't republished verbatim across multiple pages of the same site purely to target slightly different keywords
- Syndicated or cross-posted content links back to the original source, and the site doesn't rely primarily on content published elsewhere first
Social preview tags
- Open Graph tags (title, description, image) are set so shared links look correct on social platforms and in chat apps
- A dedicated social-share image is used where practical, rather than an undersized logo that gets awkwardly cropped
- Social preview appearance has actually been tested by pasting a live URL into a platform's link-preview tool, not just assumed correct
Structured data
- Relevant Schema.org structured data is added where it applies—Article, Product, LocalBusiness, FAQPage and so on (see the dedicated structured data checklist)
- Structured data has been validated with Google's Rich Results Test or a Schema.org validator before launch
- Structured data accurately reflects the visible content on the page—it isn't used to claim something the page doesn't actually say
Once on-page basics are covered, move to the crawlability and indexing side of things in the technical SEO checklist, and don't skip the content checklist—no amount of on-page tuning fixes thin or unhelpful content.