Most small businesses pay between $500 and $2,500 per month for professional SEO services in Canada. At the lower end ($500–$1,000/month), you get foundational work: local SEO setup, Google Business Profile optimization, basic on-page fixes, and maybe 2–4 content pieces or citation builds per month. This works for local service businesses in smaller markets competing for 10–20 core keywords. Mid-range ($1,200–$2,500/month) adds competitive link building, ongoing content production, technical monitoring, and rank tracking for businesses in metro areas like Ottawa, Calgary, or Edmonton where competition is tighter. One-time SEO projects run $2,000–$10,000 depending on scope. A local site audit and optimization might cost $2,000–$4,000. A full technical overhaul with content strategy and initial link acquisition can hit $6,000–$10,000. Some agencies bundle this as a setup fee, then shift to lower monthly retainers. The wide range comes down to four factors: geographic competition (ranking in Toronto costs more than ranking in Moncton), industry competition (legal and medical are brutal), current site condition (a broken WordPress site needs more work than a clean Shopify store), and goals (page-one for three services vs. dominating 50+ local keywords). Cheaper options exist—$300–$500/month from offshore providers or junior freelancers—but quality is inconsistent. You often get templated reports and minimal custom strategy. At Ottawa SEO, we don't take small business clients below $1,200/month because anything less doesn't leave room for the link building and content velocity needed to move rankings in competitive markets. Below that threshold, you're better off handling basics yourself or hiring for one-time optimization, then revisiting monthly service when revenue supports it. Avoid any agency quoting under $400/month for full-service SEO or promising page-one rankings in 30 days. Real SEO takes 4–9 months to show material ranking movement, and proper execution has hard costs in tools, content, and outreach that can't be ignored.