Development

GeoIP was a fun little Joomla plugin I put together at RicheyWeb to make my System - EU e-Privacy Directive plugin a bit cleverer. That plugin deals with those EU cookie consent pop-ups nobody likes, and GeoIP’s gig was to spot EU visitors by their IP, so only they’d see the prompt—non-EU users got to skip the nuisance. It was a tidy way to handle EU rules without bugging everyone else. When the IP dataset GeoIP used went away, it was annoying, like losing a favorite screwdriver. System - EU e-Privacy Directive’s latest release couldn’t tell who was in the EU anymore, and that meant dropping a feature I hated to lose—no developer wants to go backward. I’ve been working on a super-wham-o-dyne GeoIP update to fix that, with a new 2.3MB compressed dataset I’ll update daily on Google Drive. The plugin’s not out yet, but I’m thrilled to share a preview of what’s in store.

Good riddance to this regulatory mess. The European Union is eyeing a GDPR overhaul—fewer popups, less red tape—and I’m not shedding a tear. Cookie consent banners? I’d rather debug Internet Explorer 6 than click “accept” again. Word is, proposals might drop by May 21, 2025, to simplify things. This matters for your Joomla site, and I’m glad it’s shifting. Here’s why—and how I’ve already outsmarted the old rules.
Read more: GDPR is Getting a Facelift—And I’m Not Crying Over It

I have been slashing through Joomla’s canonical URL chaos because I am done watching sites—mine included—suffer unindexed pages, poisoned SERPs, and weak fixes that choke or charge. Three rounds in, my plugin has hit com_contact to com_weblinks, tamed com_k2, axed start=0 junk, and now, as of April 5, 2025, I have added support for com_ars—the stellar Akeeba Release System—to enhance its URL handling. Every tweak, every test, every live run has pushed me closer to the goal. Now I am at Google’s mercy—re-indexing pages that once tanked for a dozen reasons. It is a slog; Search Console updates every 3-4 days, with no VIP pass here—but the results are deeply encouraging, improving with zero changes lately.

I’ve been carving through Joomla’s canonical URL chaos because I can’t let good sites—mine included—drown in duplicate URLs, poisoned SERPs, or half-hearted fixes that fumble query strings or demand cash. Round one was the rally cry, round two saw com_tags IDs tamed and 99% of Joomla’s core locked down—com_contact, com_content, com_finder, com_newsfeeds, com_users, com_weblinks, even com_k2. Now, as of April 1, 2025, I’ve spotted and slain another pest: start=0 parameters. My canonical URL plugin’s nearly release-ready, and I’m not stopping until it’s flawless.
Read more: Canonical Chaos, Round Three: Polishing the Blade

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!