 #  Joomla’s Canonical URL Chaos 

 

  ![Joomla’s Canonical URL Chaos](https://cdn.richeyweb.com/images/articles/joomlas-canonical-url-chaos/joomlas-canonical-url-chaos.webp)    - [Demystifying the "duplicate content penalty"](https://developers.google.com/search/blog/2008/09/demystifying-duplicate-content-penalty)
 


I’ve been building [Joomla extensions](/blog/personal/why-my-joomla-extensions-are-free "Why My Joomla Extensions Are Free") for years, giving them away [free](/blog/development/new-geoip-coming-soon "New GeoIP Coming Soon") at RicheyWeb.com because I can—and because I’m tired of seeing good sites stumble over the same problems I’ve wrestled with. Joomla’s a beast: powerful, flexible, but prone to chaos if you don’t tame it. One mess I keep running into? [Duplicate URLs](/blog/development/canonical-chaos-round-three-polishing-the-blade "Canonical Chaos, Round Three: Polishing the Blade") and lazy extensions that can't build a good [canonical url](/blog/hosting/negative-seo-via-url-parameter-abuse-in-joomla "Negative SEO via URL Parameter Abuse in Joomla"). They’re sneaky little gremlins—spawning from components, query strings, and core quirks—and they’ll tank your [SEO](/test-article "Shader BG Test") faster than you can say "Google Search Console." I’m done watching site owners suffer for it. This is personal.

## Content Gets Buried Behind a Bad Canonical URL

Open up Search Console, and you’ll see the warnings staring back: "Alternate page with proper canonical tag," "Duplicate without user-selected canonical," "Duplicate, Google chose different canonical than user." Sounds technical, right? It’s not. It’s a death sentence for your content. Pages go unindexed, [rankings](/white-hat-seo/quality-content "Quality Content") slide, and suddenly your "good" URL—the one you poured hours into—is buried under some ugly, parameter-riddled doppelgänger Google decided to crown instead - they say as much in their article [Demystifying the "duplicate content penalty"](https://developers.google.com/search/blog/2008/09/demystifying-duplicate-content-penalty): 'We select what we think is the "best" URL to represent the cluster in search results.'

Google says the “duplicate content penalty” is a myth, but here’s the real kicker: they admit to picking the “best” URL for a cluster of duplicates. That’s the rub—Google choosing isn’t you choosing. If they spotlight a lousy version, your [authority](/white-hat-seo/white-hat-seo "White-Hat SEO") dilutes, your SERP position tanks, and your hard work fades. I’ve seen it too many times: great articles, killer ideas, whole businesses fading because Joomla’s URL mess got the better of them. That’s not a glitch; that’s a crime.

## No Band-Aids, Just Solutions

When I set out to fix something, I don’t mess around with band-aids. I want it done for good—like Rose Tyler wielding Bad Wolf power, rewriting reality so Captain Jack lives forever. Canonical URL issues aren’t a one-off annoyance; they’re a systemic nightmare that keeps coming back unless you hit them hard. [I build tools](/software) I’d want to use—free, no strings—because if I’m fed up with duplicate content screwing over my sites, I know others are too. They might not even realize it until they see their SERP position drop and wonder why. I’m here to point it out—and to kill it dead with [System - Link Canonical](/software/joomla/plugins/system-link-canonical).

## The Half-Measure Hall of Shame

But here’s the rub: the [tools](/blog/development/one-sh-tty-email-that-made-me-finally-do-something-about-spam "One Sh*tty Email That Made Me Finally Do Something About Spam") out there? They’re half-measures at best, lazy or greedy at worst. Some slap a one-size-fits-all rule on the problem—toss out every query string and call it a day. Brilliant, except now your paginated articles are broken, your filters don’t work, and duplicates still lurk. Worse, they leave you exposed to SERP poisoning—some jerk links your pristine good-url as good-url?junkparameter, and if Google picks that trash, your site’s toast. Others dangle a real fix but lock it behind a paywall—want [redirects](/blog/development/ad-block-detection-for-joomla-updated "Ad Block Detection for Joomla Updated") to the right canonical URL? Open your wallet. That’s not a solution; that’s a racket. I can’t stand it. If I’m solving a problem, it’s not to squeeze anyone for cash—it’s to make sure unindexed pages, diluted authority, SERP drops, and malicious poisoning stop haunting Joomla users for good.

## My Line in the Sand

That’s why I started building something new. Not to sell, not to flex, but to settle a score with this canonical chaos—internal duplicates and external poison alike. I’m letting Joomla’s own logic call the shots—its components know what their URLs should be, so why guess? No lazy exclusions, no premium upsells—just a tool that works because it has to, locking down the right URL before some clown can turn it into SERP garbage. I’m not here to half-ass it. This isn’t about one plugin; it’s about proving we don’t have to settle for less. If I can do it for free, the rest of the [ecosystem](/blog/development/fair-reviews-and-support "Fair Reviews and Support") can step up too.

## A Perfect Canonical URL Lasts For All Time

Canonical URL issues won’t die easy—they’re like Daleks, relentless and multiplying. But I’m not here for a quick patch that peels off with the next Joomla update. I want this solved—fully, freely, forever. Call it my Bad Wolf moment: rewriting the rules so site owners don’t have to keep fighting the same [fight](/blog/personal/joomla-numbers-dont-lie "Joomla Numbers Don’t Lie").

## I AM GOING TO BURY THIS PROBLEM!

Because when I fix something, I fix it for all time. And pursuant to my pledge - I will gift it to the [Joomla community](/blog/development/the-humbling-art-of-free-software "The Humbling Art of Free Software"), for free. A good canonical URL [plugin](/blog/development/bug-reports-a-developers-best-friend-not-a-burden "Bug Reports: A Developer's Best Friend, Not a Burden") for all.

### Update 2025-03-22:

The results are not only amazing, I would classify this new extension as an unparalleled success. IT WORKS GREAT!



- [      email ](mailto:?subject=Joomla%E2%80%99s+Canonical+URL+Chaos&body=https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fjoomlas-canonical-url-chaos)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fjoomlas-canonical-url-chaos)
- [      x-twitter ](https://twitter.com/intent/tweet?text=Joomla%E2%80%99s+Canonical+URL+Chaos%3A+https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fjoomlas-canonical-url-chaos)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fjoomlas-canonical-url-chaos&title=Joomla%E2%80%99s+Canonical+URL+Chaos&summary=I%E2%80%99ve+been+building+Joomla+extensions+for+years%2C+gi...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fjoomlas-canonical-url-chaos&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=Joomla%E2%80%99s+Canonical+URL+Chaos)
 


 

   [  Previous article: Another Canonical URL Demon Slain   Another Canonical URL Demon Slain ](/blog/development/another-canonical-url-demon-slain) [  Next article: WindowNameStore: A Privacy-Friendly Volatile Storage Solution for Web Developers  WindowNameStore: A Privacy-Friendly Volatile Storage Solution for Web Developers  ](/blog/development/windownamestore-a-privacy-friendly-volatile-storage-solution-for-web-developers)  

##### We Value Your Privacy

 

We use cookies to enhance your experience and for traffic analysis. By continuing to visit this site you agree to our use of cookies.

[Privacy Policy](/privacy-policy)

 Details 

###### Google Tag Manager Items

- Ad Storage
- Ad User Data
- Ad Personalization
- Analytics Storage
- Functionality Storage
- Personalization Storage
- Security Storage
 
 

 

 

 

 

 Decline Accept
```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.richeyweb.com/#organization","name":"RicheyWeb","url":"https://www.richeyweb.com/","logo":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/logo/richeyweb.svg","contentUrl":"https://www.richeyweb.com/images/logo/richeyweb.svg","width":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":38,"unitCode":"PX"},"@id":"https://www.richeyweb.com/#logo"},"image":{"@id":"https://www.richeyweb.com/#logo"},"sameAs":["https://x.com/ComRicheyweb","https://www.facebook.com/RicheyWebDev/","https://www.youtube.com/channel/UCxnVG8BwOvQRO7hVqNX7T2g","https://community.joomla.org/service-providers-directory/listings/115:richeyweb.html"],"description":"RicheyWeb is a custom software developer specializing in Joomla extensions.","ContactPoint":[{"@type":"ContactPoint","url":"https://www.richeyweb.com/contact-us","telephone":"903-873-8460","contactType":"Owner/Administrator","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"},{"@type":"ContactPoint","url":"https://www.richeyweb.com/bugs","telephone":"903-873-8460","contactType":"Technical Support","areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"availableLanguage":"en"}],"knowsAbout":["Computer programming",{"@type":"Thing","name":"Computer programming","sameAs":["https://en.wikipedia.org/wiki/Computer_programming","https://www.wikidata.org/wiki/Q80006","https://g.co/kg/m/01mf_"]},"PHP",{"@type":"Thing","name":"PHP","sameAs":["https://en.wikipedia.org/wiki/PHP","https://www.wikidata.org/wiki/Q59","https://g.co/kg/m/060kv"]},"JavaScript",{"@type":"Thing","name":"JavaScript","sameAs":["https://en.wikipedia.org/wiki/JavaScript","https://www.wikidata.org/wiki/Q2005","https://g.co/kg/m/02p97"]},"arduino","Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"White hat",{"@type":"Thing","name":"White hat","sameAs":["https://en.wikipedia.org/wiki/White_hat_(computer_security)","https://www.wikidata.org/wiki/Q7995625","https://g.co/kg/m/03ns_5"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]},"Search engine marketing",{"@type":"Thing","name":"Search engine marketing","sameAs":["https://en.wikipedia.org/wiki/Search_engine_marketing","https://www.wikidata.org/wiki/Q846132","https://g.co/kg/m/06mw8r"]},"Digital marketing",{"@type":"Thing","name":"Digital marketing","sameAs":["https://en.wikipedia.org/wiki/Digital_marketing","https://www.wikidata.org/wiki/Q1323528","https://g.co/kg/g/122hcnps"]},"Web hosting service",{"@type":"Thing","name":"Web hosting service","sameAs":["https://en.wikipedia.org/wiki/Web_hosting_service","https://www.wikidata.org/wiki/Q5892272","https://g.co/kg/m/014pz4"]},"Email hosting service",{"@type":"Thing","name":"Email hosting service","sameAs":["https://en.wikipedia.org/wiki/Email_hosting_service","https://www.wikidata.org/wiki/Q5368818","https://g.co/kg/m/09w60m"]},"Internet hosting service",{"@type":"Thing","name":"Internet hosting service","sameAs":["https://en.wikipedia.org/wiki/Internet_hosting_service","https://www.wikidata.org/wiki/Q1210425","https://g.co/kg/m/09w5yw"]},"Virtual hosting",{"@type":"Thing","name":"Virtual hosting","sameAs":["https://en.wikipedia.org/wiki/Virtual_hosting","https://www.wikidata.org/wiki/Q588365","https://g.co/kg/m/024mvh"]},"Web performance",{"@type":"Thing","name":"Web performance","sameAs":["https://en.wikipedia.org/wiki/Web_performance","https://www.wikidata.org/wiki/Q7978612","https://g.co/kg/m/0gfj3f1"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"General Data Protection Regulation",{"@type":"Thing","name":"General Data Protection Regulation","sameAs":["https://en.wikipedia.org/wiki/General_Data_Protection_Regulation","https://www.wikidata.org/wiki/Q1172506","https://g.co/kg/m/0pk_7xs"]},"SERP",{"@type":"Thing","name":"SERP","sameAs":["https://en.wikipedia.org/wiki/SERP","https://www.wikidata.org/wiki/Q2205811","https://g.co/kg/g/11c5szp7kc"]},"Artificial intelligence",{"@type":"Thing","name":"Artificial intelligence","sameAs":["https://en.wikipedia.org/wiki/Artificial_intelligence","https://www.wikidata.org/wiki/Q11660","https://g.co/kg/m/0mkz"]},"Prompt engineering",{"@type":"Thing","name":"Prompt engineering","sameAs":["https://en.wikipedia.org/wiki/Prompt_engineering","https://www.wikidata.org/wiki/Q108941486","https://g.co/kg/g/11p6kpgt_n"]},"E-learning",{"@type":"Thing","name":"E-learning","sameAs":["https://en.wikipedia.org/wiki/E-learning_(theory)","https://www.wikidata.org/wiki/Q182250","https://g.co/kg/g/122czm1f"]},"Sharable Content Object Reference Model",{"@type":"Thing","name":"Sharable Content Object Reference Model","sameAs":["https://en.wikipedia.org/wiki/Sharable_Content_Object_Reference_Model","https://www.wikidata.org/wiki/Q827811","https://g.co/kg/m/06_40"]},"Experience API",{"@type":"Thing","name":"Experience API","sameAs":["https://en.wikipedia.org/wiki/Experience_API","https://www.wikidata.org/wiki/Q7807728","https://g.co/kg/g/1yw9ktxr8"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Nginx",{"@type":"Thing","name":"Nginx","sameAs":["https://en.wikipedia.org/wiki/Nginx","https://www.wikidata.org/wiki/Q306144","https://g.co/kg/m/02qft91"]},"MySQL",{"@type":"Thing","name":"MySQL","sameAs":["https://en.wikipedia.org/wiki/MySQL","https://www.wikidata.org/wiki/Q850","https://g.co/kg/m/04y3k"]}],"areaServed":["United States",{"@type":"Country","name":"United States","sameAs":["https://en.wikipedia.org/wiki/United_States","https://www.wikidata.org/wiki/Q30","https://g.co/kg/m/09c7w0"]},"European Union",{"@type":"AdministrativeArea","name":"European Union","sameAs":["https://en.wikipedia.org/wiki/European_Union","https://www.wikidata.org/wiki/Q458","https://g.co/kg/m/0_6t_z8"]},"United Kingdom",{"@type":"Country","name":"United Kingdom","sameAs":["https://en.wikipedia.org/wiki/United_Kingdom","https://www.wikidata.org/wiki/Q145","https://g.co/kg/m/07ssc"]},"Australia",{"@type":"Country","name":"Australia","sameAs":["https://en.wikipedia.org/wiki/Australia","https://www.wikidata.org/wiki/Q408","https://g.co/kg/m/0chghy"]},"Canada",{"@type":"Country","name":"Canada","sameAs":["https://en.wikipedia.org/wiki/Canada","https://www.wikidata.org/wiki/Q16","https://g.co/kg/m/0d060g"]},"Russia",{"@type":"Country","name":"Russia","sameAs":["https://en.wikipedia.org/wiki/Russia","https://www.wikidata.org/wiki/Q159","https://g.co/kg/m/06bnz"]},"China",{"@type":"Country","name":"China","sameAs":["https://en.wikipedia.org/wiki/China","https://www.wikidata.org/wiki/Q148","https://g.co/kg/m/0d05w3"]}],"memberOf":["Mensa International",{"@type":"Organization","name":"Mensa International","sameAs":["https://en.wikipedia.org/wiki/Mensa_International","https://www.wikidata.org/wiki/Q184194","https://g.co/kg/m/0140pf"]},"National Rifle Association",{"@type":"Organization","name":"National Rifle Association","sameAs":["https://en.wikipedia.org/wiki/National_Rifle_Association","https://www.wikidata.org/wiki/Q863259","https://g.co/kg/m/0j6f9"]},"CompTIA",{"@type":"Organization","name":"CompTIA","sameAs":["https://en.wikipedia.org/wiki/CompTIA","https://www.wikidata.org/wiki/Q597534","https://g.co/kg/m/040shq"]},"ISFCE LLC",{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://isfce.com","https://g.co/kg/g/11wxm5r0rg"]}],"hasCredential":[{"@type":"EducationalOccupationalCredential","name":"Joomla 3 Certified Administrator","credentialCategory":"Certification","description":"Administrator Exam is the first available Joomla! certification exam","recognizedBy":{"@type":"Organization","name":"Open Source Matters, Inc.","sameAs":["https://en.wikipedia.org/wiki/Open_Source_Matters,_Inc.","https://g.co/kg/g/11f00wvjhz"]},"url":"https://certification.joomla.org/certified-user-directory/michael-richey","about":["Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Web content management system",{"@type":"Thing","name":"Web content management system","sameAs":["https://en.wikipedia.org/wiki/Web_content_management_system","https://www.wikidata.org/wiki/Q45211","https://g.co/kg/m/0615s2"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/badge.webp","contentUrl":"https://www.richeyweb.com/images/contact/badge.webp","width":{"@type":"QuantitativeValue","value":300,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":86,"unitCode":"PX"},"caption":"Joomla 3 Certified Administrator"}},{"@type":"EducationalOccupationalCredential","name":"Certified Computer Examiner","credentialCategory":"Certification","description":"Internationally recognized computer forensics certifiecation","recognizedBy":{"@type":"Organization","name":"ISFCE LLC","sameAs":["https://en.wikipedia.org/wiki/ISFCE_LLC","https://g.co/kg/g/11wxm5r0rg"]},"url":"https://isfce.com/","about":["Digital forensics",{"@type":"Thing","name":"Digital forensics","sameAs":["https://en.wikipedia.org/wiki/Digital_forensics","https://www.wikidata.org/wiki/Q3246940","https://g.co/kg/m/0cnxzfx"]},"Computer forensics",{"@type":"Thing","name":"Computer forensics","sameAs":["https://en.wikipedia.org/wiki/Computer_forensics","https://www.wikidata.org/wiki/Q878553","https://g.co/kg/m/02wxbd"]},"Mobile device forensics",{"@type":"Thing","name":"Mobile device forensics","sameAs":["https://en.wikipedia.org/wiki/Mobile_device_forensics","https://www.wikidata.org/wiki/Q6887097","https://g.co/kg/m/06zp3tp"]},"Network forensics",{"@type":"Thing","name":"Network forensics","sameAs":["https://en.wikipedia.org/wiki/Network_forensics","https://www.wikidata.org/wiki/Q7001032","https://g.co/kg/m/05pb280"]},"Database forensics",{"@type":"Thing","name":"Database forensics","sameAs":["https://en.wikipedia.org/wiki/Database_forensics","https://www.wikidata.org/wiki/Q5227405","https://g.co/kg/m/0cgqsy"]}],"educationalLevel":"expert","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/contact/isfce-cce.webp","contentUrl":"https://www.richeyweb.com/images/contact/isfce-cce.webp","width":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":150,"unitCode":"PX"},"caption":"Certified Computer Examiner"}}],"hasOfferCatalog":{"@type":"OfferCatalog","name":"Web Services","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Hosting"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Development"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Search Engine Optimization"}}]}},{"@type":"WebSite","@id":"https://www.richeyweb.com/#website","url":"https://www.richeyweb.com/","name":"RicheyWeb","publisher":{"@id":"https://www.richeyweb.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.richeyweb.com/search?q={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string","valueMaxLength":256,"valueMinLength":2,"valuePattern":"^[A-Za-z0-9\\s]+$"}},"creator":{"@id":"https://www.richeyweb.com/#organization"},"copyrightHolder":{"@id":"https://www.richeyweb.com/#organization"}},{"@type":"WebPage","@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#webpage","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos","name":"Joomla’s Canonical URL Chaos","description":"Why I’m battling Joomla’s canonical URL chaos with a free, no-compromise fix—half-measures and paywalls don’t cut it. SEO matters.","isPartOf":{"@id":"https://www.richeyweb.com/#website"},"about":{"@id":"https://www.richeyweb.com/#organization"},"inLanguage":"en-GB"},{"@type":"Article","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/joomlas-canonical-url-chaos/joomlas-canonical-url-chaos.webp","contentUrl":"https://www.richeyweb.com/images/articles/joomlas-canonical-url-chaos/joomlas-canonical-url-chaos.webp","width":{"@type":"QuantitativeValue","value":882,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":496,"unitCode":"PX"},"caption":"Joomla’s Canonical URL Chaos","representativeOfPage":true},"headline":"Joomla’s Canonical URL Chaos","description":"Why I’m battling Joomla’s canonical URL chaos with a free, no-compromise fix—half-measures and paywalls don’t cut it. SEO matters.","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2025-03-21T00:00:00+00:00","dateModified":"2026-03-30T00:00:00+00:00","about":["Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]},"Content management system",{"@type":"Thing","name":"Content management system","sameAs":["https://en.wikipedia.org/wiki/Content_management_system","https://www.wikidata.org/wiki/Q131093","https://g.co/kg/m/0k23c"]},"Canonical link element",{"@type":"Thing","name":"Canonical link element","sameAs":["https://en.wikipedia.org/wiki/Canonical_link_element","https://www.wikidata.org/wiki/Q1033568","https://g.co/kg/m/0ds6c_h"]},"Canonical link",{"@type":"Thing","name":"Canonical link","sameAs":["https://en.wikipedia.org/wiki/Canonical_link","https://www.wikidata.org/wiki/Q27796490","https://g.co/kg/g/11c5t1jvl2"]},"Search engine optimization",{"@type":"Thing","name":"Search engine optimization","sameAs":["https://en.wikipedia.org/wiki/Search_engine_optimization","https://www.wikidata.org/wiki/Q180711","https://g.co/kg/m/019qb_"]}],"mentions":["Google",{"@type":"Organization","name":"Google","sameAs":["https://en.wikipedia.org/wiki/Google","https://www.wikidata.org/wiki/Q95","https://g.co/kg/m/045c7b"]},"Duplicate content",{"@type":"Thing","name":"Duplicate content","sameAs":["https://en.wikipedia.org/wiki/Duplicate_content","https://www.wikidata.org/wiki/Q1129516","https://g.co/kg/m/055z3qr"]},"SERP",{"@type":"Thing","name":"SERP","sameAs":["https://en.wikipedia.org/wiki/SERP","https://www.wikidata.org/wiki/Q2205811","https://g.co/kg/g/11c5szp7kc"]},"Rose Tyler",{"@type":"Thing","name":"Rose Tyler","sameAs":["https://en.wikipedia.org/wiki/Rose_Tyler","https://www.wikidata.org/wiki/Q2071982","https://g.co/kg/m/04v2ql"]},"Doctor Who",{"@type":"TVSeries","name":"Doctor Who","sameAs":["https://en.wikipedia.org/wiki/Doctor_Who","https://www.wikidata.org/wiki/Q34316","https://g.co/kg/m/02906"]},"Dalek",{"@type":"Thing","name":"Dalek","sameAs":["https://en.wikipedia.org/wiki/Dalek","https://www.wikidata.org/wiki/Q853715","https://g.co/kg/m/02j1h"]},"Captain Jack Harkness",{"@type":"Thing","name":"Captain Jack Harkness","sameAs":["https://en.wikipedia.org/wiki/Jack_Harkness","https://g.co/kg/m/0664c8"]},"Google Search Console",{"@type":"WebSite","name":"Google Search Console","sameAs":["https://en.wikipedia.org/wiki/Google_Search_Console","https://www.wikidata.org/wiki/Q328216","https://g.co/kg/m/05h5pjx"]},"System - Link Canonical",{"@type":"Thing","@id":"https://www.richeyweb.com/software/joomla/plugins/system-link-canonical/#softwareapplication","name":"System - Link Canonical","sameAs":["https://extensions.joomla.org/extension/site-management/seo-a-metadata/system-link-canonical/","https://en.wikipedia.org/wiki/System_-_Link_Canonical"]},{"@type":"Article","@id":"https://www.richeyweb.com/white-hat-seo/white-hat-seo#article","url":"https://www.richeyweb.com/white-hat-seo/white-hat-seo","name":"White-Hat SEO","headline":"White-Hat SEO","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/test-article#article","url":"https://www.richeyweb.com/test-article","name":"Shader BG Test","headline":"Shader BG Test","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/white-hat-seo/quality-content#article","url":"https://www.richeyweb.com/white-hat-seo/quality-content","name":"Quality Content","headline":"Quality Content","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/seo/quality-content/quality-content.webp","contentUrl":"https://www.richeyweb.com/images/articles/seo/quality-content/quality-content.webp","width":{"@type":"QuantitativeValue","value":1024,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":576,"unitCode":"PX"},"caption":"Quality Content"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/bug-reports-a-developers-best-friend-not-a-burden#article","url":"https://www.richeyweb.com/blog/development/bug-reports-a-developers-best-friend-not-a-burden","name":"Bug Reports: A Developer's Best Friend, Not a Burden","headline":"Bug Reports: A Developer's Best Friend, Not a Burden","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/plg_content_interlinked/articles/russian-comments.webp","contentUrl":"https://www.richeyweb.com/images/articles/plg_content_interlinked/articles/russian-comments.webp","width":{"@type":"QuantitativeValue","value":1200,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":675,"unitCode":"PX"},"caption":"Bug Reports: A Developer's Best Friend, Not a Burden"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/personal/why-my-joomla-extensions-are-free#article","url":"https://www.richeyweb.com/blog/personal/why-my-joomla-extensions-are-free","name":"Why My Joomla Extensions Are Free","headline":"Why My Joomla Extensions Are Free","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/why-my-joomla-extensions-are-free/free-extensions-kinison.webp","contentUrl":"https://www.richeyweb.com/images/articles/why-my-joomla-extensions-are-free/free-extensions-kinison.webp","width":{"@type":"QuantitativeValue","value":666,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":374,"unitCode":"PX"},"caption":"Why My Joomla Extensions Are Free"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/canonical-http-headers-for-rss-feeds#article","url":"https://www.richeyweb.com/blog/development/canonical-http-headers-for-rss-feeds","name":"Canonical HTTP Headers for RSS Feeds","headline":"Canonical HTTP Headers for RSS Feeds","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/canonical-http-headers-for-rss-feeds/gsc-duplicate-without-user-selected-canonical.webp","contentUrl":"https://www.richeyweb.com/images/articles/canonical-http-headers-for-rss-feeds/gsc-duplicate-without-user-selected-canonical.webp","width":{"@type":"QuantitativeValue","value":1431,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":804,"unitCode":"PX"},"caption":"Canonical HTTP Headers for RSS Feeds"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/hosting/negative-seo-via-url-parameter-abuse-in-joomla#article","url":"https://www.richeyweb.com/blog/hosting/negative-seo-via-url-parameter-abuse-in-joomla","name":"Negative SEO via URL Parameter Abuse in Joomla","headline":"Negative SEO via URL Parameter Abuse in Joomla","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/negative-seo-canonical-url/negative-seo-junk-query-parameters.webp","contentUrl":"https://www.richeyweb.com/images/articles/negative-seo-canonical-url/negative-seo-junk-query-parameters.webp","width":{"@type":"QuantitativeValue","value":889,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":499,"unitCode":"PX"},"caption":"Negative SEO via URL Parameter Abuse in Joomla"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/the-humbling-art-of-free-software#article","url":"https://www.richeyweb.com/blog/development/the-humbling-art-of-free-software","name":"The Humbling Art of Free Software","headline":"The Humbling Art of Free Software","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/facepalm.avif","contentUrl":"https://www.richeyweb.com/images/articles/facepalm.avif","width":{"@type":"QuantitativeValue","value":0,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":0,"unitCode":"PX"},"caption":"The Humbling Art of Free Software"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/fair-reviews-and-support#article","url":"https://www.richeyweb.com/blog/development/fair-reviews-and-support","name":"Fair Reviews and Support","headline":"Fair Reviews and Support","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/fair-reviews-and-support/fair-reviews-text.webp","contentUrl":"https://www.richeyweb.com/images/articles/fair-reviews-and-support/fair-reviews-text.webp","width":{"@type":"QuantitativeValue","value":872,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":500,"unitCode":"PX"},"caption":"Fair Reviews and Support"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/one-sh-tty-email-that-made-me-finally-do-something-about-spam#article","url":"https://www.richeyweb.com/blog/development/one-sh-tty-email-that-made-me-finally-do-something-about-spam","name":"One Sh*tty Email That Made Me Finally Do Something About Spam","headline":"One Sh*tty Email That Made Me Finally Do Something About Spam","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/plg_contact_validemail/validemail.webp","contentUrl":"https://www.richeyweb.com/images/articles/plg_contact_validemail/validemail.webp","width":{"@type":"QuantitativeValue","value":540,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":302,"unitCode":"PX"},"caption":"One Sh*tty Email That Made Me Finally Do Something About Spam"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#article","url":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon","name":"New GeoIP Coming Soon","headline":"New GeoIP Coming Soon","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/geoip-coming-soon/geoip-coming-soon.webp","contentUrl":"https://www.richeyweb.com/images/articles/geoip-coming-soon/geoip-coming-soon.webp","width":{"@type":"QuantitativeValue","value":508,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":285,"unitCode":"PX"},"caption":"New GeoIP Coming Soon"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/canonical-chaos-round-four-victory-in-sight#article","url":"https://www.richeyweb.com/blog/development/canonical-chaos-round-four-victory-in-sight","name":"Canonical Chaos, Round Four: Victory in Sight","headline":"Canonical Chaos, Round Four: Victory in Sight","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/joomlas-canonical-url-chaos/round-4-canonical.webp","contentUrl":"https://www.richeyweb.com/images/articles/joomlas-canonical-url-chaos/round-4-canonical.webp","width":{"@type":"QuantitativeValue","value":1024,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":576,"unitCode":"PX"},"caption":"Canonical Chaos, Round Four: Victory in Sight"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/canonical-chaos-round-three-polishing-the-blade#article","url":"https://www.richeyweb.com/blog/development/canonical-chaos-round-three-polishing-the-blade","name":"Canonical Chaos, Round Three: Polishing the Blade","headline":"Canonical Chaos, Round Three: Polishing the Blade","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/joomlas-canonical-url-chaos/canonical-banana.webp","contentUrl":"https://www.richeyweb.com/images/articles/joomlas-canonical-url-chaos/canonical-banana.webp","width":{"@type":"QuantitativeValue","value":677,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":380,"unitCode":"PX"},"caption":"Canonical Chaos, Round Three: Polishing the Blade"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/another-canonical-url-demon-slain#article","url":"https://www.richeyweb.com/blog/development/another-canonical-url-demon-slain","name":"Another Canonical URL Demon Slain","headline":"Another Canonical URL Demon Slain","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/joomlas-canonical-url-chaos/canonical-url-demon.webp","contentUrl":"https://www.richeyweb.com/images/articles/joomlas-canonical-url-chaos/canonical-url-demon.webp","width":{"@type":"QuantitativeValue","value":519,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":291,"unitCode":"PX"},"caption":"Another Canonical URL Demon Slain"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/personal/joomla-numbers-dont-lie#article","url":"https://www.richeyweb.com/blog/personal/joomla-numbers-dont-lie","name":"Joomla Numbers Don’t Lie","headline":"Joomla Numbers Don’t Lie","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/numbers-dont-lie/numbers-dont-lie.webp","contentUrl":"https://www.richeyweb.com/images/articles/numbers-dont-lie/numbers-dont-lie.webp","width":{"@type":"QuantitativeValue","value":800,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":450,"unitCode":"PX"},"caption":"Joomla Numbers Don’t Lie"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/ad-block-detection-for-joomla-updated#article","url":"https://www.richeyweb.com/blog/development/ad-block-detection-for-joomla-updated","name":"Ad Block Detection for Joomla Updated","headline":"Ad Block Detection for Joomla Updated","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/ad-block-detection-for-joomla-updated/ad-block-reactor-fullres-16x9.webp","contentUrl":"https://www.richeyweb.com/images/articles/ad-block-detection-for-joomla-updated/ad-block-reactor-fullres-16x9.webp","width":{"@type":"QuantitativeValue","value":1000,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":562,"unitCode":"PX"},"caption":"Ad Block Detection for Joomla Updated"},"author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"}}],"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#article","isPartOf":{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"citation":[{"@type":"CreativeWork","@id":"https://developers.google.com/search/blog/2008/09/demystifying-duplicate-content-penalty#creativework","url":"https://developers.google.com/search/blog/2008/09/demystifying-duplicate-content-penalty"},{"@type":"CreativeWork","@id":"index.php?Itemid=120#creativework","url":"index.php?Itemid=120"},{"@type":"CreativeWork","@id":"https://www.richeyweb.com/software/joomla/plugins/system-link-canonical#softwareapplication","url":"https://www.richeyweb.com/software/joomla/plugins/system-link-canonical","name":"System - Link Canonical"}],"keywords":"Joomla extensions, free, RicheyWeb.com, problems, SEO, URL, canonical URL, duplicate URLs, lazy extensions, Google Search Console, content penalty, indexed pages, rankings, SERP position, authority, businesses, glitch, crime, band-aids, solutions, tools, free, one-size-fits-all, query string, paginated articles, filters, SERP poisoning, redirects, paywall, racket, uninindexeed pages, diluted authority, SERP drops, malicious poisoning, internal duplicates, external poison, Joomla logic, components, right URL, SERP garbage, plugin, less, ecosystem, Daleks, patch, Joomla update, fully, forever, Bad Wolf moment, fight, pledge, Joomla community, success, amazing, unparalleled","articleSection":"Development","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos","hasPart":[{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-content-gets-buried-behind-a-bad-canonical-url_2_1"},{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-no-band-aids-just-solutions_2_2"},{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-the-half-measure-hall-of-shame_2_3"},{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-my-line-in-the-sand_2_4"},{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-a-perfect-canonical-url-lasts-for-all-time_2_5"},{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-i-am-going-to-bury-this-problem_2_6"},{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-update-2025-03-22_3_7"}]},{"@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex","@type":"ItemList","name":"Joomla’s Canonical URL Chaos","numberOfItems":7,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-content-gets-buried-behind-a-bad-canonical-url_2_1","name":"Content Gets Buried Behind a Bad Canonical URL","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#toc-content-gets-buried-behind-a-bad-canonical-url_2_1"}},{"@type":"ListItem","position":2,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-no-band-aids-just-solutions_2_2","name":"No Band-Aids, Just Solutions","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#toc-no-band-aids-just-solutions_2_2"}},{"@type":"ListItem","position":3,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-the-half-measure-hall-of-shame_2_3","name":"The Half-Measure Hall of Shame","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#toc-the-half-measure-hall-of-shame_2_3"}},{"@type":"ListItem","position":4,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-my-line-in-the-sand_2_4","name":"My Line in the Sand","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#toc-my-line-in-the-sand_2_4"}},{"@type":"ListItem","position":5,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-a-perfect-canonical-url-lasts-for-all-time_2_5","name":"A Perfect Canonical URL Lasts For All Time","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#toc-a-perfect-canonical-url-lasts-for-all-time_2_5"}},{"@type":"ListItem","position":6,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-i-am-going-to-bury-this-problem_2_6","name":"I AM GOING TO BURY THIS PROBLEM!","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#toc-i-am-going-to-bury-this-problem_2_6"}},{"@type":"ListItem","position":7,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#articleindex-toc-update-2025-03-22_3_7","name":"Update 2025-03-22:","url":"https://www.richeyweb.com/blog/development/joomlas-canonical-url-chaos#toc-update-2025-03-22_3_7"}}]}]}
```
