WordPress 清理 Head 非必要标签

WordPress 默认支持了很多功能或规范标准,相应的就会自动生成大量的标签/元素。但这些这些标签/元素不一定适用每个网站,而且引用多了会降低网站速度,并且在某些情况下还会导致安全问题。比如标头标签会泄露您的 WordPress 网站的当前版本,这绝对不是您想要透露的内容。

WordPress 可删除的标签

WordPress 标头中可删除的标题标签元素,当然并非所有这些功能都需要删除,请根据自己网站定位删除字认为不必要的任何内容并保留其余部分。):

<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="#/xmlrpc.php">
<link rel="alternate" type="application/rss+xml" title="评论源" href="#" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="wlwmanifest.xml" />
<link rel='prev' title='#' href='#' />
<link rel='next' title='#' href='#' />
<meta name="generator" content="WordPress 4.1.1" />
<link rel='shortlink' href='#' />
<link  rel = 'index'  title = '# '  /> 
<link  rel = 'start'  title = '# '  />

幸运的是,删除这些元素非常容易。在主题的 functions.php 文件并向其中添加几行代码。(不推荐,主题升级、更换就会丢失)。

1.) 移除 XMLRPC、WLW、Generator、Feed 和 ShortLink

要删除这些标签,只需将以下内容添加到主题的functions.php页面:

remove_action('wp_head', 'rsd_link'); //removes EditURI/RSD (Really Simple Discovery) link.
remove_action('wp_head', 'wlwmanifest_link'); //removes wlwmanifest (Windows Live Writer) link.
remove_action('wp_head', 'wp_generator'); //removes meta name generator.
remove_action('wp_head', 'wp_shortlink_wp_head'); //removes shortlink.
remove_action( 'wp_head', 'feed_links', 2 ); //removes feed links.
remove_action('wp_head', 'feed_links_extra', 3 );  //removes comments feed. 

2.)删除上一篇和下一篇文章链接

可以通过将以下代码添加到 functions.php 文件来删除上一篇和下一篇文章的链接:

/*Removes prev and next links*/
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');

重要说明 : “上一个”和“下一个”标签对于“分页页面(存档页面、类别页面、标签页面、分页主页等)”很重要,因为它们有助于搜索引擎蜘蛛识别相关页面是否属于分页序列。因此,这些标签可以帮助防止内容重复索引问题。 Google 的建议是:“您可以使用 HTML 属性rel=”next”和rel=”prev”来指示各个 URL 之间的关系。使用这些属性是对 Google 的强烈暗示,您希望我们将这些页面视为逻辑顺序。

但奇怪的是,wordpress 将这些标签添加到所有“单个帖子页面”,并且无法将标签添加到这些标签所在的“分页页面(存档页面、类别页面、分页主页等)”实际需要的地方! 这就是为什么我们可以使用上面的代码安全地删除这些标签。您还可以按照本教程将这些标签添加到分页页面(存档页面、类别页面、分页主页等)

3.) 删除 XFN (XHTML Friends Network) 配置文件链接和 Pingback URL

可以通过编辑 header.php 文件直接删除 rel=profile 链接和 rel=Pingback 标记。一般打开模板的 header.php 文件并删除以下行即可,个别主题可能会有差异可能会有多个 Head 文件,请注意甄别。

<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">

最后我强烈建议使用 Woody Snippets 或者 Code Snippets 等插件添加上述代码,而非编辑主题的 Header.php 或 Functions.php 是实现某些功能的简单方法。这样做的缺点是,如果您要更改主题或主题获取,则需要一遍又一遍地进行所有这些更改更新并且您没有使用子主题。因此,要使这些功能主题独立,最好使用插件。激活后的插件将继续工作,无论您使用什么主题。

参考:WordPress 函数参考

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注