• 选择类别(所有分类):



  • wordpress的页面静态化方法及其相关插件整理


    文章类别:

    wordpress无需插件实现页面缓存静态化,提效显著

    wordpress使用了大量插件,发表了很多文章图片以后速度直线下降,就像蜗牛爬一样慢!

    各位wordpress站长普遍采用的是wordpress缓存插件,如WP Super Cache或者Hyper Cache之类的,这些插件对wordpress有着非常明显的加速优化效果,该插件的Mod_rewrite加速模式加速效果非常好,因为这种模式是直接将网站的页面生成静态的html页面,然后使用Mod_rewrite将请求转发到静态文件,这样就跳过了php解析这一步直接将页面吐出到浏览器,从而达到加速的效果。但是这是使用插件实现缓存效果,那么可否无插件实现wordpress页面静态化呢?

     

    答案是能,下面将告诉大家操作方法,首先复制以下代码:

     

    <?php
    define('CACHE_ROOT', dirname(__FILE__).'/cache');
    define('CACHE_LIFE', 86400)).CACHE_SUFFIX=='GET'){      //GET方式请求才缓存,POST之后一般都希望看到最新的结果
        if(file_exists($cache_file) && time() - filemtime($cache_file) < CACHE_LIFE){   //如果缓存文件存在,并且没有过期,就把它读出来。
            $fp = fopen($cache_file,'rb');
            fpassthru($fp);
            fclose($fp);
            exit();
        }
        elseif(!file_exists($cache_dir)){
            if(!file_exists(CACHE_ROOT)){
                mkdir(CACHE_ROOT,0777);
                chmod(CACHE_ROOT,0777);
            }
            mkdir($cache_dir,0777);
            chmod($cache_dir,0777);
        }
    
        function auto_cache($contents){         //回调函数,当程序结束时自动调用此函数
            global $cache_file;
            $fp = fopen($cache_file,'wb');
            fwrite($fp,$contents);
            fclose($fp);
            chmod($cache_file,0777);
            clean_old_cache()时,装好插件就得清除cosHtmlCache缓存)

    可以这么操作

    在左侧导航里 点击设置 ->CosHtmlCache

    wordpress的静态化插件 cos-html-cache的用法步骤阅读
  • 6

    点击删除HTML文件缓存 就可以了

    wordpress的静态化插件 cos-html-cache的用法
  • ———————————————————————————————————————————

    WordPress高级纯静态插件: Super Static Cache

    Super Static Cache是一款WordPress缓存插件,旨在给使用WP的网站提供配置简单,缓存效率高,通用性强的解决方案。

    目前国内WP的缓存插件中,Wp super cache和cos-html-cache可能是最为众人所熟知的缓存产品,但是这两个插件各有优缺点。

    Wp super cache最著名的wordpress缓存插件之一,它是一款高级插件,能够根据需要作出很多配置,还能自动设置缓存过期时间,在大多数情况下都非常实用。但是一但数据量多大,就可能因为不合理的设置导致服务器压力过大,出现网站反应速度慢,打不开等情况。Super Static Cache在大多数情况下可以替换它。

    cos-html-cache是国人开发的一款wordpress纯静态化插件,会自动生成文静态文档,下次访问会直接通过web服务器而不是php,总体表现良好,但是它对固定链接的要求非常高,必须是带有.html的后缀才能被缓存,而且只有一种缓存模式,所有缓存文件和程序文件混在在一起,非常难于管理。Super Static Cache可以完全替代cos-html-cache。

    Super Static Cache集合wp super cache和cos-html-cache的特点,安装配置简单,缓存效率高,有良好的交互,有Direct,PHP和Rewrite三种模式,还能根据需要设置不缓存的页面。

    Super Static Cache最新版界面

    Super Static Cache最新版界面

    安装方法:把super-static-cache上传到wordpress的插件目录,“wp-content/plugins/”,在后台的插件管理中激活super static cache,然后进入设置->Super Static Cache中启用,选择插件的运行方式(默认为关闭状态),然后升级您的固定链接格式。

    最新版本下载地址

    1,插件已经被wordpress收录,去wordpress下载
    2,在后台插件安装界面直接搜索Super Static Cache下载安装
    3,去Github上下载,欢迎为super static cache pull requests.

    FAQ

    1, 缓存的加载速度快不快?
    缓存好之后,下次访问次文章时,web服务器会直接访问这个缓存文件(Direct模式和Rewrite模式),并不通过wordpress,也不会查询数据库,这样节省了很多资源。即使这样,加载速度也会和您的服务器有关系。

    2, 直接缓存和重写缓存有什么区别?
    直接缓存会根据固定连接的设置,把缓存文件直接存放在wordpress安装目录下,如果页面较多的话,会导致wordpress程序文件和缓存文件混在一起,重写缓存就是专门建立一个缓存存放目录(super-static-cache)来存在这些缓存文件。当然,必须要升级网站的rewrite规则。

    3,super static cache适用于哪些场合?
    super static cache的诞生起初是为了满足我个人的工作需要,和其它缓存插件一样,有自己适用的场合。 如果你的网站内容很多,访问量大,数据库服务器压力巨大,但是磁盘空间充足,可以选择super static cache,反过来,如果您的网站内容少,流量低,更新频繁,不推荐使用super static cache。

    4, 如何清除缓存文件?
    最新版本的高级设置里有根据缓存类型清理缓存的选项,如果你需要清理所有缓存,直接选择所有(ALL),然后点击清理按钮即可。需要注意的是,由于服务器环境,权限配置等一些因素,可能导致缓存清理不完的情况,如遇到这种情况,请给我留言。

    5, 新增的PHP模式有何特点?
    PHP模式是3.0版本中新增的缓存模式,相对其它两种模式,它是最耗费资源的模式,因为这种缓存模式还是需要数据库的支撑,这就意味着如果数据库宕机,网站是打不开的,PHP模式只是减少了数据库的查询次数。它的优点是兼容部分插件。

    6, 严格缓存模式和非严格缓存模式是什么?
    严格模式和非严格模式仅针对Direct模式,它要解决的是关于URL的问题,严格模式下,类似www.example.com/archives/1这种url是不能被缓存的,非严格模式下,这类的url会被缓存,但是第二次访问服务器一般会重定向到www.example.com/archives/1/(注意后面的斜杠)。如果你使用PHP模式或者Rewrite模式,忽略这项配置即可。

    7, 为什么缓存成功之后,搜索功能不能用了?
    搜索功能不能使用是因为搜索表单的目标地址地址是”/”, 而”/”指向的是目录index,很多服务器的index.html的优先级比index.php高,所以操作搜索功能失效。解决办法: a, 把搜索的目标地址改成”/index.php”(或者WP相应安装目录的index.php)。b, 关闭首页缓存。c, 使用Rewrite缓存模式。

    8, Super Static Cache Spider是什么?
    当内容更新时,Super Static Cache会自动建立缓存,Super Static Cache Spider是自动建立缓存的爬行蜘蛛,php开启curl扩展,日志中才能看到Super Static Cache Spider的爬行轨迹,它的来源IP为您的服务器或者CDN提供商的IP地址。Super Static Cache Spider只会内容作出更新时爬行。

    9, 为什么访问会出现403错误或者返回目录的index?
    当使用Direct模式,并且固定链接含有多级目录设置,如/%year%/%monthnum%/%day%/%postname%/时,网站的文章的url是类似www.example.com/2015/03/02/hellow-world/,当缓存生成之后,访问www.example.com/2015/03/02/,www.example.com/2015/03/等时要么返回403(web服务器没有开启autoindex时),要么返回相应目录的index(web服务器开启autoindex时)。如果你的网站的固定链接是类似上面这种深层次的,推荐使用Rewrite模式,可以避免此问题发生。

    10, 伪静态规则怎么添加?
    当使用Rewrite模式时,需要往web服务器上添加伪静态规则,伪静态规则的生成办法是,选中rewrite模式,点击升级,系统会自动生成伪静态规则(暂时只支持apache和nginx)。对于apache,要把生成的伪静态规则添加到网站的.htaccess或httpd.conf里;对于nginx,则需要把伪静态规则添加到相应配置的server字段里。添加时,注意要把这个伪静态规则添加到所有伪静态规则的之前。添加之后,再次点击升级,如果提示消失,则表明规则添加正确。

    11, nginx上为什么会提示location Duplicate(location字段重复)?
    Nginx一个路径只支持一个location,如果在添加Super Static Cache之前,你的Nginx有和插件系统的伪静态规则一样的location,把两个伪静态合并到一起,然后添加到服务器。注意保持插件的伪静态规则在前面。

    12, 为什么我在后台发布文章,缓存可以更新,用工具采集,缓存就不能更新?
    Super Static Cache缓存建立的原理是根据系统的动作,在后台发布文章时,系统能够监测到相关动作并建立缓存,如果直接把数据插入到数据库,系统会因为监测不到动作也不能建立缓存。如果你的网站使用工具进行采集,推荐在设置页面取消首页缓存,或者使用crontab等工具定期更新首页缓存。

    13, 我想指定单个不被缓存的页面
    在3.3.1版本中加入了指定单个不需要缓存页面的功能,直接在此处填入不想要缓存的页面网址即可,一行一个。

    更新日志

    1,安装卸载时报Notice,已修复,感谢@camson反馈
    2,使用部分主题时,用户登陆时和不登陆前台界面不一样导致缓存不相同,已修复
    3,已升级致2.0.0,功能:a.支持rewrite模式,如果选择,系统会在WP的安装目录下创建一个super-static-cache目录,会把所有缓存放到这个目录里,开启这个功能需要升级rewirte规则。b.英语管理后台的支持。c.bug的修复。d.文章发布会自动构建缓存。e.文章更改也会自动构建缓存。f.文章删除会自动删除缓存。
    4,2.0.1: 优化nginx下选择rewrite模式的rewrite规则。
    5,2.0.2: 增加url中含有多字节字符的缓存支持(由于windows服务器不同语种使用各不一样的字符集编码,所以暂不支持windows服务器的多字节缓存支持)
    6,3.0:2015年1月26日更新。增加PHP缓存模式,增加tag,category页面自动更新功能,增加严格与非严格缓存模式, 优化删除缓存功能,bug修复。
    7,3.2:2015年8月14日更新。修复之前bug,后台管理界面更新,增加多项功能: a, 用户可以根据需求设置缓存自动建立/重建的时机。 b, 清理缓存更新洗化,用户可根据需求清理指定的缓存。
    8,3.3.1:2016年4月19日更新。增加指定不缓存单个页面的功能

    _____________________________________________________________________________

    WP Super Cache 的基本介绍

    wpdaxue.com-201303439

    WP Super Cache 是 WordPress 官方开发人员 Donncha 开发,是当前最高效也是最灵活的 WordPress 静态缓存插件。它把整个网页直接生成 HTML 文件,这样 Apache 就不用解析 PHP 脚本,通过使用这个插件,能使得你的 WordPress 博客将显著的提速。

    WP Super Cache 的缓存机制

    WP Super Cache 缓存机制有两种,WP Cache 和 Super Cache。

    WP Cache 缓存时,会在你的“wordpress 安装文件夹/wp-content/cache/”文件夹下生成一系列wp-cache-xxxxxx.html格式的文件;Super Cache 缓存时,则在你的“wordpress 安装文件夹/wp-content/cache/supercache/”文件夹下生成对应每一篇文章或者标签等的目录。名称为xxx.html,取决于你的文章ID是怎么设置。目录下面就是静态的 index.html 文件。

    当你一个访问者来的你的站点,他没有登入或者也没有留言,这样他得到是一个在 WordPress cache 文件夹下的 supercache 子文件夹下的纯静态文件,其实你都可以自己到上面的 supercache 目录下去查看同样的永久链接的 HTML 文件的备份。

    判断一个页面是否已经被缓存了,查看该页面的源代码,如果访问者已经登陆或者留了言,就会返回 WP Cache 函数生成的页面,并且最后一行会有“Cached page generated by WP-Super-Cache+缓存时间”这行字,就像下面这行代码一样:

    1
    
    <!-- Cached page generated by WP-Super-Cache on 2011-02-25 15:57:24 -->

    <!– Cached page generated by WP-Super-Cache on 2011-02-25 15:57:24 –>

    而 Super Cache 缓存会多一行如下代码:

    1
    
    <!-- super cache -->

    <!– super cache –>

    因为 Super Cache 是真正静态的,对搜索引擎和博客的速度非常有好处,而且有效的减轻了 php 和 Mysql 的查询压力。这点对于大型博客来说优势很明显,一般的较小的博客感觉就不怎么明显。

    WP-Super-Cache 的使用设置

    WP-Super-Cache 启用前的准备工作

    ①前提是固定链接不可用默认的,上传WP-Super-Cache插件,不要急着启用。

    ②赋予以下权限:

    给wp-super-cache文件夹添加写权限。

    给wp-content文件夹添加写权限。

    在wp-content文件夹下新建cache文件夹并添加写权限。

    ③在网站根目录wp-config.php文件中

    先检查是否有下面这段代码:

    1
    
    define('WP_CACHE',true);//Added by WP-Cache Manager

    define(‘WP_CACHE’,true);//Added by WP-Cache Manager

    如果没有则在define(‘DB_NAME’的上一行(也就是添加在wp-config.php文件中语句的最前面) 添加如下代码:

    1
    
    define('WP_CACHE',true);//Added by WP-Cache Manager

    define(‘WP_CACHE’,true);//Added by WP-Cache Manager

    然后启用插件,一般已经可以去设置了,如果还出错再接着下面步骤:

    ④看wp-content目录下面有没有有wp-cache-config.php这个文件,如果没有,直接把插件包里面的wp-cache-config-sample.php改名为wp-cache-config.php传到wp-content目录

    ⑤再看wp-content目录里面有没有advanced-cache.php这个文件,如果没有,同样把插件包里面的wp-cache-phase1.php文件改名为advanced-cache.php同样传到wp-content目录

    ⑥最后一步在wp-content目录下面建一个cache文件夹,再在cache文件夹下新建一个supercache文件夹

    ⑦查看网站底部源代码,如果有类似下面的文字则说明没有开启成功,继续修改:

    1
    
    <!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->

    <!– WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! –>

    ⑧查看网站底部源代码,有类似下面的文字则说明开启成功

    1
    2
    3
    
    <!-- Dynamic page generated in 2.703 seconds. -->
    <!-- Cached page generated by WP-Super-Cache on 2010-11-23 11:44:28 -->
    <!-- super cache -->

    <!– Dynamic page generated in 2.703 seconds. –><!– Cached page generated by WP-Super-Cache on 2010-11-23 11:44:28 –><!– super cache –>

    注:更改了网站文件后要进入“Tester&contents”选项点击“删除过期文件”“删除缓存”

    WP-Super-Cache 的设置

    1.“Easy”:勾选“Caching On (Recommended)”,点击“更新状态”

    2.“高级选项”:(额外附加以下选项)

    勾选“Compress pages so they’re served more quickly to visitors.”(开启gzip)

    勾选“Don’t cache pages for known users.”不对认识的人使用缓存(比如登录者或发表评论者)

    过期时限:0秒(0表示不启用,但当有新文章发表时、新评论时,仍可自动更新缓存)

    “Preload”那里勾选“Preload mode”

    3.“Preload”:勾选“Preload mode ”

    注:其它所有选项默认即可。

    WP-Super-Cache 完全删除的方法

    ①在后台禁用此插件。

    ②删除/wp-content/plugins/目录的wp-super-cache目录。

    ③删除wp-content目录下面的cache目录。

    ④删除wp-content目录下面的wp-config.php ,advanced-cache.php两个文件。

    ⑤修改wp-config.php,把这一行删掉:define(‘WP_CACHE’, ‘true’);

    ⑥如果主机本来是用.htaccess文件的要改回来(网站根目录与wp-content/cache都有)

    最佳 WordPress 静态缓存插件 WP Super Cache 安装和使用

     

    WP Super Cache 基本介绍

    WP Super Cache 是基于 Ricardo Galli Granada 的 WP-Cache 2。WP-Cache 2 可以缓存你的 WordPress 博客使得不用再次访问数据库,但是它产生的是 PHP 文件而不是 HTML 文件,所以还需要 PHP 引擎去解析它们。而 WP Super Cache 则直接产生 HTML 文件,所以服务器不用解析甚至一行 PHP 代码,所以缓存之后的速度就和访问你服务器上的一张图片一样快。

    网站的绝大多数用户都会直接访问 WP Super Cache 生成的静态 HTML 文件,只要他:

    • 没有登陆博客。
    • 没有在博客上留过言。
    • 或者没有访问一个密码保护的日志。

    所以 99% 的用户访问到的都是静态缓存 HTML 文件,而那些不是直接访问到静态 HTML 文件的用户也会受益这个插件,他们访问到的是其他形式的缓存文件,虽然没有静态 HTML 那么有效率,但是好过没有缓存。

    WP Super Cache 是如何工作的

    WP Super Cache 通过以下三种方式缓存(按照缓存效率排序):

    • Mod_Rewrite:最快的方式是通过 Apache mod_rewrite 模块(或者其他 Web 服务器中类似的模块)向用户提供静态 HTML 文件,这样就完全绕过了 PHP 解析器,速度飞快,可以轻松应对非常大的访问,并且服务器运作非常轻盈。不过这个方式需要 Apache 已经安装了 mod_rewrite 模块(或者其他 Web 服务器中类似的模块)以便博客能够支持固定链接,并且还需要修改你的 .htaccess 文件,匿名访问的用户通过这种方式访问。
    • PHP:超级缓存静态文件除了 HTML 方式之外,现在还可以通过 PHP 方式来提高服务,速度几乎接近 mod_rewrite 方法,但是 PHP 方法更好配置,并且无需修改 .htaccess 文件。PHP 方法还是需要设置固定链接,还可以让你保持页面部分动态,但是面对大流量访问时候,就没有 mod_rewrite 方法出色了。
    • 传统缓存:这个主要面对已知用户,那些已登录的,留过言的,这个方法更灵活,但也是最慢的,因为每次查看页面,信息是不同的,所以最好对这些用户不要缓存整个页面。

    当页面的源代码最后面有如下的代码,就说缓存已经开始工作了:

    <!-- Dynamic Page Served (once) in 0.829 seconds -->
    <!-- Cached page generated by WP-Super-Cache on 2009-01-12 16:11:54 -->
    <!-- Compression = gzip -->
    

    WP Super Cache 基本使用

    WP Super Cache 安装非常简单,只需要上传到插件目录,然后激活之后就可以到 后台 > 设置 > WP Super Cache 进行详细配置。下面我讲讲 WP Super Cache 的基本设置:

    通用设置

    首先到通用 tab 下,打开缓存功能。

    高级设置

    在高级 tab,首先选择 mod_rewrite 缓存模式,并点击更新,更新之后,插件会让你更新 rewrite 规则到 .htaccess 文件,保证 htaccess 文件可写,把内容更新进去。

    WP Super Cache 高级设置

    杂项基本上将默认推荐的选项勾选上即可,移动设备的支持,就要看你的使用什么主题,如果你使用响应式主题,这里就不要勾选上,如果你对移动设备提供的是另外一套主题,这里需要勾选上。

    其他设置

    CDN:如果你使用七牛之类的 CDN,可以到这里进行设置。

    内容:使用来查看那些页面已经被缓存了,并且可已清理缓存。

    预缓存:默认缓存是基于用户访问驱动的,预缓存则使得用户还没访问,可以先生成缓存文件。

    插件兼容:是设置 WP Super Cache 和一下常用的插件兼容工作。

    调试:面向开发者进行调试的,一般用不到。

    WP Super Cache 附加说明

    • 登陆了和留言之后是看不到静态缓存页面的,看到的效果和原来的 WP-Cache 插件一样的,一般来说留言的同学不是那么多。
    • 这个插件通过 Mod Rewrite 来是实现访问静态缓存页面,所以首先主机要支持 Mod Rewrite,然后还要开启 WordPress 的固定链接功能。
    • 一些动态的时时更新的插件,如 Recent Comments,Recent Posts 等可能会不及时更新,一个很好的解决方法是通过 Javascript 来实现。所以同理 Sidebar 更新也只能在静态页面刷新的时候更新。

    WP Super Cache静态缓存插件简明使用教程

    插件设置

    进入插件设置页面,插件支持多语包括简体中文。

    直接进入插件“高级”设置选项卡页,勾选所有标有“推荐”字样的选项,另外包括“当某页面有新评论时,只刷新该页面的缓存”这项。

    缓存超时时间建议设置为“ 0”,有必要时手动清理缓存。

    其它选项卡设置页面,无需设置。

    如果你不清楚其它未推荐的选项功能是什么,就不要尝试了。

    推荐的设置

    需要说明的是缓存模式有三种:

    • mod_rewrite 缓存模式。 (推荐)
    • PHP 缓存模式。
    • 传统缓存模式。

    如果选择非推荐的 mod_rewrite 缓存模式,缓存效果一般,个人感觉也就没必要使用这款缓存插件了。

    三、更新规则

    设置完毕后,点击更新按钮,会提示你点击“更新 Mod_Rewrite 规则”按钮,向下滚动找到该按钮并点击。

    插件会自动向Wordpress根目录的wp-config.php和.htaccess文件写入相关规则。

    同时默认缓存目录的中.htaccess也必须有规则。

     清理缓存及停用插件

    1、清理缓存

    可以定期手动清理缓存文件,打开WP Super Cache插件设置页面,点击“内容”选项卡,点击“删除缓存”。

    如果你与我一样在不停地折腾主题,这时就需要随时手动清理缓存,才能查看修改调整后的情况,否则显示的还是之前的静态缓存内容。

    2、停用插件

    重复上一步(必须),之后点击“高级”选项卡,取消“启用缓存以便加快访问。 (推荐)”勾选,并点击下面的“更新”按钮,

    3、完全删除插件

    重复上面两步(必须),然后进入插件页面停用WP Super Cache插件,并删除。

    正常情况下删除WP Super Cache插件时,会将之前插件所修改和创建的缓存文件夹一并删除,但也可能有例外。所以,登录Ftp客户端,用之前备份的wp-config.php和.htaccess文件覆盖Wordpress根目录的同名文件,并删除wp-content目录的cache文件夹,这样才能完全卸载并彻底删除缓存文件。

    另外,建议安装网页压缩插件:Autoptimize与WP Super Cache配套使用,可以进一步加快网页打开速度。

    设置Autoptimize插件时,只需要勾选“优化 HTML 代码和优化 CSS 代码”,其它默认即可,不要勾选“优化 JavaScript 代码”否则可能造成主题部分功能不可用,切记!


    标签: ,


    文章类别:

    本文链接: https://www.books51.com/73.html

    【点击下方链接,复制 & 分享文章网址】

    wordpress的页面静态化方法及其相关插件整理 → https://www.books51.com/73.html

    上一篇:

    下一篇:

    0 ratings, 0 votes0 ratings, 0 votes (0 次顶, 0已投票)
    你必须注册后才能投票!
    Loading...

    添加新评论

    简单注册 精品资源 自由下载

     

    [点击注册]


    《电子书库》


    最新评论

    本月最高评分文章

    关于本站

    整理发布精品资源!

    谢谢捧场的网友!

    联系站长

    邮件:342900208@qq.com