I've fixed WordPress plugins for 8 years.
I've worked on 100+ sites - blogs, business sites, WooCommerce stores, you name it.
The #1 question I hear from panicked site owners is always: "Why the hell is my plugin not working in WordPress?"
Last year, I was maintaining a WooCommerce site for a client ahead of a major sale.
I ran a routine update on their payment plugin, hit refresh on the checkout page, and got a full White Screen of Death (WSOD).
I still remember that drop in my stomach - every minute the checkout was down, the client could lose thousands in revenue.
I've had worse, too. A client's membership site worked perfectly when I signed off for the night.
Overnight, the user login feature broke completely.
The plugin showed as active in the dashboard, but its core features were dead in the water.
Who This Guide Is For
- New WordPress site owners stuck with a broken plugin
- WooCommerce store owners with mission-critical plugin failures
- Anyone who's Googled 'wordpress plugin not working' at 2am
- Site owners who don't want to break their live site troubleshooting
Not For You If:
- You're looking for advanced custom code development for a fully bespoke plugin
- You don't have access to your WordPress dashboard or hosting account
- You're using a non-self-hosted WordPress.com site with no plugin installation permissions
What You'll Learn
- The 5 most common reasons a WordPress plugin stops working
- How to fix 90% of plugin issues in 10 minutes or less
- How to safely troubleshoot without breaking your live site
- How to stop plugin issues before they happen
- Exact steps for every common plugin failure scenario
TL;DR: Quick Fixes For When You're In a Hurry
🔥 Emergency Fix: 30-Second Fix (Highest Success Rate)
90% of the time, a plugin not working in WordPress is just a cache issue.
Clear ALL caches in this order: browser hard refresh → caching plugin → CDN → server cache.
Refresh your site - this will fix most broken plugin issues instantly.
Quick Answer: Top 3 Causes of Broken Plugins
If the 30-second fix didn't work, your issue is almost certainly one of these:
- Plugin or theme conflict (clashing code from another tool on your site)
- Version incompatibility (outdated WordPress, PHP, or plugin version)
- Security blocks (ad blocker, firewall, or security plugin blocking the plugin's scripts)
In This Guide
Why Plugins Fail |
Critical First Step |
Debug Mode Setup |
Find the Culprit |
Fix Your Specific Issue |
Real Case Studies |
Prevention Tips |
FAQ
Why Your WordPress Plugin Suddenly Stopped Working
Before you start clicking random settings, let's break down the most common reasons your plugin is failing.
I've sorted them by how often they cause issues, from most to least frequent.
❌ Version Compatibility Conflicts
This is the #1 culprit for broken plugins.
A mismatch between your WordPress core version, PHP version, and plugin version will break your site.
It can cause anything from a blank settings page to a full fatal error.
Just last month, I worked with a client whose host was still running PHP 7.2 for "stability".
The new form plugin they installed required a minimum of PHP 8.0.
The client spent 2 days troubleshooting. I fixed it in 60 seconds by upgrading their PHP version.
❌ Plugin-to-Plugin Code Conflicts
WordPress's open ecosystem is its biggest strength.
But it also means code from different developers can easily clash.
This is a plugin conflict.
For example, your WooCommerce plugin and SEO plugin might both call the same function.
Or they might load different versions of the same JavaScript library.
The result? One or both plugins stop working entirely.
This is guaranteed to happen if you run two overlapping plugins.
Two SEO tools, two caching plugins, or two security plugins will almost always clash.
❌ Theme-Plugin Incompatibility
Don't blame the plugin just yet.
Your WordPress theme is often the real culprit.
Many themes heavily modify WordPress's core hooks and template files.
This can directly block a plugin from loading or running correctly.
I once worked with a client whose WooCommerce payment options wouldn't load on the checkout page.
The theme had rewritten the checkout page hooks with a higher priority than the payment plugin.
It completely blocked the payment gateway's JavaScript from loading.
Temporarily switching to a default theme fixed the issue instantly.
❌ Server Environment & File Permission Issues
This is the most overlooked cause of broken plugins.
Incorrect file permissions, insufficient PHP memory, or a full disk will stop a plugin cold.
Post-migration environment changes are also a common trigger.
I once spent an entire afternoon troubleshooting a caching plugin that wouldn't generate cache files.
The wp-content/plugins directory had its permissions incorrectly set to 644.
The server couldn't write any files to it.
Changing the permissions to 755 fixed the issue immediately.
This is a 2-minute fix that most site owners never think to check.
❌ Cache/Security Blocks
Half the time, your plugin isn't broken at all.
It's just a cache false positive.
You've updated your plugin settings, but your site is still loading old, outdated assets.
You don't see the changes, so you assume the plugin isn't working.
Also, ad blockers like AdBlock or uBlock Origin will often block plugin scripts.
Any script with keywords related to ads, analytics, or tracking is at risk.
Your site's security plugin, host firewall, or CDN WAF may also flag the plugin's requests as malicious.
They'll block the script before it can load, even if the plugin itself is perfectly fine.
Quick Reference: Plugin Failure Culprits Table
| Culprit Category | Common Signs | Quick Fix to Try | Diagnosis Time | Stress Level |
|---|---|---|---|---|
| Compatibility Conflicts | WSOD, blank settings page, fatal error | Update WP/PHP version, check plugin requirements | 2 minutes | 😰 High |
| Plugin-to-Plugin Conflict | Feature breaks after activating another plugin | Deactivate all plugins, reactivate one by one | 10 minutes | 😐 Medium |
| Theme Incompatibility | Plugin works in dashboard but not on front end | Switch to default theme (e.g., Twenty Twenty-Four) | 3 minutes | 😐 Medium |
| Server Environment | Installation fails, file write errors | Check file permissions (755 for folders), increase PHP memory | 5 minutes | 😐 Medium |
| Cache/Security Blocks | Works for you but not visitors, settings not saving | Clear ALL caches, disable ad blocker, check firewall logs | 2 minutes | 😌 Low |
Step 1: ⚠️ Back Up First (No Exceptions)
⏱️ Time needed: 5 minutes
Backing up your site first eliminates the risk of permanent data loss during troubleshooting.
It's non-negotiable. No backup = no troubleshooting.
I learned this the hard way when I first got started.
I encountered a broken plugin, jumped straight into editing code, and completely crashed the site.
I had to restore from a 3-day-old backup. The client lost hundreds of orders and critical data.
Don't make my mistake. Use one of these simple backup methods before you touch anything:
- One-click backup plugin: Use tools like UpdraftPlus to back up your entire site with one click.
- Host snapshot backup: Most reputable hosts offer a one-click snapshot feature for instant rollbacks.
- Manual backup: Download the entire wp-content directory via FTP, and export your database via phpMyAdmin.
⚡ Pro Tip:
Most managed WordPress hosts include free daily automatic backups - always verify your backup is restorable before making changes.
Step 2: 🛠️ Turn On Debug Mode to See Exact Errors
⏱️ Time needed: 3 minutes
Enabling WordPress debug mode reveals exactly what's causing the error.
No more guessing, no more blind troubleshooting.
⚠️ Critical Note:
Only edit the lines we specify below. Do not delete or modify any other code in your wp-config.php file. This can break your entire site if edited incorrectly.
Open your site's root wp-config.php file via FTP or your host's file manager.
Find the line define( 'WP_DEBUG', false ); and replace it with this code:
// Enable WordPress debug mode - logs errors to a private file, no front-end display
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // Saves errors to /wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // Hides errors from site visitors
Tip: This code saves all error messages to a debug.log file in your wp-content directory.
Always turn debug mode back off after troubleshooting to avoid exposing sensitive site data.
If you're on a staging site (not live to the public), you can simply change define( 'WP_DEBUG', false ); to define( 'WP_DEBUG', true );.
This will display errors directly on the page for faster troubleshooting.
📱 Mobile Tip:
If you're troubleshooting on mobile, use your browser's incognito mode to avoid cached mobile assets that can hide your fixes.
Step 3: 🔍 Find the Culprit With the Conflict Test
Isolating variables is the fastest, most reliable way to pinpoint exactly what's breaking your plugin.
It works every single time.
If You Can Access the WordPress Dashboard
⏱️ Time needed: 10 minutes
✅ Quick Fix: Use the Official Health Check Tool (Visitor-Safe)
This is the best method for live sites.
It lets you test conflicts without breaking your site for visitors.
Zero downtime, zero risk to your user experience.
- Install and activate the official Health Check & Troubleshooting plugin from the WordPress plugin directory.
- Go to Tools > Site Health > Troubleshooting and click Enable Troubleshooting Mode.
- This will automatically switch you to a default WordPress theme and deactivate all plugins - for your admin session only.
- Activate only the broken plugin. Test if its functionality is restored.
- If it works, reactivate your other plugins one by one. Test the broken plugin after each activation.
You'll instantly find the conflicting plugin.
If you want an even more streamlined process, use the Plugin Detective plugin.
Its built-in wizard finds the conflicting plugin automatically, even for complete beginners.
⚡ Pro Tip:
Always test plugin conflicts in troubleshooting mode first - this ensures your live site stays fully functional for visitors while you work.
Advanced Fix: Manual Binary Search (No Extra Plugins)
If you'd rather not install additional tools, this method is far faster than activating plugins one by one.
You can find the conflicting plugin in as few as 3 steps.
- Go to Plugins > Installed Plugins. Bulk deactivate all plugins except the broken one.
- Test the plugin's functionality. If it works, the issue is a conflict with one of your other plugins.
- Split your deactivated plugins into two groups. Activate the first group, and test the broken plugin.
- If the issue reappears, the conflicting plugin is in this group. If not, it's in the second group.
- Repeat this split process until you pinpoint the exact conflicting plugin.
If You're Locked Out by a WSOD or 500 Error
⏱️ Time needed: 5 minutes
If you can't access your dashboard at all, this method will instantly restore access to your site.
No coding experience required.
- Connect to your server via FTP, or open your host's file manager.
- Navigate to the wp-content folder in your site's root directory.
- Find the
pluginsfolder, and rename it toplugins_old. - This will force WordPress to deactivate all plugins automatically.
- Your site will almost always come back online immediately. Log back into your WordPress dashboard.
- Rename the
plugins_oldfolder back toplugins. All your plugins will now be listed, but deactivated. - Use the binary search method above to find the plugin causing the fatal error.
Fix Your Specific Plugin Problem
Once you've pinpointed the root cause, use these targeted fixes for the most common plugin failures.
I've sorted them by how often they occur, so you can start with the most likely fix first.
Plugin Fails to Install or Throws Errors During Installation
This is caused by incorrect file permissions, insufficient memory, or a full disk.
Fixing these will resolve nearly all install issues.
✅ Quick Fix: Check and update file permissions.
Use FTP to set folders to 755, and individual files to 644.
Some managed hosts require 775 for folders.
🛠️ Advanced Fix: Increase your PHP memory limit.
Add this line to your wp-config.php file:
// Increase PHP memory limit to fix plugin installation failures
define( 'WP_MEMORY_LIMIT', '256M' );
If your host allows it, you can increase this to 512M.
For a permanent fix, upgrade your hosting plan or remove unnecessary plugins.
Also, check your host's disk space.
If it's full, delete old backups, logs, or unused files to free up space.
Plugin Causes WSOD or 500 Fatal Error After Activation
For fatal errors that crash your site, prioritize restoring access first.
Then use your debug log to fix the root cause.
✅ Quick Fix: Rename the problematic plugin's folder via FTP.
WordPress will automatically deactivate it, and your site will come back online instantly.
🛠️ Advanced Fix: Open your debug.log file, and find the fatal error related to the plugin.
- If it's a PHP version compatibility issue: Check the plugin's official documentation for minimum requirements. Upgrade your PHP version, or use the WP Rollback plugin to revert to an older, compatible version of the plugin.
- If it's a failed database table creation: Use phpMyAdmin to repair your database, or reinstall the plugin to reinitialize its tables.
- If it's a native bug in the plugin: Contact the plugin developer to report the issue and wait for a fix.
Plugin Activates, But Core Functionality Doesn't Work
Non-fatal functionality failures are almost always caused by cache issues, blocked scripts, or incomplete setup.
Start with the simplest fixes first.
✅ Quick Fix: Perform a full cache purge.
This fixes 80% of these issues. Purge in this order:
- Hard refresh your browser (Ctrl+F5 on Windows, Command+Shift+R on Mac)
- Purge all cache from your caching plugin
- Clear your CDN's edge cache
- Clear your server's OPcache or Redis cache
📱 Mobile Tip:
On mobile, clear your browser's app cache and site data to ensure you're seeing the latest version of your site.
🛠️ Advanced Fix: Check for blocked scripts.
Press F12 to open your browser's developer tools, and go to the Console tab.
Look for JavaScript errors.
- If it's an ad blocker: Temporarily disable your ad blocker, or whitelist your site's domain.
- If it's a security plugin/firewall: Check the firewall logs, and whitelist the plugin's request paths.
Also, verify you've filled out all required plugin settings.
Many new site owners activate the plugin, but skip filling out required API keys, shortcode placement, or feature toggles.
Plugin Settings Page Is Inaccessible (403/404 Errors or Nonce Failures)
Inaccessible settings pages are caused by corrupted server rules, security blocks, or broken permalink structures.
Fixing these restores access instantly.
✅ Quick Fix (403 Error): Reset your permalink rules.
Go to Settings > Permalinks, and click Save Changes without modifying anything.
This will automatically reset your .htaccess rules.
If that doesn't work, temporarily disable your security plugin, check your host's firewall logs, and whitelist the plugin's request paths.
✅ Quick Fix (404 Error): Delete the plugin, and reinstall it directly from the official WordPress plugin directory.
This ensures all files are complete and intact.
✅ Quick Fix (Nonce Error): The "Are you sure you want to do this?" error is a failed WordPress security check.
Purge all your caches, clear your browser cookies, and log back into the dashboard using incognito/private mode.
Plugin Not Working in WordPress Multisite
Multisite plugin failures are caused by incorrect activation permissions or missing multisite compatibility, not a broken plugin.
✅ Quick Fix: Verify the plugin is explicitly compatible with WordPress Multisite.
Many smaller, niche plugins don't include multisite support.
🛠️ Advanced Fix: Use the correct activation method.
If the plugin only needs to be used on a single subsite, do NOT Network Activate it from the network admin.
Instead, log into the individual subsite's dashboard, and activate the plugin there.
Only Network Activate plugins that need to be used across all subsites.
Real-World Troubleshooting Case Studies
These are real issues I've resolved for clients.
They'll help you avoid the same mistakes I made.
Case Study 1: WooCommerce Payment Plugin Crashed Checkout After Update
After updating the client's payment plugin, the checkout page went to a full WSOD.
My first step was to create a full host snapshot, then rename the payment plugin's folder via FTP to restore site access.
I checked the debug log, and found a fatal conflict between the new plugin version and the theme's checkout page hooks.
The temporary fix was to roll back to the previous working version of the plugin using WP Rollback, to ensure the payment gateway worked during the sale.
After the peak season, I worked with both developers to share the conflict details, got a fixed patch, and updated the plugin safely.
✅ Key Lesson:
Never update mission-critical plugins right before a major event. Always test updates on a staging site first.
Case Study 2: Membership Site Login Functionality Broke Overnight
A client's membership site login feature stopped working completely overnight, even though the plugin showed as active.
I first purged all caches, which didn't fix the issue.
I ran the conflict test, and ruled out plugin or theme conflicts.
When I opened the browser's developer console, I found the plugin's login script was being blocked by the client's new ad blocker.
Whitelisting the site's domain fixed the issue instantly.
I added a rule to the CDN to rename the script file to avoid future blocks.
✅ Key Lesson:
Always check for ad blocker and firewall blocks first when a plugin works in the dashboard but not the front end.
Case Study 3: Multisite Subsite Couldn't Access Plugins
A client with a WordPress Multisite install told me their subsite admins couldn't see the plugin installation menu.
Most new Multisite users don't know that, by default, subsite admins don't have permission to install or manage plugins.
I logged in as the network super admin, went to Settings > Network Settings, and enabled plugin management permissions for subsite admins.
The issue was resolved completely.
✅ Key Lesson:
Multisite has unique permission rules. Always check network settings before troubleshooting a "broken" plugin.
Case Study 4: Caching Plugin Caused Endless Login Redirect Loop
A client installed a popular caching plugin, and couldn't log into the dashboard after activating it.
Entering their credentials just redirected them back to the login page.
The issue was that the caching plugin had cached the login page's authentication cookies, causing the verification to fail every time.
I renamed the caching plugin's folder via FTP to restore dashboard access, then added the wp-admin directory and login page to the cache exclusion list.
This fixed the issue permanently.
✅ Key Lesson:
Always exclude your login page and wp-admin directory from your caching plugin's rules.
FAQ (Google People Also Ask)
Can a plugin break my entire website?
Yes. A WordPress plugin not working due to poor coding or incompatibility can cause a full White Screen of Death, lock you out of your dashboard, or break critical front-end functionality. That's why you should always back up your site before installing or updating plugins, and only use reputable plugins from the official WordPress directory.
Should I delete a broken plugin?
Not immediately. First, deactivate it to restore your site's access. Then, troubleshoot to find the root cause of the WordPress plugin not working. If the plugin is no longer maintained, has no support, or can't be fixed, delete it. If it's a simple conflict or compatibility issue, you can fix it and keep using it.
Why do plugins break after WordPress updates?
WordPress core updates often change or remove old functions, add new security rules, or update core features. If a plugin hasn't been updated to match the new WordPress version, it will lose compatibility and you'll end up with a WordPress plugin not working. Always test WordPress core updates on a staging site first, and run the Plugin Check tool to catch compatibility issues before updating.
Can I use a plugin that hasn't been updated in a year?
I don't recommend it. A plugin that hasn't been updated in 12+ months likely hasn't been tested with the latest WordPress or PHP versions. It will have compatibility issues that lead to a WordPress plugin not working, and may have unpatched security vulnerabilities. Look for a well-maintained alternative plugin instead.
My plugin works in the dashboard, but nothing shows up on the front end. What should I do?
First, perform a full cache purge to ensure your front end is loading the latest assets. Next, verify that you've added the plugin's shortcode or embed code to the correct page. Then, check your browser's developer console for JavaScript or CSS errors, which usually mean the plugin's scripts are being blocked. Finally, switch to a default WordPress theme to rule out theme incompatibility that's causing the WordPress plugin not working.
Long-Term Prevention: Stop Plugin Issues Before They Start
Instead of scrambling to fix issues after they happen, build these habits into your regular site maintenance routine.
They've saved me countless hours of troubleshooting over 8 years.
My Monthly Plugin Maintenance Checklist
- Check for and test plugin updates on a staging site first
- Run the Plugin Check tool for compatibility with the latest WordPress version
- Delete all deactivated and unused plugins
- Review plugin changelogs for breaking changes before updating
- Verify your PHP version is still supported by all active plugins
Core Rules to Avoid Plugin Failures
- Never update plugins directly on a live production site. Always test updates on a staging site first, schedule updates for low-traffic hours, and back up your site before updating.
- Keep your site lean. Only install a plugin if it's absolutely necessary. Every plugin you add is one more potential conflict, and one more security risk.
- Only use reputable plugins. Always install plugins directly from the official WordPress plugin directory, or from trusted commercial developers. Never use nulled or pirated plugins - over 90% of them have malware or security vulnerabilities.
- Keep your environment up to date. Stick to the latest stable releases of WordPress and PHP (PHP 8.1 and 8.2 are currently the most stable and widely supported). For help upgrading, follow our step-by-step PHP upgrade guide for WordPress.
Last Resort Options If Nothing Works
If you've followed every step in this guide, and your WordPress plugin is still not working, don't panic.
You still have these reliable options.
- Contact the plugin's official developer support team. This is the most direct and effective solution. Go to the plugin's official page, and send them a clear message with your site's environment, the exact issue, and the error messages from your debug.log file. The plugin's developers know their code better than anyone, and will usually send you a targeted fix within 24-48 hours.
- Hire a professional WordPress developer. If your site handles critical business or transaction data, and you don't feel comfortable troubleshooting yourself, hire an experienced WordPress developer. Sometimes, spending a little money for professional help is far better than spending hours troubleshooting, or accidentally making the issue worse.
- Switch to a reputable alternative plugin. If the plugin is no longer maintained, the developer has abandoned it, or it's completely incompatible with your site's environment, don't waste time trying to fix it. The WordPress ecosystem has thousands of high-quality, well-supported plugins for almost every feature imaginable. Switching to a regularly updated alternative is the best way to ensure long-term stability.
Stuck? I'm Here To Help
Drop a comment below with these 3 details, and I'll reply within 24 hours:
- Your WordPress and PHP version
- The exact error message you're seeing (from your debug.log)
- What troubleshooting steps you've already tried
Get Your Free Troubleshooting Kit
First, grab your free PDF copy of this full troubleshooting guide + my printable monthly maintenance checklist. Keep it on hand for future plugin issues, no email required.
Want more WordPress fixes, security tips, and speed hacks? Subscribe to my weekly newsletter for actionable advice tailored to small business site owners and WooCommerce store operators.

