How to Troubleshoot a 404 Not Found Error
Overview
A 404 Not Found error means the server could not find the page, file, or resource that was requested.
A 404 error does not necessarily mean your entire website is down.
It may affect:
-
One page
-
One image
-
A download
-
A WordPress post
-
A subdomain
-
A specific website file
-
An entire section of a website
The cause can range from a simple incorrect URL to a WordPress permalink problem or a missing website file.
What Does a 404 Error Mean?
When you visit a URL such as:
https://example.com/about
your browser asks the server for that specific resource.
If the server cannot find what was requested, it may return a 404 Not Found response.
In simple terms:
Visitor requests something
↓
Server looks for it
↓
Resource cannot be found
↓
404 Not Found
First: Determine What Is Returning the 404
Start by identifying exactly what is affected.
Ask:
-
Is the entire website returning a 404?
-
Is only one page affected?
-
Is only one image missing?
-
Does WordPress still work?
-
Are other pages working?
-
Does the problem affect a subdomain?
-
Did the problem begin after a recent change?
This helps determine where to look next.
1. Check the URL
The simplest explanation is often an incorrect URL.
Check for:
-
Misspelled words
-
Incorrect capitalization
-
Missing characters
-
Extra characters
-
Incorrect folder names
-
Incorrect file extensions
For example:
https://example.com/contact
is different from:
https://example.com/contcat
If the URL is incorrect, the website may be working perfectly.
2. Try the Homepage
Visit the main domain:
https://example.com
If the homepage works but one specific page returns a 404, the problem is likely limited to that page or URL.
If the entire website returns a 404, investigate the domain, document root, and website configuration.
3. Check Whether the File Exists
If the 404 concerns a specific file, check whether the file actually exists.
Open:
cPanel → Files → File Manager
Then navigate to the website's document root.
For a typical primary website, this may be:
public_html/
Additional domains and subdomains may use different document roots.
If the requested file was accidentally deleted or moved, restoring or replacing it may resolve the problem.
4. Check File and Folder Names
Make sure the requested path matches the actual file and folder names.
For example:
images/logo.png
is not necessarily the same as:
Images/logo.png
depending on the server and filesystem configuration.
Broken links can also occur when files are renamed without updating the links that point to them.
5. Check WordPress Permalinks
WordPress websites commonly use human-readable URLs such as:
https://example.com/about-us/
If WordPress suddenly begins returning 404 errors for pages that previously worked, the permalink configuration may need to be refreshed.
In WordPress:
Dashboard → Settings → Permalinks
You can review the current permalink structure and save the settings again.
In many cases, simply saving the existing permalink settings causes WordPress to regenerate its rewrite rules.
You don't necessarily need to change the permalink structure.
6. Check .htaccess
WordPress commonly uses a .htaccess file to control URL rewriting when running under Apache.
The file may be located in the website's document root.
For a typical primary website:
public_html/.htaccess
You can view it through:
cPanel → Files → File Manager
If .htaccess was recently modified, deleted, or replaced, WordPress URLs may stop working correctly.
Be careful when editing .htaccess.
An incorrect rule can cause other problems, including 500 errors or redirect loops.
If you aren't comfortable editing it manually, use WordPress's permalink settings or contact Have Freedom Hosting Support.
7. Check Whether the Page Was Deleted
If a specific WordPress page or post returns a 404, log into WordPress and verify that it still exists.
Check:
-
Pages
-
Posts
-
Trash
-
Drafts
A page that was deleted or moved may naturally return a 404.
If the content was accidentally deleted, a backup may be able to recover it.
8. Check WordPress Slugs
WordPress uses slugs to determine the URL of many pages and posts.
For example:
Page Title: About Our Company
Slug: about-our-company
The resulting URL might be:
https://example.com/about-our-company/
If the slug changes, old links may begin returning 404 errors.
If you recently changed a page's title or slug, check whether the URL changed as well.
9. Check Links to the Missing Page
If the page exists but visitors are reaching a 404, check the links pointing to it.
Look for:
-
Navigation menus
-
Buttons
-
Blog posts
-
Images
-
Footer links
-
External links
-
Bookmarks
A link may still point to an old URL.
Update the link to the correct address.
10. Check Redirects
If an old URL should send visitors to a new page, you may need a redirect.
cPanel provides redirect management through:
cPanel → Domains → Redirects
A redirect can send visitors from an old URL to the correct new URL.
For permanent changes, a 301 redirect is generally appropriate.
For temporary changes, a 302 redirect may be appropriate.
Don't create unnecessary redirects for pages that should simply return a normal response.
11. Check Subdomains
If the 404 occurs on a subdomain, verify that the subdomain exists and points to the correct location.
You can review your domains through:
cPanel → Domains
Check:
-
Subdomain name
-
Document root
-
Website files
-
DNS records
If DNS is managed through cPanel, review the relevant records in:
cPanel → Domains → Zone Editor
12. Check Additional Domains
If the problem affects an additional domain on your hosting account, make sure the domain points to the correct document root.
Open:
cPanel → Domains
Review the domain's configuration and document root.
A website can return unexpected results if its files were uploaded into a different directory than the domain is configured to use.
13. Check DNS if the Domain Itself Is Not Working
If the domain isn't reaching your hosting account at all, the issue may not actually be a 404 problem.
Check:
-
Nameservers
-
A records
-
AAAA records
-
CNAME records
-
Recent DNS changes
If DNS is managed through cPanel:
cPanel → Domains → Zone Editor
If DNS is managed elsewhere, check the records with that provider instead.
14. Check HTTPS
If the website works at one address but not another, verify that you're testing the correct protocol.
For example:
https://example.com/page
versus:
http://example.com/page
A 404 can sometimes appear as part of a larger redirect or configuration problem.
If you're experiencing HTTPS problems rather than a straightforward missing page, investigate your SSL and redirect configuration separately.
15. Check Whether Only Images or Files Are Missing
Sometimes the HTML page works but images, downloads, scripts, or stylesheets return 404 errors.
For example:
https://example.com/images/logo.png
If that file doesn't exist at the expected location, the browser can't load it.
Check:
-
File path
-
Filename
-
Folder
-
File extension
-
Case
-
Recent file changes
This is particularly common after moving a website.
16. Check After a Website Migration
If the 404 errors began after moving your website, verify:
-
All required files were uploaded.
-
The database was imported.
-
The domain points to the new hosting account.
-
The document root is correct.
-
WordPress URLs are correct.
-
Permalinks were refreshed.
-
.htaccessis present when required. -
File paths haven't changed.
A migration can introduce several different causes of 404 errors.
17. Check After Changing Your Domain
If you changed domains or moved a website to a new domain, make sure your website configuration reflects the new domain.
For WordPress, the site's configured URLs can affect whether pages and resources work correctly.
A domain change may also require:
-
DNS updates
-
SSL updates
-
Redirects
-
WordPress URL changes
-
Search engine updates
-
External service updates
Common Situations
"Only One Page Returns a 404"
Check:
-
The URL
-
Whether the page still exists
-
The WordPress slug
-
Links pointing to the page
-
Redirects
This is usually a page-specific issue rather than a hosting outage.
"Every WordPress Page Except the Homepage Returns a 404"
This commonly points toward a permalink or rewrite configuration problem.
Try:
WordPress Dashboard → Settings → Permalinks
Save the existing settings and test the website again.
If that doesn't resolve the problem, investigate .htaccess and other rewrite configuration.
"My Images Return 404 Errors"
Check that the image files actually exist in the expected directory.
If the website was recently migrated, verify that the uploads directory was copied correctly.
"My Subdomain Returns a 404"
Check:
-
The subdomain configuration.
-
Document root.
-
Website files.
-
DNS records.
-
Recent changes.
"The Entire Domain Returns a 404"
Check whether the domain is actually reaching the correct website.
Review:
-
cPanel → Domains
-
Document root
-
Website files
-
DNS
-
Nameservers
If the domain is reaching the wrong location, uploading files won't necessarily fix the problem.
What Not to Do
Avoid:
-
Deleting
.htaccesswithout understanding the consequences. -
Changing DNS randomly.
-
Reinstalling WordPress immediately.
-
Deleting website files because a page returns 404.
-
Changing multiple configurations at once.
-
Assuming every 404 means the server is down.
A 404 is often a relatively specific problem that can be corrected without rebuilding the website.
When to Contact Have Freedom Hosting
Contact Have Freedom Hosting Support if:
-
The domain reaches the server but the expected website cannot be found.
-
A document root appears incorrect.
-
DNS appears correct but the domain is still behaving unexpectedly.
-
A subdomain or additional domain isn't reaching the expected website.
-
You've verified the files and WordPress configuration but still receive 404 errors.
-
The problem began after a hosting-side change or migration.
-
You're unsure which configuration should be changed.
When opening a support ticket, include:
-
Your domain.
-
The exact URL returning the 404.
-
Whether the homepage works.
-
Whether other pages work.
-
When the problem started.
-
What changed immediately beforehand.
-
The exact error message or a screenshot.
Never provide passwords or authentication codes in a support ticket.
A Simple 404 Troubleshooting Checklist
-
Verify the URL is correct.
-
Test the homepage.
-
Test another page.
-
Check whether the requested file exists.
-
Check the website's document root.
-
Check WordPress pages and slugs.
-
Refresh WordPress permalinks.
-
Check
.htaccessif applicable. -
Check redirects.
-
Check subdomain or additional-domain configuration.
-
Check DNS if the domain isn't reaching the correct server.
-
Consider whether the problem began after a migration or domain change.
-
Record the exact URL and error before contacting support.
Need Help?
A 404 error usually means that a specific resource cannot be found, rather than indicating that your entire hosting account is unavailable.
Work through the checklist above and identify exactly which URL is affected.
If you're still unable to determine the cause, contact Have Freedom Hosting Support with the affected URL and the information you've gathered.