Missing at the top

WordPress Header Not Showing: Find Out Who Was Supposed to Print It

A missing header is almost never deleted. It has been switched off, left unassigned or covered up by one of several systems that can each claim the top of your page. Work out which system owns your header and the fix is usually one setting away.

October 13, 2026 · 8 min read

The short answer

A WordPress header usually disappears because the page uses a blank or canvas layout, a builder's header template no longer matches its display conditions, the theme header was disabled for a builder header that is now gone, the mobile header layout is empty, or a block theme cannot find its header template part. Identify who prints the header, then check that setting.

On this page
  1. Where it vanished tells you who to question
  2. Four systems that can claim the top of the page
  3. Causes, from the most mundane
  4. Putting the header back where visitors expect it
  5. Stopping the header from wandering off again
  6. The most contested strip of pixels on the site

Where it vanished tells you who to question

Before opening any settings, map the damage. The scope of the problem points to the layer at fault more reliably than any plugin scan.

  • Gone on one page only: that page's layout or template setting, or a per-page option that hides the header.
  • Gone on one kind of page, such as posts or products: a builder template whose display conditions skip that kind.
  • Gone everywhere, right after a theme or builder change: the theme header was turned off, or the template that replaced it is no longer active.
  • Gone on phones only: an empty mobile header layout or a hide-on-mobile switch.
  • The old theme header shows instead of your designed one: the builder template is not being applied, so the theme's fallback is printing.
  • There, but blank or unreadable: the header loaded and its styles did not, or it is hidden behind other content.

Four systems that can claim the top of the page

WordPress has no single header setting. Depending on the theme and builder, any of these may be printing yours, and some sites have two competing for the job.

Classic theme template

PHP templates print it, starting with header.php loaded by get_header(), with options in the Customizer. Storefront and Hestia work this way; Genesis builds its header through hooks.

Theme header builder

Rows and elements dragged into place in the Customizer or the theme's own panel, with separate desktop and mobile layouts. Astra, Kadence, Blocksy, Neve, Sydney, Flatsome and WoodMart all have one.

Block theme template part

A Header template part edited in the Site Editor, usually holding a Navigation block. Twenty Twenty-Five, Twenty Twenty-Four and Ollie work this way.

Builder template with conditions

A header designed in Elementor Pro's Theme Builder, Divi's Theme Builder, Avada's Layout Builder, a Bricks Header template, a GeneratePress Element or tagDiv Composer, shown wherever its conditions say.

To find yours, look for a header template first in the builder's Theme Builder screen. If there is none, open the Customizer and look for a Header panel. On a block theme, open the Site Editor and look under Patterns or Template Parts.

Causes, from the most mundane

A page layout that leaves the header out

Landing page templates hide headers on purpose. Elementor's Canvas layout shows only the Elementor content, with no header, footer or sidebar, and Elementor's own help center lists it as a reason a header goes missing on one page. Many themes add their own blank templates or per-page switches to hide the header, usually in the page editor's sidebar. Check the Page Layout or Template setting of the affected page first.

Display conditions that stopped matching

Builder headers appear only where their conditions say. A template set to the front page will not show on posts. In Elementor, a header template left as a draft or set to private never reaches the live site. GeneratePress has an Elements bug its reporter says has been open for years: delete or unpublish a page named in an exclusion rule and the rule goes blank, excluding the element from every page with no warning. Avada lets you assign different headers to different pages, which makes it easy to forget one. Check the conditions screen of the header template and its publish status.

The theme header switched off, with nothing switched on

Hello Elementor has a setting to disable the theme header and footer so an Elementor Pro header can take over. If that template later stops applying, the site has no header at all. Hello Biz lets code suppress its default header through a filter. Sydney sites still on the legacy header have no Header Builder section in the Customizer, and one owner who enabled the new builder by code snippet broke the header layout.

A phone header with nothing in it

Header builders keep the mobile layout separate. Kadence builds two distinct headers, Desktop and Tablet/Mobile. If the mobile rows are empty, phones get nothing. In Elementor, a container with Hide on Mobile enabled under Advanced > Responsive disappears on phones only.

A template part the theme cannot find

In block themes, if the header template part is deleted or unavailable, WordPress prints nothing in its place. Only with WP_DEBUG and WP_DEBUG_DISPLAY on does it say "Template part has been deleted or is unavailable: header". Site Editor changes are stored in the database for the theme that was active when you made them, so Twenty Twenty-Four users who switched to a child theme found their customized templates and parts did not follow.

Present, but out of sight

Sometimes the header is in the page source and simply invisible: white text in a transparent header over a white section, a header sitting under a full-screen slider, or a header whose stylesheet failed to load. If the page is unstyled overall, start with theme CSS not loading. If the page is blank from the top down, PHP stopped in the header code; follow the white screen guide.

Putting the header back where visitors expect it

  1. 1

    Check the page source

    Open View Source and search for your logo's file name or a menu item. If it is there, the header is hidden by CSS. If it is not, nothing printed it.

  2. 2

    Check the page's layout

    Open the affected page in the editor and set its template or Page Layout back to the default, then turn off any hide-header option.

  3. 3

    Check the builder template

    Open the header template, confirm it is published, and review its display conditions. For a sitewide header, the condition should cover the entire site.

  4. 4

    Check the theme header switch

    If a builder header replaced the theme header, confirm the builder plugin is active and its template is applied. If not, turn the theme header back on as a stopgap.

  5. 5

    Check the mobile layout

    Open the header builder's mobile view and confirm each row holds a logo and a menu trigger. Clear any hide-on-mobile switches.

  6. 6

    Restore a missing template part

    In the Site Editor, reset the Header template part or reinsert it into the template. Re-create customizations made under a different theme.

  7. 7

    Regenerate and purge

    Rebuild builder CSS files, then purge every cache and test logged out on a phone and a laptop.

Stopping the header from wandering off again

  • Pick one owner for the header, theme or builder, and turn the other off on purpose, with a note saying so.
  • Set builder header conditions to the entire site, then add exceptions, rather than building up page by page.
  • Never delete a page named in an exclusion rule without checking the rule afterward.
  • Before switching to a child theme on a block theme, export or note any Site Editor changes.
  • Check the header on one post, one page and one product, on a phone, after each theme or builder update.

Theme-specific guides use each theme's real panels and known bugs: GeneratePress, OceanWP, Avada, Flatsome, WoodMart, Sydney, Storefront, Hestia, Newspaper, Hello Biz, Hello Elementor, Twenty Twenty-Five and Twenty Twenty-Four. Header builder faults are covered in Astra header builder not working, Neve header builder issues, Divi Theme Builder templates not showing and GeneratePress Elements not displaying.

The most contested strip of pixels on the site

On many WordPress sites the theme, the theme's header builder and a page builder can all print a header, and a fourth system decides which one wins on each page. That flexibility is real. So is the cost: a header that vanishes when a condition, a license or a plugin changes, and a header that can shift the layout as it loads, which counts against Cumulative Layout Shift.

In a Next.js site the header is one layout component shared by every page that should have it. A page leaves it out only if the code says so, and that change is reviewed and tested before it ships. The tradeoff is that a developer changes the layout, not a drag handle. The comparison is laid out in WordPress vs Next.js on layout shift and page builders vs Next.js, and the move itself under WordPress to Next.js. Header-driven layout shift on WordPress can often be reduced with theme speed optimization. To keep WordPress and get the header fixed, use our theme troubleshooting service or theme repair. Related symptoms are in the troubleshooting section, including the missing footer and the mobile menu that will not open, with deeper hubs under WordPress repair.

Questions people ask before they call

That page almost certainly uses a different layout. Open it in the editor and check its template or Page Layout setting: canvas and blank templates leave the header out by design. Also look for a per-page hide-header option in the editor sidebar, and for a builder header whose display conditions exclude that page.

Elementor's help center points to display conditions that were never set, the Canvas layout, a template still in draft, responsive hide settings and stale cached files. Check conditions under Elementor > Theme Builder, publish the template, then use Clear Files & Data under Elementor > Editor > Tools and purge your other caches.

Header settings belong to the theme, not to your content. A new theme starts with its own header, and builder templates built for the old theme may no longer be applied. On block themes, Site Editor changes stay with the theme you made them in. Reassign menus, rebuild the header in the new theme and check its mobile layout.

Most header builders keep a separate mobile layout, and an empty one prints nothing. Open the header builder's mobile view and add a logo and menu trigger. In Elementor, check that Hide on Mobile is off under Advanced > Responsive on the header container. Then test on a real phone, logged out.

Keep reading

Free · No obligation

Get your header back on every page

Tell us your theme, your builder and where the header is missing. We will find which system dropped it and quote the fix before changing anything.

Which of these sounds like you? (pick any)

Rather talk now? Call (210) 346-0848.

CallGet a quote