Last updated: October 10, 2026

Key Takeaways

  • WordPress approval depends on roles, statuses, and workflow tools when you need extra structure.
  • Human sign-off is added by removing direct publishing rights and inserting a review step.
  • Core roles work well when the issue is permission rather than process.
  • For basic setups, WordPress core plus roles is enough.

If you want to add human approval before WordPress posts go live, the clean answer is: use WordPress roles and post status for a simple editorial chain, or add an approval plugin if you need a stricter workflow with notifications, comments, and multiple reviewers. The right choice depends on whether you run a small site, a content team, or a client site where someone must catch mistakes before a post appears at a public URL. For a practical overview of roles and capabilities, see the WordPress.org documentation on Roles and Capabilities and Post Status.

What actually controls approval in WordPress?

How do you add human approval before posts go live in WordPress? — Scrabble letters spelling out the word post on a wood

WordPress approval is controlled by post status, user roles, and—if you need more structure—workflow tools that sit on top of the editor. If your site is small and you only need “draft first, then a second pair of eyes,” you may not need a plugin at all. If you need writers, editors, legal sign-off, and scheduled publishing, the built-in setup will feel thin fast.

The simplest path is this: an author saves a post as Pending Review, and an editor with publishing rights changes it to Published only after checking it. That works in core WordPress and costs nothing. But it has a weak spot: it relies on people remembering the process. There is no hard gate that stops someone with the Author role from publishing their own post if they have the permission to do so.

If you need a stricter gate, I would look at plugins such as PublishPress or Edit Flow. Those add editorial comments, notifications, and workflows that make approval visible instead of tribal knowledge. For example, PublishPress can create a review step, assign notifications, and keep a post from moving forward until a reviewer acts. The WordPress.org plugin directories for PublishPress and Edit Flow outline those capabilities.

Situation Best Path Why Other Options Fail
Solo site with one trusted editor Use Draft and Pending Review A workflow plugin adds overhead you may never use
Small team with one approver Core roles + Pending Review Manual habits break when people get busy
Client approval before launch Workflow plugin with notifications Email-only approvals get lost and are hard to audit
Multi-step legal or brand sign-off Editorial plugin with statuses and comments Core WordPress has no real stage tracking

If you want to keep things lean, the core route is enough for a 5-page brochure site. If your site runs weekly or daily publishing, I would not rely on memory alone. Quick check: if you only need one person to approve posts occasionally, core WordPress may be enough; if you need proof, reminders, or more than one reviewer, you need a workflow tool.

How do you add human approval before posts go live in WordPress?

You add human approval before posts go live in WordPress by removing direct publishing power from writers and putting a review step between writing and publication. In plain terms: the author writes, someone else approves, and only then does the post become public.

Here is the core setup I would use for a straightforward editorial process:

  1. Go to Users → Add New and create accounts for each writer, editor, and approver.
  2. Give writers the Author role if they should publish their own drafts later, or Contributor if they should never publish without approval.
  3. Give approvers the Editor role so they can move content from review to published.
  4. Train writers to save posts as Pending Review, not Published.
  5. Set a rule that only the approver can click Publish after reading the post in the block editor.
  6. Use a checklist for the approval pass: title, slug, featured image, links, spelling, and the final call to action.
  7. Test the process with one post and one approver before you hand over a month’s worth of content.

If you want more control than that, install a workflow plugin. Edit Flow is a familiar option for editorial comments and custom statuses. PublishPress is the better fit when you want reminders, notifications, and a clearer approval trail. Some sites also pair WordPress with Slack, Microsoft Teams, or email notifications so the reviewer actually sees the request.

The trade-off is simple: core WordPress is lighter and cheaper, but the process can get sloppy. Plugins add control, but they also add setup, maintenance, and one more moving part when WordPress updates. This setup is not for a one-person blog that publishes the moment a draft is done. Quick check: if a second person must decide “yes” before the post appears online, the workflow should force a review step, not just ask for one.

If you’re using the built-in WordPress roles, what should each person be allowed to do?

How do you add human approval before posts go live in WordPress? — Close-up of Individual Keyboard Keys Making a Word "B

