Plugin Support
Alex
(@alexcozmoslabs)
Hi,
The #trplinkprocessed marker you’re seeing in the URL is part of our internal processing mechanism.
What is #trplinkprocessed ?
In PHP, TranslatePress processes the default page’s HTML and scans each element—including links and URLs—to translate them properly. This includes:
– HTML elements with translatable text
– href attributes and permalinks
-Dynamically generated URLs
When we parse and translate a link, we temporarily append #trplinkprocessed to mark that the URL has already been processed. This prevents us from processing the same link multiple times, which improves performance and accuracy.
At the end of the page load, a JavaScript cleanup script removes all #trplinkprocessed fragments from the URLs.
Why do #trplinkprocessed fragments still appear?
This typically means something is interfering with the cleanup script. Common causes include:
– Theme or Plugin Caching
Some themes (e.g., Themify) or caching plugins cache the HTML output including the #trplinkprocessed , which prevents it from being stripped out.
In some cases, they cache page_id or URL states that do not take language parameters into account.
Solution: Disable theme caching or test with all caching turned off. Use a caching plugin that is fully TranslatePress compatible, like WP Rocket (with proper exclusions).
– Conflicts with Other Plugins
Plugins that manipulate HTML output after TranslatePress runs can block or break our cleanup script.
These include visual builders, accessibility plugins, and some optimization tools.
Solution: Run a compatibility check where to temporarily disable all other plugins except TranslatePress. Switch to a default theme like Twenty Twenty-One.
See if the issue persists.
– JavaScript Errors
If there is a JS error on the page that stops execution early, our cleanup script may never run.
Solution: Open the browser console (F12 > Console tab) and check for red errors.
If any JS error appears from another plugin or theme, it could block us.
What You Can Try
Temporarily disable any optimization or lazy loading plugins and check if the issue still appears.
Ensure your cache is cleared and disabled during testing.