WordPress网站加速优化非插件方法详解

发布时间:2020-03-27 16:22:00 浏览量:11 来源:谷歌测速网

wordpress作为一款强大的网站CMS系统,对站长来说是一款非常不错的选择。使用wordpress建立一个网站后,初始访问速度总是很慢,但是又不想用所谓的压缩插件,因为插件越多加载js css代码就越多,其实优化不到,优化速度也不是很理想,这时针对这一问题整理了一些非插件优化方法:


1、WordPress去掉自行加载的fonts.googleapis.com谷歌在线字体Open Sans字体,加速国内访问速度

加载谷歌Open sans字体在网页head中的样子:


想要去掉它,其实方法很简单!方法很简单,有2种。

第一种 修改wordpress引用文件(不推荐):

这里以wordpress3.9.1为例,找到/wp-includes/script-loader.php的第 602行,

// Hotlink Open Sans, for now
$open_sans_font_url = "//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";

删除即可!当然这种方法不可取,毕竟更新wordpress可能会失效,以及修改wordpress系统文件影响稳定性!

第二种方法(推荐):

这个方法跟简单,也是最快捷,最安全的方法!那就是我们耳熟能详的主题functions.php,直接添加代码:

function xiaoyao_remove_open_sans() {   
    wp_deregister_style( 'open-sans' );   
    wp_register_style( 'open-sans', false );   
    wp_enqueue_style('open-sans','');   
}   
add_action( 'init', 'xiaoyao_remove_open_sans' );

到了这里就完成了,上传刷新后台你会发现快了很多!当然也会有弊端!那就是适应Open Sans的那些效果没有了,加载的是下一个流程字体或者默认字体!

上面的代码可能无效!这里,还有一个更好的代码,可以同时去除前端和后端的谷歌字体!据说是从插件中抽出来的!

//去除谷歌字体
if (!function_exists('remove_wp_open_sans')) :
    function remove_wp_open_sans() {   

        wp_deregister_style( 'open-sans' );

        wp_register_style( 'open-sans', false );   
 }    // 前台删除Google字体CSS    
add_action('wp_enqueue_scripts', 'remove_wp_open_sans');    // 后台删除Google字体CSS    
add_action('admin_enqueue_scripts', 'remove_wp_open_sans');endif;

2、移除 Emoji 代码的方法(wp-emoji-release.min.js)

支持 emjo 表情的脚本代码,对于绝大多数的网站都是没有用的,尤其WordPress企业网站一般都不会在文章中涉及到表情符号,所以去掉来净化代码是完全必要的,具体方法也是非常简单,只需要找到当前网站使用的主题文件夹中的 functions.php 文件,在里面填写如下2行代码即可屏蔽:

// RemoveEmojiIcons
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

3. 移除不必要的信息,如WordPress版本

移除不必要的信息可以更好的保证wordpress的安全。可以找到模板文件夹里面的 functions.php 文件,将下列代码加进去。

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

4. 禁止浏览wordpress文件夹目录

将下列代码加入根目录下的 .htaccess 文件夹。同时,确保在wp-content/themes 和 wp-content/plugins各有一个空白的 index.php文件。

Options All -Indexes

5. 取消WordPress评论框下的“HTML”标签和属性

WordPress评论框里面可以添加一些html标签,但这经常会导致大量的垃圾链接,并且可能会引发安全隐患。建议将下列代码加入到模板的 functions.php 文件来取消该功能。

add_filter( 'pre_comment_content', 'wp_specialchars' );

6. 关闭WordPress的版本修订功能

WordPress会自动保存文章的各个修订版本,如果文章量大,且文章经常修改的话,会导致数据库变得臃肿,建议取消。可将下列代码放置到WordPress根目录下的 wp-config.php 文件,来取消版本修订功能。

define( 'WP_POST_REVISIONS', false);

当然,也可以通过下面的代码来限制wordpress修订版本保存的次数:

define( 'WP_POST_REVISIONS', 3);

7. 修改wordpress自动保存的时间

wordpress的自动保存功能默认每分钟保存一次,保存的瞬间,浏览器基本会处于假死的状态。你可以通过下面的代码来修改wordpress自动保存的时间间隔。

define( 'AUTOSAVE_INTERVAL', 120 );

8. 隐藏二级RSS地址

WordPress 默认有多个RSS地址,如文章rss,评论rss,整站rss,评论rss,甚至分类rss,存档rss等。使用rss阅读器订阅的时候,读者很容易被这么多的rss搞糊涂。建议只发布整站的rss,可以用将下面的代码放到模板的 functions.php 文件实现。

emove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );

9. 将所有的RSS地址转向主RSS地址

在上一点,我们仅仅是从模板移除部分rss地址,但实际上这些rss是仍然存在的。可以通过将下面的代码加入 .htaccess 文件,来将各个RSS地址转向主RSS地址。记得将里面的RSS链接换成你自己的。

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/?.*$ http://feeds.labnol.org/labnol [L,NC,R=301]

10. 隐藏wordpress登陆界面的错误提示

wordpress默认的登陆界面,会提示你密码错误,还是用户名错误。但这很容易被黑客利用来暴力破解密码,因此,有必要隐藏这个提示,将下列代码加入到 functions.php 文件就可实现。

function no_errors_please(){
return 'GET OFF MY LAWN !! RIGHT NOW !!';
}
add_filter( 'login_errors', 'no_errors_please' );

11. 采用多步验证登录

Google 已经采用两步验证登录的措施了,但wordpress默认没有这个功能。可以通过使用Google Authenticator实现wordpress多步验证登录。

 

12. 更改固定链接结构

默认的wordpress固定链接是不利于SEO的,建议看看wordpress永久链接设置的六大技巧。

13. 禁止搜索引擎索引wordpress程序自身

搜索引擎索引站点是好的,但没必要索引wordpress程序本身,可以将下面的代码加入到wordpress根目录下的 robots.txt 文件里面。

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /feed/
Disallow: */feed/

14. 将 Admin 账户权限降低

Admin是默认的wordpress管理员账户,为了降低安全隐患,你可以新建一个管理员账户,然后将默认的admin管理员账户权限降低。

15. 不要使用wordpress自带搜索

建议使用wordpress自定义搜索,在减轻服务器压力的同时,更好的为读者提供便利。若想关闭WordPress自带搜索可以在主题目录下的functions.php中添加:

function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
// to error
if ( $error == true )
$query->is_404 = true;
}
}
add_action( ‘parse_query’, ‘fb_filter_query’ );
add_filter( ‘get_search_form’, create_function( ‘$a’, “return null;” ) );

16. 删除所有不用的模板和插件

删除所有不用的模板和插件,一来可以节省空间,二来可以减少对服务器的压力,三来,也可以减少一些引发漏洞的可能。

17. 停用wordpress的链接猜测功能

WordPress 有一个很奇怪的功能,假如一个人从外部链接进入 test.org/hello 这个链接,如果你的网站已经将该链接移除,他会转到具有相类似词组的页面,如 test.org/hello-world 。

add_filter('redirect_canonical', 'stop_guessing');
function stop_guessing($url) {
if (is_404()) {
return false;
}
return $url;
}

18. 让访问者缓存wordpress页面内容

让访问者缓存wordpress页面内容,这样读者就能更快速的载入你的站点。你可以通过将以下的代码加入到 .htaccess 文件,或使用wordpress缓存插件WP Super Cache、Hyper Cache这类插件来解决这个问题。


.htaccess 是一个WordPress核心文件,我们将使用  .htaccess 来告诉你的服务器缓存哪些文件。在网站根目录中查找  .htaccess 文件  。用鼠标右键单击它,然后选择  查看/编辑 选项。然后使用本地文本编辑器打开文件,对其进行更改:


找到 #END WordPress行,添加以下代码:

ExpiresActive On
ExpiresByType image/jpg “access 1 year”
ExpiresByType image/jpeg “access 1 year”
ExpiresByType image/gif “access 1 year”
ExpiresByType image/png “access 1 year”
ExpiresByType text/css “access 1 week”
ExpiresByType text/html “access 1 month”
ExpiresByType text/x-javascript “access 1 week”
ExpiresDefault “access 1 month”

19. 禁用wordpress后台文件编辑功能

wordpress默认是管理员登陆后,可以直接在后台修改wordpress模板和插件等文件。但对于很多不熟悉wordpress的人来说,很可能一个修改错误,整个网站都崩溃了。如果你是帮别人维护wordpress,而那个人又是个菜鸟。那么你会非常需要这个功能。你可以将下面的代码加入到 wp-config.php 文件来实现。

define( 'DISALLOW_FILE_EDIT', true );

20. 移除链接里面的动态参数

因为各种各样的原因,经常会出现test.org/?ref=xxxx这样的链接。这对于SEO是不利的,会降低链接的质量。你可以通过将以下代码加入到 .htaccess 文件来移除这些参数。

RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteCond %{QUERY_STRING} !^p=.*
RewriteCond %{QUERY_STRING} !^s=.*
RewriteCond %{REQUEST_URI} !^/wp-admin.*
RewriteRule ^(.*)$ /$1? [R=301,L]