Built-in roles are enough when the real problem is permission, not process. If you only need to prevent accidental publishing, set writers as Contributors and approvers as Editors. If writers need to upload images or revise their own drafts, Author may work, but it is riskier because an Author can usually publish their own content.

Here is the cleanest role model for approval-heavy sites:

  • Contributor: writes drafts, cannot publish.
  • Author: writes and can publish their own posts, which weakens approval if you are not careful.
  • Editor: can publish and manage others’ posts.
  • Administrator: should not be the daily approver unless the site is tiny.

If you want a hard human checkpoint, Contributors are safer than Authors. That single change matters. It prevents a writer from bypassing the reviewer and hitting publish at 4:59 p.m. If you are unsure how much control a role should have, consult a WordPress professional or the current Roles and Capabilities documentation before changing permissions on a live site.

Some sites need tighter control than WordPress core gives them. In that case, a role editor plugin such as Members or PublishPress Permissions can strip publishing capability from specific users, even if their role would normally have it. That is useful for agencies, membership sites, and regional teams where the site owner wants a named approver but not full editor rights. The Members plugin page and PublishPress Permissions page describe those options.

A practical approval chain looks like this:

  1. Create a writer account with the Contributor role.
  2. Create an approver account with Editor access.
  3. Write a simple SOP that says drafts stay in Pending Review.
  4. Turn off “publish on submit” habits in your content team and make approval explicit.
  5. If needed, install a role-control plugin so no one can change their own publishing permission.
  6. Audit user accounts every 30 days so old freelancers do not keep access.

The danger here is assuming roles are the workflow. They are not. Roles only control what someone can do, not whether the right person saw the content. If your approval depends on legal, compliance, or brand checks, roles alone are too blunt. Quick check: if you only need to stop accidental self-publishing, role changes may solve it; if you need traceable sign-off, you need a plugin or a documented process as well.

Which plugin should I use for post approval?

If you need visible approval steps, I would start with PublishPress or Edit Flow because both are known workflow tools for WordPress and both are aimed at editorial teams rather than casual bloggers. If your needs are basic, Core WordPress plus roles is enough. If your needs are serious, the plugin matters.

Use this simple rule: choose a workflow plugin when you need at least one of these things—status tracking, editorial comments, notifications, or multiple approvers. That is the line where built-in WordPress starts to feel like duct tape.

PublishPress is usually the better fit when you want:

  • custom statuses like “Needs Legal Review”
  • notifications by email
  • editorial comments inside the dashboard
  • content calendar views

Edit Flow is a good fit when:

  • you want a lighter editorial workflow
  • you care about custom statuses and notes
  • you do not need a huge feature set

Some teams also use Oxygen or page builders for layout, but those do not solve approval. They can make the page prettier; they do not stop someone from publishing too early. The approval problem is about governance, not design.

If you install a plugin, do not skip the boring part: assign one owner, define the approval stage, and write what happens when the approver is absent for 24 hours or 48 hours. Otherwise the plugin becomes just another dashboard widget people ignore.

A good rollout looks like this:

  1. Pick one approval rule: “No post goes live until an editor clicks approve.”
  2. Install only one workflow plugin to avoid duplicate statuses and confusion.
  3. Configure one custom status, if the plugin supports it, such as “Ready for Review.”
  4. Set notifications to go to the actual approver, not a shared inbox no one opens.
  5. Publish a test post and confirm the author cannot bypass the check.
  6. Review the setup after 7 days and remove any extra steps that nobody uses.

The downside is maintenance. Every plugin adds update risk and possible conflicts with other plugins or your theme. That is why I would not install one just because approval sounds tidy. Quick check: if you need an audit trail, reminders, or multiple stages, a workflow plugin earns its place; if you do not, keep the system simple.

How do you set up a real approval workflow step by step?

You set up a real approval workflow by deciding who writes, who checks, and what happens if the approver is offline. If the answer to any of those is fuzzy, the workflow will fail the first time someone is on vacation.

