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
- Adjacent Posts Rel Links in Head
- Block Library CSS on Classic Theme
- Critical CSS Strategy
- Critical Resources Preloaded
- CSS Minification
- Dashicons Loaded on Frontend
- Embed Assets
- Emoji Assets
- JavaScript Minification
- Non-Critical JS Deferred
- oEmbed Discovery Links in Head
- Pingback Endpoint Disclosed in Head and Headers
- REST API Discovery Link in Head
- RSD (Really Simple Discovery) Link
- RSS Feed Autodiscovery Links in Head
- SCRIPT_DEBUG Disabled in Production
- Shortlink Tag in Head
- Windows Live Writer Manifest Link
- WordPress Generator Meta Tag
- WordPress Version in RSS Feed
What each check looks at
Adjacent Posts Rel Links in Head
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.
oEmbed Discovery Links in Head
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.
Pingback Endpoint Disclosed in Head and Headers
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.
REST API Discovery Link in Head
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.
RSD (Really Simple Discovery) Link
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.
RSS Feed Autodiscovery Links in Head
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.
Shortlink Tag in Head
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.
Windows Live Writer Manifest Link
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
- All performance checks (63)
- Accessibility (12)
- Code quality (7)
- Database (12)
- Design (17)
- Monitoring (10)
- Security (46)
- SEO (28)
- Settings (29)
- Health and workflows (7)
Shadow is free and runs on your own server, with no account. The source is on GitHub, and these descriptions come from it.