Chat with us
United Kingdom GBP
A website footer bar with columns of links beneath a page

WordPress Footer: How to Edit It and What to Put In It

The footer is the part of a site nobody designs and everybody scrolls to. It is where people look for your phone number, your opening hours, your returns policy and whether you are a real company. It is also, for UK businesses, where three specific pieces of information are legally required to appear. This covers how to edit it on both kinds of WordPress theme, and the more useful question of what should be in there at all.

First, which kind of theme are you on?

WordPress has two theme systems, and they edit footers in completely different places. Nearly every guide picks one and does not mention the other, which is why so many people follow instructions to a menu item that is not in their dashboard.

Ten second test. Log in and look at the Appearance menu.

What you see under AppearanceWhat you have
EditorA block theme. Your footer is a template part, edited visually in the Site Editor.
Customise, Widgets, MenusA classic theme. Your footer is built from theme options, widget areas and a PHP file.
BothA classic theme with some block support, or a builder plugin in the way. Treat it as classic.

Twenty Twenty-Four and Twenty Twenty-Five are block themes. Astra, GeneratePress, OceanWP, Divi and most themes sold on marketplaces are classic, though several now ship block versions. If you are unsure, the presence of Appearance, Editor is the reliable signal.

Everything below is split along that line. Find your half and skip the other.

Which footer are you editing?: Editor, a block theme. the footer is a template part; Customise, a classic theme. options, widgets, then footer.php; Both, classic theme with block support, or a builder
Look under Appearance. The menu item you see decides every instruction that follows.

In a block theme the footer is a template part, which is a reusable chunk of blocks that appears on every template that includes it. Edit it once and it changes everywhere, which is the behaviour you want and occasionally the behaviour that surprises you.

Getting to it

Go to Appearance, then Editor. From there you have two routes, and the second is faster once you know it.

  • Patterns, then Template Parts, then Footer. This edits the footer on its own, which is the clearest view.
  • Or open any template, scroll to the bottom, and click into the footer. WordPress will ask whether you want to edit the template part, because you are about to change every page at once.

The Site Editor documentation covers the interface in general. The footer specifics are below.

The edits people actually want

Changing the text. Click it and type. It is a Paragraph block like any other.

Adding columns. Insert a Columns block, choose a layout, then drop a Navigation, Paragraph or List block into each. Three columns is the usual choice and it stacks to one on mobile automatically.

Adding a menu. Insert a Navigation block. It can reuse an existing menu or hold its own set of links. Reusing one means the footer follows changes made elsewhere, which is usually what you want.

Adding social icons. Insert a Social Icons block and paste your URLs. The icons appear automatically from the domain, so there is nothing to upload.

Changing colours and spacing. Select the outermost Group block that wraps the footer, open the Styles tab in the right sidebar, and set background and text colours there. Setting them on the group rather than on each block is what stops the footer looking like six unrelated pieces.

Saving, and getting back

Click Save and WordPress will list exactly what is being changed. Read that list. If it says it is saving a template you did not mean to touch, you edited the wrong thing.

Every change you make here is stored in the database, not in the theme, so a theme update will not overwrite it. If you want the original back, open the template part, click the options menu, and choose Reset or Clear customisations. That discards your version and restores the theme's own, which is a genuinely useful escape hatch and the reason block themes need a child theme far less often than classic ones.

Classic themes: the Customiser and widget areas

Classic themes assemble a footer from up to three separate places, and knowing which one owns the bit you want to change saves most of the frustration.

1. Theme options in the Customiser

Go to Appearance, then Customise. Most commercial themes add a Footer panel here, controlling the number of columns, the background colour, and often the copyright line.

What is in that panel is entirely up to the theme, so there is no universal path. Astra puts it under Footer Builder, GeneratePress under Layout then Footer, and a marketplace theme may put it anywhere. If there is no Footer panel at all, the theme expects you to use widgets.

2. Footer widget areas

