“Proudly powered by WordPress”.

If you’ve installed a free theme from the WordPress theme directory, you’ll probably have seen that message in the footer of your site. If you’re running the default theme, it’ll definitely be there. Or depending on your theme, it may have been replaced by a message telling visitors who the theme developer is.

But what if you don’t want an advert for WordPress, or for your theme developer, in your site? What if you’d rather keep the footer for information about you: your site, your business, and your brand?

The good news is that removing that “powered By WordPress” message isn’t difficult. The exact method you use will depend on the way the developer has added it to the theme, but with a little investigative work, it’s possible to work that out and remove the message.

So in this post, I’ll show you how to remove the “powered by WordPress” message and link. I’ll also discuss why you might – or might not – want to remove it.

Why You Might Want to Remove the “Powered By WordPress” Message

There are a number of scenarios in which you might want to remove the message.

Maybe you’ve created a highly bespoke design for your site which doesn’t look like typical WordPress, and you don’t want to shout about the content management system you’re using. Maybe you aren’t all that keen on telling everyone you’re on WordPress, helping potential hackers to predict the structure of your file system. (There are other ways to tell if a site is built on WordPress so this won’t completely hide the fact, but it might help.)

Or maybe you want to replace it with a link to your own site, if you’ve created a site for a client using a third party theme.

If one of these applies to you, or you’re simply not a fan of the “powered by” message, then you can remove it.

When You Might Not Want to Remove “Powered By WordPress”

Personally, I’m a big fan of WordPress, and I’m happy for people to know that.

I’ve used WordPress to build dozens of sites for myself and clients. and am grateful that there exists a free website platform that gives me almost limitless flexibility and operates under a license that lets me develop the sites I need to with no restrictions.

Even on client sites, I’m happy to keep the “powered by WordPress” message in there (and no client has asked for it to be removed yet). But I sometimes add to the message: after all, I want people to know who developed the theme and to be able to click through to my website.

Am I Allowed to Remove the Message?

People can sometimes be wary of removing the “powered by” message because they think they’re required to include it on their site.

It’s easy to see it in all of the default themes and assume it’s mandatory; that it’s a kind of payment for using WordPress.

This isn’t true. WordPress is distributed under the GPL license, which means you are free to amend and customize the software in any way you need to. That includes removing the “powered by WordPress” message and any other links to the WordPress site, such as the dashboard widgets in the admin screens.

So the quick answer is: yes, you are allowed to remove the message.

How Not to Remove “Powered By WordPress”

Before I show you how to remove the “powered by WordPress” message, let’s start by identifying a method you may have come across that you shouldn’t use.

This method is to hide the footer credits or the colophon by using CSS.

You may have seen guides telling you to simply use display:none for the relevant element in the customizer or in your theme. But there is a good reason why you shouldn’t do this, and that’s because it doesn’t actually remove the credit from your site. It just hides it from people using a normal web browser.

It doesn’t hide the message from search engines: instead, it tells them that you’re adding links to your site and then hiding them. This is suspicious activity, and something done by less-than-scrupulous SEO practitioners. It could adversely impact your search engine rankings.

It also doesn’t hide the message from screen readers being used by people with visual impairments. Meaning they aren’t getting the same experience of your site as other users. Which is bad for accessibility.

So don’t use CSS to hide the footer credit. I’m not even going to show you how it’s done, because you don’t need to know.

How to Remove “Powered By WordPress” with a Plugin

The quickest and simplest way to remove the “powered by WordPress” message can be using a plugin. Let’s take a look at the options available.

Remove Powered by WordPress

The Remove Powered by WordPress plugin does exactly what it says: it removes that message.

Activate the plugin, and it adds a checkbox to the Theme Options screen in the Customizer, which lets you toggle the “powered by WordPress” message on and off.

'Powered by WordPress' removed from the footer
“powered by WordPress” removed from the footer of the Twenty Nineteen theme

However this only removes the default “powered by WordPress” text: it doesn’t remove any custom message linking to the theme developer, as you can see below in a site with the Storefront theme activated for WooCommerce.

'Powered by WordPress' is not removed from the Storefront theme
“powered by WordPress” is not removed from the Storefront theme

To remove that, we need to use a plugin that lets you target specific text other than the default credits.

Remove Footer Credit

