IP Location Block
IP Location Block is a WordPress geo blocking plugin for blocking or allowing visitors by country, US state or equivalent region, IP address, CIDR range, or ASN. Simple view covers common rules. Advanced view adds login, registration, comment, XML-RPC, bot, response, logging, privacy, provider, and diagnostic controls. For the recommended setup, connect the IP Location Block Cloud provider for premium, frequently updated data, better country accuracy, ASN data, and state or region precision. WordPress geo blocking by country, state, or region Use a blocklist to deny selected locations or an allowlist to limit access. Regional rules use the administrative area returned for a country, such as a state, province, prefecture, territory, or region. This supports regional availability, service areas, store access, and site policies. Country rules remain active when precision is unavailable. Key features Block or allow visitors by country and state or equivalent region. Add priority rules for IP addresses, IPv4 or IPv6 CIDR ranges, and ASNs. Protect public pages, login, registration, comments, XML-RPC, and selected wp-admin requests. Configure blocked responses and control failed logins or unwanted bots. Search IPs and review validation logs, statistics, and diagnostics. Use frequently updated data from the IP Location Block Cloud provider with country-level fallbacks. Encrypt stored IP addresses, with optional anonymization. IP Location Block Cloud provider Better accuracy: Premium geolocation databases are updated frequently for more reliable country results. Regional precision: Add state, province, prefecture, territory, or equivalent regional rules. Broader data: Use IPv4, IPv6, and ASN information through one managed provider. Legacy local and third-party providers remain supported for existing installations and country-level fallback rules. Regional precision requires the IP Location Block Cloud provider. External services and privacy IP Location Block Cloud provider: Selecting this provider sends the visitor IP and configured credential to IP Location Block for lookup. Review its privacy policy and terms. IP2Location LITE: For compatibility with this provider, the plugin downloads country databases on activation and scheduled updates. Review its terms and privacy policy. MaxMind GeoLite2: For compatibility with this provider, the plugin uses your license key to download databases. Review its license and privacy policy. Other remote providers: Selecting IPInfoDB, IPinfo.io, ipapi, or ipstack sends the visitor IP and configured credential to that service for lookup. No remote provider is selected automatically. Other remote provider policies: IPInfoDB privacy and service agreement; IPinfo.io privacy and terms; ipapi privacy and terms; ipstack privacy and terms. The administrator chooses the providers and is responsible for any required consent or disclosure. Documentation, support, and credits Use the documentation, troubleshooting guide, support forum, or GitHub. Independently maintained, IP Location Block is based on IP Geo Block by tokkonopapa. It uses IP2Location LITE and GeoLite2 data under their licenses.
Top keywords
- ip14×3.12%
- provider12×2.67%
- block10×2.23%
- privacy9×2.00%
- country8×1.78%
- ip location8×1.78%
- ip location block8×1.78%
- location8×1.78%
- location block8×1.78%
- rules6×1.34%
- state6×1.34%
- block cloud5×1.11%
Post Author IP
This plugin records the IP address of the original post author when a post first gets created. The admin listing of posts is amended with a new “Author IP” column that shows the IP address of the author who first saved the post. The plugin is unable to provide IP address information for posts that were created prior to the use of this plugin. Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage Hooks The plugin is further customizable via four filters. Typically, code making use of filters should ideally be put into a mu-plugin or site-specific plugin (which is beyond the scope of this readme to explain). c2c_show_post_author_ip_column (filter) The ‘c2c_show_post_author_ip_column’ filter allows you to determine if the post author IP column should appear in the admin post listing table. Your hooking function can be sent 1 argument: Argument : $show_column (bool) Should the column be shown? Default true. Example: /** * Don't show the post author IP column except to admins. * * @param bool $show_column Should the column be shown? Default true. * @return bool */ function post_author_ip_column_admin_only( $show ) { if ( ! current_user_can( 'manage_options' ) ) { $show = false; } return $show; } add_filter( 'c2c_show_post_author_ip_column', 'post_author_ip_column_admin_only' ); c2c_get_post_author_ip (filter) The ‘c2c_get_post_author_ip’ filter allows you to customize the value stored as the post author IP address. Your hooking function can be sent 2 arguments: Arguments : $ip (string) The post author IP address. $post_id (int) The post ID. Example: /** * Store all IP addresses from local subnet IP addresses as the same IP address. * * @param string $ip The post author IP address. * @param int $post_id The post ID. * @return string */ function customize_post_author_ip( $ip, $post_id ) { if ( 0 === strpos( $ip, '192.168.' ) ) { $ip = '192.168.1.1'; } return $ip; } add_filter( 'c2c_get_post_author_ip', 'customize_post_author_ip', 10, 2 ); c2c_get_current_user_ip (filter) The ‘c2c_get_current_user_ip’ filter allows you to customize the current user’s IP address, as used by the plugin. Your hooking function can be sent 1 argument: Argument : $ip (string) The post author IP address. Example: /** * Overrides localhost IP address. * * @param string $ip The post author IP address. * @param int $post_id The post ID. * @return string */ function customize_post_author_ip( $ip, $post_id ) { if ( 0 === strpos( $ip, '192.168.' ) ) { $ip = '192.168.1.1'; } return $ip; } add_filter( 'c2c_get_post_author_ip', 'customize_post_author_ip', 10, 2 ); c2c_post_author_ip_allowed (filter) The ‘c2c_post_author_ip_allowed’ filter allows you to determine on a per-post basis if the post author IP should be stored. Your hooking function can be sent 3 arguments: Arguments : $allowed (bool) Can post author IP be saved for post? Default true. $post_id (int) The post ID. $ip (string) The post author IP address. Example: /** * Don't bother storing localhost IP addresses. * * @param bool $allowed Can post author IP be saved for post? Default true. * @param int $post_id The post ID. * @param string $ip The post author IP address. * @return string */ function disable_localhost_post_author_ips( $allowed, $post_id, $ip ) { if ( $allowed && 0 === strpos( $ip, '192.168.' ) ) { $allowed = false; } return $allowed; } add_filter( 'c2c_post_author_ip_allowed', 'disable_localhost_post_author_ips', 10, 3 );