On-page SEO is the foundation everything else builds on. Before you think about link building or content marketing, every page you want to rank needs to be properly optimized. Skipping this step is like building a house on sand.
This checklist covers every on-page SEO element that matters in 2026 — written specifically for Canadian businesses targeting search results on Google.ca.
How to Use This Checklist
Work through this list for every important page on your site: homepage, service pages, blog posts, city landing pages. Prioritize your highest-traffic pages first, then work down.
Mark each item as done, in-progress, or not applicable. Revisit every 6 months or after major Google algorithm updates.
—
1. Title Tags
[ ] Title tag contains the target keyword (ideally near the beginning)
[ ] Title tag is between 50–60 characters (avoid truncation in search results)
[ ] Title tag is unique — no two pages on your site share the same title
[ ] Title tag includes a brand differentiator or local signal where relevant (e.g., “| Toronto” or “| SEOFIE”)
[ ] Title tag matches the user’s search intent for your target keyword
Example (good): `SEO Services Toronto & GTA | SEOFIE` Example (bad): `Home – Welcome to our Website – Services – Toronto`
—
2. Meta Descriptions
[ ] Meta description is between 150–160 characters
[ ] Contains the target keyword naturally
[ ] Includes a clear benefit or call to action
[ ] Is unique for every page (no duplicates)
[ ] Reads naturally — not a keyword list
Note: Google rewrites meta descriptions frequently. Write them for humans and include your keyword — Google will use them when they match the search intent.
—
3. URL Structure
[ ] URL is short and descriptive (e.g., `/seo-services-toronto/` not `/page?id=1423`)
[ ] Contains the target keyword
[ ] Uses hyphens, not underscores or spaces
[ ] All lowercase
[ ] No unnecessary words (remove “the”, “and”, “a” if they don’t add meaning)
[ ] URL is permanent — avoid changing it after a page is indexed (redirect if necessary)
—
4. Heading Structure
[ ] Every page has exactly one H1
[ ] H1 contains the target keyword
[ ] H1 is the first heading on the page and clearly describes the page topic
[ ] Subheadings use H2 and H3 logically (not chosen for visual size)
[ ] At least one H2 contains the target keyword or a close variation
[ ] Headings follow a logical hierarchy (no jumping from H1 to H4)
—
5. Content Quality
[ ] Page clearly addresses the search intent (informational, commercial, or transactional)
[ ] Target keyword appears in the first 100 words
[ ] Target keyword appears 3–5 times naturally throughout (no keyword stuffing)
[ ] Related/semantic keywords are used throughout the content
[ ] Content is comprehensive — covers the topic better than the top 3 Google results
[ ] Content is original — not copied or paraphrased from other sources
[ ] Content includes Canadian/local context where relevant (GTA, Toronto, Ontario)
[ ] Content is regularly updated — no outdated information
[ ] Paragraphs are short (2–4 sentences) and scannable
[ ] Bullet points and numbered lists used where appropriate
Minimum word counts (2026):
Blog posts: 1,200–1,800 words
Service pages: 600–1,000 words
City landing pages: 500–800 words
Homepage: 400–700 words (above fold matters most)
—
6. Images
[ ] All images have descriptive alt text containing the keyword where natural
[ ] Alt text describes the image accurately (don’t keyword-stuff alt tags)
[ ] Images are compressed (WebP format preferred, or compressed JPEG/PNG)
[ ] Images are correctly sized for their display dimensions
[ ] At least one image per 400–500 words
[ ] Featured image is set (for blog posts)
[ ] Image file names are descriptive (e.g., `seo-services-toronto.jpg` not `IMG_5432.jpg`)
—
7. Internal Linking
[ ] Each page links to at least 2–3 other relevant pages on your site
[ ] Anchor text is descriptive (not “click here” or “learn more”)
[ ] Anchor text contains target keywords of the destination page where natural
[ ] No orphan pages — every page is reachable via at least one internal link
[ ] Important pages (services, contact) are linked from multiple places
[ ] No broken internal links
Internal linking priority for SEOFIE:
Blog posts → relevant service pages
City pages → main service pages
Service pages → contact/audit pages
Every page → at least one CTA to contact
—
8. External Links
[ ] Pages link out to relevant, authoritative external sources where appropriate
[ ] External links open in a new tab (`target=”_blank”`)
[ ] No broken external links
[ ] `rel=”nofollow”` or `rel=”sponsored”` added to paid or untrusted links
—
9. Schema Markup (Structured Data)
[ ] Homepage has Organization schema with correct NAP information
[ ] Blog posts have Article schema with author, datePublished, dateModified
[ ] Service pages have Service or LocalBusiness schema
[ ] City pages have LocalBusiness schema with service area specified
[ ] Schema is valid — test with Google’s Rich Results Test
—
10. Page Speed and Core Web Vitals
[ ] Largest Contentful Paint (LCP): under 2.5 seconds
[ ] Interaction to Next Paint (INP): under 200 milliseconds
[ ] Cumulative Layout Shift (CLS): under 0.1
[ ] Page load time under 3 seconds on mobile (4G connection)
[ ] Images are lazy-loaded (below the fold)
[ ] Render-blocking scripts deferred or moved to footer
[ ] GZIP or Brotli compression enabled on server
[ ] Browser caching configured
Test your pages: Google PageSpeed Insights (free) — check both mobile and desktop.
—
11. Mobile Optimization
[ ] Page renders correctly on all screen sizes (use Chrome DevTools mobile preview)
[ ] Font size is readable without zooming (minimum 16px body text)
[ ] Tap targets (buttons, links) are at least 48×48px
[ ] No horizontal scrolling
[ ] CTAs are prominent and easy to tap on mobile
[ ] Forms are mobile-friendly (large fields, minimal required fields)
—
12. User Experience Signals
[ ] Page has a clear purpose and hierarchy — users know what to do
[ ] No intrusive pop-ups that appear immediately (Google penalizes these on mobile)
[ ] Bounce rate is monitored in GA4 — high bounce may indicate content/intent mismatch
[ ] Clear call to action on every page
[ ] Contact information visible without scrolling on service pages
—
13. Technical On-Page Checks
[ ] Canonical tag is set correctly (self-referencing on all pages)
[ ] No duplicate content issues (check for `/` vs. no slash, `www` vs. non-www, HTTP vs. HTTPS)
[ ] Page is indexable — no `noindex` meta tag unless intentional
[ ] Open Graph tags set for social sharing (title, description, image)
[ ] Twitter Card tags set
[ ] Breadcrumbs implemented (especially for deep pages)
—
Quick Priority Matrix
If you’re overwhelmed, do these first for the highest impact:
Priority
Action
1
Fix missing/duplicate title tags
2
Add target keyword to H1 and first paragraph
3
Fix broken internal and external links
4
Compress and add alt text to all images
5
Add schema to key pages
6
Improve page speed (especially mobile)
7
Build internal links from blog posts to service pages
—
Run This Checklist on Your Website
If working through this checklist reveals multiple issues across your site, it may be more efficient to get a professional audit done first to prioritize correctly.
At SEOFIE, we run comprehensive on-page SEO audits for Toronto and GTA businesses — covering every item on this list plus technical site health, competitor analysis, and a prioritized action plan.
SEOFIE is a full-service SEO and digital marketing agency based in the Greater Toronto Area, Ontario. We help Canadian SMEs grow through SEO, web design, content marketing, and branding — with a focus on B2B clients across Toronto and Ontario.
Leave a Reply