The WordPress.org Plugin Review Process: A Comedy in Three Acts

So you built a WordPress plugin. Congratulations! Now you want to share it with the world through WordPress.org.

How hard can it be? Upload a zip file, wait a bit, done. Right?

Oh, you sweet summer child. 🌻


Act 1: The Submission

You zip up your plugin. Everything works. You tested it. You’re proud of it. You click “Submit.”

Then you wait.

And wait.

A week goes by. Two weeks. You start checking your spam folder. Did they get it? Is the internet broken? Did WordPress.org ghost you?

Then one day: an email!

“Your plugin has been received and is in the review queue. Current wait time: approximately 4-6 weeks.”

Four to six weeks. For a plugin that does one thing. That you tested. That works.

But okay. You’re patient. You’ve got other things to do. You wait.


Act 2: The Feedback Loop

Six weeks later, another email arrives. Your heart races. This is it!

“We found some issues in your plugin.”

Your plugin name is “Replace Media.” Apparently that’s too generic. Fair enough. WordPress has like 60,000 plugins. You change it to “Devenia Replace Media.”

You upload again.

New email: “The Text Domain header doesn’t match the slug.”

Okay. You change devenia-replace-media to replace-media to match the slug they assigned you.

You upload again.

New email from Plugin Check: “The Text Domain header doesn’t match the slug. Expected: devenia-replace-media”

Wait, what? You JUST changed it to match… the OTHER slug they…

Ah.

The slug was changed. But nobody told you. Or they did tell you, in email 47 of a 52-email thread that includes three other developers’ conversations somehow merged into yours.


Act 3: The Existential Questions

At this point, you start questioning reality:

🤔 What you expected
Upload plugin → Review → Approved or Rejected → Done

😵 What actually happens
Upload → Wait 6 weeks → Fix thing A → Wait → Fix thing B → Wait → Thing A is wrong again → Repeat until heat death of universe

The review emails are… interesting. They’re a mix of:

  • Automated bot messages that start with “🤖 This is an automated message”
  • AI-generated suggestions marked with ✨ that recommend changing your plugin to “Arezia Replace Media” (who is Arezia?)
  • Actual human feedback buried somewhere in paragraph 47
  • Other people’s review threads somehow CC’d into yours
  • Helpful links to documentation that explains what you did wrong (sometimes)

The emails are also approximately 4,000 words long. Each one. With nested quotes going back to the dawn of time.


The Plot Twists 🎭

Here are some fun surprises you’ll encounter:

Plot Twist 1: The Slug Dance

Your plugin can have:

  • A display name (“Devenia Replace Media”)
  • A slug (devenia-replace-media)
  • A text domain (must match slug)
  • A folder name (must match slug)
  • A main file name (should match slug)

Change any one of these, and three others break. It’s like a Rubik’s cube, except the colors keep changing.

Plot Twist 2: The Reply Paradox

The email says:

“Do not reply to this email unless you have a question.”

But also:

“After fixing issues, reply to this email.”

But also:

“You do not need to reply, just upload the new version.”

So do you reply or not? Nobody knows. Flip a coin.

Plot Twist 3: The Generic Name Trap

You name your plugin something descriptive like “Replace Media” because it… replaces media.

WordPress.org: “Too generic. Could be confused with other plugins.”

Fair. You add your brand name: “Devenia Replace Media.”

WordPress.org: “The slug is now devenia-replace-media. Update your text domain.”

You update the text domain.

WordPress.org Plugin Check: “Text domain doesn’t match slug. Expected: replace-media.”

You: 🤯


What Actually Helps ✅

Despite the chaos, here’s what we learned:

✅ Do This
Run the Plugin Check plugin BEFORE submitting. It catches most issues upfront. Would’ve saved us 3 weeks.

✅ Also This
Pick a unique, branded name from the start. “YourBrand Thing” not “Generic Thing.” Less back-and-forth.

✅ Keep Everything Matching
Folder name = main file name = slug = text domain. All the same. No exceptions. Don’t get creative.

✅ Read the WHOLE Email
Yes, all 4,000 words. The important bit is usually in paragraph 23, after the AI suggestions and before the other developer’s conversation.


The Happy Ending (Eventually) 🎉

Here’s the thing: the WordPress.org plugin review team are volunteers. Real humans giving their free time to check thousands of plugins.

The process is confusing, yes. The emails are novels. The requirements sometimes contradict each other.

But they’re trying to keep WordPress safe. Every plugin on WordPress.org could theoretically run on millions of websites. That’s terrifying if you think about it. One bad plugin could ruin a lot of people’s day.

So we fix the slug. Again. We update the text domain. Again. We upload version 1.7.2 of a plugin that was “done” at version 1.0.

And eventually, one magical day, you get the email:

“Your plugin has been approved!”

And you think: “That wasn’t so bad.”

Then you immediately forget everything and start building your next plugin.

See you in 6-8 weeks. 🎉


The TL;DR

  • WordPress.org plugin review takes 4-6+ weeks
  • You will change your plugin name/slug/text domain at least twice
  • Emails are long, confusing, and sometimes include other people’s conversations
  • Run Plugin Check before submitting to save time
  • The reviewers are volunteers doing important work
  • You’ll get approved eventually
  • You’ll immediately do it again for your next plugin

Good luck out there. 🚀

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.