对于追求性能和代码简洁的 WordPress 用户来说,默认加载在页面头部(head)的许多资源(如 WordPress 版本号、多余的 RSS Feed 链接、DNS 预取等)可能并非必需,甚至可能带来轻微的安全或性能顾虑。
通过添加几行简单的代码,我们就可以清理这些多余的加载项,让 HTML 源码更加干净。以下是一个经过整理和修正的完整代码片段,适用于当前主流的 WordPress 版本。
清理 head 头部代码
将以下代码添加到您当前使用主题的 functions.php 文件末尾即可生效。
/**
* 清理 WordPress head 头部多余加载项
*/
function wukongsou_cleanup_wp_head() {
// 移除 WordPress 版本号
remove_action('wp_head', 'wp_generator');
// 移除离线编辑器开放接口 (RSD, WLW)
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
// 移除文章间的相邻链接
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10);
// 移除文章和评论的 Feed 链接
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);
// 移除 rel=canonical 链接(某些 SEO 插件可能重新添加)
remove_action('wp_head', 'rel_canonical');
// 移除短链接
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
// 移除 Emoji 相关脚本和样式(如果不需要表情符号功能)
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_styles', 'print_emoji_styles');
// 移除 REST API 链接(如果前端不需要使用 REST API)
remove_action('wp_head', 'rest_output_link_wp_head', 10);
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
// 移除 DNS 预取(dns-prefetch)
remove_action('wp_head', 'wp_resource_hints', 2);
// 移除管理员工具栏(前端)
add_filter('show_admin_bar', '__return_false');
}
add_action('init', 'wukongsou_cleanup_wp_head');
代码说明与注意事项
- 版本号:
wp_generator会输出 WordPress 版本,移除它可以轻微提升安全性。 - Feed 链接:如果您的网站不需要 RSS/Atom Feed,可以移除相关代码。
- Emoji 功能:移除后,WordPress 将不再加载用于支持 Emoji 的 CSS 和 JavaScript 文件。如果您的文章或评论中需要使用 Emoji,请保留此项。
- REST API 链接:如果您的主题或插件未使用 WordPress REST API,可以移除相关输出。
- 测试效果:添加代码后,保存
functions.php文件,然后刷新网站前台页面。使用浏览器的开发者工具(F12)查看网页源代码,对比 head 区域,即可看到加载项已减少。
高级优化建议
除了上述基本清理,您还可以考虑:
- 使用性能优化插件(如 Autoptimize, WP Rocket)来合并和压缩 CSS/JS 文件。
- 对于静态资源(如图片、字体),考虑使用 CDN 加速。
- 定期清理数据库和修订版,减少不必要的查询。
通过以上步骤,可以有效精简 WordPress 的头部输出,让代码更简洁,并可能对网站加载速度产生积极影响。