{"id":614,"date":"2026-07-01T03:28:38","date_gmt":"2026-07-01T03:28:38","guid":{"rendered":"https:\/\/brutefort.com\/blog\/how-to-block-ip-address-wordpress\/"},"modified":"2026-07-15T13:47:21","modified_gmt":"2026-07-15T13:47:21","slug":"how-to-block-ip-address-wordpress","status":"publish","type":"post","link":"https:\/\/brutefort.com\/blog\/how-to-block-ip-address-wordpress\/","title":{"rendered":"How to Block an IP Address in WordPress (And Whitelist Trusted Ones)"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1125\" height=\"750\" src=\"https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/pexels-photo-442150.jpeg\" alt=\"Firewall network diagram representing WordPress IP blocking and access control\" class=\"wp-image-613\" srcset=\"https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/pexels-photo-442150.jpeg 1125w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/pexels-photo-442150-300x200.jpeg 300w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/pexels-photo-442150-1024x683.jpeg 1024w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/pexels-photo-442150-768x512.jpeg 768w\" sizes=\"auto, (max-width: 1125px) 100vw, 1125px\" \/><figcaption>Photo by Pixabay from Pexels<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The same IP address keeps showing up in your login logs, hour after hour, even after a lockout period ends. That&#8217;s not bad luck. It&#8217;s a persistent attacker who already found your site and isn&#8217;t giving up after one timeout.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every site with a public login page deals with this eventually. Temporary rate limiting alone won&#8217;t stop an IP that just waits out the clock and comes back.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide covers how to permanently blacklist an IP using BruteFort&#8217;s IP Settings panel, how to whitelist your own IP so you&#8217;re never locked out of your own site, and when to reach for geo-blocking instead of blocking IPs one by one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Quick Answer:<\/strong> Go to <strong>BruteFort \u2192 Settings \u2192 IP Settings<\/strong>, choose <strong>BlackList<\/strong> from the dropdown, enter the offending IP address, and click <strong>Add<\/strong>. The block takes effect immediately and stays until you remove it. Add your own IP under <strong>WhiteList<\/strong> first, so none of your blocking rules can ever lock you out.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When to Block an IP Address in WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Temporary lockouts from rate limiting handle the routine automated traffic. Permanent IP blocking makes sense in these situations:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The same IP appears repeatedly in your BruteFort login logs after each lockout expires \u2014 a sign of a persistent attacker rather than opportunistic bot traffic<\/li><li>You&#8217;ve confirmed via a lookup service like AbuseIPDB that the address is associated with known malicious activity<\/li><li>Suspicious IP activity appeared in your logs around the time your WordPress site was hacked or compromised<\/li><li>A specific IP is generating repeated requests that consume server resources even outside of login attempts<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to Block an IP Address with BruteFort<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">BruteFort&#8217;s IP Settings tab manages both blacklisting and whitelisting from a single interface. Here&#8217;s the process:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Go to <strong>BruteFort \u2192 Settings \u2192 IP Settings<\/strong><\/li><li>In the <strong>Choose Option<\/strong> dropdown, select <strong>BlackList<\/strong><\/li><li>Enter the IP address in the <strong>IP Address<\/strong> field (e.g. <code>45.123.221.24<\/code>)<\/li><li>Click <strong>Add<\/strong><\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"589\" src=\"https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-ip-settings.webp\" alt=\"BruteFort IP Settings panel showing the whitelist and blacklist IP manager table\" class=\"wp-image-669\" srcset=\"https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-ip-settings.webp 1024w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-ip-settings-300x173.webp 300w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-ip-settings-768x442.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The IP is now permanently blocked from your WordPress login page. It appears in the table below with its type (Blacklist), address, and date added.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> You can search and filter this table by type or IP, and delete any entry to unblock an address at any time.<\/p>\n\n\n\n<div class=\"wp-block-stackable-button-group stk-block-button-group stk-block stk-3a7f291\" data-block-id=\"3a7f291\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-button-group\">\n<div class=\"wp-block-stackable-button stk-block-button stk-block stk-9c04e6b\" data-block-id=\"9c04e6b\"><style>.stk-9c04e6b .stk-button{background:#f13434 !important;border-top-left-radius:var(--stk--preset--border-radius--small, 4px) !important;border-top-right-radius:var(--stk--preset--border-radius--small, 4px) !important;border-bottom-right-radius:var(--stk--preset--border-radius--small, 4px) !important;border-bottom-left-radius:var(--stk--preset--border-radius--small, 4px) !important;}.stk-9c04e6b .stk-button:before{border-color:#0f0e17 !important;}<\/style><a class=\"stk-link stk-button stk--hover-effect-darken\" href=\"https:\/\/brutefort.com\/blog\/best-security-plugins-wordpress\/\"><span class=\"stk-button__inner-text\">Get BruteFort Now!<\/span><\/a><\/div>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Finding IPs to Block Using the BruteFort Logs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">BruteFort&#8217;s Logs screen is the fastest way to find which IPs deserve a permanent block. Every lockout event is recorded with the IP address, number of failed login attempts, current status (locked or expired), and timestamp. IPs that appear multiple times \u2014 especially ones that return after each lockout period expires \u2014 are clear candidates for a permanent blacklist entry.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-logs.webp\" alt=\"BruteFort Logs table showing IP address, failed attempts, current status, and date created\" class=\"wp-image-667\" srcset=\"https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-logs.webp 1024w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-logs-300x141.webp 300w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-logs-768x361.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Search the logs by IP address to see the full attempt history for a specific address before deciding. An IP that triggered 3 lockouts across 3 days is worth blocking permanently. One that hit the limit once and never returned probably isn&#8217;t.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Whitelist Your Own IP for WordPress Admin Access<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before setting up aggressive blocking rules, add your own IP to the WordPress IP whitelist. Whitelisted IPs are completely exempt from rate limiting, lockout after failed login, and all blocking rules \u2014 meaning you can never accidentally lock yourself out of your own admin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The process mirrors adding a blacklist entry. Go to IP Settings, select <strong>WhiteList<\/strong> from the dropdown, enter your IP address, and click <strong>Add<\/strong>. Find your current IP by searching &#8220;what is my IP&#8221; in any browser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pro Tip:<\/strong> If you manage sites from multiple locations \u2014 office, home, client site \u2014 whitelist each IP separately so none of them ever get caught by a blocking rule.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">IP Blocking vs. Geo Blocking: Which to Use<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Individual IP blocking is precise and targets specific addresses. WordPress geo blocking login restrictions are broader \u2014 they block entire countries at once. If you&#8217;re seeing high attack volumes from regions where you have no legitimate users, WordPress geo blocking is more efficient than manually adding hundreds of individual IPs to a blacklist.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"589\" src=\"https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-geo-blocking.webp\" alt=\"BruteFort Geo Blocking panel with toggle, blacklist and whitelist mode, and country selector\" class=\"wp-image-670\" srcset=\"https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-geo-blocking.webp 1024w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-geo-blocking-300x173.webp 300w, https:\/\/brutefort.com\/blog\/wp-content\/uploads\/2026\/07\/brutefort-geo-blocking-768x442.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">BruteFort&#8217;s Geo Blocking tab supports both blacklist mode (block selected countries) and whitelist mode (allow only selected countries). The two systems complement each other: geo blocking filters at the country level first, and individual IP blocking handles specific addresses that slip through or originate from allowed regions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions About Blocking IPs in WordPress<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Can I block a range of IP addresses, not just individual ones?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BruteFort handles individual IP addresses. For blocking IP ranges or subnets using CIDR notation, server-level firewall rules via your hosting control panel or <code>.htaccess<\/code> are the right tool. BruteFort&#8217;s geo blocking provides an effective alternative for blocking large volumes of traffic by country rather than subnet.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does blocking an IP prevent them from visiting my whole site?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">BruteFort&#8217;s IP blocking applies to the login page specifically. A blocked IP can still browse your public content. Blocking access to your entire site from a specific IP requires a server-level or hosting-level firewall rule outside of WordPress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What if a legitimate user gets blocked by mistake?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Find the IP in the table and delete it \u2014 the block lifts immediately. To prevent accidental blocks on known users like agency clients or remote team members, add their IPs to the whitelist proactively. Whitelisted IPs are permanently exempt from all lockout and blocking rules regardless of failed login attempts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Is plugin-level IP blocking the same as a server firewall?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. A server firewall drops traffic before it reaches WordPress entirely. Plugin-level blocking happens at the WordPress application layer \u2014 the request still reaches your server first. It&#8217;s effective for login security, but for very high-volume attack traffic, a server firewall or CDN-level service like Cloudflare handles it more efficiently.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">IP blocking and whitelisting give you precise control over who can reach your WordPress login page. <a href=\"https:\/\/wordpress.org\/plugins\/brutefort\/\" target=\"_blank\" rel=\"noopener\">BruteFort<\/a> manages both from the IP Settings tab alongside rate limiting, geo blocking, and custom login URL \u2014 all the layers of WordPress login security in one free plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You might also like:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/brutefort.com\/blog\/how-to-limit-login-attempts-wordpress\/\">How to Limit Login Attempts in WordPress (Step by Step)<\/a><\/li><li><a href=\"https:\/\/brutefort.com\/blog\/wordpress-login-security\/\">WordPress Login Security: How to Protect Your Site from Unauthorized Access<\/a><\/li><li><a href=\"https:\/\/brutefort.com\/blog\/wordpress-site-hacked-symptoms\/\">WordPress Site Hacked? Here Are the Warning Signs to Look For<\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>WordPress has no built-in IP blocking. Here&#8217;s how to permanently blacklist problem IPs and whitelist trusted ones using BruteFort&#8217;s IP Settings panel.<\/p>\n","protected":false},"author":1,"featured_media":613,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-614","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-access-control"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/posts\/614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/comments?post=614"}],"version-history":[{"count":1,"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/posts\/614\/revisions"}],"predecessor-version":[{"id":695,"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/posts\/614\/revisions\/695"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/media\/613"}],"wp:attachment":[{"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/media?parent=614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/categories?post=614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brutefort.com\/blog\/wp-json\/wp\/v2\/tags?post=614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}