Frequently Asked Questions

Does it physically change my WordPress folders and files?

No, everything remains in its default location and we just control access to them. This guarantees maximum compatibility.

I hide both wp-login and wp-admin but I still can see them. Why?

Because you are a logged in administrator! Log out and try again. Don't forget to save new login address somewhere.

What if I deactivate the plugin. Does it return everything back?

Absolutely ! Just deactivate it from admin panel and everything will revert back. If you use a cache plugin you may need to flush it. If the plugin was deleted or renamed suddenly you need to visit Settings ->Permalink page (just visit nothing more!) and everything will revert back, too!

Since version 4, you can undo to previous saved settings whenever you want.

It break my entire site! CSS and JS file can't be load anymore. Why should I do?

First follow quick fix guide. If it doesn't help this means you have a customized htaccess. Open your htaccess via a FTP program and follow below check list:

  • Make sure you only have ONE WP block. Delete FIRST one if you have more. WP blocks are something like below:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    [Maybe HMWP LINES]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    
  • Make sure HMWP lines are right before:
    RewriteCond %{REQUEST_FILENAME} !-f
  • If you see below lines comment all of them (add # before each line)
    RewriteCond [Something] 
    [One or more RewriteCond [Something]]
    RewriteRule .* index.php [L]
  • I can't login, what should I do now?

    When you hide wp-login.php you should add your admin key to login address:
    e.g. your-wp-path.com/wp-login.php?hide_my_wp=1234 (1234 is our default key).
    If you have any other problems simply use FTP or a file manager and rename the plugin folder to something else (in wp-content/plugins) it will deactivate the plugin.

    Does it works with Nginx?

    Since version 1.5 Hide My WP supports Nginx. You need to have write access to Nginx config file. Please note using Multi-site on Nginx is not officially supported yet but if you can convert htaccess rules to Nginx you may make it work.

    Does it works with other security plugins? (e.g. Better WP Security, Wordfence, BulletProof)

    Yes, it does :)

    Just make sure you didn't enable common features in both plugins at the same time. For example in case of Better WP Security: See this screenshot: http://wpwave.com/envato/hmwp/bws.gif (More details)

    Does it affect on my site speed? (probably because 30x redirects)

    Hide My WP doesn't use any 30x redirect, instead it uses rewrite rule that is internal and doesn't have any affect in speed! However speed may be decreased when you have lots of plugins and need to enable compatible modes. You can always choose between quick and compatible modes base on your needs. Anyway, disabling ‘Compress Page/Minify stylesheet' or using a caching plugin (even a simple one!) is a “perfect solution” for any worry about performance.

    Does it work with multi-site and network?

    Yes, it does! It supports both sub-domain and sub-directory multi-sites. Site admin should use network admin panel to configure HMWP for the entire network.
    The only notable thing is that you need to access FTP to update htaccess manually. Also, for performance reasons we don't hide theme names however you can simply rename theme folders using FTP.

    Does it affect SEO?

    If you're not going to change main content URLs (post, category, tag or author and feed) the answer is no. You shouldn't have any SEO problem.
    Please note HMWP just override the same WP default permalink settings for post, categories and tags. So even without this plugin if you change those settings it may affect your rank. Of course, you can use HMWP without changing any content URL.

    I still can see wp-login.php and hide_my_wp=1234 (admin key) in source code. Why?

    Well, this is our logic: If you link to those URLs and allow others to see ‘wp'-login.php and they know you use WordPress so there is no problem if they see your admin key, too. Admin key is not a Password. It just allows us to hide WordPress. You hided wp-login.php and link it in your site. Now, how users can login without admin key? Do you want to redirect them to a not found page?

    From another aspect, hiding login URL from public visitors increases security but it should be done by yourself. You should remove meta widget or any login links from your theme.

    You can also change login address to something else: Theme My Loginis a free plugin and works beside Hide My WP: http://www.wordpress.org/extend/plugins/theme-my-login

    Does it support IIS (Windows Servers) ?

    Since v4 HMWP officially supports IIS. Just save settings, go to Start tab click on IIS configuration button and follow guide to update web.config file. web.config located in WP root directory and you should use FTP to update it. Note that you may need to update this file whenever you change settings or install a new plugin or theme.

    Does it works with TimThumb image resizer?

    Sure, but please note you need to use “relative” URLs for it. You can use Replace in HTML feature to convert current image URLs to relative URLs. If timthumb.php location is similar to following pattern:

    wp-content/(themes OR plugins)/PLUGIN_OR_THEME_NAME/timthumb.php

    Using following rule for Replace in HTML should solve the problem (DELETE ALL SPACES).

  • timthumb.php?src [equal] http://YOUR_SITE.com/NEW_UPLOAD_PATH = timthumb.php? src [equal] .. / ../ uploads

  • If timthumb file is located in a deeper path you need more '.. /' as an example for wp-content/themes/mytheme/includes/timbthumb.php you should have 3 '.. /' in your rule.

    PS:
    - NEW_UPLOAD_PATH is your current upload path e.g. “file” - Base on locations and files name it may have little differences in your site. So check out your source code carefully.
    - Make sure you disabled avoid direct access to PHP files or added TimThumb file or theme folder to white list.

    Does it works with CDN services?

    Yes, it works and lots of our customers use it. We have different types of CDN: pulling and pushing. Here is the list of famous CDN companies:

    Pulling (recommended): Akamai, Amazon CloudFront, Cotendo (Akamai), AT&T, Generic Mirror, MediaTemple ProCDN / EdgeCast, NetDNA, MaxCDN.

    Pushing: Amazon CloudFront, Amazon Simple Storage (S3), Microsoft Azure, Rockspace Cloud files, any FTP based CDN.

    HMWP works well with ‘pulling' method. You only need to change site URLs to their CDN versions:
    domain.com/SKIN/=cdn.domain.com/SKIN/
    domain.com/STORAGE/=cdn.domain.com/STORAGE/
    domain.com/LIB/=cdn.domain.com/LIB/
    domain.com/MODULES/=cdn.domain.com/MODULES/
    
    (skin, storage, lib and modules are our new paths. They should be changed base on your current configuration. cdn.domain.com may be different for you: e.g. c54342mfi77.cd.maxcdn.com)

    Pulling is a common and recommended method because it doesn't need to upload files manually and also uses less disk space. Just add above rules to ‘Replace in HTML' field and you won't need any other CDN plugin.

    It's also possible to make pushing CDNs work with HMWP but it needs more attempt: After changing file URLs with CDN URLs (like above) you should upload folders to CDN server base on HMWP structure (e.g. /template instead of wp-content/themes). Another possibility is uploading HMWP htaccess file to the CDN server without changing default WP structure but there's no guarantee that your CDN company support this method.

    Does it works with WPEngine?

    Yes it works! WPEngine does not allow to change Nginx configuration file instead you can add Nginx rules via redirect section in your WPEngine panel.

    First click on Nginx configuration in Start tab. If you don't see it go to following address:

    http://domain-wp.com/wp-admin/options-general.php?page=hide_my_wp&nginx_config=1

    (In multi-site add &nginx_config=1 to the end HMWP settings URL)

    Next, go to ‘Redirection' menu in your WPE panel and add each line of Nginx configuration rules as a redirection rule. Source and destination separated with a space. First is source and second is destination. Use ‘break' type instead of ‘last'.

    Read more below (see last example):

    http://support.wpengine.com/redirect/

    I use a Minify plugin to compress JS and CSS files but it doesn't work with HMWP. What can I do?

    Just like TimThumb plugin WP Minify can't load virtual addresses. We can't use Replace in HTML here because folders are various (lot of different folder for plugins)

    If you use latest version of Better WP Minify, just enable pretty minify URL and change path of minify directory. That's all! For example change wp-content/cache/minify to /cache/m/ (create those directories manually. They should be writable)

    For other plugins, you can fix the problem by adding two (or more rules) to “Replace URLs” field (one for each minified URL ).

    For example for a JS add this rule: (note that first part starts with wp-content not http://)
    wp-content/plugins/minify/min/?f=wp-includes/js/jquery/jquery.js,wp-content/plugins/oqey-gallery/js/oqey-js-drag-iphone.js,wp-content/uploads/2012/04/orphus.js&m=1376074032==MY_JS.php
    
    ...and another rule for styles:
    wp-content/plugins/minify/min/?f=wp-content/themes/gearshout-wordpress-theme-updated/gearshout/style.css,wp-content/themes/gearshout-wordpress-theme-updated/gearshout/woocommerce.css&m=1376074032==MY_CSS.php
    
    You should find YOUR OWN minify URLs at the top of your source code and then replace it in above examples. (MY_JS and MY_CSS are your favorite names for CSS/JS files and '==' is separator).

    You need to find old URLs so first DISABLE HMWP and find minified JS and CSS URLs in your source code (usually long URLs with /min/?f=wp-content). Pretty URL in minify plugin should be disabled. Remove site address from them and finally use above patterns in Replace URLs. Flush your cache (if you use) and see the result.

    PS:
    - Minification is a complex task. Sometimes even without HMWP it fails (because of other plugins or theme) so before making a support request make sure everything works well if you disable HMWP.
    - This was tested with wp-minify and Better WP Minify (Read here, too)
    - If you enabled new theme or plugin you need to check your source code again and change old URL with new one.

    Does it compatible with W3 Total Cache?

    Yes, it's. But if you want to enable Minify module you need to update to v2.1+ and follow below instruction to let W3TC load new URLs.

    Go to wp-content/plugins/w3-total-cache/inc/define.php and replace* this line:
    function w3_normalize_file_minify($file) {
    with
    function w3_normalize_file_minify000($file) {

    You may also need to disable ‘Rewrite URL structure' from Minify page and finally ‘Empty All Caches' to see the result.

    PS:
    • To change a file you can use default WP plugin editor, FTP or a file manager provided by your host.
    • Unfortunately there's no other way because W3TC has very limited API to change its behaviour.
    • Credit links in the source code can't be removed by Replace in HTML. Instead, it will be automatically removed by default for all visitors and untrusted users.

    How to update the plugin?

    You can easily do it from wp-admin:

    1. Export previous settings (optional)
    2. Deactivate the plugin
    3. Delete the plugin
    4. Install new version using WP plugin upload tab (and activate it)
    5. Import previous settings (optional)

    I still see some WordPress footprints in my source code. How can I hide them?

    Just make sure you chosen ‘Full Page' as Replace Mode. In most cases this solve your problem and you don't need to continue!

    More Details: If there's still some WP related code you can use Replace in HTML to change them. For example to change this:

    div class = 'My_WP_THEM'

    Just add this rule to Replace in HTML:

    My_WP_THEM=My_Site

    Note that if previous word is class or id (like above) that word may be used by the theme or plugins for a specific purpose so after changing it make sure everything works well. If not you need to replace (for example) My_WP_THEM with My_Site in all stylesheets or scripts of your theme or plugin manually. This need a little knowledge of coding so if you're newbie it's better to ignore it.

    To REMOVE something from your source code just leave the second part blank:

    My_WP_THEM=

    Important: You should NEVER use Replace in HTML to change URLs. However, you can use it to remove URLs. Note that you may change URLs accidentally for example if there's a URL like below in your source code: domain.com/My_WP_THEM/js/ it will be changed to domain.com/My_Site/js/ and this will break it! To avoid such problems you need to choose first part of your rules carefully. If we add some more characters (here ” “) to first example this problem will be solved:

    "My_WP_THEM"="My_Site"

    To change URLs use Replace URLs. It's similar to Replace in HTML but it use '==' as separator. The point here is that first part should be base on WP root directory. First part usually starts with something like wp-content and NOT http://domain.com or < ? php echo … ?> (!!).

    Here's a sample code for Replace URLs that will rename Woo Commerce assets files:

    wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css == shop_lt.css
    wp-content/plugins/woocommerce/assets/css/woocommerce.css ==shop.css
    
    wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css == shop-sm.css
    

    PS: You can change second part (like shop.css) to anything else.

    I tested my site in a CMS finder tools but it still can discover WP. Why?

    First try our demo site (http://hide-my-wp.wpwave.com)! You probably see that those apps can't find WP in our site!

    Why it works for us and not for you? Our demo site doesn't have any additional feature. In fact, it mainly depends on your configuration. We don't know how those apps really work but enabling more options always help. Do not forget to check your site appearance after each change.

    There's one more important thing to know: those sites usually uses a cache mechanism. This means it may take some days (or few weeks) to see your applied changes.

    Why that CMS finder tools still find WP on my site?

    First, try our demo site (http://hide-my-wp.wpwave.com) You probably see those apps can't find WP on our site! Our demo site doesn't have any additional feature. We use the highest privacy mode but you usually don't need that as it may cause incompatibility with other plugins with no gain.

    Why it works for us but not for you?
    • It's important to know those sites usually use a caching mechanism. This means it may take some days (or even weeks) to see your applied changes. (e.g. builtwith).
    • CMS finder tools can find WordPress not only by its footprints but by known plugins which indicate this is a WordPress site. Technically, it's not possible for HMWP to hide all plugins but it provides some tools which help you.
    • CMS finder tools update their systems time to time. We even know some of them check out our source code to find how we hide WP and then change their algorithms base on that! From other hand, we update HMWP base on our understanding of their algorithms.
    • There are other technical limitations here. In other words, Hide My WP can hide WordPress but at the end, it may not be able to change the truth you use WordPress.