Go to Appearance, then Widgets. Classic themes register one or more footer areas, usually named Footer 1, Footer 2 and so on, or Footer Sidebar.

Since WordPress 5.8 this screen uses blocks rather than the old drag-and-drop panels, which the block widgets documentation explains. In practice you click a plus, pick a block, and it appears in that footer column.

Those numbered areas map to the columns you see on the front end. If your theme shows four footer columns, filling only Footer 1 gives you one column of content and three empty ones, which is the usual cause of a lopsided footer.

3. The bottom bar

The thin strip below the widgets, holding the copyright line, is almost always separate from both of the above. Depending on the theme it lives in a Customiser field, a dedicated footer area, or hard-coded in footer.php. Look in the Customiser first, because that is where most themes put it and it is the only option that survives updates untouched.

Sooner or later a guide will tell you to edit footer.php. Sometimes that is the only way. It is also the single most common way people lose work.

Do not edit the file inside the parent theme. The next theme update replaces that folder, your change goes with it, and nothing warns you. This is the specific failure that child themes exist to prevent: copy footer.php into a child theme and your version is used instead, with the parent free to update underneath.

Do not use Appearance, Theme File Editor. It edits live files on a production site with no undo and no syntax check. A missing semicolon takes the whole site down, including the dashboard you would need to fix it, and the only way back is FTP. If you must edit PHP, do it over FTP with a copy of the original saved locally, and take a backup first.

Before you go near the file, check whether you actually need to. Adding a tracking script belongs in a header and footer scripts plugin. Changing colours or hiding an element belongs in Additional CSS, which is stored in the database and survives updates, and is how our guide to changing fonts does everything. Only structural changes to the markup genuinely need the file.

Removing "Proudly powered by WordPress"

The most searched footer question there is, and the answer depends on where the line comes from.

On a block theme

Open Appearance, Editor, Patterns, Template Parts, Footer. Click the paragraph containing it, and delete the block. Save. That is the whole job, and it cannot break anything.

On a classic theme

Check the Customiser first, since many themes provide a field for the copyright text. Failing that, the line is in footer.php and needs a child theme, as above.

There is a third route people reach for that is worth warning about. Hiding the line with display: none in CSS works visually and leaves the text in the HTML, where screen readers still announce it and search engines still read it. It is a patch, not a fix, though it is a reasonable holding position if you are mid-way through something else.

What about the theme's own credit?

Different question, and the honest answer has two halves.

Legally, themes distributed through WordPress.org inherit the GPL, which permits modification. Removing a credit line from the code is within that licence. Some commercial vendors use split licensing, where the PHP is GPL but images and CSS are not, so the picture varies by product and the same nuance we cover in our piece on nulled themes applies here.

Practically, many premium themes put credit removal behind a paid tier, and removing it manually is the kind of change an update quietly reverses. If it matters to you, check whether the theme has a setting for it before you start editing files.

What a footer is actually for: how do i contact you: phone, email, address; are you real: company number and registered office; where is the page the menu hides: privacy, terms, returns; are you open: hours, for anyone who might phone or visit; everything else is filler competing with those four
People scroll to a footer with a question already in mind. These are the four they arrive with.

The mechanics are the easy part. The question worth more of your attention is what goes in it, because a footer is where visitors go when the navigation has failed them.

People scroll to a footer with a specific question in mind. Usually one of four:

  • How do I contact you? Phone, email, and a physical address if you have one.
  • Are you real? Company details, an address, a registration number.
  • Where is the page the menu does not show? Privacy, terms, returns, delivery, accessibility.
  • Are you open? Opening hours, for anyone who might phone or visit.

A footer that answers those four does its job. Most of what else gets put there is filler.

Earns its placeUsually does not
Contact details and addressA second copy of the main navigation
Legal and policy pagesA live social media feed
Company registration detailsA tag cloud
Opening hoursA list of every category you have
One newsletter signup, if you send oneA recent posts widget nobody clicks
Social links, as plain iconsA second, differently worded CTA

