Step by Step WooCommerce Launch Checklist

Step by Step WooCommerce Launch Checklist

Whether you are re-launching a newly developed theme for your WooCommerce store or just starting your ecommerce business, I hope this checklist makes the process a little less painful during launch.

Step 1: Prep for launch

Download backup of staging server

The first step is to download a backup of your site. When in doubt, take a backup even if it is very small change. When I look back at the all nighters I have spent launching sites it usually has something to do with making too many changes and not having a backup point where I could revert back to. I cannot say this enough but ensure to take backups of both the staging site and production sites as much as possible even if the changes you made on the staging or production site were small.

How can I take a backup? If you are using WP Engine as your hosting provider provides, simply download a backup on your WP Engine account.

If not, I would recommend looking at migrating to WP Engine a 3rd party plugin such as BlogVault to backup your site.

Keep in mind that paying $35 for a premium WordPress hosting provider will pay dividends not only during this process but for your site going forward.

Having backups to revert to during this process is crucial!

Import customers, products, coupons, and orders

If you are just starting out with WooCommerce, disregard this task. However, if you re-developed a new WooCommerce site, import your customers, products, coupons, and orders from Site A to Site B. If you are running into problems with how to import WooCommerce orders without overwriting post IDs, see these posts on how to move WooCommerce orders as well as migrating WooCommerce customers.

Test Customer Registration, Adding Product to Cart, Going Through the Checkout Process

Register as a new customer and do a test order to ensure your product, cart, checkout, and order confirmation pages are working.

Optional: login to your new account after the test order has been created and make sure you see the Order in your My Account – Orders page.

Double check all WooCommerce Products

  • Products title
  • Prices
  • Product descriptions
  • Product images
  • Optional: each product is assigned one or more categories.
  • Optional: Add cross sells/upsells under Linked Products

Note: if you are using variation product or grouped products, ensure that all variations of the product has a price, SKU, inventory level (if set), and their options are showing on the product pages.

Product, Cart, Checkout, and Order Confirmation pages

  • Coupon codes are working and calculating correctly.
  • Email notifications New Customer Order
  • Cancelled Order
  • Test adding a product to Cart, removing and updating cart.
  • If stock management is enabled, test how each page looks when a product is in stock, out of stock, out of stock but allowed for backorder, etc.

Configured all WooCommerce settings (Accounts, Email, Sales Tax, Shipping, Payment Methods, Inventory)

Customer Accounts

  • New customers are set to the role “Customer”.
  • Determined if users will checkout as a guest or require to register for an account.
  • Added Terms of Service page and/or Privacy Policy page.

Email Settings

  • Email notifications are being sent correctly.
  • Your Company logo has been added
  • Footer text
  • Base color, background color, and body text color all defined and on brand.
  • From name is identified as Your Company.
  • From address is sending from your domain. For example, the email comes from, not the staging site URL such as info@dev.yourcompany.

Payment Methods

  • Added and activated your payment option. For example, added “Stripe”.
  • Did a test order and test order data showing up in your payment provider account. For example, if you have a Stripe or PayPal account, you will be able to see test data in your Stripe or PayPal specific dashboard.
  • Turn “test mode” off for Stripe, PayPal, and other payment provider settings.

Note: if you want to ensure that your live API keys were setup correctly, update a product to $1.00 and go through the Checkout process. If all goes well and live data is showing in your payment provider, do not forget to update the product back to the original price.

Sales Tax

  • Install tax calculation plugin such as Jetpack (free), TaxJar (paid) or Avalara Tax (paid) plugin to correctly calculate sales taxes.
  • Test that your sales taxes are correct and showing on the Checkout, Order Confirmation, and Order emails, and in the My Account – Orders page. For example, sales tax should differ from California to Colorado to New York.


  • Configured shipping zones, shipping options, and shipping classes.
  • Ensure all products are showing correct shipping rates, especially if you enabled a free shipping calculation.
  • Setup shipping providers or shipment tracking automation such as WooCommerce Shipment Tracking, ShippingEasy, ShipStation, or other shipping plugins to integrate with your site.
  • Bonus: want to blow your customers away with a branded tracking page? Take a look at AfterShip or  Narvar to delight customers in their post-purchase experience.

Inventory (Optional)

If you store will be enabling stock management, double check the following:

  • Add an inventory email address to receive low stock notifications.
  • Email tab settings – Set the from email and template layout settings including adding a logo!
  • Set an inventory email address.
  • Test add, remove and update cart.
  • Is there stock management? Make sure this is tested.
  • Are there user account pages?
  • How do these look?
  • Test your payment gateways with real test purchases.
  • Then refund through the system.


  • Contact form plugin is installed and active (i.e. Gravity Forms, Contact Form 7, WP Forms, etc.).
  • Form notification text and email are correctly setup.
  • Form confirmations text and email are correctly setup.
  • Form notification text and email are correctly setup.
  • 3rd Party Add-Ons are setup. For example, if your site has a newsletter subscription, ensure that your leads are sending to your email software (i.e. ConvertKit, Hubspot, Mailchimp, or others).

