Skip to main content
mySites.guru
New features added last monthRelease RadarFile ManagerImpostor FilesUpdate QueueRogue AdminsMCP & APIJoomla VELCVE Index

How to Check Joomla Template Overrides Across 100+ Sites, With Ease

How to Check Joomla Template Overrides Across 100+ Sites, With Ease

Every Joomla update and every extension update can change a core layout file that one of your templates overrides. Joomla notices. It records the override, shows an “Overrides to check” notice on the admin dashboard, and waits for someone to open Template Manager and look. On one site that works: you see the notice the next time you log in. On 100+ sites, no one logs in to every admin after an update day, so the list grows on every site and each stale override keeps running the old code. Bug fixes never arrive, new features never appear, and a security fix in a Joomla extension’s layout never reaches the copy.

mySites.guru now reads that list from every connected Joomla 4, 5 and 6 site twice a day and puts the results on one page for all your sites. From there you open the site that needs attention, compare each override with the current core file side by side, fix it or mark it checked, and move on. No Joomla admin login needed.

What Joomla Already Tracks For You

A template override is a copy of a core or extension layout file kept in the template’s html folder, for example html/com_content/article/default.php, so you can change the output without editing the original. When an update changes the original, your copy keeps running the old code, which is why Joomla 4 added Improved Override Management, a project that came out of Google Summer of Code 2018.

The work is done by the Installer - Override plugin (plg_installer_override). Before an extension update, a Joomla update or an extension install, it takes an md5 hash of every overridden core file. Afterwards it hashes them again. Any override whose core file changed is recorded in the #__template_overrides table with the date and the action that caused it:

Joomla Update
A Joomla core update changed the file your override copies.
Extension Update
An extension update changed one of its own layout files that you override.
Extension Install
A fresh install of an extension put a different file behind an existing override.

An unreviewed row has state 0. Joomla lists those rows in Template Manager on the template’s “Updated Files” tab, and the Quick Icon plugin shows the “Overrides to check” notice on the admin dashboard, as long as the Installer - Override plugin is enabled. Reviewing one in Joomla means opening the override, comparing it with the core file (Joomla’s editor has a diff toggle), editing it if needed, then marking it checked, which sets state 1. Only enabled templates count, the same rule Joomla’s own dashboard notice uses.

Know three limits before you trust the count. If the plugin is switched off, Joomla records nothing, and switching it back on only records updates from then on. Joomla skips the comparison when the number of override files changes during the update. And the comparison cannot tell changes an update made from changes you made yourself, which is why Brian Teeman’s best practice is to delete override files you never modified, so future updates only flag the ones you really changed.

How often does a core file change? Astrid Günther’s example is Cassiopeia’s com_content/tmpl/article/default.php, which changed between Joomla 4.1.4 and 4.1.5, a point release. A JoomShaper forum thread is titled “50 override changes in Helix after updating to Joomla 5”. That is one site. Multiply by your client list.

Every Joomla Site’s Overrides On One Page

The All Sites page for the Template Overrides To Check snapshot check lists every connected Joomla site with its result and an Investigate and a Manage Site button beside each one. Yellow pills say “7 to check” or “12 to check”; green says “All checked”. You see which sites need attention without opening any of them. The page is behind the “Compare All Sites” button on the check, or straight from this URL once you are signed in.

The Template Overrides To Check All Sites page listing 22 Joomla sites, each with a green OK All checked pill or a yellow pill such as 7 to check or 12 to check, and Investigate and Manage Site buttons on every row
The All Sites page for Template Overrides To Check. The sites shown are examples; the pills are the real result shapes.

Both new checks have an All Sites page. The one for Template Override Tracking tells you which sites have the plugin switched off.

The Two New Snapshot Checks