The right hand column is not wrong exactly. It is what fills a footer when nobody decided what it was for, and every item costs a little attention from the things that matter.

This part is not a design preference, and it is missing from almost every guide on this subject because almost every guide is written for a US audience.

If you trade through a UK limited company, the Company, Limited Liability Partnership and Business (Names and Trading Disclosures) Regulations 2015 require you to disclose three things on your website:

  • The part of the United Kingdom in which the company is registered, meaning England and Wales, Scotland, or Northern Ireland.
  • The company's registered number.
  • The address of the company's registered office.

The regulation names business letters, order forms and websites together. It does not say the footer specifically, but the footer is where this conventionally goes, because it needs to be present rather than prominent.

Selling online adds more. The Electronic Commerce (EC Directive) Regulations 2002 require your name, geographic address and an email address to be available in a form that is "easily, directly and permanently accessible". A phrase that describes a footer rather well. If you are VAT registered, the VAT number belongs there too.

So a compliant UK footer line looks roughly like this:

Example Ltd, registered in England and Wales, company number 12345678.
Registered office: 1 Example Street, London, EC1A 1AA. VAT: GB123456789.

One thing worth checking while you are in there. Your registered office is whatever Companies House holds, which for many small businesses is an accountant's address rather than where they work. Those two drift apart, and the site should match the register.

None of this is legal advice, and the regulations are short and readable if you want to check your own case.

A footer reading 2019 tells every visitor the site is abandoned. It is a small thing that does real damage, and the fix is to stop typing the year by hand.

In a classic theme's footer.php, in your child theme:

© <?php echo esc_html( date_i18n( 'Y' ) ); ?> Example Ltd

date_i18n() is used rather than date() so the year respects the site's configured timezone, which matters for the few hours either side of New Year.

Block themes cannot run PHP inside a template part, which catches people out. Register a shortcode in your child theme's functions.php:

add_shortcode( 'year', function () {
    return esc_html( date_i18n( 'Y' ) );
} );

Then add a Shortcode block to the footer containing [year].

One caveat nobody mentions. If you run full page caching, the footer is cached with the page, so on 1 January a cached page will still show last year until it is regenerated. Clearing the cache on New Year's Day fixes it, and our guide to clearing WordPress cache covers how.

Also worth saying: a range like "2019 to 2026" is common and adds nothing. The current year alone is enough.

Why footer text fails contrast: pale text On a dark bar then set small Below 24px then needs 4.5:1 Not 3:1. registration line at 3.93:1, legally required, and the hardest to read; same line at 4.99:1, one lighter shade. the design did not change
Measured on this site before and after the fix. Two of the three were one hex value away from passing.

Footers are usually pale text on a dark background, set smaller than body text, and that combination fails accessibility standards more often than any other part of a site. It is invisible to the person who built it, because they know what it says.

The standard is WCAG contrast: a ratio of at least 4.5:1 for normal text, and 3:1 for large text, meaning 24px or 18.66px bold and above. Footer text is almost never large text, so 4.5:1 is your number.

We audited this site's own footer and it failed in three places. The real values, before and after:

Footer elementWasNow
Company registration line3.93:1, fails4.99:1
Opening hours4.26:1, fails4.91:1
Bottom bar text4.26:1, fails4.91:1

Note how close those failures were. Nothing was unreadable, and nothing looked obviously wrong. Two of them were a single hex value away from passing, and the fix in each case was to lighten the text slightly rather than to redesign anything. The design survived the change unharmed.

Three specific things to check in your own footer:

  • The small print. Company details and copyright lines get the lowest contrast in the whole design, because they are treated as visual noise. They are also the legally required part.
  • Links against the footer background. A link colour chosen for white body text often has nothing like enough contrast on a dark footer. This is the one we found worst on our own site, at 1.33:1, which is very nearly invisible.
  • Text over a background image. Contrast changes across the image, so it can pass at the top and fail at the bottom. Automated checkers usually skip these entirely, so they need a human eye.

