WordPress core and the plugins on your website need to be updated regularly. We recommend doing this on a monthly basis at minimum, and any time your host says there is an important security update. You can make these updates yourself as we have outline here, or MIGHTYminnow can be contracted to make the updates for you.
Why Update Plugins?
Most plugin updates include security updates and bug fixes. Finding and fixing security vulnerabilities are a natural part of the software development process. When you update the core software and plugins on your website you are taking advantage of these security patches. This is no different than updating the software or operating system on your mobile device or computer. This will help ensure the ongoing health and security of your website.
Depending on who hosts your website we offer two workflows here (step by step) to walk you through the plugin update and testing process.
Option 1 – Plugin Update Workflow if hosted at WP Engine
If your site is hosted at WP Engine, you have the use of three environments: Production, Staging, and Development. The Production environment is your live public-facing website, Staging is for testing out updates, and Development is for developing new content. We LOVE these environments and find that they make the plugin update testing process a real breeze by reducing the risk of updating your plugins on your live Production site, since you can first test all the updates on your Staging site. You can also copy your site back and forth between your environments, but there is some risk in doing that so we do not recommend this workflow. To test making updates to plugins, themes and the WordPress core using your Staging environment, follow these steps:
- Backup your Production site
Log into WP Engine with your credentials and navigate to your site. The Production accordion section should be open by default. Select Backup points and click the purple Create backup button. Wait for the back up process to complete. You will get an email notification when this is done. A step-by-step process for making a fresh back-up of your site is provided here: wpengine.com/support/restore/
- If your Staging environment does not already exist, Create it
Click the second accordion section, + Add Staging, to add your staging environment. Select the Copy an existing environment to this site button. Select your Production environment (PRD is the abbreviation used to denote a production environment), and then select the backup of your production environment that you just made. Click Next, and on the next screen, accept the default name for your Staging environment and click Add Environment. Skip to step 4.
- If your Staging environment already exists, copy Production to Staging
Click on the Copy Environment button in the upper right corner of your WP Engine screen. Select your Production environment (prd) as the source, and your Staging environment (stg) as the destination. Make sure the default All database tables and file system radio button is selected. Enter your email where you will be notified when the operation is complete and click Review and Confirm. On the next screen click the Looks good, copy the environment button. Wait for confirmation email that the copy was successful.
- Make note of the domain name of your staging environment
Find the primary domain name of your staging environment on the Domains area of the Staging accordion section. It may be in the format mysitestg.wpengine.com. You may log out of WP Engine now.
- Log In to the Staging website WordPress dashboard
As noted above, the URL for your Staging website is different than your Production public site, but the same username and password will get you login access. Using the Staging environment domain above, your URL will be of the form https://mysitestg.wpengine.com/wp-admin
- Update Plugins and Themes on your Staging environment
From the WordPress Dashboard go to Updates in the sidebar (under Dashboard). Update all Plugins and Themes that have an update available.
! Do not update Core until after you have updated the plugins and the themes!
Jupiter Theme Updates – If you are using the Jupiter Theme we have a detailed Jupiter theme update process. The Jupiter theme comes packaged with WPBakery Page Builder (Artbees Modified Version) and Revolution Slider. If you need to update these plugins that process is detailed in the Jupiter theme update process. You can continue this plugin update process and then complete the theme update when you are done.
Premium Plugin Updates – If your site uses premium plugins and automatic updates are not available you can either get an updated copy from the plugin developer (if you maintain your own plugin license), or we can get a copy of the plugin for you (if we maintain the license on your behalf). Contact us if you need an up-to-date copy of a plugin. Once you have the updated plugin file on your machine you can follow the next step.
- Update Premium Plugins (as needed – not all sites use premium plugins)
- Navigate to Plugins > Add New
- Click the Upload Plugin button
- Choose File by selecting the zipped plugin file
- Install the plugin
- Since you already have a version of this plugin installed it will ask you if you want to “Replace current with uploaded” or “Cancel and go back” – you should choose “Replace current with uploaded”
- Navigate to Plugins > Add New
- Update WordPress Core Software
At the top of the Updates page you will see a message “An updated version of WordPress is available.”
Click the “Update Now” button.
- Test the Staging Site
Visit your staging site and make sure nothing broke. Testing the site is vital, making sure that everything that was working on live is still working on staging. You should be able to do a page-by-page comparison, to make sure all’s well, comparing the Production website against the Staging website. You should look at as many pages as you can and pay special attention to pages that have any custom features or functionality (e.g. Events, Forms, Maps, Custom Post Types, etc…). If everything looks great after testing you can proceed to the next step. If you notice something that needs to be fixed, you may be able to edit the page, but if there is a substantial bug you notice you can contact us to help you fix it.
- If other users make edits on the site make sure they aren’t currently editing by checking Simple History (this is to avoid the possibility of losing any work in progress).
- Update Plugins, Themes and Core on Production
Log back into your Production website and update all the plugins and themes (don’t copy from Staging).
- Clear your Cache
Clear your server cache (Dashboard > WP Engine > General Settings > Purge All Caches)
If using the Jupiter theme clear the Theme Cache (find link in black admin bar)
If you have a caching plugin installed clear that cache.
- Test the Production Site
Do a cursory test of the site to make sure all is still well.
For additional testing suggestions and maintenance checks see our list below.
Option 2 – Plugin Update Workflow if NOT hosted at WP Engine
Many hosts now offer staging environments, though they are often only available with premium hosting plans. If your hosting plan includes a staging environment you can use that for testing your plugin updates as described in the workflow above, but please note that the language we use in the process above is specific to WP Engine. If you do not have a staging environment you will need to update your plugins directly on live and be ready to test the site right away for any issues. Use the workflow here to update your plugins on live.
- Identify Your Most Recent Back-Up or Restore Point
Login to your hosting service (GoDaddy, Site Ground, Blue Host, etc…) and identify your most recent back-up. You will want to ideally have a back-up from the last 24-48 hours that you could restore from if needed. Keep in mind that if you made content updates before the last backup was made that content would be lost if you needed to restore your website. In the event that you need to restore your website make sure you know how to do that or be prepared to contact hosting support. If you can make a fresh back up go ahead and do that.
- Update Plugins and Theme(s)
From the WordPress Dashboard go to Updates in the sidebar (under Dashboard).
- Update all Plugins that have an update available. If you are using a premium plugin see those steps as outline in the process above in step 5.
- Update the Theme(s) that have an update available.
- If you are using the Jupiter Theme we have a detailed Jupiter theme update process.
- Update WordPress Core Software
At the top of the Updates page you will see a message “An updated version of WordPress is available.” Click the “Update Now” button.
- TEST Your Site
Visit your website and make sure nothing broke. Testing the site is vital, making sure that everything that was working on live is still working. You should look at as many pages as you can and pay special attention to pages that have any custom features or functionality (e.g. Events, Forms, Custom Post Types, etc…). If everything looks great after testing you are done. Yay! If you notice something that needs to be fixed, you may be able to edit the page and fix it, but if there is a substantial bug you notice you can contact us to help you fix it.
Additional Testing Suggestions and Maintenance Checks
Here are a few suggestions for things you may want to check on your site as part of your regular website maintenance process.
- Dashboard Notices – Read and resolve any dashboard notices that appear at the top of the admin dashboard screen. These notices may include an important update or process that needs to be followed. Note: Dashboard notices will be seen by other admin/editor users even after you clear them for yourself (your user). Reading them ensures you will not miss anything important.
- Simple History – Check to see if the simple history plugin is installed. If it is not, consider adding it. The simple history plugin can provide valuable information if you have multiple users editing the site. It records user’s actions which can help identify recent content edits made to the site.
- Search Tool – If your site has a search tool, test it to make sure it is still working and delivering results as expected. Search for a term that you know will return results, in addition search for a term that will not return results, so you can compare the interface and user experience.
- Sitemap – Look at your sitemap page (if you have one) and make sure the site structure is still well organized. If you added pages that were not ordered or nested properly consider giving them a parent or re-ordering them so the sitemap is organized.
- Edit a Page/Post – Use the edit tools to make sure the edit screen and content editing tools are working as expected.
- Footer/Copyright – Check the footer content of your site. Is the content still accurate? Is the copyright up-to-date?
- Google SERP – Check that your URL appears in Google’s search engine results page by searching for your company name.
- Analytics – Make sure your analytics tracking code is still active on the site. View your page source (right click > view page source) as a logged out user and search for “UA-“. You should find UA- followed by a series of numbers indicating your tracking code is on the site as usual. You can also log in to your analytics account to ensure your account is collecting data.
- Device Testing – View your website on a device (phone or tablet) and a browser other than the one you usually use. Make sure everything looks and functions as expected and is accessible and easy to navigate on devices.
- SSL/HTTPS – If your site is running on an SSL connection (https://) you should notice a lock icon in the browser bar. Navigate your site and make sure you are seeing the lock appear as expected. If you notice the lock is not displaying or see an exclamation point (!) in the address bar you may have a mixed content warning – indicating your page is loading insecure HTTP assets over a secure HTTPS connection.
- Regular Backups – Make sure your site is being backed up regularly. If you are on WP Engine your site is automatically backed up every 24 hours. If you use a third party backup tool (such as BlogVault) make sure your site is still backing up regularly by logging in to your account.
Sometimes an issue can present itself either during or just after the update process. Here are some tips you might try to troubleshoot an issue.
- Update Plugins One at a Time
If an issue arises when updating the plugins we would suggest you try update the plugins one at a time. If you are hosted at WP Engine you will have a fresh backup of your site. You can restore from a backup if you were on LIVE, or you can make a fresh copy to staging and start the update process again. In either case, update the plugins one at a time so you can try to isolate the issue to the plugin(s) causing the problem.
- Caching Issues (and Varnish Cache)
If you are experiencing a functional issue it could be related to the server cache or browser cache. If you see the issue only on live (not staging) – OR – only when logged out (not when logged in) these are clues that the issue might be related to caching. You can try clearing the server cache using the WP Engine Dashboard tools. But if that does not clear up the issue you may need to request that WP Engine clear the varnish cache by contacting support. Varnish cache may be the problem if you find yourself in an endless functional “loop” (e.g. reset password loop or e-commerce checkout loop).