Skip to content

How to hide page titles in WordPress safely

To hide a WordPress page title, hide the heading the theme prints. Leave the title stored on the page alone. Which control does that depends on your theme, your template and whether a page builder or WooCommerce owns the page. So start by finding which element is actually showing, then use the most built-in control you have.

On this page
  1. Which “title” are you actually trying to hide?
  2. Why deleting the title is the wrong fix
  3. How to hide the title in a block theme
  4. How to hide it with your theme’s own setting
  5. How to hide it with CSS in a classic theme
  6. How to hide it in Elementor
  7. How to hide shop and product titles in WooCommerce
  8. When a plugin is the simpler route
  9. How to keep a heading for screen readers and search
  10. What a correct result looks like, and when to stop
  11. Frequently asked questions

Key takeaways

  • Don’t delete the title in the editor. WordPress.com’s support docs say the slug can fall back to the content ID and the page can show as untitled in stats. Menu items that use the page name lose their label too.
  • In a block theme the title is a Title block inside a template under Appearance > Editor > Templates. Removing it changes every page that uses that template, so give selected pages their own no-title template.
  • CSS like .page-id-123 .entry-title { display: none; } works only with your theme’s real class. Theme updates can change that class, as one ColorMag owner found when the title came back.
  • W3C’s accessibility tutorials say display:none hides content from screen readers too, so the page still needs one meaningful heading after the theme title goes.
  • On a WooCommerce shop, the Product Catalog template can override edits made to the Shop page itself, so edit the Archive Title block there.

You design a hero section with its own headline, publish the page, and WordPress prints “About” or “Home” in large type above it. Removing that word looks like a two-minute job. Often it is. It goes wrong when the method doesn’t match the page. Titles disappear from every blog post, a menu item goes blank, or the title comes back after the next theme update.

The fix depends on three things: whether you run a block theme or a classic theme, whether a page builder renders the page, and whether WooCommerce owns the template. This guide covers each case. It starts with the step most failed attempts skip: working out which “title” you are looking at.

Which “title” are you actually trying to hide?

In WordPress, “title” can mean any of four things, and each has its own control. Most “it didn’t work” support threads come from changing the wrong one.

  • The stored title. The name you type at the top of the editor. WordPress uses it for menus, the slug and the admin page list. Themes print it with the_title().
  • The visible heading. The theme or template prints the stored title on the page, usually as an H1. This is almost always what people want gone.
  • The document title. The <title> tag in the page head, shown in browser tabs. SEO plugins such as Yoast or Rank Math usually control it. Hiding the visible heading doesn’t change it.
  • The site title. Your site’s name in the header. WordPress gives it its own Site Title block, separate from the page’s Title block.

To check which one you’re looking at, open the page on the front end, right-click the text and choose Inspect. The highlighted element shows the tag and its classes. One OceanWP owner on WordPress.org couldn’t get “Hide Page Title” to work because the text sat inside the header’s logo area, not the content. The theme prints the site title there when no logo is set. No page-title setting would ever have touched it.

If you change classic theme files, put those changes in a child theme. Our guide to theme customization that survives updates explains why.

Why deleting the title is the wrong fix

Clearing the title field does make the heading disappear. It also breaks other things. WordPress.com’s support page on hiding titles says that without a title, the slug can fall back to the content ID and the page becomes hard to find in stats, where it shows as untitled. Menu items that take their label from the page name lose that label too.

So keep a real, descriptive title on every page and hide only how it displays. The WordPress slug explainer covers why a numeric URL is worth avoiding.

How to hide the title in a block theme

In a block theme such as Twenty Twenty-Four or Twenty Twenty-Five, the heading is a Title block inside a template, not part of your page content. WordPress’s own documentation says templates control the layout and one template can serve many pages. That is the part to plan around.

  1. Go to Appearance > Editor > Templates.
  2. Open the template your page uses, usually Pages or Single Page.
  3. Select the Title block and delete it.
  4. Save, then open several pages that use the same template, not just the one you were fixing.

That change applies to every page on the template. If only your homepage or one landing page should lose its title, follow WordPress.com’s advice and use a separate template without the Title block. Assign it to those pages from the Template setting in the page’s sidebar. Some default themes include a “No title” page template. One Reddit user reported that picking it in Twenty Twenty-Four did not hide the title, and no cause was found. So check the result on the front end, not in the editor preview.

The page then needs a heading of its own, usually the headline in your hero. Our guide to customizing a WordPress template safely covers duplicating and assigning templates in more detail.

How to hide it with your theme’s own setting

Many classic themes have their own switch, and it beats CSS when it exists. The theme knows its own markup, so the setting keeps working when the markup changes in an update. Look in three places: a panel under the page editor, the page’s sidebar settings, or Appearance > Customize. Themes call it things like Disable Title, Page Header or Hide Title. Some only offer it in a paid version.

Check how far a global setting reaches. One WordPress.org thread describes a Customizer “Hide Page Title” option that also hid every post title. Turn it on, then look at a page, a blog post and an archive before you move on.

How to hide it with CSS in a classic theme

CSS is the fix people use most, and the one that breaks most easily. It works when it is scoped to the right page and uses your theme’s actual class. Add it under Appearance > Customize > Additional CSS. On WordPress.com, custom CSS needs a paid plan.

WordPress.com’s examples use .entry-title, which many themes use and many don’t. Swap in the class the inspector showed you.

/* every page, but not posts */
.page .entry-title { display: none; }

/* one page: replace 123 with the page ID */
.page-id-123 .entry-title { display: none; }

/* one post */
.postid-123 .entry-title { display: none; }

