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 outlined 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 WPEngine, you have the use of a very handy one-click staging environment now referred to as “legacy staging” where you can test out updates. We LOVE this feature and find that it makes the plugin update testing process a real breeze by reducing the risk of updating your plugins on live since you can first test all the updates on your legacy staging site. You can also copy your site back and forth from legacy staging, but there is risk in doing that so we do not recommend this workflow. Recently WP Engine has introduced staging and development environment options, but the legacy staging (one-click staging options is still available). To test making updates to plugins, themes and the WordPress core using your legacy staging environment, follow these steps:
- Copy site from LIVE to STAGING
Log in to the WordPress Dashboard, go to WP Engine in the sidebar, and click on the Legacy Staging tab. Click the “Copy site from LIVE to STAGING” button and wait for the process to complete.
- Log Out of the LIVE Website
Keep the LIVE website open in a browser tab, but log out.
- Log In to the STAGING Website
The URL for your STAGING website is different than your LIVE URL, but the same username and password will get you login access.
(You can find your staging website address from your Dashboard by going to WP Engine > Legacy Staging in the sidebar)
- Update Plugins and Themes on STAGING
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)
- Install plugin called “Easy Theme and Plugin Upgrades” (if not already installed):
- Click Plugins > Add New
- Search for “Easy Theme and Plugin Upgrades”.
- Install and activate that plugin
- Navigate to Plugins > Add New
- Click the Upload Plugin button
- Choose File by selecting the zipped plugin file
- Install and Activate the plugin
- Install plugin called “Easy Theme and Plugin Upgrades” (if not already installed):
- 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 LIVE 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.
- Back Up your LIVE Website on WPEngine
Login to https://my.wpengine.com/ and make a fresh back-up (check point) of your LIVE website. 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: https://wpengine.com/support/restore/
- 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 LIVE
Log back into your LIVE 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 LIVE 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 activate 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).