wordpress优化关闭站内搜索功能以及对外请求
引言:此文由子域名转移而来,因为细微强迫症和放弃子域名而不舍得完全丢弃,所以将会逐步第二次转移文章到主域名上来,二者主题(阿里白秀和D8)均来自大前端,追求完美的同时有一丝小懒,主题就不换了,D8主题用起来挺好。
一、关闭wordpress自带站内搜索
php+mysql已经广泛应用于各大网站,但sql注入问题是都会存在的一大事实,黑客就是利用sql注入做了许多坏事。wordpress网站使用人数也逐渐增高,在安全性上也是公认的,回过头来说站内搜索吧,别扯远了,高深的问题当下也消化不了。
一般来说sql查询越多,对网站效率越差负载也很高,为了优化wordpress怎么减少sql查询呢?因为wordpress自带的站内搜索不单每次都进行sql查询,而且查询都是不是十分准确的,所以可以换成百度或谷歌等这些开放站内搜索,来进行wordpress优化,还提高了用户体验。
但如果有访客通过"wordpress/?s=$key"这种方式,仍然可以使用wordpress自带的站内搜索,因此,下面就可以用这种方法完全关闭wordpress自带的站内搜索。方法很简单,只需在function.php中加入以下代码即可。
- function fb_filter_query( $query, $error = true ) {
- if ( is_search() ) {
- $query->is_search = false;
- $query->query_vars[s] = false;
- $query->query[s] = false;
- if ( $error == true )
- $query->is_404 = true;
- }
- }
- add_action( 'parse_query', 'fb_filter_query' );
- add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
二、关闭wordpress对外请求
相信大家都发现了,浏览器状态栏会有wordpress网站向其他网站的链接,这大大影响了wordpress站点的速度,为了优化wordpress,可以在wp-config.php中插入以下代码来屏蔽对外请求。
- define('WP_HTTP_BLOCK_EXTERNAL', true);
到这里,相信大家就开始怀疑影不影响收录,其实完全可以设置wordpress对外请求白名单,将百度、google等ping地址添加上即可。代码如下(以百度为例):
- define('WP_ACCESSIBLE_HOSTS', 'ping.baidu.com');