The page ID is the number after post= in the editor’s address bar. Don’t use a bare .entry-title rule. It hides post titles and archive headings too. A stray comma between selectors does the same: .page-id-123, .entry-title applies the rule to every title on the site.

Expect three side effects:

  • A leftover gap. display: none removes the heading but not the margin or padding on the box around it. Inspect that wrapper and adjust only its spacing, scoped to the same page.
  • Silent drift. In a ColorMag thread on WordPress.org, a theme update changed the heading markup and the hidden title came back. The owner needed a new selector from support. After any theme update, recheck the pages where you hid titles.
  • Caching. A correct rule can look broken because a cached copy of the page is still being served. Clear your caching plugin, your server or CDN cache, and your browser cache before you change the CSS again.

How to hide it in Elementor

Open the page in Elementor, go to Page Settings and set Hide Title to Yes. That switch hides an element by selector, so it only works if Elementor targets the element your theme actually prints. Elementor’s help page says the default selector is generally h1.entry-title, and its settings say “If your theme’s selector is different, please enter it above.” The field is Site Settings > Layout > Page Title Selector. Enter the class you found in the inspector.

After changing it, clear Elementor’s generated CSS and your caches. One known bug, GitHub issue 24852 from January 2024, showed that this selector setting produced invalid CSS, and the reporter said it could upset WP Rocket’s CSS optimization. If the toggle does nothing, check the selector first.

Elementor page settings panel with the Hide Title option for a WordPress page
Activating the Hide Title toggle suppresses the page heading as long as Elementor targets your theme’s specific title selector. · Source: elementor.com

How to hide shop and product titles in WooCommerce

On a block theme, editing the Shop page itself often changes nothing. WooCommerce’s documentation says the Product Catalog template controls the main Shop page. To remove the “Shop” heading, go to Appearance > Editor > Templates, open Product Catalog and remove or edit the Archive Title block.

On the Storefront theme, WooCommerce’s setup guide says the Template dropdown doesn’t appear for the page set as the Shop page. If the option seems to be missing, check which page is set as the Shop page under WooCommerce > Settings > Products. For a Storefront homepage, the guide uses the Full Width template.

When a plugin is the simpler route

If your theme has no switch and you don’t want to maintain CSS, a plugin adds a checkbox to each page. Hide Page And Post Title, from the WordPress.org directory, adds a “Hide the title” option when you edit a page, post or public custom post type. Its listing says later versions support block themes. Its docs say it leaves the stored title and SEO metadata alone, and that you should add a heading if the hidden title was the page’s only H1.

The tradeoff is one more plugin to keep updated. After plugin updates, check that hidden titles are still hidden.

Hiding the title can remove the page’s only main heading. W3C’s accessibility tutorials say headings show how a page is organized and let screen-reader users jump through it. A separate W3C tutorial notes that display: none and visibility: hidden hide content from assistive technology as well as from sight.

So after you hide the theme’s title, make sure the page has one meaningful heading set as an H1, usually the headline in your hero. Check that it isn’t just a paragraph styled to look big. Also check you haven’t ended up with two H1s, which happens when a builder adds its own. Our article on building a landing page in WordPress covers how headings should sit on a designed page.

On search: Google’s documentation on title links lists several sources it uses, including the <title> element, the main visible title, headings and other prominent text. Hiding the theme heading doesn’t change your SEO plugin’s title. No source in our research shows ordinary title hiding hurting rankings. What matters is that the page still makes its subject clear.

What a correct result looks like, and when to stop

A finished change passes four checks:

  1. The target page shows no theme title on desktop and mobile.
  2. Other pages, posts and archives still show theirs.
  3. Menus, the slug and the browser tab still use the real page name.
  4. The page still has one clear H1.

If the title still shows, work through the causes in this order:

  1. You targeted the wrong element, such as the site title or a WooCommerce template.
  2. A cached copy of the page is being served.
  3. The selector doesn’t match the class the theme actually prints.
  4. A builder setting points at the wrong selector.
  5. An update changed the theme’s markup.

Several of the threads we read ended without a fix, often where a theme and a builder both printed a heading. If you have checked all five and the title is still there, the snippet isn’t the problem. Finding which layer prints the heading is the real work, and that is the point to hand it to whoever maintains the theme. If you would rather describe the change in chat than trace it yourself, see how SiteSelf handles design changes on an existing site.

Frequently asked questions

Can I hide the page title without a plugin?

Yes. Use your theme’s own setting, a block template without the Title block, or CSS in Additional CSS. A plugin only helps when none of those fit how your site is built.

Will hiding the title remove it from my menu?

Hiding the heading leaves menus alone, because the stored title doesn’t change. Deleting the title is what breaks menu labels, so hide it rather than clearing the field.

Does hiding the title change what Google shows?

Not directly. Google builds title links from several sources, including the <title> element your SEO plugin controls. Keep that title accurate and keep a clear main heading on the page.

Why does my CSS work in the Customizer preview but not on the live site?

Usually caching or CSS minification. Clear your plugin, server, CDN and browser caches and regenerate any builder CSS before you rewrite the rule.

How do I hide the title on custom post types?

In a block theme, edit the template for that post type. In a classic theme, use the body class WordPress adds for that type, which you can see in the inspector. Hide Page And Post Title also supports public custom post types.

Is it better to hide the H1 or restyle it?

If the theme’s heading says what the page is about, restyling it to fit the design keeps the structure intact with no extra work. Hide it when your design already has its own heading, and make that heading the H1.

Give your WordPress site its first task.

Connect the site you already have, add your agent to Slack or Telegram, and tell it what you need.

Connect your site

Start with 500 free credits. No credit card needed.