Here is the setup I would follow for a small-to-medium WordPress site:

  1. Choose the gate. Decide whether the gate is a person, a role, or a plugin status.
  2. Separate writing from publishing. Make sure the writer’s role cannot skip review.
  3. Define one approval owner. Pick one editor, not three people who can all say “I thought someone else handled it.”
  4. Create a checklist. Include headline, slug, links, image alt text, and the first paragraph.
  5. Use a visible status. Pending Review, Ready for Legal, or Ready to Publish should be obvious in the dashboard.
  6. Set a deadline. Give approval a normal turnaround, such as same day or 24 hours, so content does not rot in limbo.
  7. Test with one post. Confirm the writer cannot publish directly and the approver can move the post forward.
  8. Document the exception path. Say what happens for urgent posts, broken-news updates, or weekend publishing.

If you use a plugin, keep the process narrow. A workflow with six statuses and four approvers sounds professional and often becomes unusable. In most teams, one draft stage and one approval stage are enough. I would only add more if there is a real reason, such as legal review or medical compliance.

A practical set of tools can look like this: WordPress core, PublishPress, and email notifications through your normal mail system. Some teams add Slack so the reviewer gets pinged instantly, but that only works if Slack is already where the team lives. If nobody checks Slack before 2 p.m., the ping does not help.

This is not the right setup for a solo creator who wants instant posting or for a newsroom where editors already manage an outside CMS. It is for the site that needs one deliberate checkpoint and does not want surprise publishing. Quick check: if you can describe the approval path in one sentence, you are ready; if you need a diagram, the workflow is too complicated.

When does the standard advice break down?

The standard advice breaks down when the approval rule collides with edge cases like urgent updates, scheduled publishing, guest authors, or multiple reviewers. In those cases, the right answer is usually not “add more steps,” but “change the rule for this scenario.”

Here are the common break points:

  • Urgent correction after a typo or broken link → What changes: speed matters more than the normal queue. → What to do instead: give an editor emergency publishing rights for corrections under 15 minutes, but keep a note in the editorial log.
  • Scheduled posts for launches or events → What changes: the publish date is fixed, but approval may happen earlier. → What to do instead: approve the post at least 24 hours before the scheduled time, then let WordPress handle the timestamp.
  • Guest authors or freelancers → What changes: access is less trusted. → What to do instead: make all guest posts Contributor submissions and require editor approval before scheduling.
  • Multi-person legal or compliance sign-off → What changes: one approver is not enough. → What to do instead: use a plugin with custom statuses like “Legal Review” and “Final Approval.”
  • Membership or private content → What changes: not every published post is public. → What to do instead: test visibility settings separately from the approval workflow so a post can be approved without becoming public.
  • A multi-author newsroom → What changes: volume is high and ambiguity is expensive. → What to do instead: use an editorial calendar and a single named duty editor for each day or shift.

The common mistake is treating every post like it deserves the same route. A 300-word correction does not need the same chain as a 2,000-word launch page. If you force both through the same process, one will be too slow and the other too risky. If that judgment call affects compliance, publishing policy, or client sign-off, consult an editor or workflow specialist before standardizing it. Quick check: if your team has special cases more than once a month, build exception rules now instead of pretending one workflow fits everything.

What are the biggest mistakes people make?

The biggest mistakes people make are using the wrong role, relying on memory, and assuming the process will enforce itself. When you add human approval before WordPress posts go live, those three failures cause most problems.

One common mistake is giving writers the Author role when they should be Contributors. That sounds harmless until someone publishes directly without review. Another is using shared inboxes or vague verbal approval instead of a named approver. A third is adding a plugin but never defining who owns the final click.

There is also a timing problem. Teams often set up approval, then forget to document what happens when the approver is on vacation, in a different time zone, or simply offline at the wrong moment. If you do not define a backup, posts sit in limbo.

A good final check is simple: can you answer who writes, who approves, who publishes, and what happens when the approver is absent? If not, the workflow is still incomplete. For teams that need a formal process, the WordPress.org documentation on Roles and Capabilities and Post Status is the safest place to confirm the basics.

Drafted with AI; not yet reviewed by a person.