On-page SEO covers every ranking signal you directly control on your website's pages. The core elements are title tags (55-60 characters, front-load your primary keyword), meta descriptions (150-160 characters to improve click-through), and header hierarchy (one H1 per page, then H2s and H3s that structure your content logically). Content itself is the heaviest piece—original writing that matches search intent, uses target keywords naturally in the first 100 words and throughout, and answers the question better than competing pages. We typically aim for 800+ words on commercial pages and 1,200+ on pillar content, though thin pages can rank if they satisfy intent faster. URL structure matters more than most people think. Keep URLs short, readable, and keyword-descriptive (ottawa-seo.com/on-page-seo-checklist beats ottawa-seo.com/p=12345). Internal linking distributes authority across your site—link from high-authority pages to newer or underperforming ones using descriptive anchor text, not "click here." Image optimization means compressing files to under 200 KB when possible, using descriptive filenames (on-page-seo-diagram.jpg not IMG_4829.jpg), and writing alt text that describes the image for accessibility and image search. Technical on-page factors include schema markup (JSON-LD structured data for articles, FAQs, local business, products), canonical tags to prevent duplicate content issues, and Core Web Vitals—LCP under 2.5 seconds, CLS under 0.1, FID under 100ms. Mobile responsiveness isn't optional in 2025; Google's mobile-first index means your mobile version is what gets ranked. At Ottawa SEO, we treat on-page as table stakes. You can't fix weak on-page with more backlinks, but you can often out-rank competitors with mediocre backlink profiles if your on-page execution is tight. The mistake we see constantly is keyword stuffing or over-optimizing. Write for humans first, then adjust for crawlers. If it reads awkwardly, you've gone too far.