Joomla 3 template broken or not responsive: causes and fixes
- Joomla
- September 6, 2025
Table of contents
A broken Joomla 3 template needs diagnosis before redesign. If the page loads without styling, start with CSS requests. If it looks correct but the menu does not open, inspect JavaScript. If only mobile layouts fail, check widths and responsive rules. A blank page or server error requires PHP logs before any visual changes.
These symptoms can come from the template, its framework, an extension or the hosting environment. The aim is to identify the failing layer, restore the affected function and decide whether the existing design remains maintainable.
This guide concerns existing Joomla 3 websites. Joomla records the end of community support on 17 August 2023 and the end of extended LTS on 17 February 2025. A visual repair does not bring the CMS back into support; it should be considered alongside migration planning. See the official Joomla requirements and unsupported versions.
What does “unresponsive Joomla template” mean?
The term describes two different problems. A non-responsive layout fails to adapt to a narrow screen: columns overflow, text becomes difficult to read or controls fall outside the viewport. An unresponsive interface has controls that do not react, such as a mobile menu that remains closed when tapped.
Use the symptom to choose the first investigation:
| Symptom | First check |
|---|---|
| Plain text, missing colours or stacked columns | Stylesheet requests and responses |
| Page looks normal, menu or slider does not work | JavaScript requests and Console errors |
| Horizontal scrolling on phones | The element wider than the viewport |
| Module missing on selected pages | Module and template style assignments |
| One component looks wrong after an update | Its layout override and extension assets |
| Blank page, HTTP 500 or incomplete output | Server-side PHP error log |
These are starting points, not confirmed diagnoses. A missing stylesheet and a fixed-width element can both cause a page to overflow, but they require different repairs.
Record the failure before changing the template
Start with a reproducible example: the affected URL, the browser, the screen width and the action that fails. Check whether the issue affects the homepage, internal pages, the administrator or only a particular component.
Record the Joomla, PHP, template and template-framework versions, plus any recent hosting, extension or optimisation changes. A problem that appeared after an update makes that update worth investigating; timing alone does not prove the cause.
Before changing files or extension settings, back up the database and files and verify that the backup can be restored. Reproduce the problem in an access-restricted staging copy using the same relevant configuration. Prevent test forms and integrations from sending real notifications or processing orders.
Change one variable at a time and note the result. Updating PHP, the template and several plugins together makes it difficult to identify which change fixes—or introduces—the failure.
How to diagnose missing CSS and broken JavaScript
Open the browser developer tools before reloading the affected page. In Network, disable the browser cache for the test, filter CSS and JavaScript requests, then inspect their status codes and response bodies. A successful status alone is insufficient if the response contains an HTML error page instead of the expected asset. The Chrome DevTools Network reference explains these inspection tools.
Interpret a failed request before editing the design:
- 404: investigate the requested path and whether the file exists.
- 403: investigate access restrictions or request filtering; the status alone does not identify the responsible rule.
- Unexpected redirect or HTML response: check routing and server handling of the asset URL.
Keep the complete URL, including its query string. In a documented Joomla case involving CSS and JavaScript 403 errors, a security rule matched part of an asset version token. Changing the CSS would not have addressed the block.
If assets load but controls fail, reproduce the action with the Console open. Start with the first relevant error: a missing library can cause several dependent scripts to fail. Record the file and line rather than treating every message as a separate defect. The Chrome Console documentation shows how browser errors are reported.
On staging, test script combining, minification or deferred loading individually if these features are enabled. If disabling one resolves the problem, investigate the affected script order or exclusion settings before restoring optimisation. Do not add another JavaScript library just because an error mentions it: check what the template already loads.
Why a Joomla 3 layout can break only on mobile
Responsive behaviour depends on the rendered HTML and CSS, not simply on a template being advertised as mobile-friendly. Fluid widths, appropriately sized media and viewport-based rules need to work with the actual content. MDN’s responsive design guide explains these foundations.
Compare a working wide layout with the failing narrow layout. Inspect the element that crosses the screen boundary: it may be a table, image, embedded map, long string or custom module with a fixed width. Also check the viewport configuration and whether custom CSS overrides the intended responsive rule.
Illustrative example: the template columns fit on a phone, but a custom module contains a table with a fixed width. The repair belongs to that table or its container. Hiding horizontal overflow across the entire page could conceal content rather than make it usable.
Use browser responsive mode to inspect intermediate widths, then test navigation and forms on an actual phone. If the layout fits but the hamburger button does nothing, return to JavaScript diagnosis instead of adding more media queries.
Check module positions and template style assignments
A module that disappears after a template change may still exist and be published. Check its selected position, menu assignment, access level, language and publication dates. Then verify that the active template actually renders that position on the affected page.
Also distinguish a template from a template style: styles store configurations and can be assigned to specific menu items. In Joomla 3, inspect the site styles through the template manager under Extensions, including the default and menu-specific assignments. The archived Joomla 3 guide to switching templates documents this behaviour.
For example, if the homepage uses one style and a service page another, changing the default style may leave the service page unchanged. Compare their assignments before duplicating modules or rebuilding the layout.
Frameworks can add their own layout controls. Check the documentation for the installed framework version; settings and position names from another template are not interchangeable.
Inspect template overrides after extension updates
A template override changes an extension’s rendered output without editing its original layout file. In Joomla, overrides commonly live inside the active template’s html directory. They can preserve custom markup, but an old override may no longer match the extension it overrides. Joomla’s output override documentation explains the distinction between the template structure and component or module layouts.
If one component fails after an update, compare its relevant override with the layout supplied by the installed extension version. On staging, temporarily bypass that specific override and retest. Keep a copy of the customisation and restore the original test state afterwards.
If the default output works, that narrows the investigation; it does not justify deleting every override. Port the required customisation to the compatible layout and verify the component’s actual functions, such as filtering, pagination or form submission.
What if the template broke after a PHP change?
A blank page, HTTP 500 response or partially rendered page needs server-side investigation. Obtain the error recorded at the time of the failed request and identify the file, extension or framework named in the trace. A PHP failure can prevent the template from finishing its output, making the visible result resemble a layout problem.
Check compatibility across the whole installation. Joomla core, the template framework, extensions and custom overrides may have different requirements. An old core requirements table is not a compatibility guarantee for every installed extension or a recommendation to keep an unsupported PHP release.
Keep detailed error display off the public site and use restricted logs or staging for diagnosis. Avoid using an indefinite PHP downgrade as the maintenance plan. For the broader issue, see Joomla 3 PHP and database incompatibility.
Should you repair the template or migrate the site?
A targeted repair is reasonable when the defect is isolated and the required change is understood. Migration planning becomes the priority when the site depends on unsupported components or repeated compatibility work. On Joomla 3, these can be parallel tasks: restore an important function while preparing the supported replacement.
| Situation | Practical direction |
|---|---|
| One missing asset or incorrect assignment | Correct the cause and retest |
| Localised mobile CSS defect | Repair the affected layout and check related pages |
| Outdated override with a maintained extension | Adapt the customisation to the compatible output |
| Abandoned template framework | Assess replacement and migration dependencies |
| Several legacy extensions blocking upgrades | Audit their usage before choosing a migration path |
A migration does not automatically require discarding the design. In a documented Joomla 3 to Joomla 6 migration with T3 and Purity III, the template was retained while its dependencies were addressed. That outcome belongs to that installation; it is not a promise for every old template.
Preserving page URLs should be part of the migration specification. A visual redesign alone does not require changing them. Check menu routes, canonical URLs and important landing pages, and prepare redirects only where an address genuinely needs to change.
What to verify before putting the repair live
Test more than the page used for diagnosis. A shared stylesheet or override can affect other pages using the same template or extension.
- Check the homepage, an article, a category page and relevant service or product pages.
- Test mobile navigation, dropdowns and forms, including validation and successful submission.
- Compare desktop and mobile layouts, including long content and wide tables.
- Re-enable the intended caching and optimisation settings, then retest as a logged-out visitor.
- Confirm that the affected asset requests work and the corresponding browser or PHP errors are resolved.
- Verify existing URLs and document the changed files, settings and rollback procedure.
The useful deliverable is a reproducible fix with a clear explanation of the cause and remaining maintenance needs. A screenshot of a working homepage is only one part of that check.
If your Joomla 3 template is broken, I can assess the affected pages, trace the failure and evaluate whether a targeted repair or a migration is appropriate. Request Joomla website support with the URL, symptoms and recent changes so I can review the problem in context.





















