Things developers should do before launching your clients WordPress website

Posted on:

After weeks of coding and testing my client’s new website, it’s exciting to work on the final details. Here is a list of 18 tasks I do as a developer before I hand off the project for the launch.

Install a backup plugin:

Backups are crucial for every website. Your hosting company might provide daily backups. It’s also recommended to have a backup plugin configured on your website. This will be helpful to restore your website if you run into problems or your site gets hacked.

I recommend using UpdraftPlus and have used it on several of my client websites. Make sure you configure the plugin completely

Schedule the backups to run daily or weekly.

Set it up to store the backups to a location on a cloud storage service like Dropbox, Amazon S3, or Google Drive.

Set up an email address where your client can receive the backup reports. This will be handy in case the plugin runs into any issues. The system will notify your client when the backup is not completed.

Run one backup right away before the big launch.

I use Updraftplus on my personal site and store the backups on my google drive.

Install and configure a security plugin:

WordPress is one of the most popular content management systems. This makes WordPress websites prone to hacking. On all the websites I build, I use Sucuri Plugin to secure the website and keep hackers away.

Make sure to configure the “Hardening Options” in the settings options.

Configure the Alert settings so your clients get a message in case of any security breach.

Password guessing brute force attacks are very common in WordPress. The hackers try many usernames and passwords until they find one that works. Set the number of attempts allowed per hour, after which you consider them as a Brute force attack.

Configure the type of security alerts you want to receive. Be aware that some of these settings will result in a ton of emails. One setting I like to toggle off is “Receive email alerts for changes in the post status“. Else you will start getting emails every time you update your blog post drafts.

Install and configure Limit Login Attempts Reloaded:

To add a layer of security against the Password guessing brute force attack, install the plugin Limit Login Attempts Reloaded.

  1. Configure the number of retry attempts and locked out minutes.
  2. Make sure to add the correct email address to send alerts in case of a lockout.
  3. You can whitelist/blacklist IP addresses and usernames, if necessary.

Install and configure an SEO plugin:

Optimizing the site content for search engines is a surefire way to grow the website traffic. The most popular SEO plugin is the Yoast SEO. On most of my client websites, I recommend the free plan.

After activating the plugin, go to the General ->Features tab in the Yoast setting. Turn on the relevant SEO features based on your client’s requirements. I recommend SEO analysis and Readability analysis features.

Configure the Search Appearance -> Content Type settings based on what content types on the client’s website you want to show up in search results. This includes configuring the settings for the posts, pages, and other custom content types on the website.

Configure the Search Appearance -> Taxonomy settings based on whether you want the category and tag archives to show up in the search results. You can also enable/disable the archive pages for the custom taxonomies from showing up in the search results.

Not showing up in the search results means Yoast will exclude these pages from XML sitemaps. I recommend setting only the posts, pages, and categories to show up in the search results. Exclude tags and archive pages of the custom taxonomies. This will help to generate a cleaner XML sitemap for the website.

Configure Google Analytics for the site:

It’s important to install Google Analytics on your website. It helps your client track the website traffic, where the site visitors come from, what pages they go to, and when they leave the site.

It’s best to install and configure the plugin before the launch. This helps to track how the new website/redesign efforts have gone.

I recommend the plugin “Site Kit” from Google. You can link the plugin to the client’s Google Analytics account and track the results on the WordPress dashboard.

Add your WordPress website to Google Search Console:

Google Search Console is a free service by Google. It helps to understand your website’s presence in the Google Search results. It also helps to track the pages indexed and add new pages to index as you create more content.

Log in to the page: using your Gmail account.

Using the URL prefix method, add the WordPress website to Google Search Console by typing in the complete URL of the website.

The next step is to do a website verification. For this, go into the Webmaster Tool In Yoast and get the site verified.

This feature will add a verification meta tag on your home page.

From the Site Kit plugin dashboard, link your Google Search Console account to the plugin. Now all the data from the Google Search Console is available on your WP admin page.

Add an XML sitemap to Google Search Console:

An XML sitemap lists all the pages/posts on your website in an XML file. Google uses this to crawl through and index the content on your website.

From the Yoast SEO plugin general settings, you can Enable the XML sitemap.

Clicking the question mark next to XML sitemaps gives you a link to the sitemap of your website.

Copy the URL of the XML sitemap.