A snapshot check is a single fact mySites.guru reads from a connected site twice a day, and on demand whenever you ask. Two have been added for Joomla 4, 5 and 6 (Joomla 3 has no #__template_overrides table, so it gets neither).

The last rows of a Joomla site's snapshot list, with two new rows: 12 to check beside Template Overrides To Check and OK On beside Template Override Tracking, each with Learn and Investigate buttons

Template Overrides To Check is the count of unchecked overrides on enabled templates. It shows one of four labels:

N to check
Yellow. N overrides on enabled templates have an unreviewed change behind them.
All checked
Green. Every recorded override has been marked checked.
Tracking is off
The Installer - Override plugin is disabled, so the count means nothing.
No Data
The site has not reported yet: an older connector, or a table that could not be read. Never shown as zero.

Template Override Tracking shows whether Joomla’s Installer - Override plugin is On or Off, and its Investigate page has a switch that turns it on or off from mySites.guru.

No emails or alerts are sent for new unchecked overrides. An override to check is a review task rather than an incident, so the check turns yellow, the All Sites page shows it, and you deal with it on your own schedule.

Reviewing An Override Without Logging In To Joomla

Investigate on a site opens its Template Overrides To Check page: one row per unchecked override, with the template (and a Site or Admin pill), the override path, what changed it (Joomla Update, Extension Update or Extension Install), the date, and three actions: Edit, Mark checked, and Open in Joomla admin.

The Template Overrides To Check page for one site showing 12 overrides to check, a Mark all checked button, and a table of overrides in the yootheme and atom templates with the path, a Joomla Update pill, the date, and Edit, Mark checked and Open in Joomla admin actions

Mark checked fades the row out and the count updates live. “Mark all checked” clears the whole list after a confirmation, for the site where you have looked at the overrides and know they are fine. Up to 500 rows are listed, with the real total shown above them.

“Checked” is Joomla’s own flag. Marking an override checked in mySites.guru sets the same state 1 in #__template_overrides that Template Manager sets, so the dashboard notice on the site clears too. Every edit and every mark is written to the site’s Joomla action log, so a colleague looking in Joomla later can see what happened and when.

The Editor and the Differences Tab

Edit opens an editor with three tabs. Your Override File is the override source in an editable code editor with line numbers and syntax highlighting. Joomla Core File is read only: the current core file the override copies, so you can see exactly what the update put there. Differences shows the two side by side, Joomla core on the left and your override on the right, with changed lines tinted.

The Edit override modal on the Your Override File tab, showing the override's PHP source in a code editor with line numbers and syntax highlighting

The diff is built from what is in the editor right now, so an edit you have not saved yet shows up in Differences straight away. Each change has two small buttons between the columns. The arrow copies the Joomla core lines for that change into your override: take the new core code. The bin deletes your override’s lines for that change: drop what you added. Work down the diff deciding which, and the override is current.

The Edit override modal on the Differences tab for templates/atom/html/layouts/joomla/content/full_image.php, Joomla Core File on the left and Your Override File on the right with changed lines tinted, an arrow and a bin button beside each change, and Close, Save and Save and mark checked buttons in the footer
A real override written for an older Joomla. The core layout gained a LayoutHelper import, an early return and three new variables the override never had.

The current core layout in that screenshot has a use Joomla\CMS\Layout\LayoutHelper; line, an early if (empty($images->image_fulltext)) { return; }, and $figureClass, $imageClass and $layoutAttr variables that the override lacks. Each of those is one arrow click.

Save writes the file to the site. “Save and mark checked” does both in one go, and Ctrl/Cmd + S saves. Closing with unsaved changes asks first. If the file changed on the site since you opened it, nothing is saved and you are told, with the option to reload, so two people editing the same template never overwrite each other. Files up to 1 MB can be edited here.

Turning Joomla’s Override Tracking Back On

A count of zero can mean two things: every override has been reviewed, or the plugin that records them is off and nothing has been recorded since. mySites.guru keeps the two apart by showing “Tracking is off” in place of a count.

The Template Override Tracking page showing Installer - Override plugin with an On pill, a Turn off switch, the note that Joomla records an override whenever an update changes the core file behind it, and a line saying 12 overrides are waiting for review with a link to Template Overrides To Check

The Template Override Tracking Investigate page shows the plugin’s state and has a switch to turn it on or off, without logging in to the site. Remember the limit from earlier: turning it back on only records updates from then on. Whatever changed while it was off is not coming back.

A site with tracking off has no history

A site with the Installer - Override plugin disabled has no record of which overrides the last update changed, and switching it on today does not recover that. Switch it on now rather than after the next update day, then open the overrides you care about once and compare them in the Differences tab.

Updates Run From mySites.guru Now Get Recorded

Joomla’s comparison needs its “before” list and its “after” list from the same update. A Joomla core update run from mySites.guru runs as separate requests, so Joomla lost the “before” list and recorded nothing. An extension installed from a URL through mySites.guru had the same gap. Both are now recorded, the same as if you had run them from Joomla’s admin. Extension updates through mySites.guru already recorded correctly.

One consequence: core updates run from mySites.guru before this change recorded nothing, so any override they changed is not in the list. From the next update on, the list is complete.

A Practical Routine For 100+ Joomla Sites

Here is how I run it across client sites, in order.

  1. After a bulk update day, open the All Sites page for Template Overrides To Check. Ignore the green rows.
  2. Work the yellow rows, biggest count first. Investigate, open the Differences tab on each override, arrow in what core changed, bin what you never meant to keep, then Save and mark checked.
  3. Delete overrides no one customised. This is Teeman’s point: an override you never changed is pure maintenance debt. Delete the file in Joomla’s Template Manager or with the mySites.guru file manager, and the next update stops flagging it.
  4. Switch tracking on where it is off. Open the All Sites page for Template Override Tracking, Investigate, flip the switch.
  5. Between update days, let the Manage Site “Important” tab do the reminding. It shows a card when a site has overrides to check (and tracking is on), with a button to the review page. In the sites list, search has-overrides-to-check to filter to just those sites.
  6. After a core upgrade, the upgrade status page shows a “Review template overrides” button once the upgrade finishes OK on a site whose last snapshot had overrides to check.

If you script against mySites.guru, the API and MCP site summary now has the fields template_overrides_unchecked and template_override_tracking_enabled, plus an attention reason template_overrides_unchecked.

Separately, Joomla 5.4.8 and 6.1.3 broke override creation in Template Manager, a different problem from reviewing them.

Requested by Jaz, Shipped the Same Day

On 14 October 2026 at 16:16 UTC, Jaz posted a request on the mySites.guru Feature Requests board: “Snapshot check to show if there are Joomla template overrides that need checking”. The aim was to stop logging in to every site’s admin to find out. It was marked shipped at 19:08 UTC the same day, under three hours later. Thanks Jaz.

The Template Override Tracking check came out of building it. I had never known the Installer - Override plugin existed, and a site with it switched off records nothing at all, so its state became a check of its own.

A lot of mySites.guru gets built this way. Detecting locked Joomla scheduled tasks was a customer request, and so were several of the summer 2026 features. If there is a fact about your sites you keep logging in to check, post it on the board.

Try It On Your Own Joomla Sites

mySites.guru connects your Joomla and WordPress sites to one dashboard, and has been trusted since 2012, with 90,000+ sites protected. Both override checks run on every connected Joomla 4, 5 and 6 site from its next snapshot.

Sign up, connect a Joomla site, run a snapshot, and open the All Sites page. If it comes back yellow, open the Differences tab on the first override and see what the last update changed behind your back. Plans are on the pricing page, and the Joomla multi-site page covers the rest of what mySites.guru runs across your sites.

Further Reading

Frequently Asked Questions

What does the Joomla 'Overrides to check' notice mean?
The Installer - Override plugin compares an md5 hash of every overridden core file before and after a Joomla update, an extension update or an extension install. Each override whose core file changed is recorded with the date and the cause, and the admin dashboard shows a count of the unreviewed ones. Reviewing means comparing the override with the new core file, editing if needed, and marking it checked.
Why does a Joomla site show no overrides to check after an update?
Three reasons apart from the overrides being fine. The Installer - Override plugin may be off, in which case Joomla records nothing and turning it back on only records updates from then on. Joomla also skips the comparison when the number of override files changes during the update. And a Joomla core update run from mySites.guru before this change recorded nothing, so overrides it changed are not in the list.
Does marking an override checked in mySites.guru change anything in Joomla?
Yes, it sets the same flag. Checked is Joomla's own state in the #__template_overrides table, so a mark made in mySites.guru is the same as a mark made in Template Manager. Edits and marks are written to the site's Joomla action log.
Does Template Overrides To Check work on Joomla 3?
No. Joomla 3 has no #__template_overrides table and no Installer - Override plugin, so there is nothing to read. Both checks run on Joomla 4, 5 and 6 sites.
Will mySites.guru email me when a site has overrides to check?
No. Unchecked overrides never send an email or an alert. The snapshot check turns yellow, the All Sites page lists the sites, the Manage Site Important tab shows a card, and the sites list search understands has-overrides-to-check.
EU icon: AI MODIFIEDWritten and edited by a human, with AI assistance. Our approach to AI

What our users say

Alexandra Vogel
Alexandra VogelOwner, graustufen
★★★★★

I'm absolutely delighted to have discovered this tool for my numerous Joomla client websites! It would have been almost impossible to manage them without it; and the rapid resolution of security issues and the clean-up following hacks are simply worth their weight in gold. I wouldn't want to be without this tool now - it's worth every penny!

Read more reviews
Brian
BrianMake it Active, LLC
★★★★★

I have been using Joomla since its inception and have a variety of standard components that I use consistently. Since this recent round of joomla attacks, mySites.guru has become one of those tools. In fact, putting malware aside, if you manage multiple website, this tool is indispensable. I will say, support has been good, though wasn't as pleasant as I would like during my first communication with Phil, but I believe it was mainly a misunderstanding and doesn't take away from the quality product that this company offers nor the work Phil puts into the work he does. If you read reviews about service, like I did when signing up, please keep in mind that the owner personally handles everything, and I assume most people contacting him are doing so when they are desperate, frustrated, or angry because their website was hacked; leading them to be pushy and perhaps this causes some tension so that should be understood. I wouldn't want to be dealing with hacks all day, and if I did, I wouldn't want to be dealing with stressed out website admins either. Anyway, the point with all this is, ignore the naysayers, Phil's a good guy, the tool is indispensable, and you will not regret signing up, especially if website security is important to you and if you manage multiple websites. I am now a lifelong user as long as Joomla exists.

Read more reviews

Read all 287 reviews →

Ready to Take Control?

One free audit of one site · no card · about 2 minutes to connect

Get Your Free Site Audit