How to Edit the Header in WordPress
Updated October 31, 2026
Swapping the logo in your WordPress header is about five clicks. Rebuilding the whole thing might take twenty minutes the first time you edit it.
The reason it feels harder than that: a header is three things kept in three places. Your logo, title and tagline are site identity. Your menu is its own object. And the layout holding both is part of the theme. Work out which of the three you want to edit and you'll know which screen to open.
Quick check before you start: hover over Appearance in wp-admin. Editor means a block theme, Customize means a classic one. If Elementor or Divi drew your header, its Theme Builder overrides both.
The logo, title and tagline
On a block theme
WordPress 7.1 added an Identity item to the Site Editor's menu for exactly this.
- Open Appearance → Editor.
- Click Identity.
- Set the Site Title, Tagline, Site Logo and Site Icon, then save.
No Identity item? You're on an older version. Open the header template part (see the layout section), click the Site Logo or Site Title block and change it in place.
On a classic theme
- Open Appearance → Customize → Site Identity.
- Change the Logo, Site Title, Tagline or Site Icon. Untick "Display Site title and tagline" if you want the logo on its own.
- Click Publish.
Nothing reaches visitors until you click Publish, and the preview on the right updates as you go, which makes the Customizer the safest place on a classic site to try things.
The menu
On a block theme, the menu is the Navigation block in the header. Click it to edit links in place, or open Appearance → Editor → Navigation to see every menu on the site. Since WordPress 7.0 you can also build the mobile menu overlay itself out of blocks and patterns.
On a classic theme, open Appearance → Menus, or Appearance → Customize → Menus to see changes live. Under Menu Locations, pick which menu sits in the header.
The layout
Block themes: the header template part
- Open Appearance → Editor → Patterns (WordPress 6.3 or later).
- Find Header among the template parts and click it.
- Move, add or delete blocks. The Navigation block is your menu; Site Logo is your logo.
- Click Save. WordPress lists each thing you changed, and you can save some or all of them.
Edits to the header template part show up on every page that uses it. That's the point. But it also means there's no "just this page" option in here; for that, see the Finer points.
Classic themes: Customizer panels, then header.php
Many classic themes add their own header panels to the Customizer (layout, sticky header, a button). Check there first, because anything the Customizer can do survives theme updates.
Anything it can't do is in the theme's header.php. Appearance → Theme File Editor will open it, but it keeps no backup, a PHP typo can take the site down, and the next theme update erases your edit. Copy header.php into a child theme and edit the copy instead.
A lot of people open header.php only to paste a tracking or verification code into the head. Most SEO and analytics plugins have a field for that, which saves you the child theme entirely.
Elementor
Custom headers live in Elementor's Theme Builder, part of its paid plans.
- From wp-admin, open Elementor → Theme Builder.
- Click + in the Header card, or open your current header and choose Edit.
- Design it, click Publish and choose where it appears. Edit Conditions changes that later.
Divi
- Open Divi → Theme Builder.
- On the Default Website Template card, choose Add Global Header → Build Global Header, or edit the header that's there.
- Save in the builder's top toolbar and exit.
- Click Save Changes at the top right of the Theme Builder.
Miss that last click and the header looks saved in the builder while the live site doesn't change at all.
Or ask your assistant
Claude or ChatGPT can work out which of the three places each change belongs in. Describe the header you want:
Replace the logo in my header with the file I'm about to upload, and add a "Book a table" button linking to /reservations next to the menu.
You get an upload link for the logo (it works for an hour), and the logo is set as the site logo. Where the button goes depends on your theme. On a block theme it's added to the header template part on a preview link, which you can open on your laptop and your phone, and none of it goes live until you publish.
On a classic theme with no page builder, there's usually no setting for a header button, so it goes into header.php. That edit happens in a draft copy of your theme rather than the one visitors see, and publishing the draft waits for your approval. If the new header.php throws a fatal error, the previous theme comes back on its own.
That's Kitepod doing the carrying; if you haven't connected Claude yet, the setup guide covers it.
What goes wrong
The new logo is blurry or huge
The logo is shown at whatever size your theme sets. Upload one at twice the display size for sharp screens, then set the width on the Site Logo block (block themes) or in your theme's header options.
The header looks right on desktop and broken on a phone
Long menus wrap. Shorten the labels, move secondary links to the footer, or rework the mobile overlay in the Site Editor (7.0 and later).
Your header.php changes disappeared
A theme update overwrote the file. Make the change again, this time in a child theme.
Two headers show up
A page builder header is on, and the theme's own header is still printing above it. Your builder's or theme's docs will say how to hide the theme header when a Theme Builder header is active.
Finer points
How do I change the header on just one page?
On a block theme, give that page its own template with a different header template part. In Elementor or Divi, set display conditions or assign a separate template to that page.
How do I make the header sticky?
It depends on the theme: usually a theme option, a page builder setting on the header section, or a few lines of CSS.
Where do I change the site icon (favicon)?
Appearance → Editor → Identity on WordPress 7.1, or Appearance → Customize → Site Identity → Site Icon on classic themes. WordPress wants a square image at least 512 pixels wide.
Why is there no Appearance → Customize menu?
You're on a block theme, and WordPress hides the Customizer there unless a plugin needs it. Use Appearance → Editor.
If your logo has text in it, keep the Site Title set anyway; it's what browsers and search results show when the image isn't there.