WordPress优化-新安装的WordPress怎么优化?一篇文章告诉你所有步骤!

正文索引 [隐藏]

博客搭建已经快一年了,前几天换了服务器,所以在之前服务器优化重新来一遍顺便记录下!

一丶网站加速

网站后台打开慢就两个原因,WP 程序是由国外开发者开发,程序后台调用了谷歌的字体文件,当我们打开自己的网站后台时,程序会自动调用 google 字体,由于国内屏蔽 google 的服务器,这样就导致了网站调用不了 google 字体,从而网站打开很慢。

第二个原因则是wp 程序的头像功能也是调用外站的,Gravatar 头像服务器在国内的 WordPress 中经常撞墙,这也是网站后台打开缓慢的重要原因之一

我们只要禁用/替换谷歌字体,替换或者使用cdn加速头像。就能达到加速网站的效果!

1.使用插件加速

2.修改文件

方法一:wp-includes 目录后找到 script-loader.php 文件,打开后搜索 fonts.googleapis.com。把 fonts.googleapis.com改为fonts.useso.com就可以了!

方法二:同上搜索fonts.useso.com,我们会看到这样的网址

  1. https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets&display=fallback";

在https中间加//,修改后保存就可以了。

二丶自带编辑器不好用

这里推荐使用TinyMCE Advanced,编辑文章方面比wp的编辑器好用多了!

三丶wp无法发送邮件以及重置密码链接失效

国内主机上都不开放25端口,所以直接插件!使用WP Mail SMTP 

密码失效问题

解决新用户注册时,点击邮件中的重置密码链接提示 “您的密码重设链接无效”:

打开 WP 安装目录下的 / wp-includes/pluggable.php,找到如下代码(2003行左右)

  1. $message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . ">\r\n\r\n";

修改为:

  1. $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";

解决找回密码时提示 “您的密码重设链接无效”:

打开 WP 根目录下的 wp-login.php,找到如下代码(374 行左右):

  1. $message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";

修改为:

  1. $message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";

四丶wp代码高亮

wp代码高亮插件我尝试了很多,最终还是这款好用

Enlighter——可自定义的语法高亮显示插件

这款车间直接在可视化文本中点击{},然后粘贴代码就可以了。不像其他插件那么繁琐!

不用插件实现代码高亮

软件名称:CodeRenderUnmi

首先下载压缩包,解压后,里面有 5 个文件。

CodeRender.hta(hta 网页主程序,可以直接运行)

CodeRender.ico(图标文件)

highlight.css(样式文件)

readme.txt(说明文档)

shCore.js(着色动作脚本)

使用之间需要把highlight.css中的内容全选复制到自己的网站的 CSS 文件中,或者直接把这个文件复制到网站目录,并在头部引用该文件。文件大小 6KB,内含有各种语言的着色样式,如果确信自己不会用到的语言,可以把对应的 CSS 代码删掉,可以通过判断 CSS 的命名判断语言类型。

打开 header.php,查找:

  1. <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style.css" />

类似<link re的代码,同行会有好几行,插入如下代码

  1. <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/highlight.css" />

注意:WordPress 程序默认会把半角符号替换为全角,这样一来,别人复制你的代码就不能用了。可以在 WordPress 主题后台的function.php中添加这样的代码,关掉这个功能。要放在<?php?>之间。

  1. remove_filter('the_content', 'wptexturize');

或者在服务器/虚拟主机找到 functions.php,打开后在最下面贴上

  1. //禁止代码标点转换
  2. remove_filter('the_content', 'wptexturize');

 

五丶wordpress图床解决方案

如果你的带宽还可以,并且vps储存空间有20G左右,我推荐使用Chevereto自己搭建一个图床,后期就算迁移也很方便。搭建方法看这里https://www.lanhui.co/1429.html

演示站 蓝惠图床

如果你的vps主机以及带宽不理想,还是推荐sm图床吧!我尝试过使用onedrive搭配各种软件搭建的图床,最终效果都不太理想。这些在我之前的文章有写过。

六丶文章自动首行缩进

最简单的方法,在主题目录 functions.php最后的位置加入以下代码

  1. // 文章首行缩进
  2.  function Bing_text_indent($text){
  3.   $return = str_replace('<p>', '<p style="text-indent:2em;">',$text);
  4.   return $return;
  5. }
  6. add_filter('the_content','Bing_text_indent');

这里优化了一下,不会和Enlighter插件冲突

或者style.css 最后一行添加.post-content p{line-height:18px;text-indent:2em;}

七、居中对齐失效

