🚀 Project & Launch Basics
-
Final domain, SSL, and redirects
Check: Primary domain (www or non-www), SSL on all pages, HTTP→HTTPS 301.
Why: Trust, SEO, and no duplicate URLs.
How to check: Open site with http/https, with/without www; use httpstatus.io.
How to fix: Set 301 in server (Nginx/Apache), enable TLS, force HTTPS, pick one host.
-
Robots.txt and XML sitemaps
Check: robots.txt allows correct parts; sitemap.xml exists and lists key pages.
Why: Search engines need correct crawl rules.
How to check: /robots.txt and /sitemap.xml in browser; validate in Search Console.
How to fix: Add sitemap line in robots, generate sitemap (CMS plugin or build script).
-
404 and 500 pages
Check: Custom helpful 404; server returns 404/500 status correctly.
Why: Better UX and correct signals for crawlers.
How to check: Open a fake URL; inspect status with DevTools/Network.
How to fix: Create custom templates, link to home/search, ensure right status codes.
-
Favicon, Open Graph, and Apple/Android icons
Check: Favicon, og:title/og:image, touch icons.
Why: Clean previews on social and devices.
How to check: Facebook Sharing Debugger, Twitter Card Validator.
How to fix: Add <meta property="og:*">, correct images (1200×630), link icons.
-
Environment parity (staging vs production)
Check: Same build flags, same API endpoints, no test keys in prod.
Why: Avoid bugs after deploy.
How to check: Compare env files, check console for errors.
How to fix: Use env vars per environment, secrets manager, CI/CD checks.
⚡ Performance & Core Web Vitals
-
Core Web Vitals: LCP, CLS, INP
Check: LCP ≤2.5s, CLS ≤0.1, INP ≤200ms.
Why: Speed and ranking.
How to check: Lighthouse, PageSpeed Insights, Chrome UX Report.
How to fix: Optimize hero image, preload key resources, reduce layout shifts, remove long tasks.
-
TTFB and server latency
Check: TTFB ideally <200 ms.
Why: Slow first byte hurts all metrics.
How to check: WebPageTest, DevTools Timing.
How to fix: Use CDN, HTTP/2 or HTTP/3, enable caching, tune server/app DB.
-
Images (size, format, lazy load)
Check: Use WebP/AVIF, proper dimensions, loading="lazy".
Why: Big images kill speed.
How to check: Lighthouse “properly sized images”.
How to fix: Compress (ImageOptim/Squoosh), responsive <img srcset>, CDN resizing.
-
CSS/JS weight and blocking
Check: Minify, tree-shake, remove unused CSS/JS, split bundles.
Why: Less bytes → faster paint.
How to check: Lighthouse “unused CSS/JS”, DevTools Coverage.
How to fix: Code-split, purge CSS, defer non-critical JS, inline critical CSS.
-
Fonts
Check: Preload key font, font-display: swap, subset fonts.
Why: Avoid FOIT and delays.
How to check: DevTools → Network for font timing.
How to fix: Add <link rel="preload">, use variable font or subsets, self-host.
-
Caching and compression
Check: Gzip/Brotli on, long Cache-Control for static assets.
Why: Faster repeat visits.
How to check: DevTools → Response headers.
How to fix: Set Cache-Control/ETag, enable Brotli, use CDN rules.
-
Third-party scripts
Check: Tag managers, widgets, chat—load async/defer; remove unused.
Why: They often slow down.
How to check: Lighthouse third-party summary.
How to fix: Load after interaction, use server-side or lightweight alternatives.
📱 Mobile & Responsive
-
Viewport and breakpoints
Check: <meta name="viewport"…>, layouts at key widths.
Why: Good on all devices.
How to check: Chrome Device Toolbar.
How to fix: Add viewport meta, CSS grid/flex, test at 360/414/768/1024/1280+.
-
Touch targets and gestures
Check: Buttons ≥44×44 px, no hover-only actions.
Why: Easy tapping.
How to check: Manual tap test; Lighthouse accessibility.
How to fix: Increase padding, add visible focus/active states.
-
Mobile performance
Check: CWV on 4G/slow CPU.
Why: Real users are mobile.
How to check: Lighthouse “Simulated Mobile”.
How to fix: Reduce JS, compress images, limit animations.
🔍 SEO Fundamentals
-
Titles and meta descriptions
Check: Unique <title> and <meta name="description"> on each page.
Why: CTR and indexing.
How to check: Crawl with Screaming Frog; spot duplicates.
How to fix: Write unique titles (50–60 chars) and metas (120–160 chars).
-
Headings and content structure
Check: One H1, clear H2/H3 hierarchy.
Why: Context for users and bots.
How to check: Web inspector, SEO crawler.
How to fix: Fix headings in templates; avoid styling headers as headings.
-
Canonicals and index rules
Check: <link rel="canonical">, noindex where needed (search results pages, admin).
Why: Prevent duplicates.
How to check: View source; crawl.
How to fix: Add canonical, meta robots="noindex,follow" where correct.
-
Structured data (schema.org)
Check: Article/Product/Breadcrumb/FAQ JSON-LD.
Why: Rich results.
How to check: Rich Results Test.
How to fix: Add JSON-LD in templates with required fields.
-
Open Graph & Twitter Cards
Check: Social preview good for key pages.
Why: Better shares.
How to check: Social debuggers.
How to fix: Set og:title/description/image; twitter:card.
-
Redirects, broken links, 404s
Check: No 404 in nav; legacy URLs 301 to new ones.
Why: Crawl health and UX.
How to check: Screaming Frog → Response codes report.
How to fix: Map 301s, fix internal links.
-
Hreflang (if multi-language)
Check: Correct pairs and return tags.
Why: Right page for right locale.
How to check: Hreflang testing tools.
How to fix: Add hreflang in head or sitemap.
-
Quick on-page scan
Check: Fast audit of title/headers/links/images.
Why: Catch small SEO issues fast.
How to check: Use Plerdy SEO Analyzer Chrome extension.
How to fix: Update tags, alt text, internal links per the report.
📊 Analytics & Tracking
-
GA4 base tag and Consent Mode
Check: GA4 installed once, Consent Mode V2 configured.
Why: Clean data and privacy.
How to check: Tag Assistant; GA4 Realtime.
How to fix: Add via GTM or gtag.js, enable consent banner integration.
-
Conversions and events
Check: Purchase/lead/download events, with parameters (value, currency).
Why: Measure success.
How to check: GA4 DebugView; test flows.
How to fix: Configure in GTM; use dataLayer pushes on actions.
-
Search Console and Bing Webmaster Tools
Check: Site verified; sitemaps submitted.
Why: Index and reports.
How to check: GSC/Bing dashboards.
How to fix: Verify via DNS/HTML file; submit sitemap URLs.
-
UTM rules
Check: Clear UTM naming standard.
Why: Clean attribution.
How to check: Sample URLs in a doc; spot mistakes in GA4 reports.
How to fix: Create a UTM builder and team guide.
-
Behavior tracking for UX
Check: Click maps, scroll depth, session replays.
Why: Find friction after launch.
How to check: Plerdy UX & Usability Testing.
How to fix: Improve weak CTAs, move content, simplify forms.
🛡️ Security & Compliance
-
HTTPS everywhere and HSTS
Check: No mixed content; HSTS header on.
Why: Security and trust.
How to check: DevTools Security tab; securityheaders.com.
How to fix: Force HTTPS, update asset URLs, add Strict-Transport-Security.
-
Security headers
Check: CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy.
Why: Reduce common attacks.
How to check: Response headers.
How to fix: Add headers in server/CDN; test CSP in report-only first.
-
Admin and secrets
Check: Strong passwords, 2FA, no test accounts, no keys in client code.
Why: Prevent breaches.
How to check: Review users and repo; run secret scans.
How to fix: Remove old users, enable 2FA, move keys to vault.
-
Privacy, cookies, and policies
Check: Privacy Policy, Terms, cookie banner, Do Not Sell (if needed).
Why: Legal (GDPR/CCPA).
How to check: Legal pages present and linked in footer.
How to fix: Add pages, enable cookie banner with categories and logs.
✍️ Content & UX Basics
-
Above-the-fold clarity
Check: Clear headline, value, and primary CTA.
Why: Users decide fast.
How to check: 5-second test with a colleague.
How to fix: Short H1, one CTA, remove noise.
-
Readability and tone
Check: Short sentences, simple words, scannable lists.
Why: Better comprehension.
How to check: Readability tool (Flesch/Kincaid).
How to fix: Edit to shorter lines, add subheadings and bullets.
-
Navigation and IA
Check: Clear menu, breadcrumbs, no orphan pages.
Why: Findability.
How to check: Click paths; crawl for orphan URLs.
How to fix: Add internal links; update menus and breadcrumbs.
-
Forms UX and validation
Check: Labels, errors, required fields, spam protection.
Why: Conversion impact.
How to check: Submit empty/wrong forms; test mobile keyboard types.
How to fix: Inline errors, minimal required fields, reCAPTCHA, correct input types.
-
Accessibility essentials
Check: Alt text, contrast, focus order, ARIA landmarks.
Why: Inclusive and often required.
How to check: Lighthouse a11y; axe DevTools.
How to fix: Add alts, fix color ratios, add roles/labels.
🛒 E-commerce (if applies)
-
Product pages
Check: Price, stock, variants, shipping info, returns policy, schema.
Why: Trust and SEO.
How to check: Manual review + schema test.
How to fix: Fill missing data, add Product JSON-LD, clear CTAs.
-
Cart and checkout flow
Check: Add/remove items, guest checkout, address/ZIP validation.
Why: Direct revenue impact.
How to check: Test full purchase on desktop/mobile.
How to fix: Simplify steps, autofill, clear errors.
-
Payments, taxes, shipping
Check: All gateways in live mode; correct tax and shipping rules.
Why: Avoid failed orders.
How to check: Live $1 test or sandbox; verify rules by region.
How to fix: Update gateway configs; set tax/shipping tables.
-
Transactional emails
Check: Order, shipping, reset password emails sent and not in spam.
Why: Customer trust.
How to check: Real orders; check headers for SPF/DKIM/DMARC pass.
How to fix: Configure sender domain, add SPF/DKIM/DMARC, edit email templates.
☁️ DevOps, Hosting, and CDN
-
CDN and edge caching
Check: Static assets served via CDN; cache rules.
Why: Global speed.
How to check: Response headers; traceroute.
How to fix: Enable CDN (Cloudflare/Fastly), set cache TTL and purges.
-
Compression and protocols
Check: Brotli/Gzip enabled; HTTP/2 or HTTP/3 active.
Why: Faster transfer.
How to check: Response headers; tools.pingdom.com.
How to fix: Turn on in CDN/server; upgrade TLS.
-
Build pipeline and rollbacks
Check: CI/CD, version tags, quick rollback plan.
Why: Safe deploys.
How to check: Review pipeline; test rollback.
How to fix: Add artifacts, keep previous build, document steps.
-
Logs, errors, and alerts
Check: App logs, 404/500 monitoring, JS error tracking.
Why: Faster fixes.
How to check: Set Sentry/LogRocket; server log tails.
How to fix: Add alerting rules (Slack/email), rotate logs.
-
Backups and restore test
Check: Daily DB/files backup; restore procedure tested.
Why: Disaster recovery.
How to check: Restore to staging.
How to fix: Automate backups; document restore runbook.
🌐 Internationalization & Localization (if needed)
-
Language switch and persistence
Check: Switcher visible; site remembers choice.
Why: UX for global users.
How to check: Change language, navigate.
How to fix: Store preference, avoid auto-redirect traps.
-
Hreflang and locale formats
Check: Hreflang tags; correct date, currency, phone formats.
Why: Right content per region.
How to check: Validator; manual pages review.
How to fix: Add hreflang; format with locale libs.
🔭 After-Launch Monitoring
-
Uptime and SSL expiry alerts
Check: 24/7 ping; cert renewal alerts.
Why: Avoid downtime surprises.
How to check: UptimeRobot/StatusCake; calendar for certs.
How to fix: Set monitors and email/SMS/Slack alerts; auto-renew certs.
-
Performance monitoring
Check: RUM for CWV; synthetic tests daily.
Why: Catch regressions.
How to check: PageSpeed API reports, CrUX, or SpeedCurve.
How to fix: Set budgets and alerts; review changes before deploy.
-
SEO health
Check: Index coverage, sitemaps, manual actions.
Why: Traffic protection.
How to check: Search Console weekly.
How to fix: Fix errors, resubmit, adjust robots/sitemap.
✅ Pre-Launch QA Matrix
-
Browsers and devices
Check: Latest Chrome, Safari, Firefox, Edge; iOS/Android popular models.
Why: Real user coverage.
How to check: BrowserStack or real devices.
How to fix: Polyfills, CSS fixes, test again.
-
Critical user journeys
Check: Home → key page → form/checkout → thank-you.
Why: Revenue path.
How to check: Click through each path on desktop and mobile.
How to fix: Remove blockers, improve messages, add loading states.
-
Email deliverability
Check: SPF, DKIM, DMARC, branding of sender.
Why: Avoid spam.
How to check: Mail-tester; Gmail/Outlook tests.
How to fix: Add DNS records, align domains, warm up IP if needed.
-
Content freeze and final proof
Check: No lorem ipsum, correct links, no draft pages in nav.
Why: Professional look.
How to check: Content checklist; broken link crawl.
How to fix: Replace placeholders, fix typos, hide drafts.
-
Cookie banner and tracking test
Check: Banner blocks non-essential cookies before consent.
Why: Compliance.
How to check: Open in new browser/profile; watch cookies in DevTools.
How to fix: Configure CMP to fire tags only after consent.