← Back to Insights
GUIDE8 min

The Checklist I Wish Every Developer Used Before Shipping a Website

The Checklist I Wish Every Developer Used Before Shipping a Website

Photo by Jonny Gios

I have launched dozens of websites over 16 years. For clients. For my own businesses. For startups I helped build. And the same problems show up every single time.

Broken redirects. Missing meta tags. Robots.txt blocking Google from indexing the site. No sitemap. No analytics. Pages loading in 8 seconds on mobile because nobody tested.

These are not edge cases. These are the basics. And most developers miss them.

I am not a developer. I am a product owner and operations consultant. But I know exactly what a finished website looks like. I have spent years catching what developers missed before clients saw it.

Now I build with AI tools. Cursor. Claude. Antigravity. The code gets generated in hours. But the checklist does not change. The AI does not know your business context. It does not think about 301 redirects or GDPR compliance unless you tell it to.

Here is the checklist I use for every project. Pin it to your wall. Add it to your AI prompts.


Before You Write a Single Line of Code

Most people skip this. They open Cursor and start prompting. That is like starting construction without a foundation.

Task Why it matters
Define your URL structure Write down every page, every route, every slug. Before coding.
Export old URLs (if migrating) Use Screaming Frog or download your old sitemap. Every missing URL = broken Google link.
Decide www vs non-www Pick one. Redirect the other. Both resolving = your SEO splits in half.
Set up analytics day one GTM + GA4 installed before launch, not after. You lose every data point from week one otherwise.
Verify Google Search Console DNS TXT record or GTM verification. Do it now so Google crawls on launch day.

The SEO Checklist

Every page needs all of these. No exceptions.

Meta and Tags

Element Requirement
Title tag Unique, under 60 characters. Not "Home." Something like "Operations Services - Drifting Desk"
Meta description Under 160 characters. Your sales pitch in search results. Blank = Google pulls random page text.
H1 tag One per page. Only one. Matches the page intent.
H2/H3 hierarchy Logical structure. Do not skip from H1 to H4 because it looks better visually.
Canonical URL On every page. Tells Google which version is the original. Prevents duplicate indexing.

Social Sharing (Open Graph)

Tag What it controls
og:title Title shown on LinkedIn, Twitter, Slack, WhatsApp
og:description Description shown in the preview card
og:image The thumbnail. 1200x630px. Branded.
og:url The canonical URL for sharing

Skip these and every shared link shows a blank card with no image. Wasted opportunity.

Technical SEO

  • robots.txt - allows crawling on public pages, blocks /api/ and /admin/
  • Dynamic sitemap - includes every page, submitted to Search Console
  • Structured data (JSON-LD) - FAQ schema, Product schema, Breadcrumb schema where relevant
  • Internal linking - every page links to 2-3 other pages
  • Image alt text - descriptive, not keyword-stuffed
  • Page speed under 3s on mobile - compress images, lazy load below fold, self-host fonts

The Migration Checklist

Moving from an old site to a new one? This section saves you months of pain.

Before Launch

Step Detail
Export all old URLs Screaming Frog, Sitebulb, or download old sitemap
Create 301 redirect map Old URL → New URL for every page. If no equivalent, redirect to homepage.
Implement redirects before launch Not after. Test every single one with a bulk redirect checker.
Keep URL structure if possible /blog/post-title on old site? Keep it. Changing to /journal/post-title means you need redirects.
Transfer Search Console data If changing domains, use the Change of Address tool.
Check backlinks Ahrefs or Semrush free tools. Make sure external links still resolve.

After Launch

  • Do not launch on a Friday. If something breaks, you want business hours to fix it.
  • Monitor traffic for 30 days. Compare to previous 30 days.
  • If organic traffic drops 20%+, you have a redirect or indexing problem. Fix immediately.
  • Resubmit sitemap in Search Console after every major change.

The Project Setup Checklist

What I tell the AI before starting any project:

What to specify Why
Deployment target "Self-hosted VPS with Coolify" vs "Vercel" changes how env vars and builds work
Domain and SSL setup "SSL handled by Cloudflare" vs "Let's Encrypt via Coolify" prevents config conflicts
Environment variables Name them upfront: NEXT_PUBLIC_GTM_ID, DIRECTUS_URL. Do not let AI invent names.
.env.example file Documents every variable without exposing keys. Future you will be grateful.
Font loading strategy "Self-host from /public/fonts/" not "Google Fonts CDN." Performance decision.
Responsive breakpoints "1024px desktop, 768px tablet, 480px mobile." Otherwise every tool picks different ones.

The Marketing and Launch Checklist

What turns a website into a business:

Day One Requirements

  • Email capture - not "we will add it later." Day one. EmailOctopus (2,500 free), Mailchimp (500 free), or Beehiiv (free for newsletters).
  • Clear CTA on every page - one primary action per page. Not five. One.
  • Social proof - testimonials, client logos, case study numbers. "Built a 17-person team across 3 countries" beats "We help companies scale."
  • Working contact form - test it yourself. Check spam folders. DKIM misconfiguration sends everything to spam.

Compliance

  • Cookie consent banner - required if you serve EU users. Termly and iubenda have free tiers.
  • Privacy policy - generate with Termly for free. Required in most jurisdictions.
  • Terms of service - same. Generate it. Link it in the footer.

Bonus: Free Tools That Solve Real Problems

Most people do not know these exist or forget to set them up.

Tool What it does Free tier
Formspree Form backend. No API code needed. 50 submissions/month
EmailOctopus Email marketing and newsletters 2,500 subscribers
Beehiiv Newsletter platform with monetization Free for basic
Tally Form builder (better than Google Forms) Unlimited forms
Cal.com Scheduling (open source Calendly) Free, self-hostable
Umami Privacy-friendly analytics Free, self-hostable
Coolify Deployment platform (self-hosted Vercel) Free
Directus Headless CMS Free, self-hostable
Plausible Lightweight analytics, no cookie banner needed Paid, but simple

For Validation and Waitlists

Need Tool Notes
Waitlist signups EmailOctopus + simple form Free up to 2,500 contacts
LOI collection Tally or Formspree Collect intent letters before building
Beta signup Beehiiv or EmailOctopus Build audience while you build product
Feedback forms Tally More flexible than Typeform's free tier
Newsletter Beehiiv Built-in referral programs and analytics

The Prompt Addition

Copy this and paste it at the start of every AI coding session:

"This website must ship with: unique title tags and meta descriptions on every page, Open Graph tags (og:title, og:description, og:image, og:url) on every page, a dynamic sitemap.xml that includes all pages, a robots.txt that allows public pages and blocks /api/ and /data/ routes, Google Tag Manager in the head with noscript fallback in body, responsive design at 1024px, 768px, and 480px breakpoints, all images compressed and lazy loaded below the fold, self-hosted fonts with no external CDN calls, canonical URLs on every page, 301 redirects for any changed URLs, a cookie consent banner, and a working contact form with email notification."

That one paragraph prevents 80% of launch-day problems.


The Real Point

None of this is complicated. Every item here is basic. But basic things get missed when you move fast. They get missed when the AI generates a beautiful site and you are so excited about how it looks that you forget to check if Google can even find it.

The AI makes you faster. It does not make you more thorough. That is still your job.

I am not a developer. But I know what a finished product looks like. The difference between a website and a business is the checklist you run before you hit publish.

driftingdesk.com