Why is Joomla showing homepage modules on my pages?

If you’ve used Joomla for any length of time you have no doubt stumbled across the anomaly of when setting up a page, your homepage modules show up on the page – even though you haven’t allocated a homepage template to the page (if you’re using a system like Gantry) or allocated homepage modules to that page. What gives and why is this happening?

If you find that your homepage modules are showing up on pages you’ve created and you don’t want them there, don’t worry – there is a simple fix to get rid of them. Before we delve into how to easily fix this problem, it’s a good idea to get a deeper understanding of why this is happening.

Why Joomla shows homepage modules on certain pages

Joomla relies heavily on menus to get an understanding of how pages should be put together and how modules should be allocated to certain pages.

For example, when you create a module the way you allocate it to a page is through the use of menus. You will notice there's a ‘menu assignment’ tab in every module – this is to let the system know that you want your module to show up on all pages, some pages or no pages.

Now... if a menu item isn't created for a page, the system has no way of knowing what modules should be allocated to the page, so typically the homepage modules show up on these types of pages as default. If you go through your site and find the pages that homepage modules are showing up on, there’s a very good chance you won’t have a menu item set up for this page.

How to get rid of Joomla’s homepage modules for pages without menu items

To fix this problem is pretty straight forward. What you need to do is create a menu item for your page. Sometimes we want to create menus but not necessarily have them added to the main menu for example.

This is easily circumnavigated by creating a 'hidden menu’. We do this by going to Menus / Manage / Add new menu and calling it ‘hidden menu’.

From there we can create menu items for pages that we don't want showing up in our main menu, but still want control over what's displayed on the page.

So here's my methodology for setting up your page properly:-

  1. Go to Menus / Hidden Menu / Add new Menu Item
  2. Click Menu item type - Choose articles - single article
  3. Click select article - Choose the page you’ve created
  4. Click save and close

Now we've created a menu item for the page you should see the homepage modules disappear from the page.

It’s worth noting that if you’ve linked to this page from another page, module or text link on your site, you will be linking to the old version of the page (with homepage modules still on it) so you may need to go in and change these links to the newer version of the page.

If you want to find the page to see what it looks like you can simply do a search for it on your internal search function within the website or adding index.php?option=com_content&id=(article ID Goes Here) to the end of your URL and adding your article ID to the end of this URL string.