By Basharat Ali Khan | Last updated: October 21, 2026

WordPress custom logo not showing is frustrating because everything looks fine in the settings. You upload your logo under Site Identity, it appears in the Customizer preview, and then it is missing from the live site. The cause is almost never the upload itself. It is usually something layered on top: your header template, a builder, caching or an image format problem.

This guide goes through the causes in the order I would check them, from the quickest to the more technical ones.

Quick Answer

WordPress custom logo not showing usually means the logo is set in the Customizer but your header does not output it, or a cached or broken file is being served. Check Site Identity, make sure your header template or builder includes the logo, clear all caches and test in a private window.

Step 1: Confirm the Logo Is Set and the File Loads

WordPress custom logo not showing is sometimes just a missing or broken file, so rule out the basics first.

  1. Go to Appearance > Customize > Site Identity and confirm a logo is uploaded and selected. On a block theme, open Appearance > Editor and check the Site Logo block in the header.
  2. Open Media > Library, click the logo and copy its file URL.
  3. Paste that URL into a new browser tab. If the image does not load there, the file is the problem. Re-upload it.
  4. Check that the URL starts with your current domain and with https. After a migration or a domain change, old URLs and http links can break images.

Step 2: Check That Your Theme Supports a Custom Logo

A theme only shows the Site Identity logo if it supports it and prints it in the header. If your theme or a child theme template does not call the logo function, the logo exists in settings but never appears on the page.

In a classic theme, the header template should output the logo with this function:

<?php if ( function_exists( 'the_custom_logo' ) ) { the_custom_logo(); } ?>

The theme also needs to declare support in its functions.php:

add_theme_support( 'custom-logo', array(
    'height'      => 100,
    'width'       => 400,
    'flex-height' => true,
    'flex-width'  => true,
) );

If you use a child theme with a customized header.php, a parent theme update can change how the logo is printed, and your older copy may no longer match. Compare your child theme’s header file with the parent’s current one. Take a backup before editing theme files.

Step 3: Check Your Elementor Header Template

WordPress custom logo not showing is common on sites built with Elementor, because an Elementor header template replaces your theme’s header. In that case the Site Identity logo does not appear unless the template contains it.

  1. Go to Templates > Theme Builder and open your Header template.
  2. Check that it contains a Site Logo widget (in Elementor Pro) or an Image widget pointing to your logo.
  3. If you use the Site Logo widget, make sure the logo is also set under Appearance > Customize > Site Identity, because the widget pulls from there by default.
  4. Publish the template, then clear your cache.

    wordpress custom logo not showing header overlap
    wordpress custom logo not showing header overlap

Step 4: Check the Site Logo Block on Block Themes

On a block theme, the logo is controlled by the Site Logo block inside your header template part. If the block is missing, empty or has a width of 0, no logo appears even though Site Identity has one. Open Appearance > Editor > Patterns > Header, select the Site Logo block, make sure an image is chosen and check its width setting.

wordpress custom logo not showing site customize
wordpress custom logo not showing site customize

Step 5: Clear Every Cache

If the logo shows in the Customizer but not on the live site, a cached page is a very common cause. The Customizer often bypasses cache, while visitors see an older version.

  • Clear your caching plugin’s full cache.
  • Purge your CDN cache if you use one.
  • Clear your host’s server cache if it has one.
  • Test in an incognito window to rule out browser caching.

Step 6: Check SVG and Image Format Problems

WordPress does not allow SVG uploads by default, so people use a plugin to enable them. SVG logos can then fail to display for a few reasons: the file has no width and height or viewBox, the SVG plugin sanitized something out, or your theme tries to resize it as if it were a normal image. If your logo is an SVG and does not appear, test with a PNG or WebP version of the same logo. If that works, the problem is the SVG file or its settings.

Also check that your logo is not simply too large. A very big image can load slowly and appear missing for a moment.

Step 7: Stop Lazy Loading From Hiding the Logo

Image optimization and caching plugins often lazy-load images, which means an image loads only when it scrolls into view. A logo in the header should load immediately, and lazy loading can make it flicker or fail to show on some setups. Open your optimization plugin’s settings, find the lazy-load exclusions and add your logo image (or its file name) to the list. Clear your cache afterwards.

Step 8: Look for a Hidden or Overlapping Header Element

Sometimes the logo is there but you cannot see it. Right-click where the logo should be and choose Inspect. If the logo markup is present, check these:

  • Overlap: a sticky header, announcement bar or secondary menu may sit on top of it.
  • Hidden by CSS: look for display: none or a width or height of 0 on the logo.
  • Same color as the background: a white logo on a light header looks like it is missing, which often happens with transparent headers.
  • Header layout mode: if you recently switched your header layout, some themes handle the logo separately in each mode, so check that mode’s logo setting.
  • Retina logo: some themes have a separate retina logo. If it points to a missing file, remove it temporarily.
  • Mobile logo: some themes have a separate logo setting for mobile.

Fixing an overlap usually needs a small CSS change or a developer.

Step 9: Rule Out Plugin and Theme Conflicts

If nothing above worked, test for a conflict.

  1. Deactivate all plugins temporarily and check if the logo appears. If it does, turn the plugins back on one at a time to find the one that conflicts.
  2. Switch to a default theme such as Twenty Twenty-Four. If the logo shows there, the problem is in your active theme or child theme.

Do this on a staging site if your live site is busy.

Quick Reference Table

If WordPress custom logo not showing still leaves you unsure where to start, match your symptom here.

Symptom Likely cause Fix
The logo file does not open on its own Broken file or old URL Step 1
Logo set in Site Identity, nothing on the page Header does not call the logo Steps 2, 3
Site built with Elementor Header template has no logo widget Step 4
Shows in the Customizer, not on the live site Cache Step 5
SVG logo does not appear SVG file or plugin problem Step 6
Logo flickers or loads late Lazy loading Step 7
Logo is in the page source but not visible Overlap, hidden by CSS or same color as the background Step 8
Broke after a theme or plugin update Conflict or template mismatch Steps 9

Frequently Asked Questions

Why does my logo show in the Customizer but not on my site?

The most common reason is caching, because the Customizer often bypasses cache. The other common reason is that your header template, builder or child theme does not output the logo.

Why is my logo missing only on mobile?

Some themes use a separate mobile logo or a different header for small screens. Check your theme’s header and mobile settings.

Can an SVG logo cause WordPress custom logo not showing?

Yes. SVG files need correct dimensions and a safe upload method. Test with a PNG version of the same logo to see whether the file is the problem.

Do I need to edit code to fix this?

Often not. Most fixes involve settings, cache or the Elementor header template. Code is only needed for theme support or a template that does not call the logo.

Why did my logo disappear after a theme update?

The update may have changed how the header prints the logo, especially if you use a child theme with a customized header file. Compare your child theme file with the parent theme’s current one.

What if my logo still does not show after all these steps?

Switch to a default theme and test with plugins off to see whether the cause is the theme or a plugin, then ask the theme’s support or a developer for help.

Need Help Fixing Your Logo?

If your logo is still missing after these steps, contact me here and I will fix it directly, or see my WordPress services.


About the author
Basharat Ali Khan is a WordPress developer in Gilgit, Pakistan with 8+ years of experience building custom plugins, Elementor sites and WooCommerce stores.
LinkedIn | WordPress.org profile

Related: WordPress Favicon Not Showing | WordPress Featured Image Not Showing | WordPress Images Not Uploading 

Leave a Reply

Your email address will not be published. Required fields are marked *