Troubleshoot QCDR When Nothing Changes on the Frontend
If an Enabled QCDR Rule appears to do nothing, troubleshoot the runtime path before rewriting the Rule. QCDR can legitimately skip a request because the System plugin is unavailable, live processing is off, the request is outside the frontend HTML boundary, a target gate fails, or no eligible match remains.
1. Verify the Runtime Path First
- Confirm the QC Dynamic Replacer System plugin is installed and enabled.
- Open Rules and confirm Rule Live Processing is on.
- Test a normal Joomla frontend HTML page. QCDR intentionally does not process Administrator output, non-HTML formats, or the protected
com_userslogin/reset/remind views. - If both Rule and Token live switches are off, normal QCDR processing does not enter the runtime engine at all.
2. Check the Rule Itself
Confirm the Rule is Enabled, that its required feature tier is available in the current Effective tier, and that its Find value still exists in the rendered page output. Draft and Disabled Rules can be tested privately with Preview but do not run on ordinary live requests.
Remember that QCDR matches rendered output, not PHP/template source files. Inspect the browser-visible/server-rendered HTML you are actually targeting.
3. Work Through Eligibility in Order
Use Preview / Rule Health when available. QCDR diagnoses page/menu scope, component/module region, audience, schedule/timezone/blackout, IP Include/Exclude, technical conditions, Discovery fingerprint drift, Token readiness, match selection, and protected regions.
A failure in an earlier targeting gate prevents replacement from occurring even when the Find text exists elsewhere on the page.
4. Check Occurrences and Replacement Limits
Verify First/Last/Specific occurrence selection, the Rule's own maximum replacements, and the request-wide global replacement ceiling. A Specific occurrence outside the number of actual matches selects nothing.
5. Check Protected Output and Dependencies
Matches inside protected script/style/code-like areas are skipped by default. Max can opt a Rule into protected areas, but browser-sensitive markup should be Preview-tested carefully.
If the Rule uses a Token, also verify Token Live Processing, Token state, targeting, dependency readiness, and inherited tier. QCDR intentionally leaves the original matched text unchanged when a required Token cannot resolve safely.
6. Eliminate Cache Confusion
Test with Joomla/full-page/CDN caching bypassed or purged. A cache can serve HTML created by an earlier request before Joomla and QCDR run again, especially for user-, IP-, query-, or time-dependent variants.
Community Discussion
Want to compare workflows, share practical tips, or discuss how you use this QCDR feature? Visit the QC Dynamic Replacer Community. For private support, bug reports, account-specific issues, or feature requests, use the QuantaCade support system.