=== Country Access Control ===
Contributors: sdlccorp99
Tags: country, geo, block, restrict, seo
Tested up to: 6.8
Requires at least: 6.0
Requires PHP: 7.4
Stable Tag: 1.3.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Block access to selected posts/pages by visitor country, with SEO-safe bot bypass and customizable redirects.
== Description ==
The **SDLC Country Block** plugin lets you restrict access to individual posts and pages based on the visitor’s country, while keeping SEO bots and crawlers unblocked for safe indexing.

### 🔐 4 Layers of Country Detection
To ensure maximum compatibility, the plugin checks for the visitor’s country in this order:
1. **Cloudflare header** (`CF-IPCountry`)
2. **Server GeoIP variables** (if your hosting environment provides them)
3. **PHP GeoIP extension** (`geoip_country_code_by_name`)
4. **Wordfence plugin** (using Wordfence GEO detection)

⚠️ Note: At least **one** of these extensions or plugins must be enabled. If none are active, the plugin cannot detect visitor countries.

### ✨ Features
- Per-post/page multi-select of countries (full ISO list)
- SEO-safe: bots/crawlers can bypass blocks
- Choose action: redirect to endpoint (/blocked), redirect to custom URL, or 403
- Customizable endpoint slug
- Role-based bypass (e.g., admin, editor)
- Optional admin-only debug banner
- Proper sanitization, escaping, and nonces
- Sets `Vary: CF-IPCountry` for cache correctness
- Clean uninstall (removes options and post meta)

This plugin is maintained by **[SDLC CORP](https://sdlccorp.com/)** — a Digital Transformation Company with expertise in:
- **WordPress Development**
- **Shopify Solutions**
- **Artificial Intelligence (AI) & Machine Learning**
- **Model Development and NLP (Natural Language Processing)**
- Enterprise-grade [**AI Development Services**](https://sdlccorp.com/ai-development-services/)

By publishing this open-source plugin, SDLC CORP demonstrates its commitment to empowering developers and businesses with scalable **AI-driven solutions** and modern web technologies.

== Requirements & Compatibility ==
For the plugin to work, at least **one** of the following extensions or plugins must be enabled on your server:

1. **Cloudflare** → Enable the *IP Geolocation* setting in your Cloudflare dashboard (adds the `CF-IPCountry` header).
2. **Server GeoIP** → Your hosting provider must support GeoIP (ask your host if they provide `GEOIP_COUNTRY_CODE`).
3. **PHP GeoIP Extension** → Install and enable the PHP `geoip` extension on your server (may require server admin/hosting support).
4. **Wordfence Plugin** → Install the free [Wordfence Security plugin](https://wordpress.org/plugins/wordfence/) and enable its country blocking/GeoIP feature.

➡️ At least one of these must be active. If none are available, the plugin cannot detect visitor countries.

== Installation ==
1. Upload the `sdlc-country-block` folder to `/wp-content/plugins/`.
2. Activate the plugin via **Plugins** in WordPress Admin.
3. Configure global settings under **Settings → Country Block**.
4. Edit a post/page → use the **Country Block** meta box → select restricted countries.
5. Ensure that at least **one** detection method (Cloudflare, server GeoIP, PHP GeoIP, or Wordfence) is available for the plugin to work.

== Frequently Asked Questions ==
= Will this hurt SEO? =
No. Search engines and known bots can be allowed to bypass blocks, ensuring your content remains indexable.

= How do I customize the blocked page? =
You can:
- Create a template file called `blocked-country.php` in your theme, OR
- Set a custom redirect URL in plugin settings.

= What if my server doesn’t support GeoIP? =
The plugin attempts detection in this order:
1. Cloudflare IP header (`CF-IPCountry`)
2. Server GeoIP variables
3. PHP GeoIP extension
4. Wordfence plugin GEO data

At least **one** of these layers must be present for the plugin to function.

== Screenshots ==
1. Post editor meta box with country selection
2. Global settings panel for redirects and exceptions

== Third-Party Compatibility ==
This plugin is designed to work with third-party services such as **Cloudflare** and **Wordfence** when available.  
SDLC Country Block is an independent plugin and is **not affiliated with or endorsed by Cloudflare or Wordfence**.

== Changelog ==
= 1.3.1 =
* Minor fixes and improvements.
* Updated documentation and metadata for WordPress.org release.

== License ==
This plugin is free software: you can redistribute it and/or modify it under the terms of the **GNU General Public License** as published by the Free Software Foundation, **version 2 of the License, or (at your option) any later version**.

This plugin is distributed in the hope that it will be useful, but **WITHOUT ANY WARRANTY**; without even the implied warranty of **MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE**. See the GNU General Public License for more details.

A copy of the GPL v2 license is included in this package. You can also see <https://www.gnu.org/licenses/gpl-2.0.html>.

== Trademark ==
“SDLC CORP” and the SDLC CORP logo are trademarks of SDLC CORP.  
The GPL license covers the plugin’s **source code**. It does **not** grant rights to use SDLC CORP’s trademarks or branding in modified versions in a way that suggests endorsement or affiliation without permission.
