Hide My WP: Add-on WordPress Security Plugin | Hide wp-admin & Login URL and 40+ Features

Affiliate disclosure v3.1
Affiliate disclosure v3.2 (mobile)

Hide My WP (Hide My WordPress) changes or hides the WordPress login URL, wp-admin, and theme and plugin paths, and with these main features and add-ons it can be counted among WordPress security plugins. Because WordPress leaves its login address, wp-admin, in plain view, you can hide it with a security plugin that strengthens protection.

Among them, Hide My WP is a paid plugin that, beyond hiding the login URL and wp-admin, supports some 40 features such as changing theme and plugin paths, intrusion detection and IP blocking, and turning off XML-RPC.

1️⃣ Hide My WP Settings Screen

The [Settings] screen of the Hide My WP plugin is split into six tabs: Start, Hiding, Permalinks, Protection, Cleanup, and Replace. The login URL and hiding options are on the [Hiding] and [Permalinks] tabs, and XML-RPC is on the [Cleanup] tab.

Hide My WP Settings Simulator
Clicking [See More] opens that log list.
Each row has [Exclude], [Ban IP], [Delete], and [Filter] buttons.
[Whitelist this IP], [Delete], and [Filter by Source] change the list.
[Feedback] goes to the developer's external roadmap URL, which shows [Page not found].
[Manual Configuration] opens, in a new tab, the rules to add to .htaccess by hand.
Every field can be changed; change the four yellow fields and click [Save Settings] to update the logged-out visitor's view below.
Admin screen — Hide My WP › Settings
Dashboard
Your website may be visible to hackers and detectors. Click on "Show Fixes" to fix 1 issues we have detected.
  • Your full hide is disable, Wapplyzer will detect you are using WordPress.
12
Blocked Attack Chart
IDS Attack Blocked
02468101207 Oct 202608 Oct 202609 Oct 202610 Oct 202611 Oct 202612 Oct 202613 Oct 2026Attack BlockedDate
NameValueImpact / TotalIPDate
get-file../../../../etc/passwd25 / 50198.51.100.44Oct 13 2026
request-file../../../../etc/passwd25 / 50198.51.100.44Oct 13 2026
get-id1' UNION SELECT user_login,user_pass FROM wp_users--34 / 68198.51.100.9Oct 13 2026
request-id1' UNION SELECT user_login,user_pass FROM wp_users--34 / 68198.51.100.9Oct 13 2026
get-salert(document.cookie)25 / 50203.0.113.140Oct 13 2026
request-salert(document.cookie)25 / 50203.0.113.140Oct 13 2026
get-salert(document.cookie)25 / 50203.0.113.77Oct 13 2026
request-salert(document.cookie)25 / 50203.0.113.77Oct 13 2026
get-salert(document.cookie)25 / 50203.0.113.25Oct 13 2026
request-salert(document.cookie)25 / 50203.0.113.25Oct 13 2026
5
IP Blocked Attack Chart
IP Attack Blocked
0.00.20.40.60.81.007 Oct 202608 Oct 202609 Oct 202610 Oct 202611 Oct 202612 Oct 202613 Oct 2026Attack BlockedDate
IPDate
203.0.113.10Oct 09 2026
198.51.100.44Oct 10 2026
203.0.113.140Oct 11 2026
198.51.100.9Oct 12 2026
203.0.113.25Oct 13 2026
HMWP IDS Log
NameValuePageImpact / TotalIP / UserDate
GET.file
| |
../../../../etc/passwd/?file=../../../../etc/passwd25 / 50198.51.100.44
Guest

KR
October 13, 2026 2:16 pm
REQUEST.file
| |
../../../../etc/passwd/?file=../../../../etc/passwd25 / 50198.51.100.44
Guest

KR
October 13, 2026 2:16 pm
GET.id
| |
1' UNION SELECT user_logi...
/?id=1%27%20UNION%20SELECT%20user_login,user_pass%20FROM%20wp_users--34 / 68198.51.100.9
Guest
October 13, 2026 2:16 pm
REQUEST.id
| |
1' UNION SELECT user_logi...
/?id=1%27%20UNION%20SELECT%20user_login,user_pass%20FROM%20wp_users--34 / 68198.51.100.9
Guest

KR
October 13, 2026 2:16 pm
GET.s
| |
alert(document.cookie)/?s=%3Cscript%3Ealert(document.cookie)%3C/script%3E25 / 50203.0.113.140
Guest

KR
October 13, 2026 2:16 pm
REQUEST.s
| |
alert(document.cookie)/?s=%3Cscript%3Ealert(document.cookie)%3C/script%3E25 / 50203.0.113.140
Guest

