Joomla Administration: Adding Hidden Pages in 3 Steps
In some instances it may be useful to add a page to your Joomla site which is not accessible via the public navigation menus. Here's a tutorial showing you how to add a hidden page. Be sure to scroll down to see the video tutorial.
The process to do so involves these 3 steps:
- Create an article
- Add a menu item to a "hidden" or "non-public" menu
- Test and customize as desired
1. Create an article
You might choose to create a new article, or you could copy an existing article. Copying an existing article is useful if you want to create a landing page based on existing content.
After logging in to Joomla, go to your article manager. From the top menu, the path is Content->Articles:
In the article manager, you can click the New button to create a new article. To copy an existing article, find and edit the desired article, and from the article editor click 'Save as Copy'. When you do so, you will see that Joomla appends the Title with (2), and also sets the Status to Unpublished. You will want to take these steps if copying an article:
- Edit the title
- Delete the Alias (it will be auto-generated when you save)
- Set the Status to Published
- If the article has a Category set, change that to Uncategorised
- Save & Close
After you have created your new article, move to step 2.
2. Add a menu item
For this step, you will need to have a non-public menu in place. A non-public menu is used to house pages that are not on the public navigation menus, like "Thank You" pages that are shown after a form submission. If you do not have a non-public menu, ask your developer to add one, or follow this guide.
From the top menu in the administrator, go to Menus->Non-Public:
Once you are in the menu, you will see the New button at the top left. Click that, and then take these steps:
- Add a title
- You can usually leave the alias blank, but note that this is what control the SEF URL.
- Click the Select button next to Menu Item Type, and then select Articles->Single Article.
- Next use Select Article to find the article you created in step 1. Normally the most recently created article is at the top of the list, but you can use the Filter box to search for your article if need be.
- If you want to add a specific browser page title, do so in the Page Display tab.
- If you want to add a Meta Description, do so in the Metadata tab.
- Save your new menu item.
After saving, your new page (menu item) will be available on your website. If your website uses a typical SEF URL configuration, then the URL will be derived from the alias used in the menu item. For example, if your website URL is www.MyDomain.com, and you added a new menu item with an alias set to 'newitem', then your URL for the page is www.MyDomain.com/newitem.html.
If for any reason the above does not work, then you can use the system URL to access the new page. The system URL is composed of 2 things:
- The Link shown in the menu item editor, which will be like index.php?option=com_content&view=article&id=172. Copy this from the editor now and paste to your notepad.
- The menu item ID. To see the menu item ID, you will need to close the menu item you are editing. Then look for the menu item you added in the list, and in the far right column you will see its ID listed.
To use a system URL, you will need to combine the link from 1 with &Itemid=XXX, where XXX is the menu item ID. For example sake, let's say that ID is 371. This will give you a full URL like:
3. Test and customize as desired
Once you have a working URL, you can make changes as needed to the Article, Menu Item, or Modules to get everything the way you want it.
Most commonly you might want to change the modules that are displayed on the new page. Because you have created a menu item for the article you are displaying on your new page, that is as easy as locating the module(s) in question, and using the Menu Assignment tab to exclude the module from the menu item. Most modules will have Module Assignment set to 'On all pages'. To remove from your new page, change this to 'On all pages except those selected' and then select your new menu item below. Save and the module won't appear on your new page.