Browser DevTools will tell you the ratio: inspect the element, click the colour swatch next to the text colour, and it shows the contrast against the computed background.

Footer links are sitewide, which is exactly why they need restraint.

A link in your footer appears on every page of the site. That makes footers a tempting place to push internal links at pages you want to rank, and search engines have understood that pattern for a long time. A footer with forty keyword-stuffed links to service pages is a recognised spam signal, not a ranking strategy.

What works is duller and more effective:

  • Keep it to what a person would use. Somewhere between five and fifteen links. If you cannot say why a link is there, remove it.
  • Write the anchor text as a human would. "Delivery and returns", not "cheap fast delivery UK".
  • Do not put location lists in the footer. A list of every town you serve, each linking to a near-identical page, is the doorway page pattern Google names explicitly in its spam policies. It is a common piece of bad advice given to local businesses.
  • Check the links still work. A broken footer link is broken on every page at once, which is the fastest way to accumulate hundreds of errors from one mistake. Our guide to fixing broken links covers finding them.

The genuinely valuable thing a footer does for search is confirm who you are. Consistent name, address and phone number, matching your Companies House record and your Google Business Profile, is worth more than any number of internal links.

Say who you are in structured data

The details you have just put in the footer are the same ones search engines want in machine readable form. Because the footer is on every page, it is a common place to put an Organisation or LocalBusiness block of JSON-LD.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Ltd",
  "url": "https://example.com/",
  "telephone": "+44 20 7946 0000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1 Example Street",
    "addressLocality": "London",
    "postalCode": "EC1A 1AA",
    "addressCountry": "GB"
  }
}
</script>

Two rules keep this useful rather than harmful. Only one Organisation block per page, so if your SEO plugin already outputs one, do not add a second in the footer. And the values must match the visible text exactly, because structured data describing something the page does not show is the definition of the problem it is meant to prevent.

Most SEO plugins handle this from a settings screen, which is the easier route. Adding it to the footer by hand is worth it mainly if you are not running one.

Making the footer sit at the bottom

A short page, a thin footer, and a stretch of empty background underneath it. The footer is not broken, there just is not enough content to push it down, and it looks like a mistake to everyone who sees it.

The fix is three lines of CSS, which can go in Additional CSS:

