squirrelscan
GitHub

Site Asset Consistency

Finds pages whose favicon, theme-color or default OG image differs from the rest of the site

Finds pages whose favicon, theme-color or default OG image differs from the rest of the site

Rule ID social/asset-divergence
Category Social Media
Scope Site-wide
Severity warning
Weight 3/10

How it works

Your favicon, your theme-color and your fallback share image all come from one layout, so every page should carry the same three. When a pocket of pages carries different ones, those pages are usually running an older template: a section that missed a redesign, a cached shell, or a second layout nobody remembers owning. Nothing about such a page looks wrong on its own, which is why no per-page check can see it.

Three axes are compared across the crawl:

Axis What is read
Favicon The first <link rel="icon"> href, resolved to an absolute URL
Theme color <meta name="theme-color"> content
Default OG image og:image, on the pages that should share one

Each axis is judged against your site’s own modal value, and only the minority form is reported.

Per-page share images are not a finding

Articles and products (plus recipes, events, profiles and media pages) should ship their own og:image. Those page types never vote on the OG axis and are never reported on it. Neither is any page whose og:image is used by that page alone, whatever its type: a fallback is by definition shared, so a one-off image is a per-page asset rather than a template running behind. What the rule compares there is the fallback the rest of the site shares. Favicon and theme-color have no such exemption: they are browser chrome, not content, and stay uniform even on an article.

It stays quiet unless it has grounds to speak

  • Fewer than 10 crawled pages: there is no norm to judge against, so the rule is skipped.
  • Fewer than 10 pages declaring an asset: that axis is not judged at all.
  • No value reaching 70% agreement on any axis: your site genuinely varies its chrome, so nothing in it is a deviant.
  • A page that declares nothing never votes and is never a deviant. A missing favicon belongs to Favicon and a missing share image to the Open Graph rules, so the two never both flag the same page.
  • Apple touch icons and mask icons legitimately differ from the tab icon and never stand in for it. A light/dark theme-color pair is normal and reads as one value.

Solution

Your favicon, theme-color and fallback share image come from one layout, so every page should carry the same three. Pages that carry different ones are usually running an older template: a section that missed a redesign, a cached shell, or a second layout nobody remembers owning. The visible cost is inconsistent link previews and a tab icon that changes as visitors move around the site. Fix it where the assets are declared (the shared head partial or theme config) rather than page by page. Per-page share images on articles and products are correct and are not reported here: what this rule compares is the fallback the rest of the site shares.

Enable / Disable

Disable this rule

[rules]
disable = ["social/asset-divergence"]

Disable all Social Media rules

[rules]
disable = ["social/*"]

Enable only this rule

[rules]
enable = ["social/asset-divergence"]
disable = ["*"]

Type to search…

↑↓ navigate↵ openesc close