SEO Checklist for New Websites: 50 Things to Do Before Launch
Launching without this SEO checklist is like opening a store with no sign and blacked-out windows. Cover every technical, on-page, and structured data requirement before your site goes live.
Most websites launch broken from an SEO perspective. Missing meta tags, no sitemap, unoptimized images, missing schema markup, robots.txt blocking Google — these aren't edge cases. They're the norm. This checklist covers every SEO requirement before your first visitor arrives from search. Don't launch without it.
Why Pre-Launch SEO Matters
Fixing SEO after launch is harder than doing it right from the start. Once Google crawls your site, mistakes get indexed. Canonical issues propagate. Incorrect redirects get cached. Search engines form first impressions, and those impressions take months to correct.
More importantly, every day your site is live with broken SEO is a day you're not building the organic traffic that compounds over time. Time in search index matters. A site that launches with correct SEO on day one has a significant head start over a site that fixes things three months later.
Part 1: Technical Foundation (Items 1–15)
1. HTTPS is active and forced
Your SSL certificate must be valid and all HTTP traffic must redirect to HTTPS. Mixed content (HTTPS page loading HTTP assets) causes browser warnings and ranking penalties.
# nginx — force HTTPS
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
2. www vs. non-www canonical is set
Choose one — example.com or www.example.com — and redirect the other. Google treats them as different sites without a redirect.
3. XML sitemap exists and is valid
Your sitemap must be accessible at /sitemap.xml, include all indexable URLs, and exclude noindex pages, paginated pages (or include them correctly), and admin URLs.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2026-06-15</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/services/</loc>
<lastmod>2026-06-15</lastmod>
<priority>0.9</priority>
</url>
</urlset>
4. robots.txt is correctly configured
Make sure you're not accidentally blocking Googlebot. This is the most common catastrophic mistake we see on new sites:
# Good robots.txt
User-agent: *
Disallow: /admin/
Disallow: /api/
Sitemap: https://example.com/sitemap.xml
# BAD — this blocks all crawlers from your entire site
# User-agent: *
# Disallow: /
5. Google Search Console is set up and sitemap submitted
Verify ownership via DNS record or HTML tag. Submit your sitemap. This tells Google your site exists and gives you visibility into crawl errors, coverage issues, and performance data.
6. Core Web Vitals pass in PageSpeed Insights
LCP under 2.5s, INP under 200ms, CLS under 0.1 — on mobile. Desktop scores are easier and less important. Check field data, not just lab data.
7. Mobile responsiveness passes Google's test
Use Google's Mobile-Friendly Test tool. Check for: viewport meta tag, touch target sizes (minimum 48x48px), no horizontal scroll, font sizes readable without zooming.
8. No broken links (404s)
Crawl your site with Screaming Frog, Sitebulb, or a free tool like deadlinkchecker.com. Fix or redirect every 404 before launch.
9. Redirect chains are cleaned up
A redirect chain (A → B → C) adds latency and loses link equity. Every redirect should be a direct 301 from the original URL to the final destination.
10. Canonical tags on all pages
Every page needs a self-referencing canonical tag to prevent duplicate content issues:
<link rel="canonical" href="https://example.com/services/" />
11. Pagination handled correctly
For paginated content, either use rel="next"/"prev" (still recommended despite Google's claims), or canonicalize all pages to the first page, or use infinite scroll with proper history API updates.
12. 404 page exists and returns 404 status
Your custom 404 page must actually return a 404 HTTP status code, not 200 (soft 404s confuse crawlers and waste crawl budget).
13. No thin or duplicate content pages indexed
Pages with less than 300 words of unique content, tag pages, archive pages, and filtered URLs (e.g., /products?color=red) should be noindexed or canonicalized.
14. Page speed is consistent across the site
A fast homepage and slow inner pages is a common trap. Test at least 5 representative pages: homepage, a category page, a product/service page, a blog post, and the contact page.
15. Hreflang implemented (for multilingual sites)
If your site serves multiple languages, every page needs correct hreflang annotations pointing to all language variants. See our bilingual SEO guide for implementation details.
Part 2: On-Page SEO (Items 16–30)
16. Unique title tag on every page
50-60 characters. Primary keyword near the front. Brand name at the end. No duplicate titles across the site.
<title>Web Design Services Montreal | MedCode</title>
17. Unique meta description on every page
150-160 characters. Write for clicks, not just keywords. Include a call to action. No duplicate descriptions.
<meta name="description" content="Award-winning web design in Montreal. We build fast, SEO-optimized websites that convert visitors into customers. Get a free quote today." />
18. One H1 per page, keyword-rich
Every page has exactly one H1. It contains the page's primary keyword naturally. It matches or closely reflects the title tag.
19. H2/H3 hierarchy is logical
Headings create an outline. H2s are major sections. H3s are subsections of H2s. Never skip levels (H1 → H3 without an H2 in between).
20. Primary keyword in first 100 words
Google weighs early content more heavily. Introduce your primary topic in the opening paragraph without forcing it.
21. Image alt text on every image
Every <img> tag has a descriptive alt attribute. Decorative images use empty alt (alt=""). Keywords fit naturally where relevant.
22. Internal linking structure is intentional
Every page links to at least 2-3 related pages. No orphan pages (pages with no internal links pointing to them). Use descriptive anchor text, not "click here."
23. URL slugs are clean and keyword-rich
- Good:
/web-design-montreal - Bad:
/page?id=47or/WD-MTL-2026-FINAL-v3
Lowercase, hyphens (not underscores), no stop words, no special characters.
24. Open Graph tags are complete
<meta property="og:title" content="Web Design Services Montreal | MedCode" />
<meta property="og:description" content="Award-winning web design in Montreal..." />
<meta property="og:image" content="https://example.com/og-image.jpg" />
<meta property="og:url" content="https://example.com/services/" />
<meta property="og:type" content="website" />
25. Twitter/X Card tags are present
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Web Design Services Montreal | MedCode" />
<meta name="twitter:description" content="Award-winning web design in Montreal..." />
<meta name="twitter:image" content="https://example.com/og-image.jpg" />
26. OG image is the right size
1200x630px minimum. Under 1MB. Shows your brand, not just a logo on white. Test with the Facebook Sharing Debugger and LinkedIn Post Inspector.
27. Content has sufficient depth
Service pages: minimum 500 words of unique, expert content. Blog posts: 800-2000 words for competitive topics. Homepage: 300+ words beyond navigation elements.
28. No keyword stuffing
Keyword density is not a ranking factor. Write for humans. If your keyword appears more than once every 100-150 words, it reads unnaturally and Google likely sees it too.
29. External links to authoritative sources
Linking out to credible sources (government sites, academic research, industry publications) signals to Google that your content is well-researched. Don't be afraid to link out.
30. FAQ section on key pages
FAQ sections targeting question-based searches ("how much does web design cost?") can capture featured snippet positions. Structure them with clear questions as H3s and concise answers.
Part 3: Structured Data / Schema (Items 31–40)
31. Organization schema on homepage
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "MedCode",
"url": "https://medcode.ca",
"logo": "https://medcode.ca/logo.png",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-514-555-0123",
"contactType": "customer service"
},
"sameAs": [
"https://www.linkedin.com/company/medcode",
"https://twitter.com/medcode"
]
}
</script>
32. WebSite schema with SearchAction
If your site has a search function, add SearchAction to enable sitelinks search box in Google results.
33. BreadcrumbList on all inner pages
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/"},
{"@type": "ListItem", "position": 2, "name": "Services", "item": "https://example.com/services/"},
{"@type": "ListItem", "position": 3, "name": "Web Design"}
]
}
</script>
34. LocalBusiness schema (for local businesses)
Include name, address, telephone, hours, geo coordinates, price range, and area served. See our Montreal SEO guide for the complete implementation.
35. Article schema on all blog posts
Include headline, author (with Person schema), datePublished, dateModified, image, and publisher.
36. FAQPage schema on FAQ sections
Each question/answer pair structured correctly. Can trigger expandable FAQ results directly in Google search.
37. Product schema for e-commerce
Include name, description, image, sku, offers (price, currency, availability). AggregateRating if you have reviews.
38. Service schema on service pages
Name, description, provider, area served, service type. Helps Google understand your service offerings.
39. Schema validated with Rich Results Test
Run every schema implementation through Google's Rich Results Test (search.google.com/test/rich-results). Fix all errors and warnings before launch.
40. No schema errors in Search Console
After launch, check the Enhancements section in Search Console within 48 hours. Schema errors must be fixed promptly.
Part 4: Content & Authority (Items 41–50)
41. About page with E-E-A-T signals
Experience, Expertise, Authoritativeness, Trustworthiness. Include: team bios with credentials, company history, physical address, professional associations.
42. Contact page with NAP consistency
Name, Address, Phone must be identical everywhere — website, Google Business Profile, directories. Use a consistent format and never abbreviate differently.
43. Privacy policy and terms of service
Required for GDPR/PIPEDA compliance. Also a trust signal for Google — sites without legal pages are treated as less credible.
44. Author bios on all blog content
Google's Helpful Content system evaluates author credentials. Named authors with linked bios outperform anonymous content for YMYL (Your Money or Your Life) topics.
45. Google Analytics 4 installed and verified
Configure GA4 before launch so you have baseline data from day one. Set up conversion events: form submissions, phone clicks, purchases.
46. Google Search Console ownership verified
DNS verification is most reliable. HTML file verification can break if the file gets deleted. Tag Manager verification is convenient but adds a dependency.
47. Social profiles linked (sameAs)
Add your social profile URLs to your Organization schema's sameAs array. Keep social profiles active — inactive profiles are a negative signal.
48. At least one high-quality inbound link before launch
If you have an existing relationship with a partner, supplier, or industry association, ask them to link to your new site on launch day. Google discovers new sites faster when they're linked from already-indexed sites.
49. Bing Webmaster Tools configured
Bing has 6-8% of search volume in Canada — worth 5 minutes of setup. Import your Google Search Console verification for instant setup.
50. Launch announcement content ready
Plan your first month of content before launch. A blog with one post from 2024 is a negative signal. Have at least 3 posts ready for day one, and a publishing calendar for the next 90 days.
Post-Launch: The First 30 Days
The checklist doesn't end at launch. In the first 30 days:
- Request indexing for your key pages in Google Search Console
- Monitor crawl errors daily for the first week
- Check Search Console's Coverage report at day 7 and day 30
- Verify your Core Web Vitals field data appears in Search Console (takes 28 days of data)
- Submit your sitemap to Bing
- Build your first 3-5 directory citations (Google Business Profile, Yelp, industry directories)
SEO results take time. Expect to see initial rankings within 3-6 months for most keywords. But the foundation you lay at launch determines how fast and how high you'll climb. Every item on this list is a brick in that foundation.