Troubleshooting
Most issues should be isolated before code is changed. Determine whether the failure is routing, permissions, missing data, stale cache, database schema, external service configuration, or template styling.
Fast diagnostics
- Check the HTTP status: 404 usually means routing/menu/item lookup; 500 means PHP/runtime error.
- Check Joomla logs and PHP error logs.
- Confirm the component is enabled in
#__extensions. - Confirm required tables and columns exist.
- Open the same URL with and without SEF routing when debugging menus.
- Inspect network requests for blocked payment, API, webhook, or download calls.
When a new component does not load
- Verify the manifest namespace.
- Rebuild Joomla namespace map.
- Check that the site and administrator service providers exist.
- Confirm view/model/controller class names match Joomla MVC conventions.