Check that your favicon loads, appears in the browser tab, and is ready for Google Search results
This check only covers the favicon. For a full picture of your page, run a page audit.
For issues across your whole site — duplicate titles, orphan pages, broken internal links — run a site audit.
Want us to fix what we found? Our team can help.
A favicon (short for "favorite icon") is the small image that identifies your site in the browser tab, bookmarks list, history, and — since 2019 — in Google Search results next to your URL. It's declared with <link rel="icon"> in the page <head> or served from /favicon.ico at the site root. A broken or missing favicon doesn't block indexing, but it's one of the cheapest ways to lose brand recognition at the point where users decide which result to click.
<link rel="icon"> in HTML, or a working /favicon.ico fallback at the origin roottext/html (a common symptom of an SPA catch-all route serving the app shell for a missing asset)<link rel="apple-touch-icon"> used by iOS when users save the site to their home screenapple-touch-icon. Without it, iOS crops a screenshot of the page, usually producing an unrecognizable tileGood — modern SVG with a legacy ICO fallback for older clients:
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="icon" href="/favicon.ico" sizes="32x32">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
Good — just the classic /favicon.ico at the site root, no tag needed (browsers find it automatically):
<!-- no link tag; /favicon.ico responds with image/x-icon -->
Bad — declared but the file is missing (serves the SPA shell instead):
<link rel="icon" href="/favicon.ico">
<!-- GET /favicon.ico → 200 OK, Content-Type: text/html -->
Bad — declared but 404, browsers fall back to a placeholder:
<link rel="icon" href="/static/icons/old-favicon.png">
<!-- GET /static/icons/old-favicon.png → 404 -->
Bad — no <link> tag and /favicon.ico missing at root (noisy 404 in server logs on every page load):
<!-- no favicon at all -->
index.html for unknown paths. The favicon request returns 200 OK with the app shell; browsers render nothing in the tab. Fix: exclude static-asset paths from the SPA fallback/images/favicon.png but no <link> tag — browsers only look at <link rel="icon"> and /favicon.ico; a favicon saved to any other path without a declaration is invisiblerel="shortcut icon" exclusively — still works, but it's a legacy Microsoft-era form. Modern rel="icon" is the current standardsizes="16x16" / sizes="32x32", or (best) as a single SVG that scales to any size. apple-touch-icon should be 180×180./favicon.ico on first page load even if a <link rel="icon"> is declared — a quirk inherited from the late-90s Internet Explorer era. If the file is missing, every page load generates a 404 in your server logs. Keep a /favicon.ico at the root with a 16×16 and 32×32 combined .ico, plus a modern <link rel="icon" href="/favicon.svg"> for crisp high-DPI rendering.?v=2) or test in a private window. The favicon file itself should be served with sensible Cache-Control (e.g. max-age=86400) — not max-age=31536000, which makes future updates effectively impossible.@media (prefers-color-scheme: dark) inside the SVG itself for automatic dark-mode variants. All current browsers support SVG favicons (Chrome, Firefox, Safari, Edge). Keep a PNG or ICO as a fallback for older clients: <link rel="icon" href="/favicon.svg" type="image/svg+xml"> followed by <link rel="icon" href="/favicon.ico">. Browsers pick the best supported format automatically.