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。该准则也实用于过滤器和举措。移除失败时不进行正告提醒。
参数
前往值
移除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标签,能无效的防止这类成绩。
需求留意两点:
即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头部冗余代码的方法讲解》的一些看法。更多内容请查看本栏目更多内容!
Wordpress以其开源易用的特点以及宏大的格调插件数据库支持,曾经成了以后最盛行的博客零碎!而博客又以其良...
应用Wordpress这么久不断很厌恶wordpress的文章修订和主动保留性能,也应用过超级开关插件能够制止wordpres...
效劳器钱用光了要关了或许是效劳器想要搬家,需求备份各种数据。 明天简略的备份了一下在效劳器下面wordpre...
明天偶尔留意到WordPress的分类和标签隐没了,开端认为是数据库表损坏,于是经过PHPMyAdmin修复表,然而留意...
首先,你需求理解query_posts函数。该函数的作用就是对文章进行检索、筛选、排序,在其后的LOOP循环中应用通...
置信很多站长都晓得并且曾经在应用WordPress自定义字段,很多插件也应用了这一性能。 自定义字段是一个十分...