body {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

body > footer {
  margin-top: auto;
}

The body becomes a full height column and margin-top: auto pushes the footer to the end of it. Using 100dvh rather than 100vh matters on phones, where the browser's address bar changes the viewport height as you scroll and vh leaves a gap.

Test it on a genuinely short page, such as a thank you page or a 404. If your theme wraps everything in an extra div, adjust the second selector to match your actual footer element.

Use the right element

Your footer should be a footer element, not a div with a class of footer. It gives screen reader users a landmark they can jump to, and it tells parsers which part of the page is site information rather than content. Block themes do this correctly by default. Older classic themes and page builder footers sometimes do not, and it is worth checking with View Source.

A footer appears on every page, so anything slow in it is slow everywhere. It is also the least examined part of most sites, which is a poor combination.

Three things to look for:

  • Live social feeds. An embedded Instagram or X feed loads third party JavaScript on every page of the site to show images most people never scroll to. Static icons linking to your profiles cost nothing.
  • Recent posts and popular posts widgets. Each runs a database query on every page load. One is fine, several add up, and on a large site the popular posts variety can be genuinely expensive.
  • Map embeds. An embedded Google Map is among the heaviest things you can put on a page. In a footer it is on every page. A linked address that opens the map is almost always the better trade.

If the site is slow generally, the footer is not usually the main culprit, and it is worth ruling in or out rather than guessing. Our guide to why WordPress sites run slowly covers finding the real cause.

You saved, you reloaded, nothing changed. Five causes, in the order they are worth checking.

  1. Caching. By far the most common. A caching plugin, your host's server cache, and a CDN can each serve the old version, so clear all three and then hard refresh with Ctrl and F5. Check in a private window, which bypasses your browser cache entirely.
  2. You edited the wrong footer. Page builders often replace the theme footer with their own. If you have Elementor, Divi or a similar builder, look for a Theme Builder section, because the theme's own footer settings are being ignored.
  3. A plugin owns it. Footer script plugins, cookie banners and consent tools inject their own markup after the theme has finished. If the thing you cannot change is a cookie notice, it is not in your footer at all.
  4. You edited the parent theme after activating a child. The child's footer.php wins, so changes to the parent's copy do nothing. Easy to do and confusing until you spot it.
  5. The theme has a separate mobile footer. Some commercial themes ship two, and changes to one leave the other alone. Resize the browser to check.

If you have worked through all five and it still will not change, the fastest way to find the owner is View Source and search for the text. The surrounding class names will usually name the plugin or theme responsible.

Decide what it is for before you decide how it looks. Contact details, legal pages, company registration and opening hours cover almost every reason somebody scrolls that far.

Then check the two things nobody checks: that the text has enough contrast to be read by someone who is not you, and that the company details match what Companies House holds. Both take five minutes, and both matter more than the column layout.

Frequently asked questions

How do I edit the footer in WordPress?

It depends which theme system you are on. If Appearance has an Editor item you have a block theme, and the footer is edited under Patterns, then Template Parts, then Footer. If you see Customise and Widgets instead, you have a classic theme, and the footer is built from the Customiser's Footer panel plus the footer widget areas.

How do I remove "Proudly powered by WordPress"?

On a block theme, open Appearance, Editor, Patterns, Template Parts, Footer, click the paragraph and delete the block. On a classic theme, look for a copyright field in the Customiser first. If there is not one, the text is in footer.php and should be changed through a child theme so a theme update does not put it back.

What should a website footer contain?

Contact details, links to legal and policy pages, company registration details, and opening hours if people might phone or visit. Those four cover almost every reason somebody scrolls to a footer. Social icons and a single newsletter signup are reasonable additions. A duplicate of the main navigation, tag clouds and live social feeds generally are not.

What does UK law require in a website footer?

A UK limited company must disclose on its website the part of the UK where it is registered, its registered number, and its registered office address, under the Names and Trading Disclosures Regulations 2015. Selling online adds a requirement for your name, geographic address and email to be easily and permanently accessible. The footer is the conventional place for all of it.

Will editing footer.php break my site?

It can. A PHP syntax error in that file takes down every page including the dashboard, and the only way back is FTP. Avoid Appearance, Theme File Editor, which edits live files with no undo. Edit through a child theme over FTP with a backup and a local copy of the original, and check first whether Additional CSS or a scripts plugin would do the job instead.

How do I add a copyright year that updates itself?

In a classic theme use <?php echo esc_html( date_i18n( 'Y' ) ); ?> in your child theme's footer.php. Block themes cannot run PHP in a template part, so register a shortcode in functions.php that returns the year and add a Shortcode block to the footer. If you use full page caching, clear it on 1 January or a cached page will still show last year.

Why will my footer changes not show on the site?

Caching first, and clear the plugin, the host and the CDN, then check in a private window. After that: a page builder's Theme Builder may have replaced the theme footer, a plugin may be injecting the markup, you may have edited the parent theme while a child theme is active, or the theme may have a separate mobile footer. View Source and search for the text to find what owns it.

Is it legal to remove my theme's credit link?

Themes distributed through WordPress.org inherit the GPL, which permits modification, so removing a credit from the code is within the licence. Some commercial themes use split licensing where assets are not GPL, so it varies by product. Practically, many premium themes put credit removal behind a paid setting, and a manual edit is likely to be reversed by the next update.

Would rather somebody else did all this?
That is the whole job here.