
Adobe Flash reached end of life on December 31, 2020, and no current browser will run it. If a page still embeds Flash, that content is invisible and broken to every visitor and to Google. The fix is to identify the old object, embed, or .swf reference, replace it with an HTML5 equivalent (native video, canvas, or CSS animation), and delete the dead Flash markup entirely.
What this check flags
This check fires when our crawler finds markup that tries to load Adobe Flash: an <object> or <embed> tag pointing at a .swf file, a reference to application/x-shockwave-flash, or a leftover Flash widget such as a player, banner, or animation. It fires because the page is shipping a technology no device on earth can render today.
The reality: Flash is dead, not deprecated
Let me be blunt: a live page still serving Flash in the 2020s is a damn mess. Adobe announced the end of Flash in 2017 and pulled the plug on December 31, 2020. After that date Adobe stopped supporting and distributing Flash Player and shipped no further updates or security patches. Starting January 12, 2021, Adobe began actively blocking Flash content from running.
The browser vendors moved in lockstep. Apple, Facebook, Google, Microsoft, and Mozilla collaborated to disable Flash by the end of 2020. Microsoft removed it from the new Edge in January 2021, and Firefox stripped out all Flash support in version 85 on January 26, 2021. There is no toggle to bring it back. So when your page loads Flash, every visitor sees a blank box or nothing at all, just empty space where your content used to be.
Google sees the same emptiness. Google's mobile-friendly guidance treats plugin-based content like Flash as incompatible, and a page that relies on it can trigger a "page isn't usable on mobile" condition. Google's own advice is to remove the plugin-based content, restrict it to desktop, or recreate it in HTML5. Whatever lived inside that Flash object is content Google cannot index, so it does nothing for your rankings.
Where Flash still lingers
Nobody adds Flash on purpose anymore, so when it shows up it is almost always a fossil. The usual suspects:
Ancient embeds copied from a third party years ago and never revisited. Old games, intros, or animations built in Flash for a campaign that ended a decade back. Legacy video players that predate native HTML5 video. Banners or interactive infographics exported straight to .swf. And the quiet one: a theme, plugin, or page-builder template that still injects a Flash fallback into its markup.
How to fix it
There are only two real moves: replace the content with an HTML5 equivalent, or remove the embed if it is no longer needed. Pick based on whether anyone still benefits from what the Flash object showed.
Video. If the Flash object was a player, swap it for native HTML5 video. The browser handles it with zero plugins.
<video controls width="640" playsinline preload="metadata">
<source src="/media/clip.mp4" type="video/mp4">
<source src="/media/clip.webm" type="video/webm">
Your browser does not support HTML5 video.
</video>Animation. A looping motion graphic or interactive intro is usually rebuilt with CSS animation or, for anything dynamic, the HTML5 <canvas> element driven by JavaScript. Simple decorative motion belongs in CSS:
.pulse { animation: pulse 2s ease-in-out infinite; }
@keyframes pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.06); opacity: .85; }
}Hosted media. If the Flash was a player for a clip you can re-host, use a modern provider's standard HTML5 embed instead of the old plugin code. Google's own guidance is to look for an equivalent HTML5 embed tag rather than reaching for any proprietary plugin.
Remove it. If the Flash asset is a dead campaign or an animation nobody will miss, delete the entire block. A clean page beats a broken one. Do not leave the markup in place hoping a future browser revives Flash. It will not.
How to diagnose it
Find the offending markup before you touch anything. View the page source and search for the telltale strings. On most systems you can grep an exported HTML file or template directly:
# search rendered HTML or template files for Flash signatures
grep -rniE '\.swf|shockwave-flash|<embed|application/x-shockwave' .In the browser, open developer tools and search the Elements panel for swf, object, and embed. In WordPress, check the page content, then the active theme and any page-builder modules, since the Flash fallback often lives in a template rather than the visible editor. Once you locate the markup that calls it, you know exactly what to replace or delete.
Common mistakes
Leaving the <object> or <embed> tag in place after the .swf file is gone. The dead markup still trips the check and still ships a broken plugin call to the browser. Remove the tag, not just the file.
Hiding the Flash with CSS instead of removing it. display:none does not bring the content back. It is still gone, you have just papered over the hole.
Assuming a "Flash to HTML5" converter is a finished product. Automated exporters can produce bloated, fragile output. Treat the conversion as a starting point and test it on a real phone.
Forgetting alternative formats. Ship at least MP4 for your HTML5 video so it plays across browsers and devices, and always include a text fallback inside the <video> tag.
FAQ
A: No. Adobe ended support on December 31, 2020, began blocking Flash on January 12, 2021, and the major browsers removed it entirely. There is no supported way to view it.
A: Both. The content inside the Flash object cannot be rendered or indexed, and Google's mobile guidance treats plugin-based content as incompatible, which can flag the page as not usable on mobile.
A: HTML5 covers it. Native <video> for media, the <canvas> element with JavaScript for interactive graphics and games, and CSS animation for motion and transitions. All three are supported across modern browsers with no plugin.
Need a full technical audit?
SEO ProCheck runs deep crawls that catch issues like this across your whole site.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.








