wordpress静态化首页生成index.html – 半夏凉歌

最近群里的小伙伴又在抱怨安装的wordpress主题加载太慢了,其实呢cms主题嘛,首页的文章展示模块太多了,所以产生的sql查询也就多了,自然而然的加载速度也就很慢咯尤其是数据展示量比较的主题,那加载速度可不敢恭维了。那么如何加快解构比较复杂的wordpress主题的加载速度呢?

实现方法

1.新建一个页面(一定要注意编码格式utf-8),命名为index_html.php,将以下代码粘贴进去;

<?php
if(file_exists("index.html"))
 {
unlink("index.html");
 }
$baseCmsUrl = "http://blog.gezier.com";
$dmPageName = "index.php";
$stPageName = "index.html";
$tureStFile = dirname(__FILE__).'/'.$stPageName;
{
        $body = file_get_contents($baseCmsUrl.'/'.$dmPageName);
        $fp = fopen($tureStFile, 'w');
        fwrite($fp, $body);
        fclose($fp);
}
header("Location:$baseCmsUrl/index.html");
?>

 

2.将index_html.php页面上传到网站更目录;

3.访问http://你的网站/index_html.php页面,此时会在同目录下自动生成index.html文件了,这样每次访问我们的wordpress网站首页的时候,会自动跳转到生成的index.html页面上去。每次写完文章之后请手动访问http://你的网站/index._html.php页面

生成index.html文件后,我们要注意的是我们直接访问自己的域名和访问域名+index.html都会显示首页这样的会搜索引擎会认为你在制造重复页面,会给网站带来一定的负面影响,下面小V给出解决此问题的方法(访问index.html301转跳到/,即去除掉首页url中的index.html):

apache下的解决方法:

RewriteEngine On 
RewriteBase / 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/ 
RewriteRule ^index\.(php|html|htm)$ http://blog.gezier.com/ [R=301,L]

nginx下的解决方法

location / {
     if (!-e $request_filename){
          rewrite ^/(.*)$ /index.html/$1 last;
     }
}

apache下只要将代码加到.htaccess文件最上面即可,域名替换成你自己的域名,至于nginx,就不多说了,既然你都用上了nginx那么这点问题应该还是懂的。

通过wordpress静态化首页生成index.html – 半夏凉歌.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *