Missing OceanWP header

OceanWP Header Not Showing? Find the Switch That Hid It

A missing header on an OceanWP site is rarely a bug. Somebody, often months ago, flipped a switch on one page, picked a template that leaves the header out, or told the theme to borrow a header from somewhere else. The trick is knowing which of five places to look first.

October 15, 2026 · 9 min read

The short answer

An OceanWP header usually vanishes because a setting told it to. Check the page's OceanWP Settings for Display Header set to Disable, then the page template (Landing Page and Elementor Canvas have no header), then Customizer > Header > General for a Custom Header with no My Library template, then any Elementor Pro header and its display conditions.

On this page
  1. Missing everywhere, on one page, or only invisible?
  2. The chain of command for OceanWP's top bar of the page
  3. Six likely causes, with the check for each
  4. Bringing the header back without breaking the others
  5. One header system, written down
  6. When the top of the page has four owners

Missing everywhere, on one page, or only invisible?

Start with the pattern, because OceanWP decides about the header at several levels and each pattern points at one of them. Open the affected page logged out, then a second page that looks fine, and note the differences. If you can, open the page source too and search for site-header. That one search separates a header that was never printed from one that is printed and hidden.

  • Gone on one page only: a per-page setting or a page template is the usual reason.
  • Gone on the shop or the blog listing: OceanWP reads per-page settings from the page assigned as Shop or Posts page, so a switch there hides the header on the whole archive.
  • Gone across the site after a change: the header type in the Customizer, a Custom Header template, or an Elementor Pro header took over.
  • An empty strip where the header should be: a header container printed with nothing inside it.
  • In the source but not on screen: a transparent header blending into the page, or CSS hiding it.
  • Fine in one language, empty in another: a translated copy of the header template.

The chain of command for OceanWP's top bar of the page

OceanWP's header passes through a short chain of decisions on every request. A no anywhere in the chain wins. Work down this table in order and you will usually find the culprit before the fourth row.

What decides whether an OceanWP header appears, in the order it is checked
Where you change itWhat goes wrong
Page templatePage Attributes in the editor, or Elementor's page settingsLanding Page and Elementor Canvas print no header at all
Display HeaderOceanWP Settings for that page, Header tab (needs Ocean Extra)Set to Disable and forgotten
Elementor Pro headerTemplates > Theme Builder, with display conditionsIts content replaces OceanWP's inside the header area
Header StyleCustomize > Header > General > Header Type, or per page in OceanWP SettingsA per-page style overrides the site-wide one
Custom Header templateCustom Header Settings > Select Template, built in OceanWP > My LibraryNo template chosen, or the template was emptied

Notice how many rows depend on other products. The per-page box comes from Ocean Extra, the template library too, and two rows belong to Elementor. If you are unsure which builder owns which part, our OceanWP and Elementor guide maps it out, and the general version of this chain across themes is in WordPress header not showing.

Six likely causes, with the check for each

1. Display Header switched to Disable on that page

Open the page in the editor and find OceanWP Settings: a sidebar panel in the block editor, a box beneath the content in the classic editor. On the Header tab, Display Header offers Default, Enable and Disable. Anything other than Default deserves suspicion. Remember the archive rule: Disable on the page assigned as your Shop page removes the header from the shop listing too.

2. A page template that never asks for a header

OceanWP ships a Landing Page template whose file simply leaves out the header and footer. Elementor's Canvas template does the same. Both are useful for sales pages and both get applied by accident during an import or a rushed edit. Check: the Template dropdown under Page Attributes, and the page layout in Elementor's page settings. Elementor Full Width keeps the theme header.

3. Custom Header selected, with nothing to show

Under Customize > Header > General, the Custom Header type tells OceanWP to print a template from OceanWP > My Library instead of its own layout. If Select Template is empty, or the chosen template was deleted or emptied, the theme prints the header container with nothing worth seeing inside. A page can also switch its own Header Style to Custom Header in OceanWP Settings and pick a different template, or none. Check: both places, then open the template itself.

4. An Elementor Pro header whose conditions moved

OceanWP registers Elementor Pro's theme locations, so a Theme Builder header with matching display conditions replaces OceanWP's header content on those pages. If the conditions were narrowed, the old OceanWP header returns where you expected the new one. If the template was saved half-built, pages show an empty band. Check: Templates > Theme Builder, open the header and read its conditions line by line.

5. Present, but you cannot see it

The Transparent header type positions the header over the top of the page with no background, and can swap in a separate transparent logo. Over a dark hero image that looks smart. On a page without one, a white logo and white menu text sit invisibly on a white page. A sticky header extension or a stray rule in Custom CSS/JS can also hide it. Check: select all text on the page, or inspect the top of the page in DevTools.

6. A child theme holding old copies of the header files