The Remove Footer Credit plugin lets you remove specific text or HTML in your footer. So if your theme developer has added a custom credit in the footer, you can tell the plugin to target that.

Once the plugin is activated, go to Tools > Remove Footer Credit to access the settings screen.

Remove Footer Credit settings screen
Remove Footer Credit settings screen

To make the plugin work, you’ll need to add not only the text in the credit but the HTML too. To grab this, open any page on your site in your browser, and inspect the code (the way you do this varies across browsers).

I’m using Chrome and have identified a link and text for the footer credit added by the Storefront theme:

The HTML added by the credit in the Storefront theme
The HTML added by the credit in the Storefront theme

Copy the entire line of HTML, including the link, and then paste that into the first field in the Remove Footer Credit settings screen:

Adding HTML to the Remove Footer Credit settings
Adding HTML to the Remove Footer Credit settings

Scroll down and click the Save button, then go back to your site and refresh the screen. You’ll find that the footer credit has disappeared:

The footer credit removed from the Storefront theme
The footer credit removed from the Storefront theme

You can also add your own alternative text by typing this into the second field. This can include links and other HTML: although I’d advise not going crazy!

How to Remove “Powered By WordPress” Manually

If you’re happy amending the code in your WordPress theme yourself, then it’s more efficient to remove the credit by editing the code in your theme or in a child theme.

If you’re working with your own custom theme, then go ahead and edit that. But if you’re using a third party theme that you installed from the theme directory or bought from a theme vendor, then you’ll need to create a WordPress child theme.

Let’s take a look at how you do it.

Identifying the Code

Before you can remove the message, you need to identify the code that displays it. This will vary according to your theme.

Let’s take a look at a couple of examples.

Here’s the code for the section of the footer (the colophon) that displays the link in the default Twenty Nineteen theme:

<footer id="colophon" class="site-footer">
 
 <?php get_template_part( 'template-parts/footer/footer', 'widgets' ); ?>
 
 <div class="site-info">
  <?php $blog_info = get_bloginfo( 'name' ); ?>
  <?php if ( ! empty( $blog_info ) ) : ?>
   <a class="site-name" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>,
  <?php endif; ?>
  <a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentynineteen' ) ); ?>" class="imprint">
   <?php
   /* translators: %s: WordPress. */
   printf( __( 'Proudly powered by %s.', 'twentynineteen' ), 'WordPress' );
   ?>
  </a>

  <?php
  if ( function_exists( 'the_privacy_policy_link' ) ) {
   the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
  }
  ?>

  <?php if ( has_nav_menu( 'footer' ) ) : ?>
   <nav class="footer-navigation" aria-label="<?php esc_attr_e( 'Footer Menu', 'twentynineteen' ); ?>">

   <?php
   wp_nav_menu(
    array(
     'theme_location' => 'footer',
     'menu_class'     => 'footer-menu',
     'depth'          => 1,
    )
   );
   ?>

  </nav><!-- .footer-navigation -->

 <?php endif; ?>

 </div><!-- .site-info -->

</footer><!-- #colophon -->

There’s quite a lot of code there. It produces a colophon that looks like this:

The footer in Twenty Nineteen
The footer in Twenty Nineteen

This footer includes the two widgets I’ve added to the footer widget area and a colophon that has the site name and the “powered by WordPress” message.

The code that displays the message is this:

<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentynineteen' ) ); ?>" class="imprint">
 <?php
 /* translators: %s: WordPress. */
 printf( __( 'Proudly powered by %s.', 'twentynineteen' ), 'WordPress' );
 ?>
</a>

If we wanted to override this, we’d have to directly edit the code, which isn’t a good idea. If you edit the footer.php file in the theme and then update the theme at a later date, your changes will be overridden by the new version of the footer file.

The way to edit or remove this message in the Twenty Nineteen theme (and other themes that code it directly into the footer) is by creating a child theme, duplicating the footer.php file from the parent theme (Twenty Nineteen) and editing that.

I’ll show you how to do that shortly, but first, let’s look at a theme that does it differently.

The Storefront theme, which is designed for WooCommerce stores and is also free, uses a function to display the footer credit.

Here’s the colophon from the footer.php file in Storefront:

<footer id="colophon" class="site-footer" role="contentinfo">

 <div class="col-full">
 
 <?php
 /**
 * Functions hooked in to storefront_footer action
 *
 * @hooked storefront_footer_widgets - 10
 * @hooked storefront_credit         - 20
 */
 do_action( 'storefront_footer' );
 ?>

 </div><!-- .col-full —>

