 #  New GeoIP Coming Soon 

 

  ![New GeoIP Coming Soon](https://cdn.richeyweb.com/images/articles/geoip-coming-soon/geoip-coming-soon.webp)    GeoIP was a fun little [Joomla plugin](/blog/development/canonical-http-headers-for-rss-feeds "Canonical HTTP Headers for RSS Feeds") I put together at RicheyWeb to make my [System - EU e-Privacy Directive](/software/joomla/plugins/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](/blog/development/server-timing-for-geoip-data-delivery-to-achieve-gdpr-compliance "Server-Timing for GeoIP Data Delivery to Achieve GDPR Compliance") by their [IP](/blog/hosting/ai-browsers-turn-users-into-spies "AI Browsers Turn Users into Spies"), 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](/white-hat-seo/technical-seo "Technical SEO") 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](/blog/hosting/ai-automation-unlocking-content-opportunities "AI Automation Unlocking Content Opportunities") to [fix](/blog/development/the-humbling-art-of-free-software "The Humbling Art of Free Software") 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.

## GeoIP’s Trick

The EU e-Privacy Directive and [GDPR](/blog/development/gdpr-is-getting-a-facelift-and-im-not-crying-over-it "GDPR is Getting a Facelift - And I’m Not Crying Over It") say EU users need cookie consent prompts—okay, but why pester folks outside the EU? System - EU e-Privacy Directive managed those pop-ups, and GeoIP made it smart by checking IPs to pick out EU visitors. Only they got the prompt; non-EU users cruised by, no pop-ups, no hassle. It was a fun fix to keep sites compliant and [user-friendly](/blog/development/problems-turn-into-features "Problems Turn Into Features"). Losing the dataset was a drag—GeoIP stopped working, and System - EU e-Privacy Directive lost its EU-only smarts, which bugged me more than it should’ve.

## The Update

I rebuilt GeoIP’s dataset from IANA and other registries, squeezing it into a 2.3MB 1.8MB 1.5MB compressed file—14MB 13MB 8.9MB uncompressed—that I’ll update daily to keep it fresh. I’m not sharing the compiler; if everyone swamped the registries, they could go private, and we’d all be out of luck. I’m probably hosting it on Google Drive, where the 750GB daily limit means something like 600,000 daily downloads before I’d need to worry—if we hit that, I’ll figure out another way to save bandwidth. I've been experimenting with the compiler and I have it very well dialed in now - taking only 25 seconds to run and producing a very small compressed update file - and only producing it when there are changes published by the registries.

The GeoIP plugin’s still cooking—I’m making it run clean, like my [System - AdminExile](/software/joomla/plugins/system-adminexile)—but it’s nearly done. It’ll plug back into System - EU e-Privacy Directive, bringing back EU visitor detection so only EU users see those cookie prompts. It’ll be [free](/blog/development/canonical-chaos-round-four-victory-in-sight "Canonical Chaos, Round Four: Victory in Sight"), built to last, and ready to restore the feature I didn’t want to lose.

## Why It’s Worth It

I hate cutting features—System - EU e-Privacy Directive was better with GeoIP’s EU-only prompts. This update, with daily 2.3MB datasets, lets your Joomla site stay compliant without annoying non-EU users. It’s a small, satisfying tweak that makes things right, and I’m having a good time putting it together. I'm also looking at integrating it with [System - AdminExile](/software/joomla/plugins/system-adminexile) for additional black and whitelist options.

## Coming Soon

GeoIP’s update is almost here, ready to make System - EU e-Privacy Directive sharp again. Watch RicheyWeb—I’ll let you know when it drops. For now, this is your sneak peek at what’s coming.

### What's Coming?

1. System Plugin: This carries the [API](/blog/personal/this-is-how-you-kill-joomla-as-a-platform "This Is How You Kill Joomla as a Platform") that allows you to interface with other [extensions](/blog/development/generator-tag-claim-your-joomla-sites "Generator Tag: Claim Your Joomla Sites"). 
    - Done
2. AJAX Plugin (optional): Allows you to interface with extensions in another way. 
    - In Progress
3. Console Plugin: Provides updates via cron job, and a CLI query method. 
    - Done
4. RicheyWeb Update Files: Automated daily retrieval from registries, compilation, versioning, and [validation](/blog/personal/joomla-community-magazine-mention "Joomla Community Magazine Mention!"). 
    - Done
 


- [      email ](mailto:?subject=New+GeoIP+Coming+Soon&body=https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fnew-geoip-coming-soon)
- [      facebook ](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fnew-geoip-coming-soon)
- [      x-twitter ](https://twitter.com/intent/tweet?text=New+GeoIP+Coming+Soon%3A+https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fnew-geoip-coming-soon)
- [      linkedin ](http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fnew-geoip-coming-soon&title=New+GeoIP+Coming+Soon&summary=GeoIP+was+a+fun+little+Joomla+plugin+I+put+togethe...)
- [      pinterest ](http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.richeyweb.com%2Fblog%2Fdevelopment%2Fnew-geoip-coming-soon&media=https%3A%2F%2Fcdn.joomla.org%2Fimages%2Fjoomla-org-og.jpg&description=New+GeoIP+Coming+Soon)
 


 

   [  Previous article: One Sh\*tty Email That Made Me Finally Do Something About Spam   One Sh\*tty Email That Made Me Finally Do Something About Spam ](/blog/development/one-sh-tty-email-that-made-me-finally-do-something-about-spam) [  Next article: GDPR is Getting a Facelift - And I’m Not Crying Over It  GDPR is Getting a Facelift - And I’m Not Crying Over It  ](/blog/development/gdpr-is-getting-a-facelift-and-im-not-crying-over-it)  

##### 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/new-geoip-coming-soon#webpage","url":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon","name":"New GeoIP Coming Soon","description":"GeoIP is back! Preview the update with daily 2.3MB data to limit EU cookie prompts in System - EU e-Privacy Directive. Coming soon to RicheyWeb!","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/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","representativeOfPage":true},"headline":"New GeoIP Coming Soon","description":"GeoIP is back! Preview the update with daily 2.3MB data to limit EU cookie prompts in System - EU e-Privacy Directive. Coming soon to RicheyWeb!","author":{"@type":"Person","name":"Michael Richey","url":"https://www.richeyweb.com/contact-us","@id":"https://www.richeyweb.com/contact-us#person"},"datePublished":"2025-04-13T00:00:00+00:00","dateModified":"2026-03-30T00:00:00+00:00","about":["MaxMind",{"@type":"Corporation","name":"MaxMind","sameAs":["https://en.wikipedia.org/wiki/MaxMind","https://www.wikidata.org/wiki/Q25022243","https://g.co/kg/g/11cmttz01t"]},"Internet geolocation",{"@type":"Thing","name":"Internet geolocation","sameAs":["https://en.wikipedia.org/wiki/Internet_geolocation","https://www.wikidata.org/wiki/Q916335","https://g.co/kg/m/04dj3q"]},"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"]},"Joomla",{"@type":"Thing","name":"Joomla","sameAs":["https://en.wikipedia.org/wiki/Joomla","https://www.wikidata.org/wiki/Q13167","https://g.co/kg/m/07qb81"]}],"mentions":["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"]},"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"]},"ePrivacy Regulation",{"@type":"Book","name":"ePrivacy Regulation","sameAs":["https://en.wikipedia.org/wiki/EPrivacy_Regulation","https://www.wikidata.org/wiki/Q41651339","https://g.co/kg/g/11f148ls01"]},"Google Drive",{"@type":"Thing","name":"Google Drive","sameAs":["https://en.wikipedia.org/wiki/Google_Drive","https://www.wikidata.org/wiki/Q9340","https://g.co/kg/m/03w9g0f"]},"Internet Assigned Numbers Authority",{"@type":"Organization","name":"Internet Assigned Numbers Authority","sameAs":["https://en.wikipedia.org/wiki/Internet_Assigned_Numbers_Authority","https://www.wikidata.org/wiki/Q242540","https://g.co/kg/m/0lf63"]},"HTTP cookie",{"@type":"Thing","name":"HTTP cookie","sameAs":["https://en.wikipedia.org/wiki/HTTP_cookie","https://www.wikidata.org/wiki/Q178995","https://g.co/kg/m/0d18sk"]},{"@type":"Article","@id":"https://www.richeyweb.com/blog/development/generator-tag-claim-your-joomla-sites#article","url":"https://www.richeyweb.com/blog/development/generator-tag-claim-your-joomla-sites","name":"Generator Tag: Claim Your Joomla Sites","headline":"Generator Tag: Claim Your Joomla Sites","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/generator-tag-claim-your-joomla-sites/generator-tag.webp","contentUrl":"https://www.richeyweb.com/images/articles/generator-tag-claim-your-joomla-sites/generator-tag.webp","width":{"@type":"QuantitativeValue","value":1274,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":716,"unitCode":"PX"},"caption":"Generator Tag: Claim Your Joomla Sites"},"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/technical-seo#article","url":"https://www.richeyweb.com/white-hat-seo/technical-seo","name":"Technical SEO","headline":"Technical SEO","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/seo/technical-seo/technical-seo-v2.webp","contentUrl":"https://www.richeyweb.com/images/articles/seo/technical-seo/technical-seo-v2.webp","width":{"@type":"QuantitativeValue","value":1280,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":720,"unitCode":"PX"},"caption":"Technical 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/blog/hosting/ai-browsers-turn-users-into-spies#article","url":"https://www.richeyweb.com/blog/hosting/ai-browsers-turn-users-into-spies","name":"AI Browsers Turn Users into Spies","headline":"AI Browsers Turn Users into Spies","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/ai-browsers-turn-users-into-spies/ai-browsers-turn-users-into-spies.webp","contentUrl":"https://www.richeyweb.com/images/articles/ai-browsers-turn-users-into-spies/ai-browsers-turn-users-into-spies.webp","width":{"@type":"QuantitativeValue","value":888,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":499,"unitCode":"PX"},"caption":"AI Browsers Turn Users into Spies"},"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/development/server-timing-for-geoip-data-delivery-to-achieve-gdpr-compliance#article","url":"https://www.richeyweb.com/blog/development/server-timing-for-geoip-data-delivery-to-achieve-gdpr-compliance","name":"Server-Timing for GeoIP Data Delivery to Achieve GDPR Compliance","headline":"Server-Timing for GeoIP Data Delivery to Achieve GDPR Compliance","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":"Server-Timing for GeoIP Data Delivery to Achieve GDPR Compliance"},"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/problems-turn-into-features#article","url":"https://www.richeyweb.com/blog/development/problems-turn-into-features","name":"Problems Turn Into Features","headline":"Problems Turn Into Features","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/problems-turn-into-features/problems-turn-into-features.webp","contentUrl":"https://www.richeyweb.com/images/articles/problems-turn-into-features/problems-turn-into-features.webp","width":{"@type":"QuantitativeValue","value":899,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":505,"unitCode":"PX"},"caption":"Problems Turn Into Features"},"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/hosting/ai-automation-unlocking-content-opportunities#article","url":"https://www.richeyweb.com/blog/hosting/ai-automation-unlocking-content-opportunities","name":"AI Automation Unlocking Content Opportunities","headline":"AI Automation Unlocking Content Opportunities","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/ai-automation/ai-automation.webp","contentUrl":"https://www.richeyweb.com/images/articles/ai-automation/ai-automation.webp","width":{"@type":"QuantitativeValue","value":720,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":405,"unitCode":"PX"},"caption":"AI Automation Unlocking Content Opportunities"},"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-community-magazine-mention#article","url":"https://www.richeyweb.com/blog/personal/joomla-community-magazine-mention","name":"Joomla Community Magazine Mention!","headline":"Joomla Community Magazine Mention!","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/eprivacy/joomla-community-magazine.webp","contentUrl":"https://www.richeyweb.com/images/articles/eprivacy/joomla-community-magazine.webp","width":{"@type":"QuantitativeValue","value":638,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":391,"unitCode":"PX"},"caption":"Joomla Community Magazine Mention!"},"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/this-is-how-you-kill-joomla-as-a-platform#article","url":"https://www.richeyweb.com/blog/personal/this-is-how-you-kill-joomla-as-a-platform","name":"This Is How You Kill Joomla as a Platform","headline":"This Is How You Kill Joomla as a Platform","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/killing-the-platform/killing-the-platform.webp","contentUrl":"https://www.richeyweb.com/images/articles/killing-the-platform/killing-the-platform.webp","width":{"@type":"QuantitativeValue","value":666,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":374,"unitCode":"PX"},"caption":"This Is How You Kill Joomla as a Platform"},"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/gdpr-is-getting-a-facelift-and-im-not-crying-over-it#article","url":"https://www.richeyweb.com/blog/development/gdpr-is-getting-a-facelift-and-im-not-crying-over-it","name":"GDPR is Getting a Facelift - And I’m Not Crying Over It","headline":"GDPR is Getting a Facelift - And I’m Not Crying Over It","image":{"@type":"ImageObject","url":"https://www.richeyweb.com/images/articles/gdpr-facelift/gdpr-facelift-meme.webp","contentUrl":"https://www.richeyweb.com/images/articles/gdpr-facelift/gdpr-facelift-meme.webp","width":{"@type":"QuantitativeValue","value":666,"unitCode":"PX"},"height":{"@type":"QuantitativeValue","value":374,"unitCode":"PX"},"caption":"GDPR is Getting a Facelift - And I’m Not Crying Over It"},"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"}}],"@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#article","isPartOf":{"@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#webpage"},"publisher":{"@id":"https://www.richeyweb.com/#organization"},"citation":[{"@type":"CreativeWork","@id":"https://www.richeyweb.com/software/joomla/plugins/system-eu-e-privacy-directive#softwareapplication","url":"https://www.richeyweb.com/software/joomla/plugins/system-eu-e-privacy-directive","name":"System - EU e-Privacy Directive"},{"@type":"CreativeWork","@id":"https://www.richeyweb.com/software/joomla/plugins/system-adminexile#softwareapplication","url":"https://www.richeyweb.com/software/joomla/plugins/system-adminexile","name":"System - AdminExile"}],"keywords":"GeoIP, Joomla plugin, System - EU e-Privacy Directive plugin, EU cookie consent pop-ups, EU visitors, IP, non-EU users, rules, dataset, GDPR, compliant, user-friendly, update, Google Drive, compiler, registries, bandwidth, black and whitelist options, AJAX plugin, Console Plugin, cron job, CLI query, update files, daily downloads, sneaek peek, API, interface, extensions, versioning, validation, 2.3MB, 1.8MB, 1.5MB, 14MB, 13MB, 8.9MB, 25 seconds, tweaak, sharp, prompts, fix, restore, clean, nearly done, free, built to last, small, satisfying, coming soon, watch RicheyWeb, interface with other extensions, automated retrieval, compilation, versioning, validation, daily retrieval, compilation, validation","articleSection":"Development","url":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon","hasPart":[{"@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-geoips-trick_2_1"},{"@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-the-update_2_2"},{"@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-why-its-worth-it_2_3"},{"@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-coming-soon_2_4"},{"@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-whats-coming_3_5"}]},{"@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex","@type":"ItemList","name":"New GeoIP Coming Soon","numberOfItems":5,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-geoips-trick_2_1","name":"GeoIP’s Trick","url":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#toc-geoips-trick_2_1"}},{"@type":"ListItem","position":2,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-the-update_2_2","name":"The Update","url":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#toc-the-update_2_2"}},{"@type":"ListItem","position":3,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-why-its-worth-it_2_3","name":"Why It’s Worth It","url":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#toc-why-its-worth-it_2_3"}},{"@type":"ListItem","position":4,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-coming-soon_2_4","name":"Coming Soon","url":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#toc-coming-soon_2_4"}},{"@type":"ListItem","position":5,"item":{"@type":"WPHeader","@id":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#articleindex-toc-whats-coming_3_5","name":"What's Coming?","url":"https://www.richeyweb.com/blog/development/new-geoip-coming-soon#toc-whats-coming_3_5"}}]}]}
```
