This feature will help you run bulk operations (of bash or WP CLI commands) on your Pressable sites quickly from within the My.Pressable.com Dashboard.
Current Bulk Operations available include:
- Update PHP Version
- Update WordPress Version (when available)
- Custom Bash Command: If you are running a simple command using WP CLI, you should be able to just input the command and run it. (see here for Bash commands on individual sites)
However, creating and running Custom Bash Scripts needs a couple of additional steps. Once you have your script ready, you need to create a bash file.
Here are the steps to create a .sh Bash script using the code.- Log in to any of your Pressable sites (
yourdomain.com) within the same account you are looking to run the bulk operation via SSH. We’d recommend doing this on a test site. - Create your
.shfile:nano yourownscriptname.sh - You can now copy-paste your code into the file and save it.
(PressCTRL + Oto save, thenCTRL + Xto exit.) - Change the file permissions to make it executable:
chmod -v +x yourownscriptname.sh - Test the script by running it on the test site where you created the file to ensure that it is doing what you expect.
- Run the script using this command in the Bulk Operations tool –
curl -s https://yourdomain.com/yourownscriptname.sh | bash
- Log in to any of your Pressable sites (
- Update Plugins and Themes: Please note that on-demand backups are not automatically created before updates, so we recommend ensuring you have recent backups in place before proceeding.
- Refresh Plugins and Themes: These commands update the list of installed plugins or Themes stored at Pressable for your site. This ensures that you can view and manage the most up-to-date plugins/themes directly in the control panel.
- Reset Jetpack Licenses: This command resets and reactivates the Jetpack license on each selected site. Each site’s license will be briefly cleared and then immediately reapplied, so Jetpack features may be unavailable for a few moments while the license is reactivated. No site content, backups, or settings are affected — only the Jetpack license attachment.
- Change WP Environment: Sets the
WP_ENVIRONMENT_TYPEconstant on each selected site to the chosen value. One of the following values can be chosen – - Toggle Maintenance Mode: Installs or removes the
pressable-maintenance-modeplugin on each selected site so visitors see a maintenance message instead of the live site. - Flush Object Cache: Flushes the WordPress object cache (the in-memory cache backing get_transient and similar APIs) on each selected site. Useful after a database backfill, bulk import, or migration that bypasses the WordPress write path. The CDN/edge cache is separate and is not affected by this operation.
- Manage Edge Cache: Enables, disables, or clears the edge cache layer on each selected site. Sites already in the desired state are skipped, and inactive sites are skipped.
- Change Site Environment: Each conversion updates the site’s
WP_ENVIRONMENT_TYPEconstant accordingly, flushes the object cache, purges the edge cache, and fires customer-registered webhooks per site. One of the following values can be chosen – - Clone Sites: Creates a new clone of each selected site in the chosen environment (production, staging, sandbox). The source sites are left untouched. Each clone is given an auto-generated name and takes a few minutes to finish deploying.
- Set PHP FS Permission: Sets the PHP filesystem permission on each selected site, controlling whether WordPress can write to its own files (themes, plugins, uploads). You can learn more about these settings here.
- On Demand Backup: Creates an on-demand backup of the chosen type (filesystem/database) on each selected site.
- Transfer Sites: Sends a transfer request for each selected site to the recipient’s account. The recipient must accept the request before ownership actually moves — an email is sent to them per site, the same as the single-site transfer flow. Only live or disabled sites you own can be transferred.
- Add Note: Adds the same note to each selected site. The note is visible to anyone with access to the site’s Notes; no site content or backups are affected.
- Enable Sites: Enables each selected site, restoring customer access to the WordPress installation and clearing the disabled state.
- Disable Sites: Disables each selected site, blocking all customer access to the WordPress installation.
- Disconnect SSH: Disconnects all active SSH and SFTP sessions on each selected site.
- Remove Plugins: Removes the named plugin(s) from each selected site. Enter one or more plugin slugs (the plugin’s folder name, not a display name or URL), separated by commas or spaces. This permanently deletes the plugin files— it does not just deactivate them.
- Toggle Basic Auth: Installs or removes the
pressable-basic-authenticationplugin on each selected site, so visitors must enter HTTP basic-auth credentials before viewing it. - Toggle APM: Enables or disables Application Performance Monitoring (APM) trace capture on each selected site. Enabling captures traces for 30 minutes so you can diagnose performance issues; disabling stops capture immediately.
- Purge CDN Cache: Purges the Content Delivery Network (CDN) cache on each selected site. Only sites with the CDN enabled are eligible; sites without it are skipped.
- Toggle Edge Cache Defensive Mode: Turns edge cache defensive mode on for the chosen duration — a temporary mitigation that aggressively caches at the edge to absorb traffic spikes or attacks — on each selected site. Choosing a duration enables defensive mode; choosing
Disable defensive modeturns it off early.
Accessing Bulk Operations
The feature can be found under the My.Pressable.com Dashboard navigate to the Tools →Bulk Operations section.

The Tools section will only be available if your user account has at least one site for which bulk operations can be created. You will either have to be the owner of site(s) or a collaborator with the “Execute Bulk Operations” permission on the site(s).
Once you click on the Tools → Bulk Operations menu, you will see the following:
Creating Bulk Operations
To create a new Bulk Operation, you will need to follow the creation wizard which consists of three steps:



Step 1: Set up the operation
- Select the operation type from the available list.
- If needed for option type, provide specific bash/WP CLI command or other relevant options (such as PHP version)
- Choose operation action:
- Run now
- Bookmark only (for future use)
- Bookmark and run now
Step 2: Select sites on which to run
You can select which of your sites the operation runs on by one of three methods:
- Manually select sites from a list
- Run on all sites
- Upload a CSV file with a single column named ID, listing the site IDs for this operation (you can download a sample CSV from the bulk operations page)
You will see every site on your account if you are the owner and also sites where you are a Collaborator and have the “Execute Bulk Operations” permission.
Step 3: Name the operation
Give the operation a clear and unique name. The operation name will appear in your Activity Log, and a good explanatory name will also help you locate the right operation from your bookmarked operations in the future.
Once done, you can click on the Run Operation button.
Custom Bash Command
If you are running a simple command using WP CLI, you should be able to just input the command and run it.
However, creating and running Custom Bash Scripts needs a couple of additional steps. Once you have your script ready, you need to create a bash file.
Here are the steps to create a .sh Bash script using the code.
- Login to any of your Pressable sites (
yourdomain.com) within the same account you are looking to run the bulk operation via SSH. We’d recommend doing this on a test site. - Create your
.shfile:nano yourownscriptname.sh - You can now copy-paste your code into the file and save it.
(PressCTRL + Oto save, thenCTRL + Xto exit.) - Change the file permissions to make it executable:
chmod -v +x yourownscriptname.sh - Test the script by running it on the test site where you created the file to ensure that it is doing what you expect.
- Run the script using this command in the Bulk Operations tool –
curl -s https://yourdomain.com/yourownscriptname.sh | bash
Bulk Operations Bookmarks – Save and Reuse Operations
This feature allows you to save, manage, and reuse frequently used custom Bash commands. This helps streamline workflows for users who regularly run the same commands across multiple sites, such as cache clearing, database maintenance, and security checks.
Creating a Bookmark
You can bookmark a command directly from the Bulk Operations interface. When creating the operation, during Step 1 select one of the following:
- Bookmark Only
- Bookmark and Run Now

Once you have at least one command saved, it will be available in your list of bookmarks when you access the Bulk Operations section, as shown below.
Using a Bookmarked Command
To run a saved command:
- Go to Tools → Bulk Operations.
- Click the “Use Bookmark” button
- A pop-up will appear showing your saved Bookmarks, allowing you to easily select the one you’d like to use.
- Choose the sites where the command should run.
- Click Run Operation.


Managing Bookmarks
From the Bulk Operations section, you can click on Manage Bookmarks to:

- Search saved bookmarks
- Edit existing commands
- Delete bookmarks that are no longer needed

Running Bookmarks on Individual Sites
Bookmarked commands can also be run on individual sites:
- Navigate to Sites → Select a Site → Overview → Site Tools → Bash Command → Use Bookmark
- Select a saved command
- Run command on the site

Bulk Operations History
When at least one Bulk Operation is created, The Bulk Operation History section is shown. Here, you can see currently running and also previously executed operations:

History can be filtered by Bulk Operation Name/Type, or by Site Name (results will include any Bulk Operations action that included the particular site):

Each item in the Bulk Operations History search result contains the following data:
- Bulk Operation name
- Status (of the operation):
- Pending – the operation is created but it’s not being executed yet
- Running – the operation is actively running
- Complete – the operation on each site has finished running
- Date it was created on
- The email of the person who created it
- Command type:
- Update PHP version
- Update WordPress version
- Bash Command
- Command – Here you will see the actual command that was run or the version of PHP or WordPress that was selected
- Operation Progress – this represents the operation being run on specific sites. Sites where this operation is run and their current status can be seen when you click the Operation Progress button. This can have 3 statuses:
- Pending – the operation has not yet started
- Complete – the operation has finished successfully
- Expired – the operation could not get completed within an 8-hour window.
We do not track errors for this feature, especially due to the complex nature of the bash commands that can be run. We advise caution and recommend testing the command on a single site to ensure that the bulk operation is successful.
After the Bash Command operation is run, you can view the response from each site by exporting a Response CSV. Under the Bulk Operation History section, every Bulk Operation of type Bash Command will have a button available that says Export responses CSV.

Clicking that button will send you an email with the report of the responses.

The CSV will have the following 8 columns –
- site_id
- site_name
- site_custom_name
- pressable_site_url
- site_url
- operation_status
- operation_command (the actual command that was executed)
- operation_response (the response we got from the site when executing the command)
The following image shows an example of the CSV file –

Note: When a Collaborator sees the Operation Progress section, they will be able to see only the Sites where they have the “Execute Bulk Operations” Collaborator permission. By default, this is disabled for all existing Collaborators.
Bulk Operations API
Bash commands can be run via the API directly: https://my.pressable.com/documentation/api/v1#bash-commands



