{"id":271057,"date":"2026-01-05T08:24:27","date_gmt":"2026-01-05T08:24:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ipgeolocation-geo-redirects-content-control\/"},"modified":"2026-03-03T10:24:19","modified_gmt":"2026-03-03T10:24:19","slug":"ipgeolocation-geo-redirects-content-control","status":"publish","type":"plugin","link":"https:\/\/srd.wordpress.org\/plugins\/ipgeolocation-geo-redirects-content-control\/","author":23429596,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"IPGeolocation.io \u2013 Geo Redirects & Content Control","header_author":"IPGeolocation.io","header_description":"Powerful IP-based geolocation plugin for redirects, access control, and conditional content using shortcodes.","assets_banners_color":"f3f2f9","last_updated":"2026-03-03 10:24:19","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/ipgeolocation-geo-redirects-content-control\/","header_author_uri":"https:\/\/ipgeolocation.io","rating":0,"author_block_rating":0,"active_installs":0,"downloads":237,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"ipgeolocation","date":"2026-01-05 08:23:52"},"1.1.0":{"tag":"1.1.0","author":"ipgeolocation","date":"2026-03-03 10:24:19"}},"upgrade_notice":{"1.1.0":"<p>This update upgrades the internal API to v3. Existing plan types (Standard, Advanced, Security) will be automatically migrated to Paid Plan. No action required.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3434235,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3434235,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3434375,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3434405,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3432526,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3432526,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3432526,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3432526,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Country redirect rules settings","2":"Redirect confirmation popup","3":"Country access control settings","4":"Conditional content shortcodes"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[47354,32023,4124,253322],"plugin_category":[49],"plugin_contributors":[253323],"plugin_business_model":[],"class_list":["post-271057","plugin","type-plugin","status-publish","hentry","plugin_tags-conditional-content","plugin_tags-geo-redirect","plugin_tags-geolocation","plugin_tags-ip-redirect","plugin_category-maps-and-location","plugin_contributors-ipgeolocation","plugin_committers-ipgeolocation"],"banners":{"banner":"https:\/\/ps.w.org\/ipgeolocation-geo-redirects-content-control\/assets\/banner-772x250.png?rev=3434405","banner_2x":"https:\/\/ps.w.org\/ipgeolocation-geo-redirects-content-control\/assets\/banner-1544x500.png?rev=3434375","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ipgeolocation-geo-redirects-content-control\/assets\/icon-128x128.png?rev=3434235","icon_2x":"https:\/\/ps.w.org\/ipgeolocation-geo-redirects-content-control\/assets\/icon-256x256.png?rev=3434235","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ipgeolocation-geo-redirects-content-control\/assets\/screenshot-1.png?rev=3432526","caption":"Country redirect rules settings"},{"src":"https:\/\/ps.w.org\/ipgeolocation-geo-redirects-content-control\/assets\/screenshot-2.png?rev=3432526","caption":"Redirect confirmation popup"},{"src":"https:\/\/ps.w.org\/ipgeolocation-geo-redirects-content-control\/assets\/screenshot-3.png?rev=3432526","caption":"Country access control settings"},{"src":"https:\/\/ps.w.org\/ipgeolocation-geo-redirects-content-control\/assets\/screenshot-4.png?rev=3432526","caption":"Conditional content shortcodes"}],"raw_content":"<!--section=description-->\n<p><strong>IPGeolocation.io \u2013 Geo Redirect &amp; Content Control<\/strong> is a powerful WordPress plugin that allows you to control how visitors interact with your site based on their geographic location.<\/p>\n\n<p>The plugin uses the <strong>ipgeolocation.io API<\/strong> to determine a visitor\u2019s country and other metadata, enabling advanced geo-based logic without slowing down your site.<\/p>\n\n<h3>Main Features<\/h3>\n\n<ul>\n<li>Country-based redirects (entire site, specific pages, or URL patterns)<\/li>\n<li>Optional popup confirmation before redirect<\/li>\n<li>Country-level access control (allow or block)<\/li>\n<li>Conditional content shortcodes<\/li>\n<li>Output visitor geolocation data via shortcode<\/li>\n<li>Page and query-string exclusions<\/li>\n<li>Redirect bypass and reset via URL parameters<\/li>\n<li>Bot detection (search engines &amp; social crawlers excluded)<\/li>\n<li>Administrator-safe (admins are never redirected)<\/li>\n<li>IP response caching using WordPress transients<\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<p>The plugin supports the following API plans from ipgeolocation.io:<\/p>\n\n<ul>\n<li>Developer (Free)<\/li>\n<li>Paid<\/li>\n<\/ul>\n\n<p>Additional security-related features are available for paid plans only.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<h3>Display Single Geolocation Field<\/h3>\n\n<p>[ipgeo country]\n[ipgeo city]\n[ipgeo country_code]\n[ipgeo latitude]\n[ipgeo longitude]<\/p>\n\n<p>Available fields include:\n    ip, city, state, country, country_code, zipcode, continent, latitude, longitude, currency, calling_code, languages, is_proxy, is_tor, is_anonymous, cloud_provider<\/p>\n\n<h3>Conditional Content (Show If Match)<\/h3>\n\n<p>[ipgeo_if country_code=\"US,CA\" logic=\"OR\"]\nVisible to visitors from the US or Canada.\n[\/ipgeo_if]<\/p>\n\n<p>Supported attributes:\n* country\n* country_code\n* state\n* city\n* continent\n* is_proxy\n* is_tor\n* is_cloud_provider\n* is_anonymous\n* logic (AND \/ OR)<\/p>\n\n<h3>Conditional Content (Hide If Match)<\/h3>\n\n<p>[ipgeo_if_not country=\"Germany\"]\nHidden from visitors in Germany.\n[\/ipgeo_if_not]<\/p>\n\n<h3>Redirect Bypass<\/h3>\n\n<p>For testing or user control, redirects can be bypassed:<\/p>\n\n<ul>\n<li><code>?geo_bypass=1<\/code> \u2014 bypass redirects for 30 days<\/li>\n<li><code>?geo_reset=1<\/code> \u2014 reset the bypass cookie<\/li>\n<\/ul>\n\n<h3>External Services Used<\/h3>\n\n<p>This plugin relies on the <strong><a href=\"https:\/\/ipgeolocation.io\/\">ipgeolocation.io API<\/a><\/strong> to provide its core geolocation functionality.<\/p>\n\n<p><strong>API Features Used:<\/strong>\n- Determines visitor <strong>country, city, state, continent, latitude\/longitude<\/strong>, and more\n- Detects <strong>proxy, VPN, Tor usage<\/strong>, and cloud providers\n- Enables <strong>country-based redirects, content visibility rules, and access control<\/strong>\n- Caches API responses for 24 hours per IP to reduce requests and improve performance<\/p>\n\n<p><strong>Important Notes:<\/strong>\n- An <strong>ipgeolocation.io API key is required<\/strong>. You can obtain one by creating a free or paid account at <a href=\"https:\/\/ipgeolocation.io\/\">ipgeolocation.io<\/a>.\n- Without the API, the plugin\u2019s core features (redirects, content rules, access control) will not function.\n- All API calls respect the user\u2019s privacy and are only used for geolocation purposes.<\/p>\n\n<p><strong>Link to Terms of Use:<\/strong> <a href=\"https:\/\/ipgeolocation.io\/tos.html\">ipgeolocation.io Terms<\/a><\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPL v2 or later.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin via <strong>Plugins \u2192 Installed Plugins<\/strong>.<\/li>\n<li>Enter your <strong>ipgeolocation.io API key<\/strong> in the plugin settings.<\/li>\n<li>Configure redirect rules, exclusions, or country access rules.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20redirect%20logged-in%20administrators%3F\"><h3>Does this plugin redirect logged-in administrators?<\/h3><\/dt>\n<dd><p>No. Administrators are automatically excluded.<\/p><\/dd>\n<dt id=\"are%20bots%20and%20search%20engines%20redirected%3F\"><h3>Are bots and search engines redirected?<\/h3><\/dt>\n<dd><p>No. Known bots (Google, Bing, Facebook, Twitter, etc.) are excluded.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20cache%20api%20responses%3F\"><h3>Does the plugin cache API responses?<\/h3><\/dt>\n<dd><p>Yes. IP data is cached for 24 hours per IP.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20cloudflare%3F\"><h3>Does it work with Cloudflare?<\/h3><\/dt>\n<dd><p>Yes. The plugin supports the <code>CF-Connecting-IP<\/code> header.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No. API results are cached and redirects are handled efficiently.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Upgraded internal API from v2 to v3<\/li>\n<li>Simplified plan types: Developer and Paid Plan only<\/li>\n<li>Standard, Advanced, and Security plans auto-migrated to Paid Plan<\/li>\n<li>Rename the plugin<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>Country redirects with popup support<\/li>\n<li>Country access allow\/block rules<\/li>\n<li>Conditional shortcodes<\/li>\n<li>Bot detection and caching<\/li>\n<\/ul>","raw_excerpt":"Control redirects, access, and content visibility using IP-based geolocation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/271057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=271057"}],"author":[{"embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ipgeolocation"}],"wp:attachment":[{"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=271057"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=271057"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=271057"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=271057"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=271057"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/srd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=271057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}