编写PHP脚本肃清WordPress头部冗余代码的办法解说

wordpress头部的代码十分多,包括WordPress版本,前后文、**篇文章、主页meta信息等各种冗余代码,这些对博主来说是没无意义的,也对网站的平安有肯定的影响,也一度不晓得这些代码是有什么作用、怎样来的和怎样删除。

wordpress头部清算代码如下
将以下代码拔出到你functions.php的文件头部,除WordPress头部大量冗余信息

<?php 
//remove_action( 'wp_head', 'wp_enqueue_scripts', 1 ); 
remove_action( 'wp_head', 'feed_links', 2 ); 
remove_action( 'wp_head', 'feed_links_extra', 3 ); 
remove_action( 'wp_head', 'rsd_link' ); 
remove_action( 'wp_head', 'wlwmanifest_link' ); 
remove_action( 'wp_head', 'index_rel_link' ); 
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); 
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); 
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); 
//remove_action( 'wp_head', 'locale_stylesheet' ); 
remove_action( 'publish_future_post', 'check_and_publish_future_post', 10, 1 ); 
//remove_action( 'wp_head', 'noindex', 1 ); 
//remove_action( 'wp_head', 'wp_print_styles', 8 ); 
//remove_action( 'wp_head', 'wp_print_head_scripts', 9 ); 
remove_action( 'wp_head', 'wp_generator' ); 
//remove_action( 'wp_head', 'rel_canonical' ); 
remove_action( 'wp_footer', 'wp_print_footer_scripts' ); 
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 ); 
remove_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );
add_action('widgets_init', 'my_remove_recent_comments_style'); 
function my_remove_recent_comments_style() { 
 global $wp_widget_factory; 
 remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style')); 
} 
?>

各函数解释:

wp_head函数

wp_head() 是wordpress的一个十分重要的函数,根本上一切的主题在header.php这个文件里都会应用到这个函数,而且很多插件为了在header上加 点货色也会用到wp_head(),比方SEO的相干插件。然而,在wp_head()呈现的这个地位,会添加很多并不罕用的代码。能够经过 remove_action移除这些代码。

remove_action函数

函数原型:

remove_action( $tag, $function_to_add, $priority, $accepted_args );

该函数移除一个附属于指定举措hook的函数。该办法可用来移除附属于特定举措hook的默许函数,并可能用其它函数取而代之。参见remove_filter(), add_action() and add_filter()。
重要:增加hook时的$function_to_remove 和$priority参数要可以相婚配,这样才能够移除hook。该准则也实用于过滤器和举措。移除失败时不进行正告提醒。
参数

  • $tag(字符串)(必须)将要被删除的函数所衔接到的举措hook。默许值:None
  • $function_to_remove(回调)(必须) 将要被删除函数的称号默许值:None
  • $priority(整数)(可选)函数优先级(在函数**衔接时定义)默许值:10
  • $accepted_args(整数)(必须)函数所承受参数的数量。默许值:1

前往值

  • (布尔值)函数能否被移除。
  • Ttue 函数被胜利移除
  • False函数未被移除

移除WordPress版本

在head区域,能够看到如下代码:

<meta name="generator" content="WordPress 3.1.2" />

这是隐性显示的WordPress版本信息,默许增加。能够被黑客利用,攻打特定版本的WordPress破绽。肃清代码:

remove_action( 'wp_head', 'wp_generator' );

移除离线编辑器开放接口

WordPress主动增加两行离线编辑器的开放接口

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://jb51.net/xmlrpc.php?rsd" /> 
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://jb51.net/wp-includes/wlwmanifest.xml" />

 
其 中RSD是一个狭义的接口,wlwmanifest是针对微软Live Writer编辑器的。假如你不需求离线编辑,可移除之。即使你需求应用离线编辑器,大局部时分也不需求这两行代码。Live Writer本人晓得它们。保存这两行代码可能会留有平安隐患。肃清代码:

remove_action( 'wp_head', 'rsd_link' ); 
remove_action( 'wp_head', 'wlwmanifest_link' );

移除前后文、**篇文章、主页meta信息