</footer><!-- #colophon —>

This doesn’t directly include any code that outputs that “powered by WordPress” message. But when you look at a site powered by Storefront, there is a message saying the site is powered by Storefront and WooCommerce instead of WordPress:

The footer output by Storefront
The footer output by Storefront

So, where is that code coming from?

The clue is in the footer.php file, which lists functions that are hooked to the storefront_footer action: storefront_footer_widgets and storefront_credit. The function providing that code is storefront_credit.

It’s called via the storefront_footer hook, which is activated with this line:

do_action( 'storefront_footer' );

When we delve further into the theme files, we can find the storefront_credit function being hooked to that action hook in the storefront-template-hooks.php file. Here’s the line:

add_action( 'storefront_footer', 'storefront_credit', 20 );

The function itself is in another file, the storefront-template-functions.php file, which we’ll come to later on.

So we now have two methods used to add the “powered by WordPress” message to the footer: directly coding it into the footer file, and adding it via a function and a hook. Now let’s work through the process of overriding it.

Creating a Child Theme

Before you start with either of these methods, you’ll need to create a child theme for your code.

Create a new folder in your wp-content folder and give it a suitable name (e.g. twentynineteen_child or storefront_child).

Follow the instructions in the WordPress codex to create two files within your child theme: style.css and functions.php.

The next step is to edit the child theme, after which you’ll activate it. As it’s a child theme, that means that the template files from the parent theme will be used to display your site, unless a file with the same name exists in the child theme. If that’s the case, it will override the equivalent file in the parent theme. You can also write functions in your child theme to override functions in the parent theme.

Removing the Credit from the Footer File

First, let’s work through how you make the change when the message is coded directly into footer.php.

Find the footer.php file in the parent theme (e.g. Twenty Nineteen). Make a duplicate of that in your child theme, also called footer.php.

Now open the footer.php file in your child theme (not in your parent theme: this is very important).

Find the code that outputs the “powered by WordPress” message. In the case of Twenty Nineteen, it looks like this:

<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentynineteen' ) ); ?>" class="imprint">
 <?php
 /* translators: %s: WordPress. */
 printf( __( 'Proudly powered by %s.', 'twentynineteen' ), 'WordPress' );
 ?>
</a>

To remove the credit, all you have to do is delete that code for your footer.php file. Do that, then save it. When you refresh your screen, you’ll find that the “powered by WordPress” message has gone.

The Twenty Nineteen footer with 'powered by WordPress' removed
The Twenty Nineteen footer with “powered by WordPress” removed

How to Remove “Powered By WordPress” Using a Function

Removing the credit from a theme that adds it using a function instead of adding it directly to the footer file is a bit different.

Instead of creating a footer.php file in your child theme and editing that, you need to create a function that removes the credit in your child theme’s functions file.

Follow these steps.

Open your child theme’s functions.php file. Your child theme will already have this file as it’s where you enqueue the stylesheet from the parent theme.

The function in the Storefront theme that adds the footer credit is called The Twenty Nineteen footer with “powered by WordPress” removedstorefront_credit. It’s hooked to the storefront_footer action hook. This means that to remove all of the content of the storefront_credit function, what we need to do is unhook that function from the action hook using the remove_action() function.

In your child theme’s functions file, add this:

function remove_storefront_credit() {
 remove_action( ‘storefront_footer’, ‘storefront_credit’ );
}
add_action( ‘wp_head’, ‘remove_storefront_credit’, 20 );

The function you write has to be hooked to another action, or otherwise it won’t fire. In this case, it’s wp_head. It’s important to include the third parameter for add_action() with the priority, and to make this the same as in the original instance of add_action() from the storefront-template-hooks.php file.

Now when you check your site you’ll find that the footer credit is gone:

The Storefront theme with no credit at all
The Storefront theme with no credit at all

The entire credit is gone, including the copyright notice. If you want to be more specific and target just the Storefront link, you’ll need to edit the function with your own code. We’ll come to that next.

Replacing “Powered By WordPress” with Your Own Code

If you don’t want to remove the footer credit, you could replace it with code of your own instead.

The way you do this is different depending on the method your theme is using to add the credit. Let’s start by looking at how you do it in a theme that adds it directly to the footer file.

