Use this checklist before you hand a WordPress site to a client, or before you take over a site from another developer. It covers what clients ask about most in the first 90 days after launch: who owns what, what breaks, and who can edit what.
1. Access and ownership
- ☐ Domain registrar login is in the client’s name, with 2FA on, and the renewal date is noted
- ☐ Hosting account is owned by the client (or the agency, in writing) and billing contacts are current
- ☐ DNS records are documented: A/CNAME, MX, SPF, DKIM, DMARC
- ☐ Every WordPress admin account is named and personal (no shared “admin” login); former contractors are removed
- ☐ Theme, plugin, and premium license keys are registered to the client or agency account, not a freelancer’s personal account
- ☐ Git repository access is transferred, or a final zip of the code is delivered
2. Code and theme
- ☐ Custom theme lives in version control with a README covering how to build and deploy
- ☐ Child theme or custom theme in use, so no parent theme was edited directly
- ☐ Build assets (Vite/webpack) are compiled and committed or deployed; the build steps are written down
- ☐ No hard-coded URLs, credentials, or API keys in theme files
- ☐ PHP version on the host matches what the theme and plugins need
- ☐ WP_DEBUG is off in production and debug.log is not publicly reachable
3. Plugins
- ☐ Each active plugin has a written reason to exist; unused plugins are removed (not just deactivated)
- ☐ Premium plugins have active licenses and the renewal owner is agreed
- ☐ Auto-update policy is agreed (core minor updates on; plugin updates on, or reviewed monthly)
- ☐ No abandoned plugins (last updated more than 12 months ago) without a plan
4. Editor experience
- ☐ The client can edit pages, menus, and site settings without touching code
- ☐ Block patterns or custom blocks cover the layouts they will reuse
- ☐ Locked or limited blocks are set where layout must not break
- ☐ User roles are right: editors are Editors, not Administrators
- ☐ A short “how to edit your site” guide (doc or video) is delivered
5. SEO basics
- ☐ Search engine visibility is ON (Settings → Reading) after launch
- ☐ robots.txt returns 200 and lists the sitemap
- ☐ XML sitemap works and leaves out thank-you, utility, and duplicate pages
- ☐ Every page has a unique title and meta description
- ☐ 301 redirects are in place for every changed URL from the old site
- ☐ Google Search Console and analytics are verified under the client’s account
6. Performance
- ☐ Page caching is on and purges on content changes
- ☐ Images are resized and served in modern formats; the hero image is preloaded
- ☐ Lighthouse mobile check run on the homepage and a key landing page; results recorded as a baseline
- ☐ No render-blocking third-party scripts the client doesn’t need
7. Accessibility
- ☐ Keyboard-only pass: every link, menu, and form is reachable, with a visible focus state
- ☐ Headings follow order (one H1, no skipped levels)
- ☐ Form fields have real labels; errors are announced
- ☐ Color contrast meets WCAG AA
- ☐ Images have meaningful alt text (or empty alt if decorative)
- ☐ No accessibility overlay plugin relied on as the fix
8. Security and backups
- ☐ Automated daily backups stored off the server, with a restore tested at least once
- ☐ 2FA for all administrator accounts
- ☐ File editing in wp-admin disabled (DISALLOW_FILE_EDIT)
- ☐ Login protection or rate limiting in place
- ☐ SSL certificate auto-renews; the site forces HTTPS
9. Forms and email
- ☐ Every form was tested end-to-end and arrives at the right inbox
- ☐ Transactional email is sent through an authenticated SMTP or API service (not unauthenticated PHP mail)
- ☐ Spam protection is on (Akismet, honeypot, or similar)
- ☐ Form entries are stored or exported somewhere the client can reach
10. Handoff package
- ☐ One document lists all logins and where they live (in a password manager, not email)
- ☐ Support terms are written down: what is covered, response time, and how to request changes
- ☐ Maintenance plan (who updates what, and how often) is agreed or explicitly declined
- ☐ Launch date, final invoice, and warranty window are confirmed in writing
Need a second set of eyes?
I do behind-the-scenes WordPress work for agencies and marketers: custom themes, blocks, and pre-launch checks. Send a short note, and I reply within one business day (ET).