WordPress把前后文、**篇文章和主页链接全放在meta中。我以为于SEO协助不大,反使得头部信息微小。移除代码:

remove_action( 'wp_head', 'index_rel_link' ); // Removes the index link 
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); // Removes the prev link 
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // Removes the start link 
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 ); // Removes the relational links for the posts adjacent to the current post.

移除Canonical标志

09年2月份,Google,Yahoo及Microsoft三大搜寻引擎联结推出了一个旨在缩小反复内容困扰的办法,这关于宽广站长来说不啻是个坏事情,不必再担忧由于网站上有反复的内容而影响到网站页面的权重了。
造 成反复内容的缘由有很多,最常见的便是多个url地址指向了同一个页面,比方:wordpress平台下的一篇日志页面,包括了文章及评论内容。每个评论 都能够有个固定的链接地址,,假如有多个评论的话,则每条评论的链接都相似于上述格局,只是commentID号有所不同,这些链接其实都是指向同一篇文 章的。蜘蛛来爬时,便会顺次匍匐一遍,这篇文章下如有10条评论,则爬了10次相反的页面文章,相当于做了屡次反复的工作,重大影响了抓取的效率,及消耗 了带宽。
反复内容造成的后果必定是蜘蛛不情愿来爬,不同的url指向同一个页面,也会影响到该页面的权重。经过canonical标签,能无效的防止这类成绩。
需求留意两点:

  • 容许指向不同的子域名,不容许指向其余域名
  • canonical属性能够被传递

即A页面申明B为权威链接,B申明C为权威网页,那么C就是A和B独特的**权威版本

假如你的WP版本在2.9之前,需求经过插件(下面曾经提到)或许手工 Hack 主题的 header.php 文件来使得博客支持。

<link rel="canonical" href="<?php get_permalink()?>" />

在 WordPress 2.9 公布之后,WordPress 曾经默许支持这一标签了,咱们无需做任何举措,主题就支持这一标签。这关于文章固定链接的更改很有协助,能够添加对搜寻引擎的敌对度。然而假如你感觉这个标签对你无用,也能够移除之:

remove_action( 'wp_head', 'rel_canonical' );

移除feed

HTML 中经过

<link rel="alternate" type="application/rss+xml" title="feed名" href="http://jb51.net/feed/" />

来指定博客feed。能够被阅读器检测到,而后被读者订阅。
假如你不想增加feed,或许想应用烧制的feed(如FeedSky或许Feedburner烧制的feed),能够移除之。

remove_action( 'wp_head', 'feed_links', 2 );//文章和评论feed 
remove_action( 'wp_head', 'feed_links_extra', 3 ); //分类等feed

假如用的烧制的feed,而后还能够再手动增加feed地址。

以上就是安达网络工作室关于《编写PHP脚本清除WordPress头部冗余代码的方法讲解》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: PHP WordPress 头部冗余 PHP编程
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress评论邮件告诉无插件完成思绪及代码

通常咱们喜爱应用Wordpress Thread Comment 或 Mail To Commenter这两款插件前者久未更新,已测支持WordPre...

WordPress站点完成分类目录订阅性能实例

WordPress有着比拟弱小的分类机制,包括文章分类、标签等,弱小的分类机制能够用来完成门户网站的相似二级频...

Wordpress自定义字段的应用心得

要害字形容:心得 应用 定义 &nbsp 能够 &lt &quot php &gt 一个 一些 应用Wordpress曾经有一段工夫...

编写PHP脚原本完成WordPress中评论分页的性能

办法阐明 首先来看看可能被用到的办法. 关上文件 wp-includes/link-template.php 你会发现 WordPress 2.7 多...

Wordpress 处理注册登录死循环成绩

【成绩】:网站(Wordpress)注册登录死循环 【症状】:在公司里,局部网站(包括wordpress)登录注册时,提...

处理更新WordPress3.7后DB-Cache缓冲插件抵触成绩

  Fatal error: Call to undefined method wpdb_2::delete() in   /home/*/public_html/wp-includes/o...

需求提交

客服服务