You can bulk edit WordPress without a plugin for most everyday jobs. The built-in Bulk Edit screen, on the Posts or Pages list, changes Author, Status, Comments Allowed, Pings Allowed and Sticky for every item you select at once, and it can add categories or tags to a batch. It cannot remove or replace a category or tag across a batch, and it cannot touch post content or custom field values. For that second group of jobs, WP-CLI reaches further without installing anything, provided your host gives you command-line access. Below is what each core tool actually does, where the line between them sits, and why backing up before either one matters more than the step itself.

Bulk Edit WordPress Without a Plugin: What the Built-In Screen Changes
Open the Posts (or Pages) list, check the boxes next to the items you want, choose Edit from the Bulk Actions dropdown above the table, and click Apply. A panel opens with the fields Bulk Edit can change for every selected item at once.
According to WordPress.org's own Posts screen documentation (read 2026-09-18), the fields are:
| Field | Bulk Edit handles it | Notes |
|---|---|---|
| Author | Yes | Reassigns every selected post to one author |
| Status | Yes | Draft, published, pending, and so on |
| Sticky | Yes | Marks or unmarks selected posts |
| Comments Allowed | Yes | On or off for the batch |
| Pings Allowed | Yes | On or off for the batch |
| Categories / Tags | Add only | New ones are added; existing ones are never removed or changed by Bulk Edit |
| Post content or custom fields | No | Not exposed on this screen at all |
That last row is the one people miss. If the job is "add a category to forty posts," core handles it in one pass. If the job is "replace category A with category B across forty posts," Bulk Edit can add B, but removing A stays a separate step done post by post, or it doesn't get done at all through this screen. Pages carry a similar panel with Author, Parent, Template, Comments Allowed, Status and Pings Allowed in place of the post-only fields.
Quick Edit is a different tool for a different shape of job: it opens on one post at a time from the list, in place, letting you change title, slug, date, categories and more for that single item, then you move to the next one. Bulk Edit is many items, shared fields; Quick Edit is one item, many fields. Neither needs a plugin, and neither has changed in this respect for years, so this table holds regardless of which admin skin you're looking at.
Where the built-in screen stops being enough
Bulk Edit's field list is short on purpose: it changes metadata about a post, not the post itself. Three jobs regularly land outside it:
- Editing the actual content of many posts (a boilerplate phrase to swap fleet-wide, a shortcode to strip out).
- Setting or changing a custom field value across a batch, something a plugin, theme or ACF-style field relies on.
- Removing or swapping a category or tag rather than only adding one.
When one of these is the actual job, the next native option is a command-line tool, not a plugin.
WP-CLI: the next native option, still no plugin
WP-CLI is a command-line interface that ships as part of the WordPress project and talks to your install directly, the same way wp-admin does, without adding any code to the site itself. It needs SSH or terminal access to your server, which some shared hosts don't offer, so check with your host before planning around it.
Per developer.wordpress.org's wp post update command reference (read 2026-09-18), you can update one post like this:
wp post update 123 --post_status=draft
To update several posts in one call, list their IDs:
wp post update 123 456 789 --post_author=4
And to reach every post that matches a filter without typing out IDs by hand, wp post list can feed its output straight into wp post update:
wp post update $(wp post list --post_type=page --format=ids) --post_author=4
That same command family accepts a --meta_input flag for custom field values, which is exactly the gap Bulk Edit leaves open. This is real power, and it comes with a real cost: there's no confirmation screen, no undo button, and a mistyped filter updates whatever it matches, not what you meant. That combination is why the step before either tool matters as much as the tool itself.
When a bulk-edit plugin still earns its place
Dropping a plugin because core covers most jobs isn't the same as core covering all of them. A dedicated bulk-edit plugin still earns its keep in a few specific situations: the person doing the editing has no SSH access and isn't going to get it, such as a client or a junior editor working only inside wp-admin; the job needs conditional logic beyond a single WP-CLI filter, like "change status for these categories, but only if the author is X and the post is older than a year"; or the same complex bulk job repeats often enough that a saved, reusable interface is worth more than reconstructing a command each time it comes up. A plugin that lets a non-technical editor bulk-update a WooCommerce product catalog with a preview step before anything changes, for example, is doing something neither core Bulk Edit nor a raw WP-CLI command does safely for someone without command-line experience. None of that is a reason to keep a plugin nobody has opened in years for jobs core already handles alone; it's a reason to check, honestly, which category the actual workflow falls into before deciding either way.
Back up before you touch either tool
Bulk Edit is at least reversible in the sense that you can select the same posts and bulk-edit them back, assuming you remember what they were before. WP-CLI has no such safety net built in. Before running either one on more than a handful of items, the five-minute backup ritual before any risky WordPress edit is worth the five minutes, and it's worth confirming the backup actually restores something before you rely on it, which is a separate check from taking the backup itself, covered in how to verify a WordPress backup before you need it. Either check takes a few minutes and turns a bad WP-CLI filter from a support ticket into a non-event.
If the goal is retiring a bulk-edit plugin
A common reason to look for a plugin-free method is that a bulk-edit plugin is already installed and you're trying to decide whether you still need it. If core's Bulk Edit screen and WP-CLI cover every job you actually do, that plugin is a candidate for removal, but check what it's connected to before deleting it. Some bulk-edit and taxonomy-management plugins register their own shortcodes or store settings other content depends on, so it's worth reading what happens to your content when you delete the plugin that created it first. Once you're confident nothing on the site depends on it, how to safely remove a plugin that has run for years walks through the order that lets you back out at each stage if removal turns up a surprise.
FAQ
Can I bulk edit WordPress without a plugin at all, or is a plugin always faster? For author, status, sticky, comments, pings and adding categories or tags, core's Bulk Edit screen does the job with no plugin. A plugin only earns its place when the job is something core doesn't expose, like removing a taxonomy term in bulk or editing content strings across many posts, and even then WP-CLI often covers it first.
Why can't Bulk Edit remove a category from many posts at once? That's a long-standing limitation of the native screen, not a bug: per WordPress.org's own Posts screen documentation, categories and tags can be added in bulk but not changed or removed in bulk through that panel. Removing one means editing posts individually or using WP-CLI.
Do I need to install anything to use WP-CLI? No plugin. WP-CLI itself is a separate program that runs on your server and needs command-line (SSH) access to that server, which is a hosting-account setting, not a WordPress setting. Check with your host if you're not sure whether you have it.
Is there a way to undo a WP-CLI bulk update if I get the filter wrong? Not built in. WP-CLI applies the command to everything that matches, with no confirmation step and no automatic undo. A verified backup taken before the command runs is what actually gets you back, not a WP-CLI command after the fact.
Does Bulk Edit change the publish date of scheduled posts? No. The Status field changes a post's status, such as draft to published; it does not move a scheduled date. Changing dates in bulk is outside what the native Bulk Edit panel does.
Written against WordPress 7.1, the current major release on our record as of this reading. The Bulk Edit field set described here (Author, Status, Sticky, Comments Allowed, Pings Allowed, add-only Categories and Tags) is long-standing core behavior confirmed against WordPress.org's own Posts screen documentation and the WP-CLI wp post update command reference, both read 2026-09-18. Core features can change between releases, so recheck the Bulk Edit panel on your own site if you're reading this well after that date.
