Updating WordPress is a straightforward process, often manageable directly from the administration interface. However, it's crucial to perform all updates in a local development environment first. This allows for thorough testing and prevents any unforeseen issues on the live production website. Additionally, always ensure a complete backup is made before initiating any upgrades to the production site. This document details the comprehensive WordPress update workflow, from database exports and code management to client-specific update methodologies and review processes.
Procedures for updating other Wordpress sites under our charge may differ slightly from those described here, but the general principles should hold:
Export remote database (also from the admin interface of a host like WPEngine, Kinsta), for importing into your local setup, and for backup purposes.
Pull code from Github repository as necessary.
Perform updates on your local machine.
Commit changes to an updates branch, Submit your pull request (PR) for review. PR’s are reviewed by the project’s Dev Prime or, if you are the Prime, the Dev Alternate. Once the PR is approved, you can now merge the PR into the master (or main) branch. Sometimes, the reviewing dev may choose to merge it on your behalf. If the repo is configured with a Github deploy action, merging triggers routines that deploy the code to the project’s remote platform. In some cases updates are done manually via the WordPress Admin interface.
Exporting your WordPress database is a crucial step for backups, migrations, or troubleshooting. The process can vary slightly depending on your hosting provider. Below is a detailed guide for common hosting environments:
After backing up the database of the website for MellenCare, it should be uploaded to our Google Drive 'Website Backups' folder.
(Example: Anderson Air)
Kinsta provides a streamlined interface for managing your WordPress sites, including database access.
Navigation Path: Dashboard > [Site Name] > Info > Database Access > Open phpMyAdmin > Export
Detailed Steps:
Log in to your Kinsta Dashboard.
Select the specific site you wish to back up from your list of sites.
Navigate to the "Info" section for that site.
Locate the "Database Access" area, which will provide credentials and a link to phpMyAdmin.
Click "Open phpMyAdmin" to launch the database management tool in a new tab.
Within phpMyAdmin, ensure the correct database is selected (it usually is by default for a single site).
Click on the "Export" tab at the top of the phpMyAdmin interface.
For most backups, the "Quick" export method with "SQL" format is sufficient. If you need more control, you can choose "Custom."
Click "Go" to initiate the download of your database as an SQL file.
(Examples: CMBM, HRBC, WhiteWater)
WPEngine offers a dedicated phpMyAdmin access point for each environment of your sites.
Navigation Path: Sites > [Site Name] > [Environment] > phpMyAdmin > Export
Detailed Steps:
Access your WPEngine User Portal.
Go to the "Sites" section.
Select the specific site you are working with.
Choose the relevant environment (e.g., "Production," "Staging," "Development"). Each environment typically has its own separate database.
Locate and click on the "phpMyAdmin" link or button, which will open the tool in a new window or tab.
Once in phpMyAdmin, verify that the correct database for your chosen environment is active.
Click the "Export" tab.
Opt for the "Quick" export method in "SQL" format for a straightforward backup.
Click "Go" to download your database.
(Example: City Rise Safety)
WPMU Dev's hosting platform integrates database management directly within their site management interface.
Navigation Path: My Sites > [Site Name] > Hosting > Overview > Database > Manage > Export
Detailed Steps:
Log into your WPMU Dev account.
Navigate to "My Sites" and select the desired WordPress site.
Go to the "Hosting" section for that site.
From the "Overview" tab, scroll down or look for a "Database" section.
Click "Manage" next to the database details, which should lead you to phpMyAdmin or a similar database management tool.
In the database management interface (likely phpMyAdmin), confirm the correct database is selected.
Click on the "Export" tab.
Select "Quick" export and "SQL" format.
Click "Go" to download the SQL file of your database.
(Example: Virtuous Pie Germany)
Softaculous is a popular auto-installer often found in cPanel or other hosting control panels. If your WordPress site was installed via Softaculous, you can access phpMyAdmin through your hosting control panel.
Navigation Path: Tools > Databases > phpMyAdmin > Export (cPanel-like interface)
Detailed Steps:
Log in to your hosting control panel (e.g., cPanel).
Look for a section related to "Databases" or "Softaculous Apps Installer."
Find "phpMyAdmin" under the "Databases" section.
Open phpMyAdmin.
You will then need to manually select the correct database from the left-hand menu (the database name is usually found in your wp-config.php file for your WordPress installation).
Once the correct database is selected in phpMyAdmin.
Click on the "Export" tab.
Choose "Quick" for the export method and "SQL" for the format.
Click "Go" to download your database.
Log in to WordPress: You can access the login page at /wp-login.php.
Login Credentials: To log in, you can either use the Mellon plugin with a Mellenger email, or find the specific login and password details in each individual website's documentation.
Access WordPress Updates Page: Once logged in, navigate to the WordPress Updates page at /wp-admin/update-core.php by clicking the dedicated icon in the menu bar.
From this page, you can access and review available updates for the WordPress core, plugins, and themes.
The top part is for the core updates. If there are new updates, a button should be available for you to run them. Then, you'll find a section for plugins; just select all and click "Update plugins." The same goes for "Themes." Finally, if there are new strings available after updating the core or plugins, you'll want to run the translation updates.
When you're updating plugins, always double-check the version numbers! For minor updates, simply running the update should be enough. But if it's a major update, make sure to read the version details to see if any special actions are needed before updating, otherwise, your website might break. After any update, take a moment to navigate around the website to spot any potential issues. If you've done major updates, it's highly recommended to check those key features as well.
If your database needs updates, WordPress usually shows a button to run them. Otherwise, you can access wp-admin/update.php to run them manually. Always ensure these updates are run to keep your code and database in sync and avoid potential errors.
Since a valid license key for the Advanced Custom Fields (ACF) plugin is not available for every website, Cressey is currently the only site with a license. This means that ACF updates must be handled in a specific way:
Update Cressey First: Begin by updating the ACF plugin on the Cressey website. This is the only site where the plugin can be directly updated due to license verification against the domain name. Local updates will not work.
Override Other Websites: After Cressey is updated, override the ACF plugin on all other websites with the new version.
Note: Ideally, a valid license would allow direct downloads from the ACF website, but this is not currently the case.
Cressey has a helper script to streamline the ACF update process:
Backup: Back up the live Cressey website.
Live Update: Update the ACF plugin exclusively on the live Cressey environment.
Run Script Locally: From your local environment, execute the pull-acf.sh script (located in ./scripts/). This script will pull the ACF changes.
Commit and Clean: When prompted by the script, confirm to commit the changes and clean the production repository.
For Git-Deployed Projects:
If your project utilizes Git for deployment, all modifications to core files and contributed plugins must be committed. The typical deployment script in Forge will pull the latest code and reload PHP-FPM.
For Projects Not Tracked by Deployment:
If your core files and plugins are not managed by the deployment process, you can likely perform updates directly through the interface, similar to the local environment. Any custom code changes to plugins or themes will require separate deployment (e.g., via FTP or a deployment script, depending on your project's hosting).