Adding Your Own Credit via the Footer File

In the new footer.php file that you created in your child theme, instead of deleting the code for the “powered by WordPress” message, you replace it with code of your own.

I’m going to edit it to include a link to the Kinsta website. Here’s the new version of the code:

<a href="<?php echo esc_url( __( 'https://kinsta.com//', 'kinsta' ) ); ?>" class="imprint">
 <?php
 /* translators: %s: WordPress. */
 printf( __( 'Hosted by %s.', 'kinsta' ), 'Kinsta' );
 ?>
</a>

Now save your file and refresh your site. You’ll find that the “powered by WordPress” message has changed.

The Twenty Nineteen footer with new content
The Twenty Nineteen footer with new content

Adding Your Own Credit Via a Function

In the case of the Storefront theme, the footer credits are added via a function, which we already removed by unhooking it.

But what if you want to edit it instead?

Let’s find the code for the function in the Storefront files. The function we’re looking for is storefront_credit().

(Note: If you already unhooked the function using the instructions above, remove the code you used to do that.)

We can find that function in the theme’s storefront_template_functions.php file, which is in the inc folder. Here’s the function:

if ( ! function_exists( 'storefront_credit' ) ) {

 /**
 * Display the theme credit
 *
 * @since 1.0.0
 * @return void
 */

 function storefront_credit() {
 ?>

 <div class="site-info">
  <?php echo esc_html( apply_filters( 'storefront_copyright_text', $content = '© ' . get_bloginfo( 'name' ) . ' ' . date( 'Y' ) ) ); ?>
  <?php if ( apply_filters( 'storefront_credit_link', true ) ) { ?>
   <br />
   
   <?php
   if ( apply_filters( 'storefront_privacy_policy_link', true ) && function_exists( 'the_privacy_policy_link' ) ) {
    the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
   }
   ?>

   <?php echo '<a href="https://kinsta.com/" target="_blank" title="' . esc_attr__( 'Kinsta hosting', 'kinsta' ) . '" rel="author">' . esc_html__( 'Hosted by Kinsta', 'kinsta' ) . '</a>.'; ?>

 <?php } ?>

 </div><!-- .site-info -->

 <?php
 }
}

That function is pluggable, because it’s wrapped in a check to see if a function with the same name already exists. This means we can write a new function in our child theme with the same name, and it will override this version of the function.

In your child theme’s functions file, start by removing the remove_action() function you already added (if you have done that).

Now you need to add a new version of the storefront_credits() function. The part of the function we want to amend is towards the end: it’s the line that begins <?php echo “a href=“https://woocommerce.com”.

The easiest way to do this is to copy the original function from the Storefront theme and then edit it in your functions file. I’m going to remove the Storefront credit and replace it with one referring to Kinsta.

Here’s my function:

function storefront_credit() {
 ?>
 <div class="site-info">
  
  <?php echo esc_html( apply_filters( 'storefront_copyright_text', $content = '© ' . get_bloginfo( 'name' ) . ' ' . date( 'Y' ) ) ); ?>
  
  <?php if ( apply_filters( 'storefront_credit_link', true ) ) { ?>

  <br />

  <?php

  if ( apply_filters( 'storefront_privacy_policy_link', true ) && function_exists( 'the_privacy_policy_link' ) ) {
   the_privacy_policy_link( '', '<span role="separator" aria-hidden="true"></span>' );
  }
  ?>

  <?php echo '<a href="https://woocommerce.com" target="_blank" title="' . esc_attr__( 'WooCommerce - The Best eCommerce Platform for WordPress', 'storefront' ) . '" rel="author">' . esc_html__( 'Built with Storefront & WooCommerce', 'storefront' ) . '</a>.'; ?>

 <?php } ?>

 </div><!-- .site-info -->

<?php
}

Now save your functions file and refresh your site. You’ll find that the credit message has changed:

The new version of the footer credit in Storefront
The new version of the footer credit in Storefront

Summary

The “powered By WordPress” message is a way to let the world know that you’re hosting your website on WordPress and that you’re proud of that. But sometimes you want to remove the message, maybe for marketing reasons or for privacy.

Removing the message is permitted and it can be done in one of a number of ways. You can use a plugin to do it, or you can amend the code in your theme or via a child theme. Which method you choose is up to you, but the guide above will help you do it whichever method you choose.