More fixes

Your WordPress home page works, but every other page says "Not Found"

When the home page loads and About, Contact, Services and every blog post give a 404, your pages are almost never gone. WordPress turns a pretty address like /contact/ into "show page 14" using a short set of address rules (your permalinks). The home page needs no rule, so it is the only thing left working when those rules go missing. It typically happens right after a move to a new host, a restore, an SSL or security plugin change, or a server update. Below is a rebuilt example (not a real client), then the safe order of steps.

What visitors see on /menu/

harborstreetbakery.example/menu/

What the checks found


  

First: which "Not Found" do you get?

This one look tells you which half is broken, before you touch anything.

The safe order of steps

  1. Back up the files and the database (host's backup tool, or the file manager plus phpMyAdmin export) before changing anything. Also download a copy of .htaccess if it exists: it can hold your https redirect, caching and security rules too.
  2. Save the permalinks again. In the dashboard go to Settings, Permalinks, change nothing, and press Save Changes. WordPress rebuilds its address rules and, if it is allowed to, rewrites the WordPress block of .htaccess. Test an inner page in a private window. This alone fixes most cases.
  3. If the page says it could not write .htaccess, or the file is still missing (it starts with a dot, so file managers and migration tools often hide or skip it): in the host's file manager, turn on "show hidden files", open or create .htaccess next to wp-config.php, and make sure it contains WordPress's standard block, unchanged:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    If WordPress lives in a subfolder (for example /shop/), both the RewriteBase and the last line use that folder: RewriteBase /shop/ and RewriteRule . /shop/index.php [L]. Keep any other rules already in the file, above or below this block.
  4. If the file is right and you still get the plain server 404, the server is ignoring it. On Apache that means address rewriting (mod_rewrite) is off or the site's settings do not allow .htaccess (AllowOverride). On nginx, which never reads .htaccess, the site's server block needs try_files $uri $uri/ /index.php?$args;. On shared hosting you cannot change either yourself: send the host's support exactly that sentence and they fix it in minutes.
  5. If only one kind of page fails (products, events, listings), switch the plugin that adds them off and on again, then save the permalinks once more. Also check that no page or category uses the same address as that section (a page called "shop" and a shop base of /shop/ fight over it).
  6. Test the home page, three inner pages, a blog post, the contact or order form and the dashboard login in a private window, then purge any caching plugin and CDN so no visitor is still served the stored 404.

Common causes and what each one needs

What you findWhat it meansUsual fix
Theme's own "not found" page on every inner pageWordPress's stored address rules were lost (often after a restore or a plugin change)Settings, Permalinks, Save Changes
Plain server "Not Found" right after a host move.htaccess was not copied (hidden dotfile)Save permalinks, or recreate the file with the standard block
.htaccess is there but a security or SSL plugin rewrote itThe WordPress block was overwritten or cut offPut the standard block back; keep the plugin's own lines
File is right, plain 404 continuesServer ignores .htaccess, or it runs nginxHost turns on mod_rewrite / AllowOverride, or adds try_files
Site moved into or out of a subfolderRewriteBase and the last rule point at the old folderMatch both to the new folder, then save permalinks
Only products, events or one section failThat plugin's rules never got stored, or a page took its addressRe-activate the plugin, rename the clashing page, save permalinks

What not to do

If you can reach the dashboard or the host's file manager, the steps above are usually enough. If the site has been showing "Not Found" to customers since a move and you need it right today, that is what the box below is for. Related: your home page says "Page not found" is the opposite case, and "redirected you too many times" is the other address problem a host move often brings.