Pro tip: Make sure all confirmation messages are saying the correct things in the right context. For example, not every form will have the confirmation message: “Thank you for contacting us”. Adjust your confirmation messages accordingly.


  • Download SEO Framework plugin or alternative such as Yoast SEO plugin.
  • SSL certificate is installed and activated. If done correctly, you should see a padlock in your browser address bar.
  • Update Reading Settings settings to disable the checkbox to “discourage search engines”. This can be done in WordPress dashboard > Settings > Reading > scroll down to Search Engine Visibility.

SMTP or API transactional mail

  • Install transactional email plugin such as Postmark App ($10/month), SendGrid (freemium), or Mailgun (freemium). In my experience, Postmark App is the easiest to setup.
  • Ensure email notifications are sending correctly and not ending up in spam folder.
  • Test creating a customer account,  resetting password, filling out contact form, etc.

Step 2: Transferring and deploy staging site to live site

Download backup of your staging server and production server

Before starting the migration process from Site A to Site B, always take a backup of both the staging and production environments. If you any problems arise during migration you can always revert back to your backup.

Migrate your site over to the live server

If you developed a new theme I would suggest creating a new site install with you or your client’s hosting provider, preferably with the same PHP version as the staging environment.

An alternative option if you are keeping your live site database would be to do the following:

  • Connect to the live server via SFTP (i.e. FileZilla) or SSH
  • Upload your new theme as “yourcompany-new”.
  • Rename your old theme to “yourcompany-old”.
  • Rename your new theme to “yourcompany”.
  • Activate your new theme in the WordPress dashboard.

Pro tip: If you are doing this project for a client and using your own staging environment I would highly recommend to use the same PHP version as the client’s production environment. For example, if the PHP version you used for development is PHP 7.2, ensure that the client’s production server is PHP 7.2 to avoid issues during migration.

Step 3: Post-launch Quality Assurance

Update primary domain and admin email address

  • Update primary domain to new domain by going to  Settings > General on the WP dashboard or logging into phpMyAdmin and going to the wp_options table.
  • Update primary email address to site admin. If you are doing work for a client, update to the client’s primary contact and make sure they accept the invitation to become the admin of the site.

Run a search and replace on your database to update all URLs to the primary domain

Install and activate the Better Search Replace plugin. Next, take a backup.

After you are ready, search for “” without the parentheses.

Replace with “” without the parentheses.

Make sure to run as a dry-run first.

If you are using inline links with your pages or posts, I will manually go to a few pages, view the page source, and search for “” to ensure all links have been updated and using the primary domain to ensure the Better Search Replace plugin worked successfully.

Setup and implement 301 redirects setup

Type into google, you will see all the current active search engine listings. For example, let’s say you made the following permalink structure changes in development:

  • Products: changed from /shop/product-category/sample-product/ to /shop/sample-product/
  • Blog posts: changed from /blog/{post-name} to /{post-name

Google search results will still show your product listings with instead of

Another method is by utilizing the Screaming Frog SEO Spider tool to see all SERPs and ones that has the status code 404.

Create 301 redirects by using a plugin, editing your .htaccess file, or this can be configured in your hosting provider dashboard.

What plugins do you recommend for setting up 301 redirects?

I would recommend the Simple 301 redirects plugin or the Redirection plugin.

How to add 301 redirects with your .htaccess file?

To add redirects to your .htaccess file, open your .htaccess file in cPanel or via FTP, and add your redirects before the ending “# END WordPress” line in your .htaccess file.

For example, if I am looking to redirect a single page from /contact to /contact-us, I would add the following line to my .htaccess file:

Redirect 301 /contact

Pro tip: if you decide to edit your .htaccess file to create 301 redirects, take a backup first.

Submit sitemap to Google Search Console and Bing Webmaster Tools

After setting up your 301 redirects, login to your Google Search Console and Bing Webmaster Tools and submit your new sitemap.

For example, if you used the SEO Framework plugin the link for your sitemap will be

See our website’s sitemap at

Alternatively, if you used the Yoast SEO plugin the sitemap link will be

See another example sitemap for a website who uses the Yoast plugin at

Whether you are re-launching a newly developed theme for your WooCommerce store or just starting your ecommerce business, I hope this checklist makes the process a little less painful.

Be patient and take as many backups as you can.

Any questions or comments? I would love to hear any feedback you have.



  1. Wes Brink June 17, 2019 | 10:34 pm

    Hi Simon, I am attempting to setup 301 redirects after using your checklist to launch my site. I use GoDaddy as my hosting provider and don’t know if I should use a plugin or create redirects with my .htaccess file. Any tips?

    • Simon Gondeck June 18, 2019 | 9:56 pm

      Hey Wes! If you do not have experience editing files in cPanel or via FTP, I would recommend using the Simple 301 redirects plugin. If you want to add your redirects through your .htaccess file, open your .htaccess file in cPanel or via FTP, and add your redirects before the ending “# END WordPress” line in your .htaccess file. For example, if I am looking to redirect the page /contact to /contact-us, I would add the following line to my .htaccess file:

      Redirect 301 /contact

      For reference, I also added additional examples to the post above under the subheading “How to add 301 redirects with your .htaccess file”?

Leave a reply

Your email address will not be published. Required fields are marked*