Most launch problems are not hard to fix. They are hard to notice. A contact form that sends to an old inbox, a staging noindex tag that ships to production, a certificate that covers example.com but not www.example.com: none of these break the page you are looking at, so they slip through.
This checklist is the one we use at GelFuzion before every client launch. It is grouped by area so you can hand sections to different people, and every item is something you can verify, not a vague goal. Where a free tool makes the check faster, we have linked it.
Run it twice: on staging the day before, and on the live domain within an hour of launch.
Domain and DNS
DNS mistakes are the slowest to fix because changes take time to spread. Do these first, ideally two days before launch.
- Registrar lock is on and auto-renew is enabled. The transfer lock (shown as
clientTransferProhibitedin a WHOIS lookup) stops the domain being moved without your approval. Auto-renew prevents the far more common disaster: a domain expiring because the renewal email went to a former employee. - A, AAAA and CNAME records point to the new host. Check the apex (
@) A record, any AAAA record (an old IPv6 address left behind will send some visitors to the old server), and thewwwrecord. - You have chosen www or the bare domain, and only one. Decide which version is canonical, then make sure the other resolves and redirects to it. Both versions need DNS records for the redirect to work.
- TTL was lowered before the migration. If you are moving from an old host, drop the TTL on the records you will change to around 300 seconds at least 24 to 48 hours ahead. When you switch, visitors pick up the new address within minutes instead of hours.
- Email records were not disturbed. Moving web hosting should not touch MX, SPF or DKIM records. If your new host imported a fresh zone, compare it with the old one line by line.
Our DNS lookup tool queries Google and Cloudflare resolvers side by side, which is a quick way to see whether a change has propagated or whether one resolver still has the old answer cached.
Security and HTTPS
- The SSL certificate is valid for every hostname. That means the apex and
www, plus any subdomain you link to. Check the expiry date and that the full chain, including the intermediate certificate, is served. - Every HTTP and alternate-host URL redirects to the canonical HTTPS URL in one hop.
http://example.com,http://www.example.comandhttps://www.example.comshould all land on the canonical version with a single 301. - HSTS is set, conservatively. The
Strict-Transport-Securityheader tells browsers to use HTTPS only. Start with a max-age of a few months or a year and leave outincludeSubDomainsuntil you know every subdomain serves HTTPS. - No mixed content. Images, scripts, fonts or iframes loaded over
http://on an HTTPS page will either be blocked or drop the padlock. - Basic security headers are present. At minimum:
X-Content-Type-Options: nosniff, aReferrer-Policysuch asstrict-origin-when-cross-origin, and clickjacking protection viaX-Frame-Options: SAMEORIGINor aframe-ancestorsdirective in a Content Security Policy. - Admin logins are locked down. Default usernames like
adminare gone, every account has a unique strong password, two-factor authentication is enabled for anyone with admin rights and contractor accounts are removed. - Backups run automatically and you have tested a restore. A backup you have never restored is a hope, not a plan. Store them somewhere other than the same server.
On Apache or LiteSpeed hosting (which includes most shared hosts), a short block in .htaccess handles the redirect and HSTS items together. This version forces HTTPS and the bare domain:
# Force HTTPS and the bare domain in a single 301
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
# HSTS for one year (add includeSubDomains later, once every subdomain is HTTPS)
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
Behind some proxies and CDNs, %{HTTPS} is always off at the origin and this rule loops. If that happens, use the forwarded protocol header your host documents instead. The .htaccess generator builds these rules for you, including the www and non-www variants.
SEO basics
None of these will make a site rank on their own. All of them can stop a site ranking.
- Every page has a unique title and meta description. Titles should lead with what the page is about and stay roughly within 50 to 60 characters so they are less likely to be cut off. Descriptions are not a ranking factor, but they are your pitch in the results.
- Each page has exactly one
h1. It should describe the page, not the logo. - Canonical tags point to the right URL. Each page should reference its own preferred HTTPS URL. A very common launch bug is every page carrying a canonical pointing at the home page, or at the staging domain.
- Staging blocks are gone. Check
robots.txtfor a leftoverDisallow: /, check the page source for<meta name="robots" content="noindex">, and in WordPress make sure "Discourage search engines" is unticked. Then password protect the staging site itself. - robots.txt does not block CSS, JavaScript or images. Search engines render pages the way browsers do. Blocking asset folders can make a page look broken to them.
- An XML sitemap exists and is referenced. It should list only canonical, indexable, 200-status URLs, and
robots.txtshould include aSitemap:line pointing to it. - Google Search Console is verified and the sitemap submitted. Use a Domain property if you can, since it covers every protocol and subdomain.
- Old URLs 301 to their closest new equivalent. If this is a redesign, export the old site's URLs (from the old sitemap, Search Console or your analytics) and map each one. Redirecting everything to the home page is treated much like a 404 and throws away the value those pages had built up.
If your platform does not generate a sitemap, the sitemap generator will create a valid XML file from a list of URLs.
Social and brand
The first time many people see a new site is as a link preview in a message or social post. Make that preview look intentional.
- Open Graph and Twitter card tags are set on every page. At minimum
og:title,og:description,og:url,og:imageandtwitter:cardset tosummary_large_image. Use an absolute URL for the image. - The share image is 1200 by 630 pixels. That 1.91:1 ratio displays well on most platforms. Keep text and logos away from the edges, because some apps crop to a square or a narrower frame.
- Favicons and the Apple touch icon are in place. A modern minimal set is an SVG or 32 by 32 pixel icon, a 180 by 180 pixel
apple-touch-icon.png, and a web manifest with 192 and 512 pixel icons so the site looks right when saved to a phone home screen. - Structured data describes the business. An
OrganizationorLocalBusinessblock in JSON-LD with the name, logo, address and contact details helps search engines connect the site to the business. Validate it with Google's Rich Results Test.
<meta property="og:title" content="Harbor Dental | Family Dentist in Portland">
<meta property="og:description" content="Gentle family dentistry with evening appointments.">
<meta property="og:url" content="https://example.com/">
<meta property="og:image" content="https://example.com/og-image.jpg">
<meta name="twitter:card" content="summary_large_image">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
The favicon generator outputs the full icon set and manifest from one image, and the schema generator writes the JSON-LD for item 24.
Content and UX
- A real 404 page exists and returns a 404 status. It should be branded, offer navigation or search, and actually send a 404 code. A friendly page that returns 200 (a "soft 404") confuses search engines.
- Every form works end to end. Submit each one from the live domain, on a phone and a desktop. Confirm the message arrives in the right inbox, the autoresponder (if any) reads correctly, spam protection does not block real people, and the thank-you state or page shows. If you track conversions, confirm the event fires too.
- No broken links or leftover staging URLs. Crawl the site with a link checker and search the database or source for the staging domain.
- Copy is proofread and placeholder text is gone. Search for "lorem", "TBC", "example.com" and the template's demo business name.
- Legal pages are live and linked in the footer. A privacy policy that reflects what the site actually collects (forms, analytics, embedded maps, chat widgets), a cookie policy if you use non-essential cookies, and terms where you sell or take bookings. Legal requirements vary by country, so have the client confirm the wording.
Tip: Fill in forms using an address on a different domain from the site, such as a personal Gmail. Forms that send "from" the visitor's address, or from an unauthenticated server, often deliver fine to an inbox on the same server and fail everywhere else. See item 38.
Performance
Most slow small-business sites are slow for the same two reasons: oversized images and too many third-party scripts.
- Images are compressed and in a modern format. WebP is supported by every current browser and AVIF by nearly all. A hero photo straight from a camera can be several megabytes; the same image at display size in WebP is usually a small fraction of that.
- Images are sized and lazy loaded correctly. Serve images close to their displayed size (use
srcsetfor responsive layouts), setwidthandheightattributes so the browser reserves space, and addloading="lazy"to images below the fold. Do not lazy load the hero image: it is usually your Largest Contentful Paint element. - Caching and compression are on. Text assets should be served with Brotli or gzip, and static files such as images, fonts, CSS and JS should have long cache lifetimes.
- Core Web Vitals are in the good range on mobile. Test your heaviest template, not just the home page.
| Metric | What it measures | Good | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | How quickly the main content appears | 2.5 s or less | Over 4 s |
| INP (Interaction to Next Paint) | How quickly the page responds to taps and clicks | 200 ms or less | Over 500 ms |
| CLS (Cumulative Layout Shift) | How much the layout jumps while loading | 0.1 or less | Over 0.25 |
These are the thresholds Google uses, assessed at the 75th percentile of real visits. A brand-new site will not have field data yet, so use a lab test such as PageSpeed Insights or Lighthouse as your launch benchmark.
Accessibility
These checks cover the most common failures, not a full audit.
- Text contrast meets 4.5:1. That is the WCAG AA minimum for normal body text. Large text (roughly 24 pixels, or 19 pixels bold) and essential icons and form borders need at least 3:1. Pale grey text on white and white text on brand yellow are the usual failures.
- Images have meaningful alt text. Describe what the image communicates, not "image of". Decorative images get an empty
alt=""so screen readers skip them. - The site works with a keyboard and focus is visible. Unplug the mouse and Tab through the page. You should be able to reach and operate the menu, every link and every form control, always see where focus is, and close any modal or mobile menu with Escape.
- Form fields have real labels and clear errors. Placeholder text is not a label: it disappears as soon as someone types. Each input needs a
<label>, and error messages should say what went wrong in text, not just turn a border red.
A new website often means new things sending email from your domain: contact forms, booking systems, shop receipts. Each one needs to be authorised.
- SPF, DKIM and DMARC are set up, and form email passes them. Every service that sends as your domain should be in your single SPF record and sign with DKIM, and you should have at least a DMARC record at
p=nonewith reporting. Send a test from the contact form, open the message headers in Gmail ("Show original") and confirm SPF, DKIM and DMARC all show PASS. A form plugin sending through the web server's PHP mail function will often fail all three; route it through an SMTP or transactional email service instead.
Our guide to SPF, DKIM and DMARC walks through the records in detail.
Analytics and tracking
- Analytics is installed, consented and measuring what matters. Confirm the tag fires on every page (use the real-time view), that it respects your cookie consent setup where the law requires one, and that your own visits are filtered out. Then set up the conversions that matter to the business, such as form submissions, calls from
tel:links and bookings, and test each one.
Post-launch
- Monitoring is on, and you have a date in the diary to check Search Console. Set up a free uptime monitor that alerts by email or text, and add expiry reminders for the domain and certificate if they do not auto-renew. About a week after launch, open Search Console's Pages report: check how many pages are indexed, read the reasons for any that are not, and look for 404s from old URLs you missed in the redirect map.
Tip: Keep a one-page launch record for the client: where the domain is registered, who hosts DNS, where backups go, which services send email and who has admin access. It turns the next emergency from an investigation into a phone call.
Frequently asked questions
How long before launch should I start this checklist?
Start the domain and DNS items at least two days before launch, because lowering your TTL only helps once the old, longer TTL has expired. Everything else can be worked through in an afternoon on the staging site, with a second pass on the live site in the first hour after launch.
Should my site use www or the bare domain?
Either works for SEO. What matters is that you pick one, redirect the other to it with a single 301, and use the same version in your canonical tags, sitemap and Search Console property. The bare domain is shorter; www is slightly easier to point at some CDNs because it can be a CNAME.
Do I really need a cookie banner?
It depends on where your visitors are and what you load. If you serve visitors in the UK or EU and set non-essential cookies, such as most analytics and advertising tags, you need consent before those cookies are set. A site with no tracking and only strictly necessary cookies usually does not need a banner, but it should still have a privacy policy.
Why is my new site not showing up on Google yet?
New sites commonly take a few days to a few weeks to be crawled and indexed. Check that no noindex tag or robots.txt rule is left over from staging, submit your sitemap in Search Console and use URL Inspection to request indexing of the home page. If the Pages report shows pages as excluded, it will tell you why.
What are good Core Web Vitals targets for launch?
Google treats Largest Contentful Paint of 2.5 seconds or less, Interaction to Next Paint of 200 milliseconds or less and Cumulative Layout Shift of 0.1 or less as good, measured at the 75th percentile of real visits. Test the mobile version of your heaviest page, not just the home page.