squirrelscan
GitHub

Intrusive interstitials: popups that cover mobile content

A popup covering the content a visitor came for is a ranking problem as well as a usability one. squirrel detects popup markup and libraries.

What an intrusive interstitial is

An intrusive interstitial is an overlay that covers the main content on a mobile page, either immediately on arrival or before the content is reachable. Google announced in 2016 that pages doing this may rank lower, because a visitor arriving from search is shown a dialog instead of the page they chose.

Some overlays are exempt. Cookie consent and age verification are required by law in places, and a login wall on genuinely gated content is not deceptive. The distinction is whether the overlay stands between a search visitor and the content the result promised.

What squirrel checks

The rule runs on every crawled page and looks for two things. Any div whose class or id matches popup, modal, overlay or interstitial. And the raw HTML, lowercased, containing any of popup.js, modal.js, mailchimp, sumo, optinmonster, hello-bar or leadpages. It emits a single check named interstitials:

  • Info when either was found. Message: Popup/modal elements detected, with Ensure popups don't block content on mobile page load as the value.
  • Pass when neither was. Message: No intrusive interstitial patterns detected.

Nothing about timing, size or coverage is measured, and no distinction is made between an exempt consent banner and a full-screen email capture. Only a div whose class or id matches one of those four words, or one of the seven library strings in the HTML, triggers it. A native <dialog> with no matching class is not detected. Severity for the rule is warning, weight 5.

How to fix it

Delay any promotional overlay until the reader has engaged with the page, or replace it with an inline banner that takes a reasonable amount of the screen. On mobile, an in-content form usually converts better than an overlay anyway.

Keep consent and age gates as small as the law allows, and make sure the content behind them is what a search visitor was promised.

Rule IDmobile/interstitials
CategoryMobile
ScopePer-page
Severitywarning
Weight5/10

Enable / disable

Disable this rule

[rules]
disable = ["mobile/interstitials"]

Disable all Mobile rules

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

Enable only this rule

[rules]
enable = ["mobile/interstitials"]

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.

Mobile findings ship in every audit next to the SEO, performance and agent experience rules. See Core Web Vitals for how an agent works through a report.

References

Check your site

Run squirrel audit https://example.com and open the Mobile section of the report. Each page is reported with whether popup markup or a popup library was detected. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.

Type to search…

↑↓ navigate↵ openesc close