Skip to content

Everything for WordPress, web development — and beyond

🛡 How to hide your WordPress theme name: a complete guide

🛡 How to hide your WordPress theme name: a complete guide

Your WordPress site is ready: content uploaded, design polished. You open the page source and the theme name appears in a dozen places: stylesheet paths, body classes, folder structure. For a client project or commercial site, this looks sloppy at best.

The bigger problem: once an attacker knows the exact theme name, they can look up known vulnerabilities for that specific theme and target your site. This is especially true if the theme hasn't been updated in a while or came from a questionable source.

We'll close this gap using two approaches: quick (plugin, 5 minutes) and manual (full control, but requires file access). Below are both methods with exact steps that work on any modern WordPress version.

💡 Quick overview:

  • The WP Hide plugin masks paths to themes, styles, and plugins automatically: install, configure, done.
  • Manual renaming via FTP: change the theme folder name, edit style.css, reactivate, and the theme becomes invisible to detectors.
  • Remove the theme name from the footer through the Customizer (no code) or by editing footer.php (full control).
  • Before editing any files, make a full site backup.

Why hide the theme name at all?

WordPress exposes theme information in several places by default. In the page HTML, the stylesheet path looks like /wp-content/themes/my-theme/style.css, and the body_class attribute often contains a string like theme-my-theme. Any theme scanner (WPThemeDetector or What WordPress Theme Is That, for example) reads these signatures in seconds.

For a throwaway blog, this isn't a problem. But for a business site, online store, or client project, an exposed theme name creates three risks:

  • Targeted attacks. An attacker searches vulnerability databases (WPScan, CVE) for known flaws in that specific theme and tries exploits. If the theme is popular and hasn't been updated, the chances of success are high.
  • Social engineering. A client or competitor sees you're using a free theme with 3,000 installs, and trust in your site drops.
  • Automated harvesting. Bots scan millions of sites by theme and plugin signatures to compile lists of potential targets.

One additional point: renaming your theme is completely legal. WordPress is distributed under GPLv2, so you can modify the theme however you like, including the folder name and style.css contents. Themes from the official WordPress.org catalog are licensed under the same terms.

One important note: if you use a child theme, you need to rename both the parent and the child. Otherwise the link between them breaks and the child theme stops working.

This video demonstrates both methods in action: configuring WP Hide and manually renaming the theme via FTP. If you prefer visual instructions, seven minutes of screen time replaces reading the entire article.

Method 1: WP Hide & Security Enhancer, fast and code-free

The safest and fastest way to hide your theme name is to use WP Hide & Security Enhancer. The plugin works through WordPress filtering and URL rewriting: it doesn't touch your files or change your folder structure. Everything happens at the HTML output level.

Install the plugin the standard way: Plugins → Add New, search for WP Hide, click Install and Activate. After activation, a new menu item appears: WP Hide → General Settings.

WP Hide settings panel for masking theme paths

The plugin lets you change six key theme identifiers:

  • New theme path: changes /themes/my-theme/ to an arbitrary string like /templates/core/.
  • New stylesheet path: hides the real style.css URL.
  • Remove theme description from style.css: strips the header comment containing the theme name and version.
  • New child theme path: if you use a child theme, masks that too.
  • New child theme files path: masks the child theme's styles as well.
  • Remove child theme description: removes the last bits of metadata.

Fill in the fields with new values, click Save Changes, and be sure to clear all caches: plugin cache (WP Rocket, W3 Total Cache), server cache, and CDN if applicable. After clearing the cache, open the site in incognito mode and check the source code. The theme paths should now be unreadable.

According to the WordPress.org catalog as of June 2026, WP Hide has 50,000+ active installations and a 4.3/5 rating with 275+ reviews. The plugin is updated regularly; the latest release, 8.6.5, came out in April 2026 and added AI vulnerability scanning.

Bonus: the plugin also hides paths to plugins and the /wp-admin login page, providing comprehensive WordPress masking in one tool.

Method 2: Manual theme renaming when a plugin isn't an option

If you don't want to install another plugin or need full control over the process, rename the theme manually via FTP. This method requires caution: a mistake at any step can temporarily disable the theme, so make a full backup first.

Step 1: Rename the theme folder

Connect to your server using an FTP client (FileZilla is free and cross-platform) or your hosting file manager. Navigate to /wp-content/themes/ and rename your theme's folder.

Important: rename the folder BEFORE activating the theme for the first time. If the theme is already active, WordPress will reset its settings and switch to the default theme after renaming. In that case, simply reactivate the theme after step 3; Customizer settings will be preserved.

Step 2: Edit style.css

Open the renamed theme folder and find the style.css file. At the very top is a comment block with metadata:

1/*
2Theme Name: My Theme
3Author: Theme Author
4Version: 1.0.0
5*/

