If your WordPress page says “not found” even though it clearly exists, you’re not alone. This frustrating issue often stems from permalink misconfigurations, plugin conflicts, or server settings—but it’s usually fixable in minutes with the right troubleshooting steps.
Key Takeaways
- Check your permalink structure: Incorrect or corrupted permalinks are the #1 cause of 404 errors on existing pages.
- Flush rewrite rules: Resaving permalinks in Settings > Permalinks often instantly resolves missing page issues.
- Deactivate plugins temporarily: A conflicting plugin may block page access—test by disabling them one by one.
- Review your .htaccess file: Missing or broken rewrite rules can prevent WordPress from routing URLs correctly.
- Verify file permissions: Incorrect folder or file permissions on your server can hide accessible content.
- Clear caching layers: Browser, plugin, or server caches may serve outdated 404 responses even after fixes.
- Use a child theme for customizations: Editing theme files directly can break page routing—always use a child theme for safety.
Quick Answers to Common Questions
Why does my WordPress page show 404 even though it’s published?
This usually happens due to broken permalinks, plugin conflicts, or missing .htaccess rules. Resaving permalinks in Settings often fixes it instantly.
Can a plugin cause “page not found” errors?
Yes! Security, SEO, or redirection plugins can interfere with URL routing. Deactivate all plugins to test—then reactivate one by one.
Do I need to edit code to fix this?
Not usually. Most fixes involve WordPress settings or file management—no coding required. Only advanced cases need custom code.
Will changing my theme break my pages?
Temporarily switching to a default theme helps diagnose issues. For long-term safety, always use a child theme for customizations.
How do I prevent this from happening again?
Keep plugins/themes updated, use reliable hosting, clear caches regularly, and avoid editing core files directly.
📑 Table of Contents
Why Does WordPress Say “Page Not Found” When It Clearly Exists?
You’ve just published a new page or updated an old one, clicked “View Page,” and—bam!—you’re greeted with a cold, impersonal 404 error. But you *know* the page is there. You can see it in the WordPress admin dashboard. So why won’t it load?
This maddening problem is more common than you’d think. In fact, it ranks among the top five support requests for WordPress site owners. The good news? It’s almost always solvable without touching code—or calling a developer.
At its core, this issue happens when WordPress can’t match the URL you’re visiting to an actual page in your database. Even though the content exists, the system fails to route your request properly. Think of it like having a book on your shelf but forgetting where you put the table of contents—you know the information is there, but you can’t find the right chapter.
Common Symptoms
- The page appears in your WordPress Pages list but returns a 404 when accessed.
- Only certain pages are affected—others load fine.
- The homepage works, but internal pages don’t.
- You recently changed themes, updated plugins, or modified permalinks.
Top Causes of the “Page Exists But Shows 404” Error