KR
October 13, 2026 2:16 pm
GET.s
| |
alert(document.cookie)/?s=%3Cscript%3Ealert(document.cookie)%3C/script%3E25 / 50203.0.113.77
Guest
October 13, 2026 2:16 pm
REQUEST.s
| |
alert(document.cookie)/?s=%3Cscript%3Ealert(document.cookie)%3C/script%3E25 / 50203.0.113.77
Guest

KR
October 13, 2026 2:16 pm
GET.s
| |
alert(document.cookie)/?s=%3Cscript%3Ealert(document.cookie)%3C/script%3E25 / 50203.0.113.25
Guest

KR
October 13, 2026 2:16 pm
REQUEST.s
| |
alert(document.cookie)/?s=%3Cscript%3Ealert(document.cookie)%3C/script%3E25 / 50203.0.113.25
Guest

KR
October 13, 2026 2:16 pm
GET.s
| |
alert(document.cookie)/?s=%3Cscript%3Ealert(document.cookie)%3C/script%3E25 / 50203.0.113.25
Guest
October 13, 2026 2:16 pm
REQUEST.s
| |
alert(document.cookie)/?s=%3Cscript%3Ealert(document.cookie)%3C/script%3E25 / 50203.0.113.25
Guest
October 13, 2026 2:16 pm
NameValuePageImpact / TotalIP / UserDate
* Value is sanitized for your safety
HMWP Blocked IP Addresses
(5) | (4) | (1)
5 items
203.0.113.10
|
October 9, 2026 6:30 pm
198.51.100.44
|
Outside Allowed CountriesOctober 10, 2026 3:17 am
203.0.113.140
|
Blocked CountriesOctober 11, 2026 10:05 pm
198.51.100.9
|
Trust NetworkOctober 12, 2026 9:41 am
203.0.113.25
|
Manual BlockingOctober 13, 2026 2:20 pm
app.loopedin.io/wpwave#ideas
ⓘ
Page not found
The page you are looking for doesn't exist.
Here are some helpful links:
Back to Hub
Manual Configuration
In rare cases you need to configure it manually.
  1. If you use BulletProof Security plugin, first secure the htaccess file using it and then add the following lines to your htaccess file using FTP.
  2. You may need to reconfigure the server whenever you change settings or activate a new theme or plugin.
  3. Add these lines right before: RewriteCond %{REQUEST_FILENAME} !-f. Next, you may want to change htaccess permission to read-only (e.g., 666)
Hide My WP
Settings was updated successfully!
Start
Purchase Code
Enter your Purchase Code to make sure everything work as expected. Get it.
Import Options
Paste your settings code below or choose a pre-made settings scheme.
Export Options
Copy your export code and save it somewhere for later use.
Debug Report
Provide above report to support team to get better and faster service.
Quick Fix Guide
▸ Video Tutorials
  1. Make sure you have a writable htaccess file (if you use Apache) or configured your web server manually (if you use Nginx, IIS or enabled multi-site). Follow installation guide for details.
  2. Disable features which have an asterisk(*) in their names or use a more compatible settings scheme.
  3. See Frequently Asked Questions for common issues.
  4. To remove remained WP footprints use Replace Tools
  5. Use our dedicted Support Forum for other issues