打开 style.css 文件, 在末尾加上加入以下代码

  1. img.alignright {float:right; margin:0 0 1em 1em}img.alignleft {float:left; margin:0 1em 1em 0}img.aligncenter {display: block; margin-left: auto; margin-right: auto}a img.alignright {float:right; margin:0 0 1em 1em}a img.alignleft {float:left; margin:0 1em 1em 0}a img.aligncenter {display: block; margin-left: auto; margin-right: auto}

 

八、网页压缩

这里使用代码实现,放在 functions.php 中

  1. /*
  2. *压缩html代码
  3. * http://www.wpmee.com/wp-compress-html ‎
  4. */
  5. function wp_compress_html()
  6. {
  7. function wp_compress_html_main ($buffer)
  8. {
  9.     $initial=strlen($buffer);
  10.     $buffer=explode("<!--wp-compress-html-->", $buffer);
  11.     $count=count ($buffer);
  12.     for ($i = 0; $i <= $count; $i++)
  13.     {
  14.         if (stristr($buffer[$i], '<!--wp-compress-html no compression-->'))
  15.         {
  16.             $buffer[$i]=(str_replace("<!--wp-compress-html no compression-->"" ", $buffer[$i]));
  17.         }
  18.         else
  19.         {
  20.             $buffer[$i]=(str_replace("\t"" ", $buffer[$i]));
  21.             $buffer[$i]=(str_replace("\n\n""\n", $buffer[$i]));
  22.             $buffer[$i]=(str_replace("\n""", $buffer[$i]));
  23.             $buffer[$i]=(str_replace("\r""", $buffer[$i]));
  24.             while (stristr($buffer[$i], '  '))
  25.             {
  26.             $buffer[$i]=(str_replace("  "" ", $buffer[$i]));
  27.             }
  28.         }
  29.         $buffer_out.=$buffer[$i];
  30.     }
  31.     //$final=strlen($buffer_out);
  32.     //$savings=($initial-$final)/$initial*100;
  33.     //$savings=round($savings, 2);
  34.     //$buffer_out.="\n<!--压缩前的大小: $initial bytes; 压缩后的大小: $final bytes; 节约:$savings% -->";
  35.     return $buffer_out;
  36. }
  37. ob_start("wp_compress_html_main");
  38. }
  39. add_action('get_header', 'wp_compress_html');

 

九丶wordpress 删除禁用修订版本和自动保存草稿(不建议关闭)

方法一:在站点目录 wp-config.php 中找到

  1. require_once(ABSPATH . 'wp-settings.php');

在它上边加上以下代码即可禁用了 wordpress 修订版本。

  1. define('WP_POST_REVISIONS',false);// 第 2 个参数代表禁用修订,为数字代表创建几个修订版本。

方法二:第一种方法还要修改源码,下面可直接在 function.php 中添加以下代码即可禁用修订版本。

  1. // 禁止自动生成修订版本
  2.  remove_action ('pre_post_update', 'wp_save_post_revision');

2、wordpress 禁用自动保存草稿

方法一:在站点目录找到 wp-config.php 中最后加上以下代码即可禁用了 wordpress 自动保存草稿。

  1. define('AUTOSAVE_INTERVAL', false);// 第 2 个参数:N 代表不限时间,如果指定时间,就以秒为单位,false 表示禁用

方法二:第一种方法仍然要修改源码,下面可直接在 function.php 中添加以下代码即可禁用自动保存草稿。

  1. function disable_autosave() {
  2. wp_deregister_script('autosave');
  3. }
  4. add_action('wp_print_scripts', 'disable_autosave');

十、wp静态缓存插件

WP Super Cache  这是一个神器

十一、安装百度自动推送(其他自动推送安装方法一样)

自动推送工具代码

将以下代码安装在网站页面中,安装完成后即可实现链接自动推送功能

每页添加不可能的,我们只要添加在  header.php文件或者footer.php中就可以了。 添加在</  >之前。header.php文件中是在</header>前

 

  1. <script>
  2. (function(){
  3.     var bp = document.createElement('script');
  4.     var curProtocol = window.location.protocol.split(':')[0];
  5.     if (curProtocol === 'https'){
  6.    bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
  7.   }
  8.   else{
  9.   bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  10.   }
  11.     var s = document.getElementsByTagName("script")[0];
  12.     s.parentNode.insertBefore(bp, s);
  13. })();

 

十二、修改固定链接和分类前缀

以下修改有利于SEO,对收录有好处

  1. 在 设置 固定链接中,改为 自定义。填 /%post_id%.html   然后设置伪静态
  2. 在固定链接下面有个可选,把分类目录前缀这里加上.

这样就会直接显示/你的分类,减少网址层级

如有错误欢迎大佬们指正!