WPShadow

All Shadow checks

WordPress performance checks for front-end assets and head tags in Shadow

The scripts, styles and tags WordPress adds to every public page: minification, deferred JavaScript, critical CSS, emoji and embed assets, and discovery links and version tags in the page head that most sites do not need.

There are 20 checks on this page. Shadow reports what it finds, and nothing is changed until you approve a fix.

In this family

What each check looks at

Checks whether WordPress is injecting <link rel="prev"> and <link rel="next"> tags into post pages. Google deprecated these tags in 2019 and they no longer influence search rankings or crawling.

Block Library CSS on Classic Theme

Checks whether the WordPress block library stylesheet is loading on a classic (non-block) theme, where most of its styles are unused and represent unnecessary CSS weight on every page.

Critical CSS Strategy

Checks whether a critical CSS strategy is in place to inline above-the-fold styles and eliminate render-blocking CSS requests.

Why it matters. Critical CSS is the subset of CSS required to render above-the-fold content. Inlining it in the <head> eliminates a render-blocking request and directly improves Largest Contentful Paint and First Contentful Paint. This diagnostic checks whether a plugin or configuration handles this.

Critical Resources Preloaded

Checks whether the site uses resource hints such as preload or prefetch to load critical assets earlier and reduce page rendering delays.

CSS Minification

Checks whether CSS assets are being minified to reduce file sizes and improve page load times.

Why it matters. Checks whether a CSS minification strategy is active to reduce payload sizes and improve page load performance.

Dashicons Loaded on Frontend

Checks whether a performance plugin is managing Dashicons loading so the admin icon font is not served to non-logged-in visitors who never need it.

Why it matters. Checks whether the WordPress admin icon font (Dashicons) is being loaded for non-logged-in visitors on the front end, where it is typically not needed and represents unused CSS and font requests.

Embed Assets

Checks whether WordPress oEmbed scripts are loaded on every front-end page. These scripts are unnecessary overhead on sites that do not publish embeddable content.

Emoji Assets

Checks whether WordPress emoji detection scripts are loaded on every front-end page. Modern browsers handle emoji natively so these assets represent unnecessary HTTP requests.

JavaScript Minification

Checks whether JavaScript assets are being minified to reduce file sizes and improve page load performance.

Non-Critical JS Deferred

Checks whether a performance plugin is active to defer non-critical JavaScript, reducing render-blocking resources that delay page paint.

Why it matters. Checks whether a performance plugin handles JavaScript deferral, or whether the active theme avoids registering a high number of render-blocking scripts.

Checks whether WordPress is injecting oEmbed discovery link tags into every page that advertise your content as embeddable, unnecessary overhead for sites that do not need their content embedded elsewhere.

Checks whether WordPress is advertising your xmlrpc.php endpoint via a <link rel="pingback"> tag in every page's <head> and via an X-Pingback HTTP response header, both active even when pingbacks are disabled.

Checks whether WordPress is injecting a REST API discovery link into every page that publicly advertises the REST API endpoint URL in page source code to scanners and bots.

Checks whether WordPress is injecting a <link rel="EditURI"> Really Simple Discovery tag into every page, a protocol designed for mid-2000s desktop blogging clients that no longer exist.

Why it matters. Checks whether WordPress is still injecting a <link rel="EditURI"> RSD tag into every page's <head>. RSD was used by desktop blogging clients from the early 2000s and is obsolete on all modern sites.

Checks whether WordPress is injecting RSS autodiscovery <link> tags into every page that broadcast your feed URLs to browsers and feed readers, unnecessary for sites that do not actively promote an RSS subscription audience.

SCRIPT_DEBUG Disabled in Production

Checks that SCRIPT_DEBUG is not set to true. When active on a production site it forces WordPress to serve unminified development builds of all core JavaScript and CSS, inflating page payload for every visitor.

Checks whether WordPress is injecting a <link rel="shortlink"> tag into every page, a legacy sharing feature that predates modern URL shorteners and adds unnecessary overhead.

Checks whether WordPress is injecting a <link rel="wlwmanifest"> tag into every page that was designed for Windows Live Writer, a blogging client Microsoft discontinued in 2017.

WordPress Generator Meta Tag

Checks whether WordPress is outputting a <meta name="generator"> tag that publicly advertises the exact WordPress version number to anyone viewing the page source.

WordPress Version in RSS Feed

Checks whether the WordPress RSS feed is outputting a <generator> tag that reveals the exact WordPress version, independently of the HTML page generator meta tag.

The other check families

Shadow is free and runs on your own server, with no account. The source is on GitHub, and these descriptions come from it.

Find me online: LinkedIn · Bluesky · X · Mastodon · YouTube · GitHub · WordPress.org