Undo Settings
Click above to restore previous saved settings!
Clean Uninstall
Hiding
Hide Login Page
Login Query
Login parameter for protected login address (default: hide_my_wp) e.g. wp-login.php?hide_my_wp=ADMIN_KEY
Admin Login Key
Current Login url: /wp-login.php?hide_my_wp=1234 (Save changes to update) Want something like "/login"? Change New Login Path (Permalinks tab)
Hide Admin
Spy Notify
Anti-Spam
Full Hide
Hide Online Detectors
Hide Other Files
Directory List
Canonical Redirect
Hide Admin Bar
404 Page Template
Custom 404 Page
We use this as 404 page.
Trusted User Roles
Choose trusted user roles. (Administrator are trusted by default)
Replace Mode
How should we replace old URLs? (Use Full mode with cache)
Customized htaccess
CDN Path
Enter your main CDN address
Email sender nameWill be deprecated in next release.
e.g. John Smith
Email sender addressWill be deprecated in next release.
e.g. info@example.com
Hide PHP Files
Exclude Files
Except these PHP files (or folders). Separate with ,
Exclude Theme
Exclude Plugins
Permalinks
New theme path
e.g. "/template"
New style name
e.g. "main.css" (Require New theme name)
Style Expiry Header
(in days) for browser caching
Auto Configuration
New wp-includes path
e.g. "/lib"
New plugin path
e.g. "/modules"
Rename Plugins
New upload path
e.g. "/file". If your theme or your image plugins uses TimThumb (check source code) read here.
Post Comment
Change "wp_comments_post.php" URL (e.g. "/user_submit" or "/folder/user_submit.php").
AJAX URL
Change wp-admin/admin_ajax.php URL (e.g. "/ajax" or "ajax.php").
New wp-content path
e.g. "/inc" You usually do not need to use it. Only useful for some kinds of plugins (cache, gallery)
Change Login URL
Change wp-login.php e.g. login
New wp-admin Path*
Change "https://uknew.co/wp-admin" (e.g. panel, cp). REQUIRE to update wp-config.php manually
API
API Base
Change "/wp-json/" (e.g. rest, api). NOTE: Please flush the rewrite rule.
API Query
Change /?rest_route=1 (e.g. rest_api).
Author
Author Base
Change "/author/username" (e.g. user, profile, members/editrs/).
Author Query
Change /?author=1 and /?author_name=username (e.g. u, user, member).
Author without base
Feeds
Feed Base
Change /feed (e.g. xml, rss, index.xml).
Feed Query
Change /?feed=rss2 (e.g. xml, rss, sitefeed).
Post
Post Permalink
Post Query
Change /?p=1 (e.g. article_id, news_id or pid).
Page
Page Base
Change /sample-page to /X/sample-page (e.g. pages, static).
Page Query
Change /?page_id=1 or /?page_name=about (e.g. pages).
Paginate
Paginate Base
Change /page/2 (e.g. pages, go).
Paginate Query
Change /?paged=2.
Category
Category Base
Category Query
Change /?cat=1 or /?category_name=uncategorized (e.g. topic).
Tag
Tag Base
Tag Query
Change /?tag=tag1 (e.g. keyword, find).
Search
Search Base
Change /search/keyword (e.g. find, s, dl).
Search Query
Change /?s=keyword (e.g. find, s, dl).
Search base redirect
Disable Archive
Disable Other WP
Protection
Enable IDS
IDS Mode
Alert Email
Send IDS email alerts to this email
Enable IDS For
Monitor potential dangerous requests.
Track Admin
Monitor Cookies
Logs
Log Threshold
Minimium total impact to log the request. 0 to disable logging.
Block Threshold
Minimium total impact to block request with a 404 page. 0 to disable blocking *
Notify Threshold
Minimium total impact to notify you about the request by an email. 0 to disable notifing.
Exception fields
Define fields that will be excluded from PHPIDS. One field per line. e.g. POST.my_field wildcard example: %.hide_my_wp.% You may need to add each field several times (GET.my_field and REQUEST.my_field)
HTML fields
Define fields that contain HTML and need preparation before hitting the PHPIDS rules. One field per line. Note: Fields must contain valid HTML
Show wp-admin only allowed IP's
Allowed IP's for wp-admin
Separate with , e.g. 203.0.113.3, 203.0.113.*, 198.51.100.1/24
Enable trust network
Participate in Trust Network
Scan My WP Whitelist
Blocked IPs
Separate with , e.g. 203.0.113.3, 203.0.113.*, 198.51.100.1/24 Do not enter your own IP for testing purposes!
Blocked Message
This message will be shown to blocked IPs. HTML is allowed.
Blocked Countries Code
Visitors from these countries will be blocked. Use ISO-2 code list. Separate with , e.g. US, UK, CA. Best result for less than ~100K visits/day
Allowed Countries Code
Only visitors from these countries will be allowed. Use ISO-2 code list. Separate with , e.g. US, UK, CAThis option will override `Blocked Countries Code` Leave blank for allow all countries.
Cleanup
Minify HTML
Remove comments and whitespaces from HTML (Use with cache).
Minify style
Remove theme info and other comments from stylesheet. (Require new style name)(Use with cache!).
Replace \/ URLs
Choose if you see Javascript URLs (e.g. \/wp-content\/themes)
Feed Meta
Other Meta
Default Tagline
Remove Version
Body Classes
Menu Classes
Post Classes
Clean up other
Replace in AJAX
Change Nonce
Disable XML RPC
Internal CSS
Useful to paste internal CSS code (Require New Theme Path)
Internal JS
Useful to paste internal JS code (Require New Theme Path)
Replace
Replace in HTML
Do not use this to change URLs
Use [bslash] for '\'
Base on OSes multiple lines queries may work or not so please check.'
Replace URLs
Use this only to change URLs.
Relative path base on WP directory. e.g. wp-content/plugins/woocommerce/assets/css/woocommerce.css Replace ec.css
You can also replace some kind of custom paths
Add '/' at the end of the first path to change all files at the folder.
Logged-out visitor's view — requests with the saved settings
302 → 200Redirects to /wp-login.php
It goes to the login screen, the same as default WordPress.
302 → 200
With Hide Admin off, /wp-admin/ points to the hidden login URL, which cancels out the URL change.
404
Page not found
The theme's 404 page
To visitors who are not logged in, /wp-admin/ looks like a page that does not exist.
200
The login screen opens at the default login URL.
404
Page not found
The theme's 404 page
With Hide Login Page on, the default login URL returns a 404.
200
The login screen opens at the changed login URL.
404
Page not found
The theme's 404 page
Change Login URL is empty, so this URL is a page that does not exist.
200
The backup URL opened with Login Query and Admin Login Key shows the login screen under any setting. Change the key from the default 1234.
200
faultCode 403
faultString Incorrect username or password.
With XML-RPC on, it answers whether a username and password are correct without going through the login screen. Changing the login URL does not change this.
405
faultCode 405
faultString XML-RPC services are disabled on this site.
With Disable XML RPC on, requests that need a login are refused.