Change Theme Name to the new name (the same one you gave the folder). Save the file.

Step 3: Reactivate the theme

Go to Appearance → Themes. WordPress will show the theme under its new name marked "Inactive" (if you renamed an already-active theme). Click "Activate."

After these three steps, tools like WPThemeDetector can no longer identify the theme name through the HTML code. The theme itself works as before; all settings, Customizer options, and content remain intact.

There is one side effect: automatic theme updates will stop arriving. WordPress matches themes by folder name against the repository. After renaming, that link is broken. You'll need to update the theme manually: periodically check the theme's official page on WordPress.org and upload new versions via FTP.

If you use a child theme, first rename the parent folder and style.css, then the child. In the child theme's style.css, update the line Template: old-theme-name to the new parent name.

Many themes display their name at the bottom of the site: "Proudly powered by ThemeName" or simply a copyright with the theme name. You can remove this in two ways: simple (via Customizer) or through code.

Through the Customizer (no code)

Go to Appearance → Customize and look for a footer-related section. It's usually called Footer, Footer Bar, or something similar. Inside you'll find a toggle for "Show theme name" or a text field with copyright text. Turn off the toggle or replace the text with your own.

This method depends on your specific theme: some themes (Astra, GeneratePress, Kadence) give you full footer control from the Customizer; others (older or minimalist themes) do not.

Through footer.php (code)

If the Customizer doesn't help, edit the footer.php file. This is the main file responsible for footer output.

Connect to your server via FTP, navigate to the theme folder (/wp-content/themes/your-theme/), find footer.php, and download it for editing. Look for the fragment that outputs the theme name; it looks something like this:

1<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'textdomain' ) ); ?>">
2 <?php printf( __( 'Proudly powered by %s', 'textdomain' ), 'WordPress' ); ?>
3</a>

Delete this block or replace it with your own text. For example, just the company name:

1<span class="copyright">&copy; <?php echo date('Y'); ?> <?php bloginfo( 'name' ); ?></span>
2

Save the file and upload it back to the server. Check the site; the footer should be clean.

Important: before editing footer.php, copy the file to your child theme and edit the copy. Editing the parent theme directly means you'll lose changes on the next theme update.

If your hosting provider has disabled the theme editor in the admin panel (the Appearance → Theme File Editor button is missing or inactive), use FTP only. Some hosts disable the file editor for security reasons; this is normal practice, not an error.

⁉️🤔 Frequently asked questions

Is it legal to hide the WordPress theme name?

Yes, completely legal. Themes from the official WordPress.org catalog are distributed under the GPLv2 license, which permits modification, renaming, and distribution of modified copies. For commercial themes with proprietary licenses, read the specific theme's license agreement, but in most cases hiding the name is not prohibited.

Do I need to hide the theme name if my site is on good hosting with protection?

Hosting with a firewall and antivirus won't close a vulnerability in the theme's code; these are different layers of protection. Hosting blocks server-level attacks (DDoS, brute force), but an exploit targeting a known theme vulnerability operates at the application level. Hiding the theme name removes the easiest way to determine which exploits to try.

After renaming the theme, my Customizer settings disappeared. What should I do?

Customizer settings are tied to the theme name in the database. After renaming and reactivating, WordPress creates a new entry; old settings remain in the wp_options table under the old key. You can restore them: find the row with theme_mods_old-theme-name in wp_options and copy its value to theme_mods_new-theme-name. Alternatively, use the WP Hide plugin, which doesn't create this problem at all.

Do I have to rename the child theme too?

Yes, otherwise the parent theme name is still exposed. The child theme's style.css contains a line Template: parent-theme-name that references the parent folder. If the parent is renamed but the child isn't, WordPress won't find the parent, and the site will break. The order: parent first → update Template: in the child → rename the child.

Can I just delete the theme name line from style.css?

That's not enough. The theme name is exposed in the HTML code in at least three places: stylesheet URL, body classes, and wrapper IDs/classes. Simply deleting the comment from style.css removes only one of three signatures. You need either comprehensive masking with the WP Hide plugin or a complete folder rename followed by reactivation.

To hide or not to hide: the bottom line

If your site is your storefront, hiding the theme name isn't paranoia; it's basic hygiene. Spending five minutes on WP Hide & Security Enhancer removes the easiest attack vector while making your site's code cleaner for clients and competitors.

Choose the approach that fits your situation:

  • Minimal effort: install WP Hide. Setup takes five minutes, the plugin is free, and it's updated regularly.
  • Full control: manual renaming via FTP achieves the same results without an extra plugin but requires caution and manual theme updates going forward.
  • Footer only: if the goal is purely cosmetic, the Customizer or a single edit to footer.php is enough.

Regardless of which method you choose, make a full backup before you start, and then feel free to apply any of these methods.