No favicon found: the link rel icon tags squirrel looks for
A page with no icon link at all, or only one format. squirrel reads the rel and the file extension on every link.
What a favicon is
A favicon is the small icon a browser shows in the tab, the bookmark list and the history. Google also shows one beside the result in search, and a site with none gets a generic globe there.
Several formats exist for different places. A .ico file is the legacy fallback that every browser understands. An SVG scales to any size and can carry a dark-mode variant. An Apple touch icon, at 180 by 180 pixels, is what iOS uses when someone adds the site to their home screen. One file is enough to work; three cover every surface properly.
What squirrel checks
The rule runs on every crawled page over its <link> elements. It emits one or two checks:
favicon: warns with the messageNo favicon foundand the valueAdd <link rel='icon'> for brand recognitionwhen nothing matched. It passes withFavicon found: <format>and a value suggesting more formats when exactly one distinct format was found, and withMultiple favicon formats foundand one item per format when there were several.apple-touch-icon: emitted only when at least one favicon was found and none of them was an Apple touch icon, at info status with the messageNo Apple touch icon foundand the valueAdd for iOS home screen bookmarks.
A link counts when its rel is icon, shortcut icon, apple-touch-icon or apple-touch-icon-precomposed, or contains icon anywhere, and it has an href. The format recorded is apple-touch-icon when the rel says so, otherwise svg, ico or png when the href ends with that exact lowercase suffix, and icon otherwise. The test is on the end of the whole href, so /favicon.svg?v=2 and /favicon.SVG are both recorded as icon. Formats are deduplicated, so ten PNG sizes count as one.
The rule does not fetch the file, so a <link rel="icon"> pointing at a URL that returns 404 still passes. A page with no parsed document emits nothing at all.
How to fix it
<link rel="icon" href="/favicon.ico" sizes="32x32" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />Those three cover legacy browsers, modern browsers and iOS. Google’s guidance for the icon in search results is a square file, at least 8 by 8 pixels and a multiple of 48 where possible.
The common false positive is a site relying on the implicit /favicon.ico path with no link element. Browsers do request that path automatically, so the icon works, but this rule reads markup and reports it as missing. Adding the link is the fix and is worth doing anyway, because Google’s documentation asks for one.
| Rule ID | core/favicon |
| Category | Core SEO |
| Scope | Per-page |
| Severity | warning |
| Weight | 3/10 |
Enable / disable
Disable this rule
[rules]
disable = ["core/favicon"]Disable all Core SEO rules
[rules]
disable = ["core/*"]Enable only this rule
[rules]
enable = ["core/favicon"]enable replaces the default ["*"], so this is the only rule selected. Leave disable out: a rule that matches any disable pattern is skipped even when enable names it. Only an enabled setting under a rule’s own [rule_options] table overrides both lists.
Related rules
- core/og-tags: the other brand assets a page declares for external surfaces.
- core/twitter-cards: the same for X.
- social/og-image-size: whether that share image is usable.
- images/svg-inline: large inline SVGs adding weight to the HTML.
Core SEO findings ship in every audit next to the performance, security and agent experience rules. See Fix SEO issues with AI for how an agent works through a report.
References
- Define a favicon to show in search results, Google Search Central
- The link element, HTML Standard
- rel=icon, MDN
Check your site
Run squirrel audit https://example.com and open the Core SEO section of the report. Each page reports the icon formats it declared. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.