That small line in the footer, “Proudly powered by WordPress,” is WordPress’s way of quietly advertising itself through every site running its default theme footer. It’s a reasonable trade for free, open-source software, but it doesn’t fit every site, particularly client work where a visible platform credit looks unfinished or a brand site where every pixel of the footer is supposed to be doing something else. Removing it is simple once you know where it actually lives, and the wrong removal method is a common way people accidentally break their footer instead of cleaning it up.
Where the Credit Actually Comes From
The footer credit isn’t a WordPress core feature bolted onto every site uniformly. It’s typically added by the active theme itself, hooked into the wp_footer action, and each default WordPress theme (Twenty Twenty-One, Twenty Twenty, Twenty Nineteen, and so on) implements its own version of this credit through its own uniquely named function. This matters because there’s no single universal switch to flip; the correct removal approach depends partly on which theme you’re running and whether it’s a default WordPress theme or a third-party theme like BuddyX, Astra, GeneratePress, or a premium page builder theme, each of which handles (or doesn’t handle) this credit differently.
Method 1: Check the Customizer First (Often the Easiest Fix)
Before touching any code, check Appearance >> Customize and look for a Footer section. A meaningful number of modern themes, including most premium themes and many actively maintained free themes, expose footer credit text as an editable option directly in the Customizer, sometimes labeled “Footer Text,” “Copyright Text,” or similar. If your theme offers this, editing or clearing that field is the cleanest, safest removal method available, since it doesn’t touch any code and survives theme updates without needing to be reapplied.
Method 2: A Child Theme Override (Recommended If No Customizer Option Exists)
If the credit is hardcoded into the theme’s footer template file rather than exposed as a setting, the durable fix is a child theme. Create (or use an existing) child theme, copy the parent theme’s footer.php into the child theme, and remove or edit the specific line containing the credit markup. This approach survives parent theme updates cleanly, since child theme files always take precedence over the parent’s matching file, and you’re not touching the original theme’s source at all.
The catch: you need to identify which specific line in footer.php generates the credit, which requires actually opening the file and reading through it, since the exact markup varies theme to theme. Look for text like “Proudly powered by” or a call to a function with “credit” or “footer” in its name.
Setting up a child theme purely for this one edit can feel like overkill if you have no other plans to customize the theme further, but it’s worth doing anyway if you expect to make any other small tweaks down the line, since a child theme gives you a safe, update-proof place to make all of them rather than repeating this same “will an update wipe out my change” calculation every time something new comes up. Most hosting control panels and a number of free plugins can generate a basic child theme skeleton in under a minute if you’ve never set one up before, so the setup overhead is genuinely minimal relative to the long-term convenience.
Method 3: A Small Snippet in functions.php (No Child Theme Needed)
If you’d rather not maintain a child theme just for this one change, hooking into the same wp_footer action the theme uses and removing its specific credit function works without touching any theme template files directly. This is the approach worth using carefully, since it needs the correct function name for whichever theme generated the credit:
function remove_default_theme_footer_credit() {
$footer_functions = array(
'twentytwentyone_footer_credit',
'twentytwenty_footer_credit',
'twentynineteen_credit',
'twentyeighteen_credit',
'twentyseventeen_credit',
);
foreach ( $footer_functions as $function ) {
remove_action( 'wp_footer', $function );
}
}
add_action( 'init', 'remove_default_theme_footer_credit' );
This snippet works specifically for WordPress’s own default themes, since it targets their known function names directly. If you’re running a third-party theme (BuddyX, Astra, Divi, and similar), this exact code won’t remove anything, because the credit function has a different name specific to that theme. For third-party themes, check that theme’s own documentation or support forum for the correct hook and function name to remove, since guessing at function names by trial and error wastes time that a two-minute documentation check avoids.
Place this snippet in a site-specific plugin (a small custom plugin containing just this code, activated like any other plugin) rather than the active theme’s functions.php whenever possible, since a plugin survives a theme switch while functions.php content is lost the moment you change themes.
Method 4: Direct Theme Editor Edit (Not Recommended, But Common)
Appearance >> Editor in wp-admin lets you edit theme files directly through the browser, including footer.php, without needing FTP access. This is how a lot of people first attempt this fix, and it does work, but it comes with two real downsides worth knowing before you use it: any edit made this way to the parent theme’s actual files gets wiped out the next time that theme updates, since the update process overwrites the original files completely, and a syntax error introduced through this editor (a missing semicolon, an unclosed bracket) can trigger a fatal error that locks you out of the visual editor itself, since the very interface you’d use to fix the mistake is what’s now broken. If you do use this method despite the risk, always download a backup copy of the file before editing, and consider testing changes on a staging copy of the site first rather than editing production directly.
What Actually Happens If You Just Delete the Text Carelessly
A subtlety worth knowing: the footer credit is frequently wrapped inside markup that also includes other functional pieces, like the WordPress version number reference, a theme name link, or in some themes, structured data markup relevant to how search engines interpret your site. Carelessly deleting an entire block of footer code rather than just the specific text string risks removing more than intended. Read the surrounding markup before deleting, and when in doubt, comment out or hide the specific text with CSS rather than deleting the underlying PHP entirely, if you’re not confident about what else that code block might be doing.
A CSS-Only Alternative for a Quick, Reversible Fix
If you need the credit gone visually right now and aren’t ready to commit to editing PHP, hiding it with CSS through Additional CSS in the Customizer is fast and fully reversible:
.site-info {
display: none;
}
The actual class or ID targeting the footer credit varies by theme (inspect the element in your browser’s developer tools to find the right selector for your specific theme), but the approach is universal: this hides the credit from visitors without touching any PHP files at all, and it’s trivially easy to reverse by deleting the CSS rule if you change your mind later. The real downside is that the text and its link still exist in your page’s HTML source, just visually hidden, which matters if you’re removing it for licensing or branding reasons that specifically require the content to not be present at all, rather than just invisible to a typical visitor.
The Licensing Question, Addressed Directly
WordPress is licensed under the GPL (GNU General Public License), and removing a theme’s footer credit doesn’t violate WordPress’s own licensing in any way, contrary to a persistent myth. The GPL governs your rights to use, modify, and redistribute the software; it doesn’t obligate you to display attribution text on your public-facing site. Where this can get murkier is with individual premium themes that add their own separate licensing terms requiring a visible credit link as a condition of using a free or discounted version of that specific theme (some page builder and theme marketplaces do this as a monetization mechanism, letting you pay extra specifically to remove the credit requirement). That’s a theme-specific licensing term, not a WordPress core requirement, so check your specific theme’s license terms if you’re using anything beyond a WordPress.org default theme or a fully GPL-licensed premium theme.
Removing the Credit Across an Entire Multisite Network
If you’re running WordPress multisite and want the footer credit gone across every subsite rather than one at a time, the functions.php snippet approach (Method 3) becomes considerably more efficient when placed in a network-activated plugin rather than a single site’s theme. A network-activated plugin runs on every subsite in the network automatically, meaning one small plugin containing the removal snippet handles the entire network at once, rather than requiring you to set up a child theme or edit functions.php separately for each subsite. This is worth the extra initial setup step of creating a proper plugin file (even a minimal one, just a plugin header comment and the removal function) specifically because it scales cleanly as new subsites get added to the network later without any additional configuration needed per site.
What to Do If None of the Above Methods Find the Credit
Occasionally the credit text isn’t coming from the active theme at all. A few other places worth checking if the standard methods above don’t locate it: a plugin specifically designed to add branding or credit links (some free plugins add their own attribution as a condition of remaining free, separate from anything the theme does), a parent theme versus child theme mismatch where you’re editing the wrong footer.php (if a child theme is active, its footer.php, if one exists, takes priority over the parent’s, so edits to the parent’s file while a child theme’s own footer.php exists silently have no effect), or, less commonly, a widget manually placed in a footer widget area containing static text that happens to include a WordPress mention, which would need removing through the Widgets screen rather than any code-level fix at all. Checking the rendered page source through your browser’s “View Page Source” or developer tools, then searching for the actual credit text string, is the fastest way to identify exactly which of these is actually responsible before you go hunting through the wrong file.
Why Agencies and Freelancers Care About This More Than Hobbyists
For a personal blog, the footer credit is mostly a non-issue; plenty of site owners leave it in place without a second thought, and there’s a reasonable argument for doing so, since it’s a small, low-cost way of supporting the open-source project the entire site depends on. The calculus changes for agencies and freelancers delivering client sites, where a visible “powered by WordPress” line can read, fairly or not, as an unfinished or template-feeling site to a client who paid for something custom. It’s common practice among agencies to remove this as a standard step in their site-launch checklist, alongside other footer cleanup like removing a page builder’s own branding link if the builder adds one, precisely because client perception of polish matters more in that context than it does for a personal side project.
Doing This as Part of a Broader Footer Cleanup
If you’re removing the WordPress credit, it’s worth checking the rest of your footer at the same time for other automatically inserted branding you might not have deliberately chosen. Page builder plugins (Elementor, Divi, Beaver Builder) sometimes add their own small credit link in free versions, usually removable through a setting in the specific plugin rather than through theme code at all. Some caching and security plugins add a small badge or note in the footer as well. A single pass through your rendered footer’s HTML source, checking every piece of text and link against what you actually intended to be there, catches all of these in one sitting rather than discovering them one at a time over subsequent weeks.
Testing the Change Properly Before Considering It Done
Whichever method you use, verify the removal actually worked by checking the live, rendered front end in an incognito or private browsing window, not just the WordPress admin preview, since some caching layers (a caching plugin, a CDN like Cloudflare) can continue serving a previously cached version of the footer for a period after your change, making it look like the fix didn’t take effect when it actually did, just not yet visible due to a stale cache. If you’re using a caching plugin, purge its cache immediately after making the change, and if a CDN sits in front of your site, purge that layer’s cache too, since page-level caching plugins and CDN-level caching are two separate systems that both need clearing independently.
Common Questions
Will removing the footer credit break my site in any way? No, assuming the removal is done correctly (targeting only the credit text or its containing function, not surrounding functional code). The credit is purely cosmetic text with a link; it has no functional role in how WordPress or your theme operates.
Does this need to be redone after every WordPress core update? No. WordPress core updates don’t touch theme files, so a properly implemented child theme override or a plugin-based functions.php snippet survives core updates without any issue. Only a direct edit to the parent theme’s own files (Method 4 above) is at risk, and only from theme updates specifically, not WordPress core updates.
My theme’s credit text includes the theme name too. Can I remove just the “WordPress” part and keep the theme credit? Depends entirely on how the theme’s developer structured the markup. Some themes separate these into distinct, individually targetable elements; others bundle them into one string. Inspecting the actual footer.php source (or the rendered HTML through browser dev tools) tells you whether they’re separable in your specific case.
Is there a plugin that removes this automatically without any code? Yes, several general-purpose “footer editor” plugins exist that let you replace the entire footer text through a settings screen without touching code at all, which is a reasonable option if you’re not comfortable with any of the code-based methods above. The trade-off is one more active plugin on your site for what’s ultimately a small, one-time change; for a single site, the CSS or functions.php snippet approaches usually end up being less overhead long-term than maintaining an additional plugin purely for this purpose.
Can I replace the credit with my own custom text instead of just removing it? Yes, and this is often the better move for agencies specifically, replacing “Proudly powered by WordPress” with your own copyright line, agency name, or a simple “© [Year] [Site Name]. All rights reserved.” Whichever method you used to remove the original text, the same location accepts custom replacement text just as easily; a Customizer footer text field takes your custom string directly, and a functions.php or child theme edit can echo your own text in place of what you removed rather than leaving the footer visually empty.
Does this affect my site’s SEO in any way? No meaningfully measurable effect either direction. The footer credit link (when present) does technically count as an outbound link to WordPress.org, but WordPress.org obviously doesn’t need or benefit meaningfully from the SEO value of millions of small individual site links, and removing one outbound link from your footer has no measurable impact on your own site’s search rankings. This is purely a branding and design decision, not an SEO one.
If you’re weighing whether to bother with this at all, the honest framing is that it’s a genuinely small change with a genuinely small effect on anything measurable, but it’s also one of the fastest, lowest-risk polish items available on a WordPress site, and for client-facing work in particular, it’s usually worth the ten minutes it takes to do properly.
Interesting Reads:
How To Add An XML File To WordPress