{"id":267595,"date":"2025-12-22T10:51:57","date_gmt":"2025-12-22T10:51:57","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/geo-country-access-manager\/"},"modified":"2025-12-23T02:52:48","modified_gmt":"2025-12-23T02:52:48","slug":"mid-geoshield-access-manager","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/mid-geoshield-access-manager\/","author":13621925,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0","stable_tag":"1.0","tested":"6.9.4","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"MID GeoShield Access Manager","header_author":"MI Dexigner","header_description":"Restrict access to your site based on visitor country using IP-based geo rules.","assets_banners_color":"","last_updated":"2025-12-23 02:52:48","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/mid-geoshield-access-manager","header_author_uri":"https:\/\/midexigner.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":340,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"midexigner","date":"2025-12-23 02:52:48"}},"upgrade_notice":{"1.0":"<p>First stable version. Includes admin settings, multiple country blocks, and dynamic block page.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[88702,31970,1945,1505,600],"plugin_category":[54],"plugin_contributors":[164614],"plugin_business_model":[],"class_list":["post-267595","plugin","type-plugin","status-publish","hentry","plugin_tags-country-block","plugin_tags-geo-block","plugin_tags-ip-block","plugin_tags-restriction","plugin_tags-security","plugin_category-security-and-spam-protection","plugin_contributors-midexigner","plugin_committers-midexigner"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/mid-geoshield-access-manager.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>GeoShield Access Manager allows you to easily block visitors from specific countries.<br \/>\nYou can add or remove multiple countries from the WordPress backend.<br \/>\nIf a visitor belongs to a blocked country, the plugin displays a dynamic block page saying:<\/p>\n\n<p><strong>\"Your country (XX) is blocked from viewing this website.\"<\/strong><\/p>\n\n<p>This plugin works with a lightweight IP lookup API and includes:<\/p>\n\n<ul>\n<li>Admin settings menu: <strong>Blocked Countries<\/strong><\/li>\n<li>Add unlimited country codes (ISO format)<\/li>\n<li>Remove countries dynamically<\/li>\n<li>Frontend blocking of selected countries<\/li>\n<li>Custom block message page (auto-generated)<\/li>\n<li>No theme files required<\/li>\n<li>No coding skills needed<\/li>\n<\/ul>\n\n<p>Perfect for website owners who want to control traffic based on location.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Block users by country<\/li>\n<li>Easy backend interface for adding\/removing countries<\/li>\n<li>Uses free IP geolocation service (ip-api.com)<\/li>\n<li>Automatically generates a block page with a friendly message<\/li>\n<li>Does not affect admin dashboard access<\/li>\n<li>Simple, clean, and lightweight (Hello Dolly style)<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin uses a third-party IP geolocation service to detect the visitor's country\nin order to apply country-based access restrictions.<\/p>\n\n<p>Service used:\nip-api.com (https:\/\/ip-api.com)<\/p>\n\n<p>What data is sent:\nThe visitor's IP address is sent to the service when a page is loaded.<\/p>\n\n<p>When data is sent:\nOnly when country-based access rules are enabled.<\/p>\n\n<p>Why data is sent:\nTo determine the visitor\u2019s country for access control purposes.<\/p>\n\n<p>Service terms and privacy policy:\nhttps:\/\/ip-api.com\/docs\/legal<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder <code>geo-country-access-manager<\/code> to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Blocked Countries<\/strong> in the admin menu<\/li>\n<li>Add the ISO country codes you want to block (e.g., IN, PK, CN)<\/li>\n<li>Save changes \u2014 done!<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='1.%20how%20do%20i%20block%20a%20country%3F'><h3>1. How do I block a country?<\/h3><\/dt>\n<dd><p>Go to <strong>Blocked Countries<\/strong> \u2192 Add the ISO code \u2192 Save.<\/p><\/dd>\n<dt id='2.%20does%20this%20plugin%20slow%20down%20my%20website%3F'><h3>2. Does this plugin slow down my website?<\/h3><\/dt>\n<dd><p>No \u2014 it uses a lightweight API and runs efficiently during page load.<\/p><\/dd>\n<dt id='3.%20can%20i%20customize%20the%20block%20page%3F'><h3>3. Can I customize the block page?<\/h3><\/dt>\n<dd><p>Yes! The block page is generated dynamically. You can modify the template inside the plugin.<\/p><\/dd>\n<dt id='4.%20does%20this%20plugin%20block%20admin%20area%20access%3F'><h3>4. Does this plugin block admin area access?<\/h3><\/dt>\n<dd><p>No. Only frontend visitors are blocked.<\/p><\/dd>\n<dt id='5.%20do%20i%20need%20an%20api%20key%3F'><h3>5. Do I need an API key?<\/h3><\/dt>\n<dd><p>No \u2014 ip-api.com works without a key.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Admin settings page added<\/li>\n<li>Country list fields added<\/li>\n<li>Frontend block system implemented<\/li>\n<li>Dynamic block page added<\/li>\n<\/ul>","raw_excerpt":"Easily block visitors from selected countries with geo-based restrictions and an admin settings page.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/267595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=267595"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/midexigner"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=267595"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=267595"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=267595"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=267595"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=267595"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=267595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}