{"id":1872,"date":"2026-06-26T13:14:21","date_gmt":"2026-06-26T13:14:21","guid":{"rendered":"https:\/\/windcodex.com\/?p=1872"},"modified":"2026-06-27T04:23:22","modified_gmt":"2026-06-27T04:23:22","slug":"wordpress-client-handover-checklist","status":"publish","type":"post","link":"https:\/\/windcodex.com\/wordpress-client-handover-checklist\/","title":{"rendered":"The WordPress Client Handover Checklist: Save 3 Hours Per Project with AI Documentation"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>Every WordPress agency has the same dirty secret: client documentation is the last thing that gets done, the first thing that gets cut when a deadline slips, and the number one source of post-launch support tickets when it&#8217;s missing.<\/p>\n<p>You&#8217;ve spent weeks building a site \u2014 custom post types, ACF field groups, WooCommerce shipping rules, third-party integrations \u2014 and then you hand it over with a vague &#8220;let me know if you have questions.&#8221; Six weeks later the client is emailing asking which field controls the homepage banner. Three months later they&#8217;ve accidentally broken a custom post type and don&#8217;t know why. A year later they&#8217;ve hired a new developer who has no idea what&#8217;s under the hood.<\/p>\n<p>Client handover documentation isn&#8217;t optional for a professional agency. It&#8217;s the difference between a client who renews their maintenance retainer and one who quietly moves to a cheaper provider.<\/p>\n<p>This guide gives you the complete client handover checklist \u2014 everything a WordPress client needs from you at project close \u2014 and shows you how to generate the technical sections automatically using AI so the whole process takes under two minutes instead of four hours.<\/p>\n<hr \/>\n<h2>Why Most WordPress Handovers Fall Short<\/h2>\n<p>The typical WordPress handover consists of login credentials, a brief video walkthrough, and a promise to be available for questions. That&#8217;s not documentation \u2014 it&#8217;s deferred support.<\/p>\n<p>The problems that follow are predictable. Clients who don&#8217;t understand their ACF field structure break things by guessing. Clients who don&#8217;t know their plugin stack can&#8217;t brief a future developer accurately. Clients who don&#8217;t have a record of their WooCommerce configuration \u2014 payment gateways, shipping zones, tax rules \u2014 can&#8217;t audit what changed when something stops working.<\/p>\n<p>Every support ticket you field in the three months after launch is a documentation failure in disguise. The question &#8220;how do I change the hero image?&#8221; is a sign you didn&#8217;t document the ACF field that controls it. The question &#8220;why isn&#8217;t checkout working?&#8221; after a plugin update is a sign the client didn&#8217;t know which plugins their store depended on.<\/p>\n<p>Professional handover documentation eliminates the majority of post-launch support noise \u2014 and it signals to clients that you run a serious operation worth retaining.<\/p>\n<hr \/>\n<h2>The Complete WordPress Client Handover Checklist<\/h2>\n<p>Use this checklist for every project. The sections marked <strong>(Auto)<\/strong> can be generated automatically using <a href=\"https:\/\/windcodex.com\/product\/sitedocs\/\">SiteDocs<\/a> \u2014 more on that below.<\/p>\n<hr \/>\n<h3>1. Site Environment Summary (Auto)<\/h3>\n<p>The first thing any developer or support agent needs when inheriting a WordPress site is a clear picture of the server environment. This section should include:<\/p>\n<ul>\n<li>WordPress version<\/li>\n<li>PHP version and memory limit<\/li>\n<li>Active theme name and version<\/li>\n<li>Hosting provider and server type<\/li>\n<li>Database version<\/li>\n<li>SSL status and expiry date<\/li>\n<li>WordPress multisite configuration (if applicable)<\/li>\n<\/ul>\n<p>Documenting this manually means logging into cPanel, checking phpinfo(), and cross-referencing WordPress admin \u2014 typically 20 to 30 minutes per project. SiteDocs captures all of this in a single automated scan.<\/p>\n<hr \/>\n<h3>2. Active Plugin Inventory (Auto)<\/h3>\n<p>Clients and future developers need to know exactly which plugins are installed, what each one does, and which ones are business-critical versus cosmetic.<\/p>\n<p>Your plugin documentation should include:<\/p>\n<ul>\n<li>Plugin name and current version<\/li>\n<li>What the plugin does on this specific site (not just its generic description)<\/li>\n<li>Whether the plugin has an active licence that needs renewing<\/li>\n<li>Which plugins depend on each other<\/li>\n<li>Any plugins that should never be deactivated without specific steps<\/li>\n<\/ul>\n<p>This section is particularly important for WooCommerce sites where deactivating a payment gateway plugin or a shipping integration can break checkout silently.<\/p>\n<p>SiteDocs auto-scans every active plugin and uses AI to generate a plain-English description of what each one does in the context of this specific site \u2014 not the generic marketing copy from the plugin directory.<\/p>\n<hr \/>\n<h3>3. Custom Post Types Documentation (Auto)<\/h3>\n<p>If you&#8217;ve built custom post types as part of the project, the client needs to know what they&#8217;re called, where to find them in WordPress admin, and what each one is for.<\/p>\n<p>Document for each custom post type:<\/p>\n<ul>\n<li>Display name and admin menu location<\/li>\n<li>What kind of content it stores<\/li>\n<li>Any taxonomies associated with it<\/li>\n<li>Whether it appears on the front end and where<\/li>\n<li>Any restrictions on who can edit it<\/li>\n<\/ul>\n<p>Without this, clients mistake custom post types for standard posts, create content in the wrong place, and wonder why it doesn&#8217;t appear on the site.<\/p>\n<hr \/>\n<h3>4. ACF Field Group Documentation (Auto)<\/h3>\n<p>Advanced Custom Fields is the most common source of post-launch confusion for clients. A field named <code>hero_title<\/code> means nothing to a non-developer. A field documented as &#8220;The main headline that appears over the banner image on the homepage&#8221; means everything.<\/p>\n<p>For every ACF field group, document:<\/p>\n<ul>\n<li>Which post type or page template the group appears on<\/li>\n<li>Every field name translated into plain English<\/li>\n<li>What the field controls on the front end<\/li>\n<li>Any character limits, file size limits, or format requirements<\/li>\n<li>Which fields are required vs. optional<\/li>\n<\/ul>\n<p>SiteDocs reads your ACF field group structure and uses AI to translate every technical field name into a plain-English instruction. A field called <code>cta_button_url<\/code> becomes &#8220;The URL the call-to-action button on the homepage links to.&#8221; A field called <code>testimonial_author_role<\/code> becomes &#8220;The job title displayed beneath the testimonial author&#8217;s name.&#8221; This translation alone saves agencies one to two hours per project.<\/p>\n<hr \/>\n<h3>5. WooCommerce Store Configuration (Auto)<\/h3>\n<p>For WooCommerce builds, the store configuration section is critical \u2014 and it&#8217;s one of the most painful to document manually because it spans so many settings panels.<\/p>\n<p>Document the following:<\/p>\n<ul>\n<li>Active payment gateways and their configuration status<\/li>\n<li>Shipping zones and shipping methods per zone<\/li>\n<li>Tax settings and tax classes<\/li>\n<li>Active WooCommerce extensions and what each one does<\/li>\n<li>Email notification settings and which emails are enabled<\/li>\n<li>Order statuses and any custom order flows<\/li>\n<li>Currency and locale settings<\/li>\n<\/ul>\n<p>SiteDocs includes a dedicated WooCommerce module that scans all of the above and generates a structured configuration summary. Enable it under Settings \u2192 SiteDocs \u2192 Advanced \u2192 WooCommerce Module.<\/p>\n<hr \/>\n<h3>6. Theme and Design Documentation<\/h3>\n<p>This section covers what the client&#8217;s design team needs to stay on-brand when the agency is no longer involved day-to-day.<\/p>\n<p>Include:<\/p>\n<ul>\n<li>Active theme name and whether it&#8217;s a child theme<\/li>\n<li>Primary and secondary brand colours (HEX values)<\/li>\n<li>Typography \u2014 font families, sizes, and weights used across the site<\/li>\n<li>Any custom CSS and what it affects<\/li>\n<li>Template hierarchy \u2014 which template file controls which page type<\/li>\n<li>Any page builder being used (Elementor, Divi, Bricks, etc.) and key layout notes<\/li>\n<\/ul>\n<p>SiteDocs automatically generates a brand style guide section including active colour palette and typography from the site&#8217;s stylesheet.<\/p>\n<hr \/>\n<h3>7. Third-Party Integrations and API Keys<\/h3>\n<p>Nothing creates more panic after a handover than a broken integration and no record of where the API key came from.<\/p>\n<p>Document every external integration:<\/p>\n<ul>\n<li>Integration name and what it connects (e.g. Mailchimp for order confirmation emails)<\/li>\n<li>Where the API key or credentials are stored in WordPress admin<\/li>\n<li>What breaks if the integration stops working<\/li>\n<li>The account or login used to manage the third-party platform<\/li>\n<li>Any webhooks or Zapier connections<\/li>\n<\/ul>\n<p>Do not include API keys or passwords in the handover document itself \u2014 use a password manager like 1Password or Bitwarden and share the relevant vault with the client separately.<\/p>\n<hr \/>\n<h3>8. User Roles and Access Control<\/h3>\n<p>The client needs to understand who has access to what in WordPress admin \u2014 especially if you&#8217;ve set up custom roles or restricted access to specific areas.<\/p>\n<p>Document:<\/p>\n<ul>\n<li>Every WordPress user role in use and what it can and can&#8217;t do<\/li>\n<li>Which team members have which roles<\/li>\n<li>Any areas of the admin that have been restricted (e.g. clients who shouldn&#8217;t access plugin settings)<\/li>\n<li>The administrator account details and where they&#8217;re stored securely<\/li>\n<\/ul>\n<p>If your agency uses a tool like <a href=\"https:\/\/windcodex.com\/product\/switchguard\/\">SwitchGuard<\/a> for account switching and audit logging, include a note on how to use it \u2014 particularly useful for agencies handing over to clients who will manage their own team&#8217;s access going forward.<\/p>\n<hr \/>\n<h3>9. Maintenance Instructions<\/h3>\n<p>Tell the client exactly what ongoing maintenance the site needs and who is responsible for each item.<\/p>\n<p>Include:<\/p>\n<ul>\n<li>How to update WordPress core safely<\/li>\n<li>How to update plugins (and which ones require manual steps)<\/li>\n<li>How often backups run and where they&#8217;re stored<\/li>\n<li>How to restore from a backup<\/li>\n<li>What to do if the site goes down (hosting support contact, your agency&#8217;s emergency contact)<\/li>\n<li>Any tasks that should only be done by a developer<\/li>\n<\/ul>\n<hr \/>\n<h3>10. Custom Sections and Video Walkthroughs<\/h3>\n<p>Some things are easier to show than to write. For any process that&#8217;s genuinely complex \u2014 adding a new team member, creating a new product with specific ACF fields, updating a mega menu \u2014 a short Loom video linked from the documentation is far more effective than written instructions alone.<\/p>\n<p>SiteDocs lets you attach video URLs to any documentation section, embedding them inline alongside the written content. It also supports custom freeform sections with a title and markdown body \u2014 useful for processes that fall outside what the automated scanner covers.<\/p>\n<hr \/>\n<h2>How to Generate All of This in Under 2 Minutes with SiteDocs<\/h2>\n<p>The checklist above typically takes a thorough agency developer three to four hours to complete manually per project. SiteDocs automates the sections marked <strong>(Auto)<\/strong> \u2014 the site environment, plugin inventory, custom post types, ACF field groups, WooCommerce configuration, and brand style guide \u2014 reducing the documentation workload to under two minutes for the generated content, plus time to add your manual sections and video links.<\/p>\n<p>Here&#8217;s how it works.<\/p>\n<p><strong>Step 1: Install SiteDocs and add your AI provider API key.<\/strong><\/p>\n<p>Go to your plugin settings and choose your AI provider \u2014 SiteDocs supports OpenAI, Anthropic, and Google Gemini. Enter your API key and select a model. Your scan data (plugin names, ACF field slugs, WooCommerce settings) is sent to the AI to generate the written documentation. No user data, order data, or customer information is included in the scan.<\/p>\n<p><strong>Step 2: Configure agency branding.<\/strong><\/p>\n<p>Under General Settings, add your agency name, logo, and primary colour. These are applied automatically to the documentation header and the PDF export cover \u2014 so every document you deliver is branded to your agency, not to WindCodex.<\/p>\n<p><strong>Step 3: Run the site scan.<\/strong><\/p>\n<p>Go to Tools \u2192 SiteDocs \u2192 Generate and trigger a full scan. SiteDocs scans your active plugins, theme, custom post types, ACF field groups, WooCommerce configuration, and server environment, then sends the structured data to your chosen AI provider and generates a complete, section-based documentation set.<\/p>\n<p>The whole process takes under two minutes on a typical WordPress site.<\/p>\n<p><strong>Step 4: Review and add custom sections.<\/strong><\/p>\n<p>Read through the generated documentation, make any edits, and add the sections that require manual input \u2014 third-party integrations, user role notes, maintenance instructions, and video links. SiteDocs lets you regenerate individual sections independently if you want to refine a specific part without rerunning the whole scan.<\/p>\n<p><strong>Step 5: Export as a branded PDF and deliver.<\/strong><\/p>\n<p>Click Export to generate a clean, printable PDF with your agency branding on the cover. Deliver it with your final invoice. The client can also access the documentation directly in their WordPress admin \u2014 you control which roles can see the viewer under Role Visibility settings.<\/p>\n<p><strong>Step 6: Enable Auto-Generation for ongoing accuracy.<\/strong><\/p>\n<p>For sites you&#8217;re maintaining on retainer, enable automatic documentation regeneration under Settings \u2192 SiteDocs \u2192 Auto-Generation. Set the schedule to daily or weekly and SiteDocs keeps the documentation current as the site evolves \u2014 new plugins, updated ACF groups, and WooCommerce changes are all picked up automatically.<\/p>\n<hr \/>\n<h2>What Clients Actually Do With the Documentation<\/h2>\n<p>A handover document only has value if clients can find and use it. SiteDocs addresses this in two ways.<\/p>\n<p>The <strong>documentation viewer<\/strong> is accessible directly from WordPress admin \u2014 no PDF hunting required. Clients see a clean, searchable interface covering every section of the documentation. The <strong>Read Tracker<\/strong> shows you which sections each team member has acknowledged, so you know the handover has actually been absorbed and not just filed away.<\/p>\n<p>The <strong>AI Chat Q&amp;A<\/strong> feature lets clients ask natural-language questions about their own site from the documentation viewer. &#8220;Which payment gateways are active?&#8221; &#8220;What custom post types does this site use?&#8221; &#8220;Where do I update the homepage headline?&#8221; \u2014 answered instantly from the generated documentation, without a support ticket to your agency.<\/p>\n<hr \/>\n<h2>Frequently Asked Questions<\/h2>\n<p><strong>How is SiteDocs different from writing documentation in Notion or Google Docs?<\/strong><\/p>\n<p>Notion and Google Docs are great for storing documentation once you&#8217;ve written it. SiteDocs generates the technical content automatically \u2014 it reads your site&#8217;s actual structure and produces the documentation rather than requiring you to write it from scratch. You can export to PDF and deliver it to clients, or leave it accessible in WordPress admin. Manual tools require you to do the writing; SiteDocs does it for you.<\/p>\n<p><strong>Does SiteDocs send my site data to external servers?<\/strong><\/p>\n<p>Scan data \u2014 plugin names, settings, CPT configurations, ACF field slugs \u2014 is sent to your configured AI provider&#8217;s API to generate the documentation. No user data, order data, or customer information is included in the scan. Review your chosen AI provider&#8217;s data retention policy for specifics.<\/p>\n<p><strong>Can I use SiteDocs without an AI API key?<\/strong><\/p>\n<p>No \u2014 the documentation generation step requires an AI provider API key. Scanning is local to your WordPress installation, but producing the written documentation requires AI. SiteDocs supports OpenAI, Anthropic, and Google Gemini, so you can use whichever API key you already have.<\/p>\n<p><strong>Can I give clients access to the documentation viewer?<\/strong><\/p>\n<p>Yes. Add the client&#8217;s WordPress role (for example, <code>editor<\/code>) to Role Visibility in SiteDocs settings. They&#8217;ll see the documentation viewer but not the settings or generation controls. Your agency branding is applied automatically for a fully white-labelled experience.<\/p>\n<p><strong>What happens when the site changes after handover?<\/strong><\/p>\n<p>Enable Auto-Generation in SiteDocs settings and set a daily or weekly schedule. SiteDocs will automatically rescan the site and regenerate documentation whenever it runs. For sites on a maintenance retainer, this keeps the documentation accurate without any manual effort on your part.<\/p>\n<p><strong>Does SiteDocs work on WordPress multisite?<\/strong><\/p>\n<p>Yes. Multisite network support is included, allowing you to manage documentation across every site in a network from the network admin.<\/p>\n<hr \/>\n<h2>Wrapping Up<\/h2>\n<p>A professional WordPress client handover has ten components: site environment, plugin inventory, custom post types, ACF fields, WooCommerce configuration, theme and design notes, third-party integrations, user roles, maintenance instructions, and video walkthroughs. Most agencies deliver two or three of these and call it done.<\/p>\n<p>SiteDocs automates the six most time-consuming sections \u2014 the ones that require reading your actual site structure rather than just writing from memory \u2014 and delivers them as a branded PDF in under two minutes. The manual sections take another 20 to 30 minutes. The total is a fraction of what professional documentation used to cost in developer time.<\/p>\n<p>Every client you deliver a proper handover pack to is a client who has a reason to stay.<\/p>\n<p><a href=\"https:\/\/windcodex.com\/product\/sitedocs\/\">Explore SiteDocs \u2192<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Every WordPress agency has the same dirty secret: client documentation is the last thing that gets done, the first thing that gets cut when a deadline slips, and the number one source of post-launch support tickets when it&#8217;s missing. You&#8217;ve spent weeks building a site \u2014 custom post types, ACF field groups, WooCommerce shipping [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,1],"tags":[],"class_list":["post-1872","post","type-post","status-publish","format-standard","hentry","category-ai-tools","category-woocommerce"],"_links":{"self":[{"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/posts\/1872","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/comments?post=1872"}],"version-history":[{"count":0,"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/posts\/1872\/revisions"}],"wp:attachment":[{"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/media?parent=1872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/categories?post=1872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/windcodex.com\/wp-json\/wp\/v2\/tags?post=1872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}