Now on the Google Search Console go to the Sitemaps menu item from the left column. In the “Add A new SiteMap” section, paste the URL of your sitemap and click Submit. Google now will add your sitemap to the Google Search Console.

Customize WordPress settings:


In the General Settings, update the tagline to convey what the website is about.

Writing Settings:

The writing settings help to drive new traffic to the website.

From the Settings->Writing, update the “Default Post Category”.

Add the Update Services list:

This is a list of Update Services that WordPress automatically notifies when a new post is published on your website.

Go to: Scroll down to the section “XML-RPC Ping Services”. Copy the list of services and paste in the WordPress Update Services text field.

Reading Settings:

Make sure the website is set up so that search engines can find and index the pages.

In the Settings->Reading section, under “Search Engine Visibility”, uncheck “Discourage search engines from indexing this site”.

Generally, when I am coding and testing the website, I leave this checked. This discourages the search engines from indexing the website. When the website is ready for launch, I go back and uncheck it so the search engines can crawl the pages on the site.

Check for broken links:

Broken links are bad user experience. They also prevent search engines from indexing your website. I recommend checking broken links using the plugin “Broken Link Checker”.

After activating the plugin, go to the Settings->Link Checker. Verify the “Status” in the General tab to make sure all links on the site are working.

Remember to deactivate and delete this plugin once you complete the verification. This plugin eats up the resources on the server and slows down your site.

Optimize the images:

Images make the websites attractive and convey the stories. If they are not optimized, they may also result in slowing down the website. I recommend the plugin “Smush” for image optimizations.

Activate the plugin and do a Bulk smush of the images uploaded to the media library.

Do a directory smush of the non-WordPress images outside of your uploads directory.

Set up the lazy loading of the images.

Reduce the height and width of the images to the largest size they will be viewed.

Setup caching:

One of the best ways to speed up your website is to set up a caching plugin. I use W3 Total Cache. Once I activate the plugin,

On the General settings, enable the “Preview” mode. The preview mode helps to test configurations before deploying onto the live site. Preview mode remains active even after deploying until the feature is disabled.

Enable Page cache.

Enable Minify- this reduces the size and number of CSS and JS files.

Enable Database cache.

Enable Browser cache.

Enable Lazy loading.

After enabling these caching options under the General settings, you can fine-tune them by clicking the corresponding tab under the plugin menu.

Set up redirects:

For redesigned websites, add redirects for the old pages. This makes sure you don’t lose the SEO traffic that these old pages already have. I use the “redirection” plugin to set up the redirects.

Strong password:

Set up a strong password for the WordPress admin before you hand off the project to the client. You can generate a strong password from the Users->Your Account. Click “Generate Password” under Account Management.

Setup spam plugin:

If the website has a blog with the comments turned on, I install the Akismet plugin. It helps to catch and reduce the spam comments.

Delete unused plugins:

Deactivate and delete all the developer plugins. Your clients don’t need the developer plugins you installed when you worked on the site.

Theme updates:

Delete any unused themes from the Appearance->Themes dashboard.

Add a favicon for the website from the Appearance->Customize->Site Identity.

Add a screenshot of the theme in the WordPress theme folder. This lets your client see an image of the theme in Appearance->Themes. Save the image as “screenshot.png” with dimensions 1200 by 900.

Setup uptime monitoring:

It’s always a good idea to watch your website for downtime. Many hosting companies provide free built-in services to track the site’s uptime and downtime.

I also recommend using a free service called Uptime Robot. They check your site every 5 minutes. They alert you when the site goes down based on the method you specify in the settings.

Speed test:

Last but not the least, I run a website speed test. I recommend using Pingdom or WebPageTest.

Make sure to test the site from a location closest to your website data servers.

Pingdom gives a good overview of the requests and content size by content type and domain.

You can also sort the results based on load size, wait time, etc.

Pingdom also gives clear inputs on how you can improve the page performance. These are helpful for identifying the ‘quick wins’ you can do to improve the site speed.

Connect the Sitekit plugin to the PageSpeed insights services to get all the performance insights on the WordPress dashboard for your clients. This will help your clients to track the performance once the site is launched.

There, you are all set to launch your client’s website. And celebrate with a cup of sizzling masala chai (or maybe a glass of Champagne!)

PS: This is list is updated as I find more and better ways to tweak the process.