404 Not Found error in Joomla: Causes and how to fix it
Error 404 Not Found on the site running on Joomla means that the requested page can not be found. Visitors often get to it from search engines, outdated links, or even from the menu of the site itself. The reasons can range from a deleted article to routing issues.
In this article, we will explain why error 404 appears in Joomla and how to quickly eliminate it.
What 404 means in Joomla
A 404 error is the standard response from the server when it cannot find the requested page. In Joomla, this usually happens because:
-
The content item has been deleted or unpublished.
-
The menu structure is broken.
-
The component responsible for rendering the page is not working.
Primary causes of a 404 error in Joomla
- Content deleted or unpublished
If an article, category, or component is removed but a menu or module still links to it, Joomla returns a 404.
- Menu item points to a non-existent target
Even if the article exists, a menu item linked to a missing category or incorrect route will trigger the error.
- SEF (search-engine-friendly) URL problems
Joomla’s SEF links depend on component routes. After a site migration, enabling SEO, or changing aliases, “broken” links can appear.
- Errors during site migration
Moving to a new domain or host can change the URL structure and make some pages inaccessible.
- Component missing in the URL
For example, a link like index.php?option=com_k2&view=item&id=1
will fail if the K2
component is not installed.
How to fix a 404 in Joomla
- Check the menu item
Go to Menu → Main Menu and verify that the item points to an existing article, category, or component. Re-create the menu item if needed.
- Regenerate SEF URLs
-
In the admin panel, open Global Configuration → Site → SEO Settings.
-
Confirm that SEF URLs and URL rewriting are enabled.
-
Clear the cache: System → Clear Cache.
-
If you use an extension like sh404SEF or JoomSEF, update or reset its SEF table.
- Check .htaccess
To enable SEF (Search Engine Friendly) URLs, URL rewriting must be active. Make sure the .htaccess
file is present in your site's root directory and that it includes the following directives to enable mod_rewrite:
RewriteEngine On
RewriteBase /
For more information about the default .htaccess
structure in Joomla, check out this article.
- Enable error reporting
For debugging, turn on error output:
-
Go to System → General Settings → Server.
-
Set Error Messages: Maximum.
Joomla will then show a more detailed message that will help you find the cause of the error.
- Look at the error log
Most hosters provide an Apache error log. Look for lines with a 404 status code to identify problematic URLs.
If you use FASTPANEL: open the site card → Logs → check Backend access log and Frontend access log tabs to see which address triggered the 404 and the request origin. This helps trace broken links.
- Configure redirects
If the page was deleted, but you want to keep traffic from external links, create a redirect. In Joomla it is done through the component “Redirects”:
-
Navigate to Components → Redirects.
-
Enable it in Options if disabled.
-
Add the old URL and the new path (without the domain).
How to prevent 404 errors in the future
-
Do not delete content without adding a redirect.
-
Audit menus after moving or unpublishing items.
-
Use the Redirects component or
.htaccess
to manage redirections. -
Monitor 404 errors via Google Search Console.
Conclusion
Error 404 in Joomla - a common phenomenon, but quite solvable. In most cases, it can be eliminated in 5-10 minutes by checking the menu, SEF settings, and site structure. Adding a reliable redirect system eliminates the risk of traffic loss on remote pages.