Unsupported Plugins

No Comments
Unsupported plugins

Element Code: PE-030

TL;DR: If a page needs a browser plugin like Flash, Silverlight, or a Java applet to show its content, that content is effectively invisible to modern browsers and to Google. Rebuild it with native HTML5, video, or JavaScript, and nothing of value should live behind a plugin anymore.
Check
Unsupported Plugins
Severity
High
Impacts
Access, Indexing
Fix Effort
Medium
Detect With
Crawl, Source

What this check is actually flagging

This flag fires when a page relies on a browser plugin to render content: Adobe Flash (<object> or <embed> pointing at a .swf), Microsoft Silverlight (.xap), Java applets (<applet> or an <object> with a Java MIME type), or old-school RealPlayer and QuickTime embeds. These were the plugin architecture (NPAPI and its cousins) that powered a big chunk of the interactive web for about fifteen years.

The problem is that every one of those plugins is dead. Adobe ended Flash support on December 31, 2020, and shipped a kill switch that blocks Flash content from running (per Adobe's official Flash Player EOL notice). Chrome removed Flash support in Chrome 88, released January 2021. Microsoft retired Silverlight support on October 12, 2021. Modern browsers pulled NPAPI plugin support years before that. So when a real visitor lands on a page that still depends on one of these, they see a blank rectangle, a broken puzzle-piece icon, or nothing at all.

Why it matters for SEO and users

Googlebot renders pages with a modern, headless version of Chromium. It has no Flash, no Silverlight, no Java plugin. So anything you shoved inside a plugin is content Google cannot see, cannot read, and cannot index. If your product description, your pricing table, your entire hero interaction, or your navigation was a Flash movie, then for ranking purposes that content does not exist. I have audited sites where the whole homepage was one big Flash file and the indexed text was a single "please install Flash" fallback line. That is a page competing for nothing.

There is a user-signal cost on top of the indexing cost. A visitor who hits a broken embed bounces almost immediately. High bounce, near-zero dwell time, and no interaction all tell you the page failed its job. Accessibility takes a hit too, because plugin content is opaque to screen readers. And on mobile, plugins never ran at all, so any mobile visitor has been getting a broken page for years.

The migration path at a glance

Legacy plugin content, migrated to native web

Flash .swf animation / video

Silverlight .xap media / app UI

Java applet

HTML5 <video> / <canvas> or MP4 + WebM

JS + CSS component real DOM, real text

Crawlable, indexable page

How to detect it

You do not need a fancy tool to find plugin dependencies, but a crawler makes it fast at scale.

  • Screaming Frog: crawl the site, then search the rendered and raw HTML for .swf, .xap, <embed, <object, and <applet. Custom Search under Configuration lets you flag any URL whose source contains those strings.
  • View Source and DevTools: on a suspect page, open the source and grep for object, embed, application/x-shockwave-flash, or application/x-silverlight. The Network tab will show requests for .swf or .xap files.
  • Server logs: look for requests to .swf, .xap, or .jar files. Ongoing hits mean pages still reference them.
  • Google Search Console: use the URL Inspection tool and view the rendered screenshot. A blank or broken region where content should be is the tell.
  • Sitebulb: its crawl reports and rendered HTML view make legacy embeds easy to spot across a large site.

How to fix it, step by step

Fixing is less about a clever trick and more about honest replacement work. The order I use:

  1. Inventory every plugin-dependent URL. Get a full list from the crawl. Do not fix ad hoc; you will miss half of them.
  2. Classify what each plugin was doing. Video? Animation? An interactive tool or form? A game? The replacement depends on the job.
  3. Video and audio move to native HTML5. A Flash video player becomes a <video> tag with MP4 and WebM sources. Re-encode the original media if you still have it; if not, source or rebuild it.
  4. Animation and interactivity move to JS, CSS, and Canvas. Timeline animations that were vector Flash often port well to CSS keyframes or an SVG or Canvas animation. Interactive widgets become real components.
  5. Put the real text and links in the DOM. This is the part that matters for SEO. Whatever copy, headings, and links were locked inside the plugin need to exist as crawlable HTML, not baked into a media file.
  6. Remove the fallback prompts and the plugin markup. Delete "Get Flash Player" banners, <noscript> nag text, and the dead <object> or <embed> blocks so nothing broken ships.
  7. Recrawl and re-inspect. Confirm the URLs no longer reference plugin files and that the rendered screenshot in Search Console shows the real content.

Old approach vs modern replacement

Legacy plugin usageModern native replacementSEO benefit
Flash video playerHTML5 <video> with MP4 + WebMVideo indexable, works on mobile
Flash animation / introCSS animation, SVG, or CanvasFaster load, no blank frame
Silverlight media appHTML5 media + JS componentContent in the DOM, crawlable
Java applet tool / calculatorJavaScript widgetRuns everywhere, no security prompt
Flash-based navigationHTML links + CSS menuCrawlable link graph restored

Do this, not that

DO
  • Replace plugin content with native HTML5, CSS, and JavaScript
  • Make sure the real text and links live in crawlable DOM
  • Provide MP4 and WebM sources for video coverage
  • Recrawl and re-inspect the rendered page after every fix
  • Delete the "install plugin" fallbacks once the real content ships
DON'T
  • Leave Flash, Silverlight, or Java applet embeds in place
  • Hide important copy or links inside a media file
  • Assume a "Get Flash" fallback counts as accessible content
  • Ship a plugin emulator as a permanent fix instead of a real rebuild
  • Skip the recrawl and trust that the page now renders

What good looks like

A clean page has zero references to .swf, .xap, .jar, <object>, <embed>, or <applet> tied to plugin MIME types. Every piece of content that used to live in a plugin now exists as real HTML: text you can select, links you can crawl, video that plays inline on a phone. The rendered screenshot in Search Console matches what a human sees, and there is no blank rectangle waiting for a plugin that will never load.

FAQ

Is Flash really gone, or can users still enable it?
It is gone for practical purposes. Adobe ended support on December 31, 2020 and added a block that stops Flash content from running. Chrome removed the Flash component in Chrome 88 (January 2021). There is no supported way for a normal visitor to run Flash, so you should treat any Flash dependency as broken content.
Can Googlebot read anything inside a plugin?
No. Googlebot renders with modern Chromium, which has no plugin runtime. Any text, links, or media locked inside a Flash, Silverlight, or Java object are invisible for indexing. Only content in the actual HTML DOM gets crawled.
We lost the original source files. Now what?
Rebuild from what renders. Screenshot or screen-record the working version from an archived copy if you can find one, then reproduce the interaction in HTML, CSS, and JavaScript. It is more work than a re-export, but there is no shortcut that keeps the plugin.
Do Flash-to-HTML5 emulators fix the SEO problem?
Partially and unreliably. An emulator like Ruffle can make some Flash run again, but the content still lives in a canvas, so the text and links are not in the DOM. Treat emulation as a stopgap for interactivity, not as a substitute for putting real crawlable content on the page.

Want the full plugin and legacy-tech sweep done for you?

An advanced SEO audit finds every plugin dependency, broken embed, and piece of content hiding from Google, then hands you a prioritized fix list.

Get an Advanced SEO Audit

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.

Subscribe to our newsletter!

More from our blog