Even with the Purchase Code field on the [Start] tab left empty, the login URL change, hiding, and XML-RPC settings covered in this post were saved and worked. Hide My WP is a paid plugin sold on CodeCanyon.

2️⃣ Changing the Login URL

  • ↪️ Hide Login Page and Change Login URL

Turning on Hide Login Page on the [Hiding] tab makes the default [wp-login.php] return a 404, and the Login Query and Admin Login Key fields expand as soon as you check it.

Enter a new URL such as newlogin in Change Login URL on the [Permalinks] tab and save, and the login screen opens at that URL. If you leave the new URL empty, you can only log in through a backup URL with Login Query and Admin Login Key attached, such as [wp-login.php?hide_my_wp=1234]; since this backup URL opens under any setting, change the key from the default 1234.

3️⃣ Hide Login Page & Hide Admin Settings

Hide Login Page hides the login screen, and Hide Admin hides /wp-admin/, the admin screen URL.

If you hide only the login screen, WordPress sends a logged-out visitor who opens /wp-admin/ to the changed login URL, exposing the new URL. It is like changing the code on the front door while the security desk still gives the new code to anyone who asks.

🧭 How a hidden login URL gets exposed
Explainer diagram
🔐 Hide Login Page
↓
Opened while logged out
/wp-login.phpDefault login URL
Login screenNonexistent page
/newloginChanged login URL
Login screen
🛡️ Hide Admin
↓
Opened while logged out
/wp-admin/Admin screen URL
Goes to the login screenGoes to the new login URLNonexistent page
With both settings off, it behaves like default WordPress: opening /wp-admin/ goes to the login screen (302), and /wp-login.php also opens the login screen.
With only Hide Admin on, /wp-admin/ becomes a nonexistent page (404), but the default login URL /wp-login.php still opens.
Hiding only the login screen makes /wp-login.php a nonexistent page (404), but a visitor who opens /wp-admin/ is sent to the changed login URL (302) and learns the new URL.
With both on, /wp-admin/ and /wp-login.php both become nonexistent pages (404), and only an administrator who knows the changed URL opens the login screen.

Turning on Hide Admin as well makes /wp-admin/ look like a nonexistent page (404) to visitors who are not logged in, so they cannot find the new login URL.

4️⃣ Turning Off XML-RPC

Even with the login URL hidden, [xmlrpc.php] remains another entrance that accepts a username and password.

Turning on Disable XML RPC on the [Cleanup] tab refuses requests that need a login with a 405 and [XML-RPC services are disabled on this site.], but the [xmlrpc.php] file itself keeps responding. To keep requests from reaching PHP, block it in the server configuration.

Unchecking Disable XML RPC and saving can leave the setting on, so after saving, check once more with an actual response.

5️⃣ .htaccess Rules Left After Deactivating Hide My WP

When you click [Save Settings], Hide My WP adds a rule for the new login URL inside the WordPress block of .htaccess.

# .htaccess — line added after saving Change Login URL as newlogin
RewriteRule ^newlogin /wp-login.php?zV_hide_my_wp=1234 [QSA,L]

Even after the plugin was deactivated, this line stayed in .htaccess, and the login screen kept opening at the changed URL. When removing the plugin, delete this line from .htaccess and save.

ℹ️ Affiliate Disclosure
This site's content contains affiliate links. When a visitor buys a product or service through one of them, the site receives a commission from the seller. The amount the buyer pays(it goes down during event discounts ↓)does not go up. Posted prices, discounts, and stock reflect the time of writing and may differ, so confirm with the seller before buying. Products are chosen and reviewed by our own standards, and commissions do not affect the order or content of reviews.

Leave a Reply

Your email address will not be published. Required fields are marked *

Prove your humanity: 6   +   2   =