Visual guide about WordPress Page Not Found but It Exists
Image source: techreviewgarden.com
Before diving into fixes, it helps to understand what might be breaking the connection between your URL and your content.
1. Permalink Structure Is Broken
WordPress uses permalinks (permanent links) to create human-readable URLs like yoursite.com/about-us instead of messy query strings. If these settings get corrupted—or if the server doesn’t recognize them—pages won’t load even if they exist.
This often happens after migrating a site, updating WordPress core, or switching themes.
2. Plugin or Theme Conflicts
A poorly coded plugin or theme can interfere with WordPress’s rewrite rules or block access to specific pages. For example, security plugins sometimes over-restrict access, while SEO tools might accidentally alter URL structures.
3. Missing or Corrupted .htaccess File
On Apache servers, the .htaccess file tells the server how to handle pretty permalinks. If this file is missing, deleted, or contains incorrect rules, WordPress can’t route requests properly—even if everything else is set up correctly.
4. Caching Issues
Browser caches, plugin-based caches (like WP Super Cache), or server-level caches (like those from Bluehost or WP Engine) might serve an old 404 response long after you’ve fixed the underlying issue.
5. File or Folder Permissions
If your server’s file permissions are too restrictive, WordPress may not be able to read or execute necessary files—including those that handle page routing.
Step-by-Step Fixes to Restore Your Missing Pages
Now that you know what’s likely causing the problem, let’s walk through proven solutions—starting with the quickest and most effective.
Fix 1: Resave Your Permalinks
This is the #1 fix for “page not found but it exists” errors—and it takes less than 30 seconds.
- Go to Dashboard > Settings > Permalinks.
- Don’t change anything—just click Save Changes at the bottom.
This action flushes WordPress’s rewrite rules and regenerates the URL structure. In most cases, your pages will instantly start working again.
> 💡 Pro Tip: If you’re using a custom permalink structure (like /blog/%postname%/), make sure it matches your content strategy. But avoid overly complex structures—they’re more prone to errors.
Fix 2: Check and Repair Your .htaccess File
If resaving permalinks doesn’t work, your .htaccess file might be the culprit.
To check:
- Use FTP or your hosting file manager to navigate to your WordPress root directory.
- Look for a file named
.htaccess(it’s hidden by default—enable “show hidden files” in your FTP client). - If it’s missing, create a new one.
- Paste the standard WordPress rewrite rules:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Save the file and test your pages again.
> ⚠️ Note: If you’re on NGINX (common with hosts like WP Engine), .htaccess won’t work. Contact your host—they manage rewrite rules at the server level.
Fix 3: Deactivate All Plugins
Plugin conflicts are sneaky. A plugin that worked fine yesterday might break today after an update.
To test:
- Go to Plugins > Installed Plugins.
- Deactivate all plugins.
- Try accessing your missing page.
- If it works, reactivate plugins one by one until the error returns—that’s your culprit.
Common offenders include security plugins (like Sucuri), redirection tools, and page builders.
Fix 4: Switch to a Default Theme
Sometimes your active theme—even a popular one—has a bug that breaks page routing.
Temporarily switch to a default WordPress theme like Twenty Twenty-Four:
- Go to Appearance > Themes.
- Activate a default theme.
- Check if your page loads now.
If it does, the issue lies in your original theme. Consider updating it, contacting the developer, or using a child theme for safer customizations.
Fix 5: Clear All Caches
Caching is great for speed—but terrible when debugging.
Clear:
- Browser cache (Ctrl+F5 or Cmd+Shift+R)
- Plugin cache (e.g., WP Rocket, W3 Total Cache)
- Server cache (check your host’s dashboard—many offer one-click clearing)
- CDN cache (if using Cloudflare or similar)
After clearing, test your page in an incognito window to avoid local caching issues.
Fix 6: Verify File Permissions
Incorrect permissions can block WordPress from reading critical files.
Your WordPress directories should typically be set to 755, and files to 644. You can adjust these via FTP or your hosting control panel.
> 🔒 Security Note: Never set permissions to 777—it’s a major security risk.
Preventing Future “Page Not Found” Errors
Once your pages are back, take steps to avoid recurrence:
- Always use a child theme for custom code—never edit parent themes directly.
- Keep plugins and themes updated—but test updates on a staging site first.
- Backup before major changes—use plugins like UpdraftPlus or your host’s backup tool.
- Monitor your site after migrations—URL structures often break during moves.
- Use reliable hosting—cheap hosts may have misconfigured servers. For optimal performance and support, consider top-rated WordPress hosting.
When to Seek Professional Help
If you’ve tried all the above and still see 404s on existing pages, the issue may be deeper—like database corruption, server misconfiguration, or custom code errors. In those cases, consult your hosting provider or a WordPress developer.
But remember: in over 90% of cases, the problem is solvable with the steps above. Don’t panic—just work through them methodically.
Conclusion
Seeing “WordPress page not found but it exists” is frustrating, but it’s rarely a sign of permanent damage. More often than not, it’s a simple routing glitch caused by permalinks, plugins, or caching. By following the troubleshooting steps in this guide—starting with resaving permalinks and checking your .htaccess file—you’ll have your pages loading correctly in no time.
And if you’re ever unsure whether your theme is part of the problem, tools like this theme detector can help you identify and evaluate your current setup.
Stay calm, test systematically, and your site will be back on track before you know it.
Frequently Asked Questions
What is a 404 error in WordPress?
A 404 error means the server can’t find the requested page. In WordPress, this often occurs when permalinks are misconfigured or rewrite rules are broken—even if the page exists in the database.
How do I reset permalinks in WordPress?
Go to Dashboard > Settings > Permalinks and click “Save Changes” without modifying anything. This refreshes WordPress’s URL routing system.
Can caching cause “page not found” errors?
Absolutely. Cached 404 responses may persist even after you’ve fixed the issue. Always clear browser, plugin, and server caches when troubleshooting.
Is my .htaccess file important for WordPress?
Yes—on Apache servers, it controls how URLs are rewritten for pretty permalinks. If it’s missing or corrupted, pages won’t load even if they exist.
Should I worry if only some pages show 404?
Partial 404s often point to plugin conflicts or custom post type issues. Test with all plugins disabled and check for recent changes to those specific pages.
Can my hosting provider cause this issue?
Yes—especially if they use NGINX (which doesn’t use .htaccess) or have restrictive file permissions. Contact support if standard fixes don’t work.