Header Junk Remover
Header Junk Remover is a lightweight, no-settings plugin that cleans up the <head> section and headers of your WordPress site.
It removes outdated tags, redundant links, bloated scripts, and unnecessary headers that WordPress adds by default. The result: cleaner source code, faster page loads, less information leakage, and fewer HTTP requests.
What gets removed (and why it matters):
-
RSD Link remove_action(‚wp_head‘, ‚rsd_link‘); Used for Really Simple Discovery (old remote editing). Not needed anymore.
-
WordPress Generator remove_action(‚wp_head‘, ‚wp_generator‘); Hides your WP version. Avoids advertising it to bots/hackers.
-
Feed Links remove_action(‚wp_head‘, ‚feed_links‘, 2); remove_action(‚wp_head‘, ‚feed_links_extra‘, 3); Removes auto-added RSS/Atom feed links. If you don’t use feeds, these are pointless.
-
Relational Links (index, start, parent, adjacent posts) remove_action(‚wp_head‘, ‚index_rel_link‘); remove_action(‚wp_head‘, ’start_post_rel_link‘, 10, 0); remove_action(‚wp_head‘, ‚parent_post_rel_link‘, 10, 0); remove_action(‚wp_head‘, ‚adjacent_posts_rel_link‘, 10, 0); remove_action(‚wp_head‘, ‚adjacent_posts_rel_link_wp_head‘, 10, 0); Removes old “previous/next” link metadata almost no browsers or crawlers use.
-
Windows Live Writer Manifest remove_action(‚wp_head‘, ‚wlwmanifest_link‘); Dead tool support. Safe to remove.
-
Shortlink Tags/Headers remove_action(‚wp_head‘, ‚wp_shortlink_wp_head‘, 10, 0); remove_action(‚template_redirect‘, ‚wp_shortlink_header‘, 11); Shortlink system is obsolete. Removing reduces clutter.
-
REST API Discovery Link remove_action(‚wp_head‘, ‚rest_output_link_wp_head‘, 10); REST API still works, but no longer broadcast in headers.
-
oEmbed Discovery + Scripts remove_action(‚wp_head‘, ‚wp_oembed_add_discovery_links‘, 10); remove_action(‚wp_head‘, ‚wp_oembed_add_host_js‘); Prevents WordPress from advertising oEmbed endpoints and loading extra JS.
-
Resource Hints (dns-prefetch, preconnect) remove_action(‚wp_head‘, ‚wp_resource_hints‘, 2); Stops WP from auto-inserting DNS hints you may not control.
-
Emoji Scripts and Styles remove_action(‚wp_head‘, ‚print_emoji_detection_script‘, 7); remove_action(‚wp_print_styles‘, ‚print_emoji_styles‘); Removes redundant emoji JS/CSS. Browsers already handle emojis natively.
-
Global Styles (Block Editor/Gutenberg) remove_action(‚wp_head‘, ‚wp_enqueue_global_styles‘, 1); Prevents WP from injecting default CSS that bloats your source.
Extra Hardening:
-
Disable XML-RPC add_filter(‚xmlrpc_enabled‘, ‚__return_false‘); Blocks XML-RPC protocol (commonly abused in brute force/DDoS attacks).
-
Remove X-Pingback Header add_filter(‚wp_headers‘, function($headers) { unset($headers[‚X-Pingback‘]); return $headers; }); Stops WP from advertising its pingback URL.
-
Turn off PHP Exposure (optional) @ini_set(‚expose_php‘, ‚off‘); Prevents PHP version disclosure in server headers.
Why this matters:
- Less clutter in your
<head> - Fewer HTTP requests and faster load times
- Less information leakage for bots/hackers
- Cleaner source code when you “View Source”
- Safer defaults without touching your theme files
If you find this plugin useful, consider supporting my work: 👉 Buy Me a Coffee
