- Article
- Beginner
- 2 minutes read
- Reviewed August 4, 2026
- WordPress maintenance and troubleshooting
A WordPress 404 can be a correct response for a missing resource or a routing failure for content that exists.
Permalink problems often appear after migrations, server changes, custom post type changes or rewrite conflicts.
Confirm the Content Exists
Check:
- Publication status.
- slug.
- parent page.
- post type visibility.
- taxonomy term.
- language.
- canonical URL.
- whether another object uses the same path.
Refresh Rewrite Rules
Visiting Settings → Permalinks and saving can regenerate WordPress rewrite rules.
Do not call flush_rewrite_rules() on every request in custom code because it is expensive.
Server Configuration
Pretty permalinks depend on web-server routing.
Review:
- Apache rewrite module and
.htaccess. - Nginx
try_filesor routing rules. - IIS
web.config. - document root.
- reverse proxy path handling.
- permissions.
- managed-host routing.
Custom Post Types and Taxonomies
Route conflicts can occur when:
- A page shares an archive base.
- Singular and taxonomy slugs overlap.
- rewrite settings changed.
- registration runs too late.
- hierarchical paths collide.
- multilingual plugins transform routes.
Caches and Redirects
Purge page caches, CDN redirects and server caches after route changes.
Confirm the 404 is not an old cached response or redirect to a nonexistent path.
Frequently Asked Questions
Does saving permalinks delete content?
No. It refreshes rewrite configuration.
Should every 404 be redirected?
No. Only redirect when a relevant replacement exists.
Continue Learning
Previous: WordPress Memory Limits and Timeouts