Table of contents
A 404 error page helps visitors continue using your website when the requested address does not exist. This guide explains how to create a page that matches your Joomla 5 or 6 website using the free 404 Error Page plugin, without editing template files.
What is a 404 error?
The 404 Not Found error means that the server could not find a resource at the requested address. Visitors may encounter it after mistyping a URL, following an outdated link, or opening a deleted page.
A missing resource needs both a clear message for the visitor and the correct HTTP status for browsers and search engines.
If an article has moved to a new address, set up a redirect to the corresponding page. If there is no suitable replacement, display a 404 page with useful navigation.
What to include on a 404 page
The error page should explain what happened and help visitors find the information they need. A short message, a link to the home page, and a few links to the main sections are usually enough. Add search if needed.
For example:
Page not found
This page does not exist. The link may be outdated, or there may be a typo in the address.
Go to the home page, open a section of the site, or use the search.
Keep the familiar design, including the logo, menu, and overall style. Add an image if it helps communicate the message without getting in the way of navigation.
Error pages in Joomla templates
The appearance of the standard error page depends on the Joomla template. It may differ from normal site pages, and customising it may require editing the error.php file.
Direct changes to an installed template can be overwritten by an update. A plugin makes a custom 404 page easier to manage: you edit its content in Joomla and select the page in the plugin settings.
The 404 Error Page plugin
404 Error Page is a free system plugin from Joomla Center for Joomla 5 and 6. It displays the content of a selected menu item within the site template at the original nonexistent address, without redirecting visitors to a separate page.
The main features include:
- selecting a default 404 page;
- assigning separate pages for published site languages;
- using the default page when a suitable language-specific page is not configured or is unavailable;
- handling 404 errors during routing and component execution;
- preserving the original nonexistent path when switching languages;
- disabling caching of the error response and removing the canonical link from the 404 page;
- preserving the priority of redirects prepared by Joomla.
When the custom page is displayed, the server returns HTTP status 404. You do not need to replace the template’s error.php file.
How to set up a custom 404 page
Prepare an article, create a menu item for it, and select that item in the plugin settings. The following steps use a standard Joomla article.
Create an article
Open the article list in the Joomla administrator area and create a new article:
- Title: Page not found.
- Alias: error-404-en.
- Content: a short explanation and links to help visitors continue browsing.
- Status: Published.
- Access: Public.
Select a published category accessible to all visitors. Save the article.
Create a hidden menu item
Create a menu item of the Articles → Single Article type and select the article you prepared.
Enter a title, such as “404 Error”, and an alias, such as error-404-en. Set Status to Published and Access to Public.
On the Link Type tab, set Display in Menu to No. The item remains published but does not appear in the menu.
In the article display options, hide unnecessary details such as the author, dates, and hit count. If the heading is already included in the article text, configure its display to avoid duplication.
Under Page Display, set the browser page title, for example “404 Error — Page not found”. Adjust module assignments for this menu item if needed.
Save the menu item.
Install and enable the plugin
Download the installation package from the 404 Error Page page and install the current version through System → Install → Extensions.
Open System → Manage → Plugins, find System - 404 Error Page, and open its settings. Select your menu item in Default 404 Page, enable the plugin, and save the changes.
If neither a default page nor a language-specific page is selected, Joomla uses its standard error handling.
Setting up multiple languages
On a multilingual site, you can display the error message in the visitor’s language. Prepare separate articles and published menu items for the required languages, then assign them under 404 Pages by Language in the 404 Error Page settings.
Use the default page as a fallback: the plugin displays it when a suitable language-specific page is not configured or is unavailable.
When visitors switch languages, the plugin preserves the original nonexistent path. Menu associations between error pages are not required for this feature.
How to check the result
After setup, open an address that definitely does not exist, such as /check-404-nonexistent-page.
Check the following:
- Your message appears within the site design.
- The requested nonexistent URL remains in the address bar.
- Links and search help visitors continue browsing.
- The page is accessible without signing in.
- The server returns HTTP status 404.
To check the status, open your browser’s developer tools, select the Network tab, reload the page, and select the main document request. Check its Status Code.
On a multilingual site, repeat the checks for every configured language. Also open several existing pages to confirm that they work as usual.
If the standard error page appears instead, check whether the plugin is enabled, the menu item is selected, the article is published, and access is public. If a redirect occurs, check the redirect rules in Joomla and on the web server.
Conclusion
A custom 404 page helps visitors find the right section and continue using your website. The 404 Error Page plugin lets you set it up in Joomla 5 and 6 using an article and a menu item, while preserving the original address and the correct HTTP status. After setup, check both the page design and the server response.





