FreeSEOTools.io
Content & On-Page SEO8 min read

On-Page SEO Checklist: 20 Things to Optimize Before You Publish

A practical on-page SEO checklist covering title tags, meta descriptions, H1, URL structure, internal links, images, schema, page speed, canonical tags, and more.

F
FreeSEOTools Team
SEO Research
On-Page SEOSEO ChecklistTitle TagsMeta DescriptionSchema Markup

On-page SEO is the part of SEO you have complete control over. No outreach, no relationships, no waiting on other people. Every item on this list is something you can fix today on your own site.

I use this exact checklist before publishing any page worth ranking. Work through it in order — the items at the top have the most impact.

Content and Keyword Fundamentals

1. Target One Primary Keyword Per Page

Each page should be optimized for one primary search term (and its semantic variants). Targeting multiple competing keywords on a single page dilutes focus. If you have content that could rank for two different intents, consider whether they deserve separate pages.

2. Match Search Intent Precisely

This is the single most important on-page factor. Google classifies intent into four types: informational ("how to..."), navigational ("brand name"), transactional ("buy..."), and commercial investigation ("best X for Y"). Your content must match the intent for your target keyword — not just include the keyword. A transactional page trying to rank for an informational query won't work no matter how well-optimized it is.

3. Include the Keyword in the First 100 Words

Not for keyword density reasons (that's a 2012 concern), but because it signals to both users and crawlers what the page is about, immediately.

Title and Meta

4. Title Tag: Keyword-First, 50-60 Characters

Include your target keyword as early as possible in the title. Keep it under 600px (roughly 55-60 characters with standard fonts). Every additional character after that gets truncated.

Good: "Keyword Research Guide: How to Find Keywords That Drive Traffic"
Bad: "The Ultimate Complete Definitive Keyword Research Guide for SEO"

5. Meta Description: 120-155 Characters, Action-Oriented

Write meta descriptions that earn the click. Include the keyword, lead with value, and add a soft call to action. Google rewrites about 70% of meta descriptions, but yours will be used by Bing, social platforms, and AI citation systems.

6. Open Graph Tags

Required for clean social sharing. At minimum set og:title, og:description, and og:image. The image should be 1200x630px. Without OG tags, social platforms will guess — usually badly.

<meta property="og:title" content="Your Title" />
<meta property="og:description" content="Your description" />
<meta property="og:image" content="https://yourdomain.com/og-image.jpg" />

URL and Structure

7. URL: Short, Keyword-Rich, Hyphen-Separated

Good: /keyword-research-guide/
Bad: /blog/2024/11/23/the-complete-guide-to-doing-keyword-research-effectively/

Keep URLs under 60 characters if possible. Remove stop words (the, a, an, of). Use hyphens, never underscores.

8. Single H1 Tag with the Target Keyword

One H1 per page, placed near the top, containing the primary keyword. The H1 doesn't need to be identical to your title tag — it often shouldn't be. Use H2/H3 for subheadings, following a logical hierarchy.

9. Canonical Tag

Every page should have a self-referencing canonical tag, even if there's no obvious duplicate issue. This prevents problems when URLs are shared with tracking parameters:

<link rel="canonical" href="https://yourdomain.com/your-page/" />

Internal Links

10. Link to 3-5 Relevant Pages Within Your Site

Internal links distribute PageRank, help Google understand your site structure, and keep users engaged longer. Use descriptive anchor text, not "click here." Every new piece of content should link to at least three other pages.

11. Update Existing Pages to Link Back

When you publish new content, go back to your most relevant existing pages and add a link to the new one. New pages with no internal links get discovered slowly and often rank poorly. This is a step most people skip.

Images

12. Descriptive Alt Text on Every Image

Alt text is read by screen readers (accessibility requirement) and crawled by search engines. Describe what's in the image, naturally including keywords where they fit. Don't keyword-stuff: "keyword keyword SEO keyword" as alt text is worse than nothing.

13. Next-Gen Image Format (WebP/AVIF) and Compression

Uncompressed images are the most common cause of slow LCP times. Convert images to WebP (or AVIF for modern browsers), compress without visible quality loss, and set explicit width/height attributes to prevent CLS.

14. Descriptive File Names

keyword-research-example.webp is better than IMG_20240923_14523.jpg. File names are a minor signal but a free one.

Technical On-Page

15. Page Loads in Under 3 Seconds on Mobile

Check with our Website Speed Test. Mobile is what Google measures. Desktop scores are irrelevant if your mobile LCP is 5 seconds.

16. Mobile-Responsive Layout

This should be a given in 2025, but I still see it fail on older WordPress sites and custom-built pages. Test on actual mobile devices, not just Chrome DevTools resize mode. The tap target sizes matter more than most people realize.

17. No Broken Links

Broken outbound links waste crawl budget and frustrate users. Run a crawl with Screaming Frog or use our link checker before and after publishing. Don't just check on publish day — links break over time.

Schema and Rich Snippets

18. Article/BlogPosting Schema with Author and Date

For blog content, structured data with datePublished, dateModified, and author (with sameAs linking to their social/bio) strengthens E-E-A-T signals for both Google and AI systems.

19. FAQPage Schema for Content With Q&A Sections

If your page has a FAQ section (and it should), add FAQPage schema. This is consistently one of the highest-ROI structured data implementations for both rich results and AI citation rates.

20. Validate All Schema Before Publishing

Use Google's Rich Results Test to check for errors. A single JSON syntax error silently kills your entire schema implementation. Use our Schema Markup Generator to create error-free code without manual JSON editing.

Quick Pre-Publish Check

Before hitting publish, run through these in 5 minutes:

  1. Title under 60 chars, keyword included
  2. Meta description 120-155 chars, action-oriented
  3. One H1, keyword present
  4. Canonical tag set
  5. OG tags configured
  6. All images have alt text
  7. Mobile loads in under 3s
  8. 3-5 internal links added
  9. Schema validated

None of these take long individually. The discipline is doing all of them every time, not just for the "important" posts.

Related Articles

Try Our Free SEO & GEO Tools

62+ free tools to implement what you just read — from GEO Readiness Score to Website Speed Test.