预计所需阅读时间:5分钟

四、Wordpress优化的第四项就是做好安全设置,禁用不需要的功能,只做需要的少量的优化。

安全第一,做减法,慎重做加法。

禁止使用admin用户名尝试登录,WP安装时修改数据表的前缀,是非常简单有效的两项安全设置。如果只是个人写博客,没有协作的情况,就关掉多用户功能。

禁止搜索引擎蜘蛛抓取无关目录,WP网站如下:

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

使用WPJAM BASIC插件,可能禁用很多不必要的功能。建议禁止文章修订、Trackbacks、Emoji图片、字符转码、Emebed、后台隐私、XML-RPC、REST API功能。还有Gutenberg编辑器,估计很多人也用不惯,也可以禁用它。

Wordpress使用谷歌字体。现在很多优化经验是把字体缓存到本地,但现在谷歌字体的服务是可以访问通畅的,速度非常好,所以没必要改。当然如果害怕有时访问不通的话可以改用国内的字体源,但需要修改WP的核心文件。

安装统计代码,目前用谷歌和百度两个统计。

设置SEO标题、描述、关键字。

设置文章的固定链接,博客使用的是直接接文章名的格式。

设置更新服务,通过RPC协议让博客更新时,及时通知搜索引擎。

设置DNS预读,将博客调用到其它网站资源的网址加入到dns-prefetch当中,你可以根据自己的调用情况进行设置,目前使用如下:

<link rel="dns-prefetch" href="//fonts.lug.ustc.edu.cn">
<link rel="dns-prefetch" href="//pagead2.googlesyndication.com">
<link rel="dns-prefetch" href="//www.google-analytics.com">
<link rel="dns-prefetch" href="//adservice.google.com">
<link rel="dns-prefetch" href="//googleads.g.doubleclick.net">
<link rel="dns-prefetch" href="//www.googletagservices.com">
<link rel="dns-prefetch" href="//secure.gravatar.com">
<link rel="dns-prefetch" href="//hm.baidu.com">
<link rel="dns-prefetch" href="//sp0.baidu.com">
<link rel="dns-prefetch" href="//zz.bdstatic.com">
<link rel="dns-prefetch" href="//www.baidu.com">
<link rel="dns-prefetch" href="//ajax.cloudflare.com">

将数据库MyISAM存储引擎转换为InnoDB,需要在在phpMyAdmin里操作。

设置相关文章、最近文章、最新文章列表,增加内链数量,但不能影响文章主体的阅读。

禁止WordPress评论里的网址自动转换为可点击的链接,在当前主题的functions.php文件,添加如下代码:

remove_filter( 'comment_text', 'make_clickable', 9 );

让WordPress支持WebP格式的图片上传、显示略缩图,在当前主题的functions.php文件,在添加如下字段:

function bzg_filter_mime_types( $array ) {
$array['webp'] = 'image/webp';
return $array;
}
add_filter( 'mime_types', 'bzg_filter_mime_types', 10, 1 );
function bzg_file_is_displayable_image($result, $path) {
$info = @getimagesize( $path );
if($info['mime'] == 'image/webp') {
$result = true;
}
return $result;
}
add_filter( 'file_is_displayable_image', 'bzg_file_is_displayable_image', 10, 2 );