Development

I’ve been tearing through Joomla’s duplicate URL chaos because I’m fed up watching good sites—mine included—suffocate under unindexed pages, poisoned SERPs, and limp fixes that choke on query strings or beg for cash. My first article lit the fuse; now my canonical URL plugin’s a juggernaut, sitting at 99% as of March 24, 2025. It’s conquered com_contact, com_content, com_finder, com_newsfeeds, com_users, com_weblinks, even com_k2—but the latest demon I’ve slain is com_tags. Digging through Google Search Console, I found a swarm of /tags/3-style URLs clogging the works. Raw IDs instead of aliases? That’s a problem begging to be crushed, and I’ve done it.

I’ve been building Joomla extensions for years, giving them away free 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 and lazy extensions that can't build a good canonical url. They’re sneaky little gremlins—spawning from components, query strings, and core quirks—and they’ll tank your SEO faster than you can say "Google Search Console." I’m done watching site owners suffer for it. This is personal.

In an era where privacy laws like the GDPR (General Data Protection Regulation) and the EU e-Privacy Directive are reshaping how web applications handle user data, developers face a growing challenge: how to manage temporary session data without tripping over cookie consent banners or risking non-compliance. Traditional tools like cookies and localStorage often require explicit user consent in Europe, as they persist data across sessions and can be used for tracking. Enter WindowNameStore—a lightweight JavaScript class that leverages the quirky window.name property to provide a volatile, privacy-conscious alternative for temporary storage, all released under the GPL-v3 license to empower developers everywhere.
Read more: WindowNameStore: A Privacy-Friendly Volatile Storage Solution for Web Developers

As a developer who’s been writing software for Joomla for over a decade, I’ve had my share of proud moments. But recently, I stumbled across something that truly took me by surprise—and filled me with gratitude. While combing the web (as one does when checking on unresolved reputation quirks), I found my Authentication - Email plugin listed in the Git repo of none other than volunteers.joomla.org—a Joomla core site!

Eleven years ago, I stumbled across a technical paper from 2002 by Adam Back. It was about HashCash—a proof-of-work system designed to make spammers’ lives miserable by forcing their machines to grind through heavy calculations. I thought, “This could work for bot spam in Joomla forms,” and built my first Captcha - HashCash plugin. Little did I know, someone else had tried it before me—and their version vanished after landing on the CVE list in 2006. If I’d known, I might’ve picked a different name. But that’s ancient history, and my HashCash? It’s still kicking.

Because of my work described in Brain Games - SCORM/suspend_data and xAPI/state, I gained the attention of another company looking to divine some wisdom from data they had collected. It has been a number of years since I did this work, but I just got another email thanking me for my suspend data work and I thought this might be helpful to someone.

Remember Do Not Track? Neither do publishers. The little HTTP header that could—DNT for short—promised users a way to wave off trackers with a polite “no thanks.” It flopped hard. Websites ignored it, ad tech laughed it off, and by 2019, it was a digital relic. Enter Global Privacy Control (GPC), the shiny new signal touted as DNT’s successor. Backed by California’s privacy law, it’s supposed to force publishers to respect your opt-out. Sounds great, right? Here’s the catch: GPC has no more bite than DNT ever did. Publishers can sidestep it by simply doing business outside California’s reach—and they will. History says so - Google did it.
So I did a bunch of work I donated to a political candidate and (at the time) frequent media guest commentator, and this is a product of that work.