What broken media means in Scanfully
Broken media are files your pages load that fail to load: images, scripts, stylesheets, video, audio and embedded content. They are not links to other pages, but the files a page needs to look right and work. Links to pages are covered in How Scanfully detects broken links.
A media file counts as broken when it answers with a 4xx or 5xx HTTP status code, such as 404 Not Found or 403 Forbidden, or does not answer at all (No response). Scanfully reports what a visitor’s browser gets, not what WordPress intends.
Broken media often does more damage than it seems. A missing image leaves a hole in the page, a missing script can break a menu, a form or a checkout, and a missing stylesheet can leave a page unstyled.
What the media crawl checks
Section titled “What the media crawl checks”The media crawl visits the same pages as the links crawl: your home page and the pages its links lead to up to the maximum depth, your sitemap and your extra pages. On each page, it checks the files these HTML elements load:
| Media type | What is checked |
|---|---|
| Images | <img>, including every file in srcset, and <source> inside <picture> |
| Scripts | <script src> |
| Stylesheets | <link href> elements that load a file: stylesheets, icons, the web app manifest, and preloaded or prefetched files. Other <link> elements, such as canonical, alternate, preconnect and pingback, are not checked. |
| Videos | <video>, its poster image and its <source> files, and subtitle tracks |
| Audio | <audio>, its <source> files and subtitle tracks |
| Iframes | <iframe src> |
| Embeds | <embed src> |
| Objects | <object data> |
You choose which media types to check under Media types in the crawl settings. Files on your own domain and files on other domains (CDNs, embed providers, external asset servers) are both checked.
Scanfully reads the HTML your server sends. It does not log in to WordPress, read your database or run your page’s JavaScript. See What Scanfully does not scan.
Always left out
Section titled “Always left out”Some files are never checked, because they are inline or because they only produce false alarms:
- inline
data:files, - Google Analytics, Google Tag Manager and Google Fonts files,
- Google Maps embeds,
/xmlrpc.phpand Cloudflare’s/cdn-cgi/addresses on your own site.
You can leave out more with Media to ignore in the crawl settings, for example a whole CDN with *.example-cdn.com/*. See How wildcard ignore patterns work.
How broken media shows on the Content screen
Section titled “How broken media shows on the Content screen”The Content screen lists broken media together with broken links, grouped by target: each broken file appears once, with every page that uses it.
- The Visible on the page tile counts broken media files and the references to them.
- The Images, Documents and Video tabs show those kinds of files. Documents holds files such as PDFs, whether a link or an embed points at them.
- The Other tab holds scripts, stylesheets, audio and embeds. When it has more than one media type, a media type filter appears in the toolbar.
- Under the name of each target, its kind (such as Image, Script or Stylesheet) and the folder it is in help you see where it comes from.
- In the target details, the Alt text column shows the alt text of an image, and the HTML element that loads the file, such as
<img>or<source>. - When the server gave an error message, it shows under the status.
Internal and external media
Section titled “Internal and external media”Internal media is hosted on your own domain; external media is hosted on another domain. Use Internal only or External only to see one or the other.
Both matter. Internal files are usually quick to fix in WordPress or your theme. External files often explain breakage that appears suddenly, when a provider you don’t control moves or removes something.
To fix broken media, see Fixing broken links and media.
