Stop Guessing. Start Debugging.
If your first move when something breaks is to update everything, you are not troubleshooting — you are gambling.
Print This Before Touching Anything
Before you change a setting, update an extension, or touch a file, confirm the following:
- I know what changed most recently (or I have confirmed nothing did)
- I can describe what is broken, where, and for whom
- Error reporting is off initially, so I am seeing the failure as users see it
- I have not updated Joomla, PHP, or extensions since the failure occurred
- I am prepared to change one thing at a time and observe the result
If you cannot tick all of these boxes, you are not ready to debug.
What Professionals Don’t Do
Professionals do not:
- Update Joomla in the middle of an incident
- Install or remove extensions "to see if it helps"
- Disable everything and call it troubleshooting
- Blame the CMS before collecting evidence
Those are not debugging techniques. They are panic responses.
If a client is paying you to maintain their site, your job is not to look busy. Your job is to be deliberate.
Step 1: Stop. Do Not "Try Things"
Before you touch anything, stop.
Do not update Joomla. Do not update extensions. Do not start disabling things at random.
Every change you make destroys evidence.
Write down:
- What changed immediately before the problem appeared
- Whether this affects the frontend, backend, or both
- Whether it happens everywhere or only on one page
"Nothing changed" is still important information.
Step 2: Force Joomla to Tell the Truth
Joomla almost always knows what went wrong. The problem is that it fails in different ways — and each one tells you something different.
Before changing anything, identify which type of error page you are actually seeing.
Different errors require different responses. Treating them the same is how you waste hours.
This is why guessing is not just ineffective — it is irresponsible.
1. A Blank Page
A completely blank page is a PHP error in disguise.
This usually means PHP crashed before Joomla could render an error.
What to do next:
- Check the server’s PHP error logs
- AND/OR go to System → Global Configuration and set Error Reporting to Maximum
- Recreate the error
If you still see nothing, the error is happening very early in execution. That narrows the search dramatically.
2. A Joomla Error Page (Looks Like Your 404 Page)
If you see a styled Joomla error page — often similar to your 404 template — Joomla is catching the error but hiding the details.
What to do next:
- Go to System → Global Configuration
- Enable Debug System
- Recreate the error
This will turn a vague error message into a full stack trace showing exactly where Joomla failed.
3. The Orange Error Page
The orange error page is Joomla telling you something went very wrong at a system level.
What to do next:
- Enable Error Reporting: Maximum
- Enable Debug System
- Check the server error logs
- Confirm the SQL database server is running and reachable
Database outages, credential failures, or server-level issues commonly surface here.
Can’t access the Joomla administrator?
If the backend is unavailable, you can still enable debugging manually.
Edit the configuration.php file in the root of your Joomla site using FTP or your hosting control panel. You may need to change the file permissions to 644 first or your changes will not be saved.
Set the following values:
public $debug = true;
public $error_reporting = 'maximum';
Save the file and reload the broken page. Joomla will now expose detailed error information.
Lack of admin access is not an excuse for guessing. If you can edit configuration.php, you can debug.
Turn error reporting and debug back down after you finish debugging, not before.
Step 3: Read the Logs Like an Adult
Joomla logs errors continuously. Ignoring them is a choice.
Check:
/administrator/logs/error.php- Your server’s PHP error log
Look for patterns rather than single messages:
- The same file mentioned repeatedly
- The same extension name appearing again and again
- Errors that start immediately after a specific action
One error can lie. Repetition does not.
Also check the User Action Logs.
If more than one person has administrator access, Joomla records what they do — even when they insist they did nothing.
Go to Users → User Action Logs and look for:
- Extensions being installed, updated, or removed
- Global Configuration changes
- Plugin, module, or template changes
Joomla does not forget. People do.
Step 4: Disable Caching Because Caching Lies
Caching exists to hide work. That makes it terrible for debugging.
In Global Configuration:
- Disable System Cache
- Disable Page Cache plugin (if enabled)
Then clear everything:
- System → Clear Cache
- System → Clear Expired Cache
Test again. If the problem "disappears" with cache off, you did not fix it. You exposed it.
Step 5: Prove Whether the Template Is Guilty
Templates are the usual suspects.
- Go to System → Site Templates
- Set Cassiopeia as default
- Reload the broken page
If the issue vanishes, Joomla is innocent. The bug lives in:
- The template
- A template override
- Template JavaScript or CSS
Step 6: Disable Extensions Methodically (Not Dramatically)
Third-party extensions cause most Joomla failures. This is not controversial.
Do not disable everything at once. That tells you nothing.
- Disable plugins first, starting with system and content plugins
- Test after every single change
- Re-enable plugins as you go
When the problem disappears, stop. You found the cause.
Repeat for:
- Modules
- Components (last — they break a lot of things when disabled)
Step 7: Check Compatibility, Not Optimism
Ask a boring question with an unglamorous answer:
Is this extension actually compatible with this Joomla version and PHP version?
Check:
- The extension’s documentation
- Its Joomla Extensions Directory listing
- Its issue tracker
If it hasn’t been updated in years, Joomla did not suddenly betray it.
Step 8: Verify Files, Paths, and Permissions
Especially after migrations, restores, or host changes.
Confirm:
- Files are typically
644 - Folders are typically
755 /tmpand/logspaths are correct- Joomla can write to both
Permission problems masquerade as random failures. They are not random.
Step 9: Reproduce the Failure on Purpose
If you cannot reproduce the bug, you cannot fix it.
Test:
- Another browser
- A private window
- A different user account
- A clean menu item pointing to the same content
If it only breaks in one context, that context is the bug.
Step 10: Ask for Help Without Wasting Everyone’s Time
When you ask for help, bring evidence:
- Joomla version (do not write “latest”; a version always has a number)
- PHP version
- Full error messages including the stack trace
- What you disabled or changed
- What actually made a difference
"My site is broken" is not a problem description. It’s an admission you skipped the steps above.
The Part People Don’t Like Hearing
Joomla is rarely broken.
Remember: Joomla is not a light bulb. A light bulb can fail without warning. Joomla cannot. If it’s broken, something someone (probably you) did cause it.
What is broken is usually:
- An incompatible extension
- A template override nobody remembers adding
- A careless update sequence
- Or a hosting environment that quietly changed
Stop guessing. Start debugging. Joomla will tell you what’s wrong if you let it.
And if you are building sites for clients, this part matters. Every random change you make during an incident erodes trust. Clients do not care how fast you panic. They care that you can explain what broke, why it broke, and how you fixed it.
Guessing is how amateurs lose confidence. Debugging is how professionals earn it.
Bookmark this. Send it to your team. Stop guessing.




