WordPress Permalinks Not Working: The Best Fix (2026)

A 404 error on pages that definitely exist is one of the more confusing WordPress issues, mainly because the site looks fine in the admin dashboard while visitors get “Page Not Found.” When WordPress permalinks not working happens, most guides jump straight to “just reset your permalinks,” and while that fixes a large share of cases, it doesn’t explain why it happened or what to do when the basic reset doesn’t stick.

What Permalinks Actually Do

Permalinks are the readable URL structure WordPress generates for your posts, pages, and other content (e.g., yoursite.com/your-post-title/ instead of a generic ID-based URL). Behind the scenes, WordPress relies on rewrite rules stored in your .htaccess file (on Apache servers) to translate these friendly URLs into something the server actually understands. When these rewrite rules get corrupted, missing, or out of sync, visitors hit 404 errors even though the content itself is completely intact.

Step 1: The Basic Fix (Try This First) WordPress permalinks not working

This resolves the majority of cases and takes less than a minute:

  1. Go to Settings > Permalinks
  2. Without changing anything, click Save Changes

This forces WordPress to regenerate its rewrite rules from scratch. If a rule simply got out of sync, this alone fixes it.

If that doesn’t work, try this variation:

  1. Temporarily switch to a different permalink structure (e.g., “Plain”) and save
  2. Switch back to your original structure and save again

This more aggressive reset resolves cases where the simple re-save doesn’t stick.

wordpress permalinks not working settings page

Step 2: Check Your .htaccess File Directly

If Step 1 doesn’t resolve it, or the fix doesn’t persist, your .htaccess file itself may be missing the correct rewrite rules or may not be writable by WordPress.

  1. Access your site via FTP or File Manager
  2. Locate .htaccess in your root directory
  3. Confirm it contains the standard WordPress rewrite block (starting with # BEGIN WordPress and ending with # END WordPress)
  4. If it’s missing entirely, or the file doesn’t exist, check that the file is writable, then repeat Step 1 to let WordPress regenerate it

If you can’t find .htaccess at all, make sure your FTP client or file manager is set to show hidden files, since it starts with a dot.

wordpress permalinks not working htaccess fix

Step 3: Confirm mod_rewrite Is Enabled on Your Server

This is a server-level requirement that most guides skip entirely. WordPress’s pretty permalinks depend on Apache’s mod_rewrite module being enabled. If it’s disabled at the server level, no amount of resaving permalinks in WordPress will fix the issue, since the server itself isn’t set up to process the rewrite rules at all.

  • Most standard WordPress hosting has this enabled by default
  • If you’re on a custom or self-managed server (VPS), confirm with apachectl -M | grep rewrite via SSH, or ask your host directly
  • On Nginx servers, the equivalent issue involves your Nginx configuration file needing the correct WordPress rewrite block this is a different (but related) setup than .htaccess

Step 4: Check for Conflicting Custom Post Type or Taxonomy Rules

If the issue only affects specific content types (like WooCommerce products, or a custom post type from a plugin) while regular posts and pages work fine, the cause is usually a permalink conflict at the registration level.

  • This often happens when two plugins (or a plugin and a theme) both try to register content using the same URL slug
  • Check if a recently installed or updated plugin registers custom post types, and look for a slug conflict in its settings
  • Resaving permalinks (Step 1) after identifying and resolving the conflict is necessary for the fix to take effect

Step 5: Check for Multisite-Specific Issues

If you’re running a WordPress Multisite network, permalink issues can behave differently than on a single site, particularly with subdirectory-based multisite setups where rewrite rules need to account for the network structure. If you’re on multisite and standard fixes aren’t working, check Network Admin settings and confirm the rewrite rules are correctly scoped for your specific subsite structure.

Step 6: Rule Out a Caching Issue Masking the Real Fix

Occasionally, the underlying issue is already fixed, but a caching plugin or CDN is still serving an old cached 404 response.

  • Clear your caching plugin’s full cache
  • Clear CDN cache if applicable
  • Test the previously broken URL in an incognito window to rule out browser caching

Diagnostic Quick Reference

Symptom Likely Cause Fix Step
All pages/posts 404 Rewrite rules out of sync Step 1
Fix doesn’t stick after resaving .htaccess not writable or missing Step 2
Nothing works even after .htaccess fix mod_rewrite disabled at server level Step 3
Only custom post type/product URLs 404 Slug conflict between plugins Step 4
Issue only on one subsite (Multisite) Multisite rewrite scoping issue Step 5
Fix applied but old error still shows Caching Step 6

Frequently Asked Questions for wordpress permalinks not working

Why do my permalinks break every time I switch themes? This usually points to a theme registering its own custom post types or rewrite rules that conflict with your existing structure. Resaving permalinks (Step 1) after a theme switch is a good habit to prevent this.

I reset my permalinks, and it worked, but broke again a few days later. Why? This pattern usually indicates a plugin or scheduled task periodically overwriting your .htaccess file check for backup/security plugins that regenerate this file automatically.

Does this affect my SEO if it’s not fixed quickly? Yes, persistent 404 errors on previously indexed pages can cause Google to deindex those URLs over time, so this is worth fixing promptly rather than leaving it.

Can I fix this without FTP or File Manager access? The basic fix (Step 1) works entirely through the WordPress dashboard. Deeper fixes (checking or editing .htaccess directly) do require file access, though your host’s support team can often make these specific changes on request if you don’t have direct access.

Final Thoughts for WordPress permalinks not working

WordPress permalinks not working is usually resolved by the basic resave-your-permalinks fix, but when that doesn’t stick, the real cause is almost always in .htaccess configuration, server-level mod_rewrite settings, or a plugin conflict. Work through the diagnostic table above to identify which applies to your situation. If this issue is affecting your site right now, get in touch here and I’ll diagnose and fix it directly.

This post contains affiliate links. See our [Affiliate Disclosure] for details.

Recommended Tools & Plugins

Every tool below is something I actually use on client projects, not a random affiliate list.

  • Hosting: Cloudways  fast, managed WordPress hosting
  • Domain: Namecheap reliable registrar with free WHOIS privacy
  • Theme: GeneratePress  lightweight, built for speed
  • Page Builder: Elementor Pro  the builder behind most of my client sites
  • Forms: WPForms  reliable, beginner-friendly form builder
  • Directory/Listing Sites: Directorist  for business directory or listing projects
  • Elementor Add-ons: Crocoblock (JetEngine)  for dynamic, database-driven sites
  • Keyword Research: Mangools is the SEO tool I use for keyword research
  • Backups: UpdraftPlus  never launch a site without a backup plan
  • Course Platform: Tutor LMS is the LMS plugin

Leave a Reply

Your email address will not be published. Required fields are marked *