OceanWP 4.2.0, released June 29, 2026, updated a batch of header templates, including partials/header/layout.php, logo.php and nav.php, alongside its new accessibility options. A child theme that copied any of those files earlier keeps serving the old version, which can drop or mangle the header after a theme update. Check: look in the child theme for a partials/header folder. Rename it on staging; if the header returns, rebuild the customization against the current files.

Bringing the header back without breaking the others

  1. 1

    Map where it is missing

    List the pages without a header and one that has it. Note whether the missing ones share a template, a section of the site or a language.

  2. 2

    Open OceanWP Settings on one bad page

    Set Display Header to Default and Header Style to Default, update, and reload logged out. If the header returns, repeat for the other pages, and check the Shop and Posts pages too.

  3. 3

    Switch the page template

    If the page uses Landing Page or Elementor Canvas and should have a header, change it to the Default template or Elementor Full Width and recheck the layout.

  4. 4

    Read the Customizer header type

    In Customize > Header > General, confirm Header Type. If it is Custom Header, open Custom Header Settings and make sure Select Template names a template that exists and has content.

  5. 5

    Audit Elementor Pro's Theme Builder

    Open each header template, read its display conditions, and delete or unpublish any header you no longer want competing with the theme.

  6. 6

    Check translations

    With Polylang, OceanWP looks up the translated copy of an Elementor-built header template for each language. Open that copy and make sure it is finished.

  7. 7

    Purge and verify

    Clear the page cache and CDN, then check the pages logged out on a phone and a desktop. A cached page can keep a missing header alive after the fix.

If the header is back but the menu inside it will not open on phones, that is a different fault with its own guide: OceanWP mobile menu not working. If the header disappeared right after a theme or Ocean Extra update, start with OceanWP update broke the site, because an Ocean Extra that crashed or was deactivated takes the per-page settings, and the My Library screen, with it.

One header system, written down

Most OceanWP header mysteries start with two header systems living on one site: the theme's header types, a Custom Header from My Library, an Elementor Pro Theme Builder header, sometimes a fourth from a header plugin. Each works. Together they argue about who prints the top of the page, and whoever edits next has to guess which one won.

  • Choose one owner for the header and remove the alternatives, rather than leaving them disabled in a corner.
  • Keep per-page header overrides for pages that truly need them, and list those pages in your site notes.
  • Name My Library templates clearly, such as Header, main site, so nobody deletes the live one while tidying.
  • Use Landing Page and Elementor Canvas only for pages built to stand alone, like paid ad landing pages.
  • After every theme, Ocean Extra or Elementor update, check one normal page, the shop and the blog.

Faster headers matter too: a Transparent header over a heavy hero image is usually where the largest paint on the page happens, which our OceanWP speed guide covers. For the other OceanWP problems owners bring us, see the OceanWP repair hub and the troubleshooting section, including styles that refuse to update and a broken shop layout.

When the top of the page has four owners

The header is the most visited strip of any site, and on an OceanWP stack it can be controlled by the theme, Ocean Extra's per-page box, a library template and a page builder. That flexibility is why people choose the theme. It is also why a header can vanish without anyone touching it on purpose.

In a Next.js build, the header is one component in the site's layout code. Pages that need a different header say so in code, reviewed and tested before release, so there is no forgotten switch on page 47. The cost is that layout changes go through a developer. Weigh that honestly in OceanWP vs Next.js, see how a move works in OceanWP to Next.js, and if you want the current site fixed today, our theme troubleshooting team will find the switch.

Questions people ask before they call

Edit the page, open OceanWP Settings, go to the Header tab and set Display Header to Disable. This needs the free Ocean Extra plugin, which provides the per-page settings. To hide the footer as well, the Landing Page template removes both. Keep a list of pages you changed, because this is the setting people forget.

Something differs between those pages. In order, compare the page template, the Display Header and Header Style options in each page's OceanWP Settings, and any Elementor Pro header display conditions. On shop and blog archives, OceanWP uses the settings saved on the page assigned as the Shop page or Posts page.

The theme is printing its header container but the template has nothing in it. Go to Customize > Header > General > Custom Header Settings and check that Select Template names a template from OceanWP > My Library. Then open that template and confirm it has content and has not been replaced by an empty duplicate.

Not the theme's own header, but it does remove the per-page OceanWP Settings and the My Library screen where Custom Header templates are managed. Pages that relied on a per-page header choice fall back to the site-wide one without warning. Keep Ocean Extra active and on the same release family as the theme. See OceanWP update broke the site if the two drifted apart.

Yes. OceanWP registers Elementor Pro's theme locations, so a Theme Builder header replaces OceanWP's header content on pages matching its display conditions. Use one system or the other for the main header, not both, and keep the conditions simple. The Elementor repair hub covers Elementor-side failures.

Keep reading

Free · No obligation

Get your OceanWP header back on every page

Tell us which pages lost it and when. We check the page settings, templates and builder conditions, restore the header and write down which system owns it.

Which of these sounds like you? (pick any)

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

CallGet a quote