Category: 技术分享

  • 利用七牛云存储缓存Gravatar头像加速 WordPress

    WordPress默认集成的头像系统是:gravatar,如果您的网站上评论较多,而又没有使用第三方的评论系统,那么因为gravatar在国内打开速度很慢的原因,会影响你的网站载入速度,甚至会把你的网站速度拖的很慢。

    利用七牛云存储缓存Gravatar头像,是一种很完美解决头像速度的办法,可以大大的提升头像的载入,也提升了网站的速度,让评论的用户更加有评论的欲望。

    22

    原理很简单,就是借助七牛云的“对象存储”拉取Gravatar的SSL服务器上的头像图片转存到七牛空间来实现,如果再在“对象存储”空间上再开启七牛云的融合CDN的话那就超级完美了,当然不使用CDN单就七牛空间的速度也比原有的强出了很多。

    首先,当然是注册个七牛云账号(https://qiniu.com)并通过实名认证了,然后登陆七牛云账号新建一个“对象存储”空间,空间名字可以任意英文组合即可,镜像源要设成https://secure.gravatar.com/以便拉取 Gravatar 官网的头像图片(当然你也可以设定成多说 Gravatar 头像服务器地址),如下图:

    20170211024351

    然后根据自己WordPress主题使用到的头像尺寸设定七牛云对象存储空间的“图片样式”,参照 Gravatar 官方头像不同 size 的图片,依次是?s=40、60、80、100、120(你可以审查元素看看):

    4

    就明月使用的 Begin 主题来说32、40、60、80、100尺寸是最合适的,所以分别创建“图片样式”如下图:

    20170211025130

    这是全部创建完成后的处理样式列表:

    20170211025503

    每个图片处理样式就参照上图设定即可,样式名称即为尺寸数字即可。

    至此七牛云存储端设置全部完成,剩下的就是在 WordPress 所使用的主题下根目录下的function.php里添加如下代码替换 WordPress 默认评论头像地址:

    //缓存Gravatar 头像到七牛云存储,WordPress 4.0+ 适用
    function qiniu_avatar($avatar) {
    $avatar = preg_replace(‘/.*\/avatar\/(.*)\?s=([\d]+)&.*.srcset=.*/’,’‘,$avatar);
    return $avatar;
    }
    add_filter( ‘get_avatar’, ‘qiniu_avatar’, 10, 3 );

    记得要把你自己的七牛空间域名或者绑定的自定义域名在代码里填上(代码内紫色字部分替换即可),然后保存,浏览一下评论页面后,对评论头像地址进行验证是不是已经替换为七牛云空间缓存的图片了。这时登录七牛云可以看到空间里面已经缓存了头像图片了,如下图:

    20170211030841

    最后就是体验博客载入速度了,如果你是七牛付费用户还可以给头像缓存的七牛空间开启融合 CDN(前提是你的域名备案了,否则不能使用七牛的融合CDN服务) ,这样头像调用会选择离你最近、速度最快的节点链接,这样就可以避免Gravatar被“墙”以来头像总是获取失败和载入龟速的尴尬了,也算是变相的给我们的 WordPress 提了速!话说也不知道啥时候 WordPress 才会考虑在国内架设服务器,但愿这个愿望可以实现。

    如果遇到 Gravatar 头像缓存到七牛后会造成用户更换头像后不能同步更新的问题,这个同步更新估计是没戏了,但我们可以通过设定 Gravatar 头像的缓存有效期来避免出现这样的尴尬,只需设定缓存 Gravatar 头像的七牛空间的“文件客户端缓存 maxAge”就可以了,如下图:

    wp-content-uploads-2017-02-20170214183238

    文件客户端缓存 maxAge的值是以秒为单位的,为了方便大家根据不同情况设定不同的天数,下面直接给出不同天数对应的秒数,以方便大家填写:

    1天=86400秒
    3天=259200秒
    7天=604800秒
    10天=86400秒
    14天=1296000秒
    20天=1728000秒

    为什么可以这样设定,这是因为前文讲到的缓存 Gravatar 头像的七牛存储空间镜像源是 Gravatar官方的https://secure.gravatar.com/服务器,七牛会重新拉取对应的头像图片的。

    转载于:明月登楼博客

  • WordPress杂志主题Awaken使用教程

    Wopus之前分享的这款主题版本是:2.0.3,现在这款主题于2016年4月4号更新到2.0.4版本了,在使用的用户可以直接在WordPress控制面板升级即可(升级不影响设置)。

    WordPress杂志主题:Awaken 地址:https://www.wopus.org/themes/cms/3142.html

    这款主题使用教程主要是要注意几个方便:文章都要加缩略图;小工具的使用;静态首页的创建和设置。

    Awaken主题使用教程详细步骤:

    首先:请保证您的网站有5个分类,每个分类下面有3~5篇文章,每篇文章,都要设置特色图像。

    1,安装并激活Awaken主题;

    2,下载并把Wopus翻译的中文包放到主题的languages目录,详情;

    3,上传Logo:在主题–自定义–站点身份 里操作,显示网站LOGO有几个选项,各位可以根据自己的需求设置;

    4,上传favicon:和上传Logo的操作一样;

    5,设置网站首页:

    a,先在页面里创建一个新的页面,页面名称可以自定义,比如用:首页;页面属性–模板这里选择:Magazine Template,其他不需要填写任何内容,直接点击发布即可:

    1

    b,回到 主题–自定义–首页设置–静态首页,设置如图:

    2

    这样,再配合主题的小工具功能,就可以设置出和DEMO一样的首页了;

    6,轮播图设置:这个功能不需要使用插件,是主题内置的一个功能,也是在主题–自定义–首页设置里操作;

    7,菜单设置,这个也没有难点,不详细说,其他的设置因为有设置中文语言包,各位可以自己查看。

    着重讲一下小工具的使用:

    主要用到的五个小工具,如图:

    3

    官方的文档地址:http://themezhut.com/awaken-wordpress-theme-documentation/,在最后有一张图片,小工具的详细用户,各位可以对照着看看;

    具体的使用,各位可以自己测试,这样就可以打造一个很好的杂志类的网站了。

  • WordPress禁止xmlrpc的办法

    WordPress的xmlrpc当前已经成为了一种主要攻击WordPress的方式,这个主要有两个后果:

    1,会使运行WordPress的主机出现资源消耗光的情况,这样主机就会出现假死的情况,导致网站无法访问;

    2,会使自己的网站上莫名的出现很多分类和文章,这些多出来的分类和文章都不属于网站;

    所以,关于WordPress的xmlrpc功能就是必须要做的一件事情了,方法很多,但其实很简单,只要一行代码就行:

    add_filter(‘xmlrpc_enabled’, ‘__return_false’);

    这行代码,添加到当前主题的functions.php文件的最后一行就行。

    但是,如果您更换了主题,请及时把这个代码放到新主题的functions.php里。

  • 保留更新主题时functions.php里的自定义代码的办法

    WordPress主题中的functions.php是很重要的一个文件,WordPress主题很多很多功能都是写入到这个文件里,是功能得以实现;

    针对主题做的一些功能变更,需要向这个文件里写入代码,而一款优雅的WordPress主题除了发布之外还要有更新,而一旦更新,functions.php文件也会被覆盖,那之前添加到这里的功能代码也就不存在了,这里有一个解决办法,可以解除各位的后顾之忧,不会再出现更新主题版本而忘记备份functions.php文件而出现的尴尬。

    解决思路就是:把每个功能的代码,都做成一个WordPress的插件,然后通过WordPress的插件功能,上传-激活,这样可以保证功能的延续性,而又不会出现functions.php文件被覆盖的问题。


    具体步骤:

    < ?php /* Plugin Name: 模版函数扩展插件 Description: 给主题模版函数库里添加点小功能 Author: 明月登楼 */ //文件里面加入代码就可以和functions文件一样了 ?>

    把上面的代码自己另存为一个php文件,记住是UTF-8编码,然后放进wp-content/plugins文件夹,对,直接放进插件文件夹,然后去插件中心看看,如图:

    2016032017374031

    一个插件就这么出来了,虽然里面没有什么实际代码,但是他就是一个插件,对网站开始起作用了,和在functions文件里面加代码一样。

    每个功能都可以按照上面的方式,写成一个简单的插件,如果如果功能很少,这办法很合适,如果增加了超过5个的功能,还是备份functions.php文件比较方便。

    文章来源:明月登楼。

  • WordPress插件使用的5个原则

    WordPress插件,是WordPress在全世界流行的一个重要原因,功能丰富的插件让WordPress建站有了各种可能性而不单单只是博客了。但是林子大了什么鸟都有,WordPress不安全的最大原因,也是因为其插件。

    Wopus今天归纳5个原则,希望能帮助大家,大家在使用插件的时候,可以借鉴一下,这样不但可以增强WordPress网站的执行效率,更可以让自己的WordPress网站更安全。

    1,尽量使用来自WordPress.org官方的插件;

    如果一个插件足够有价值,使用量足够多,那么插件作者把插件提交到WordPress.org不是一件困难的事情;退一步说,即使插件没有提交到WordPress.org,那作者如果足够负责,也可以使用。

    2,插件如果超过3个月没有更新,请不要使用;

    WopusIDC从08年就开始提供WordPress主机服务,在最近几年中遇到了主机的安全问题,基本上都是插件在使用中,但超过一年没有更新,插件一旦不更新,即使功能上依然可以满足使用,但安全性却真的可能出现安全问题,所以,定期检查插件是一件很必要的事情。

    3,使用插件之前,先看看评论;

    互联网神奇的地方,是你可以找到很多资源,而且是你意料之外的,虽然没有专门的WordPress插件测评网站,但从网上还是可以搜索到一些插件的评论,多看看,或多或少可以帮助到自己。

    4,插件使用按需求,而不是越多越好;

    Wopus主机用户,最多一个使用了将近90个插件。其实,插件完全用不到这么多的,很多插件都是可有可无;比如很多用户都会使用WordPress的备份插件,但现在的WordPress主机提供商都会有数据备份功能,所以这个插件其实完全没必要,但有些用户还是觉得用了心里会安稳一些。Wopus稍后会分享一些必装的插件,希望能帮助到各位。

    5,插件确定使用之后,要完全明白如何使用;

    WordPress插件不是启用了没事了,有些插件需要简单的设置,有一些插件需要复杂的设置,这些设置完全做好,才能让插件发挥功能,而不是只是安装好,启用就一了百了。

    以上就是Wopus总结的5个WordPress插件使用原则,希望能对各位有帮助。

  • WordPress 3.5禁用XML-RPC

    WordPress 3.5 开放了XML-RPC功能。

    什么是XML-RPC:

    XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用。它是一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。

    有些用户习惯用其他的第三方软件发布WordPress文章,比如WLW(Windows Live Write),菊子曰,WordPress智能手机客户端等,都需要用到这个功能,WordPress 3.5默认开放这个功能,是WordPress向移动互联网做出的一个调整。

    如果觉得这个功能用不到,可以禁用掉,方法也非常简单,添加代码:

    add_filter(‘xmlrpc_enabled’, ‘__return_false’);

    在wp-config.php中,可以放在最后一行,然后保存上传覆盖即可。

    禁用XML-RPC功能,有WordPress爱好者写成了一个插件,插件地址:https://gist.github.com/3800468

  • 五种WordPress反垃圾留言方法

    垃圾留言现在是公害,绝对的公害。

    WordPress的留言机制,好像又比较适合垃圾留言的产生:

    1,评论者ID本身就是关键词;

    2,带上超级链接;

    3,评论内容中有关键词和超链接。

    Wopus这里总结了几种对付垃圾留言的方法:

    1,安装反垃圾留言插件:

    Wopus专门有一个页面是介绍这个插件的:http://plugins.wopus.org/content/antispam

    首推 Akismet(全攻略);这里有获取API KEY的方法(教程:Akismet获取API KEY的方法)。

    2,使用其他的评论系统:

    目前国内针对WordPress的社会化评论很多,有两个比较用户多:多说(http://www.duoshuo.com);灯鹭(http://www.denglu.cc/index.html),都推出了针对WordPress的插件,安装之后简单设置,即可使用。

    3,手动审核插件设置:

    很多评论,不管是否是垃圾评论,第一次提交的时候我们在控制面板里可以看到评论是待审核状态,如果是垃圾评论,建议不要删除,而是设置成垃圾评论,这样下次相同ID的评论直接就会被过滤掉。

    4,合理利用WordPress本身的反垃圾功能:

    在WordPress控制面板–设置–讨论中,有黑名单,功能描述是:

    当评论的内容、姓名、URL、电子邮箱、IP 地址中包含以下任何一个关键词,则将其标记为垃圾评论。(一行一个关键词)

    所以,这里可以尽情的添加那些该死的垃圾评论的相关信息。

    5,强力反垃圾插件:WP-reCAPTCHA

    可以检测评论者的ID,邮箱和评论内容,详细地址:http://wordpress.org/extend/plugins/wp-recaptcha/

    最后,其实无论是哪种方法,都不能完全的禁止垃圾评论,但多管齐下,则有可能把垃圾评论完全搞定,当然,日常的及时清理也很关键,不要让垃圾评论一直产生,否则会影响服务器的运行。

    如果各位有什么好的其他方法或者插件推荐,可以留言分享,一起来反垃圾留言~~~

  • 打造安全WordPress的6点建议

    网站的安全性在任何时候都是很重要的,特别是在网站经营若干年之后,有了更多的数据,更要保证网站的安全性,使用WordPress搭建的网站更是如此,特别是现在WordPress用户越来越多,使用越来越广泛,所以,被研究,被攻击,也是必然的。

    本篇文章里提到的都是在WordPress安装之后的操作。

    1,经常备份;

    备份的意思,是文件和数据库都要备份,而且也包含附件。备份可以根据各自的特点来操作,比如WordPress的程序,如果不是每天都在修改WordPress的话,只要在每一次修改WordPress程序之后备份一次即可;附件,比如压缩包和图片,如果是存储在主机当中,那建议每周备份一次,毕竟每次备份到其他空间或者本地,是要消耗流量的;如果本身已经存储在第三方的网盘上,那就无需单独备份了;数据库,也每周备份一次即可。

    这里推荐一款很好用的WordPress备份插件:BackWPup

    WordPress备份的三个原则:

    a,备份文件不能保存在相同的空间中;

    b,必须是自动备份的;

    c,设置备份文件的次数,比如保留最新的5次备份等;

    2,保持WordPress程序在最新版

    WordPress是一款开源的程序,因此有很多爱好者都很喜欢,而且发现问题都会及时的提交到WordPress官方,之前几次的更新,都是提交之后,WordPress官方及时更新处理,所以,保持WordPress一直在最新版,可以有效的避免安全问题;

    3,使用复杂的密码并且经常更新

    密码有两个,一个是WordPress的登陆密码;另外一个是主机的密码;不要只使用数字和字母,空格,~!@#这种也可以用,当然要记得,而且不定期更新,保证密码的安全性,但要自己记得。

    4,经常检查WordPress程序

    这里需要说一下WordPress的权限,在linux主机,运行在cgi模式下的WordPress程序,文件夹的权限是:755;文件的权限是:644;.htaccess的权限也是644(有些文件,比如sitemap的xml可能需要777的权限,就WordPress本身的权限,按照上面说的即可)。

    通过主机控制面板,是可以看到权限的,如果有文件权限不对,建议先修改成正确的,然后打开文件,查看是否有恶意代码;常被入侵的文件有三个:根目录的wp-config.php;index.php和当前主题中的functions.php。

    现在国内也有很多检测安全的网站,但还是建议使用国外的吧,比如:http://www.sucuri.net,当然cPanel主机(http://idc.wopus.org/foreign/cp/)控制面板目前已经内置了病毒扫描工具。

    5,设置WordPress的security keys

    安装WordPress之后,在wp-config.php文件中,有security keys,可以在 https://api.wordpress.org/secret-key/1.1/salt/ 中生成,都是随即的,直接复制到wp-config.php,保存即可。

    6,选择性的使用WordPress插件和主题

    其实很简单,插件和主题,尽量使用WordPress官方的。

    我们遇到过极端的情况,一个WordPress爱好者制作了几款主题,都免费分享了,但他的主机被入侵了,所有的主题,都被插入了恶意代码,于是,使用之后,就悲剧了;当然这种情况也出现在WordPress官方,也被入侵过,但WordPress很好的处理,并且加强了预防。

    插件更是如此了,使用之前,先衡量一下,是否真的需要。

    WordPress的用户,都喜欢折腾,主要就是折腾主题和插件,但有选择性的,可以很好的保证WordPress安全性。其实,通过主题和插件威胁WordPress,是当前一种主流的方式。

    如果您有其他的建议或者好的经验,请留言,我们会不断更新,希望大家都有安全的WordPress网站。

  • wp-config.php文件小功能分享

    WordPress 3.4.1版本有981个文件和95个文件夹,虽然天天和WordPress大家到,但我们基本上不会去修改这些文件,绝大部分操作基本上都是在WordPress主题和WordPress插件。但是有一个文件,我们会是不是的修改一下,这个文件就是wp-config.php,当然,这个文件必须在WordPress安装成功之后才能看到。

    这里有几个通过往wp-config.php中添加代码实现相关功能的技巧分享给大家。

    1,去掉WordPress的历史修订版本功能。

    这个是WordPress默认的功能,主要是方便多人协作写文章使用,但是在单人网站上,这个功能基本上是鸡肋。

    去掉的办法:

    在wp-config.php中添加代码:

    define(‘WP_POST_REVISIONS’, false );

    这个功能可以记录无数次的历史版本,如果往wp-config.php中添加如下代码可以限定历史版本的次数:

    define(‘WP_POST_REVISIONS’, 2 );

    这个数字 2,就是次数。

    2,修改系统文件的函数功能

    有些主机,当你想在线安装插件,主题的时候,会让填写主机信息,ftp帐户和密码,解决这种问题的办法也很简单,只要往wp-config.php中添加以下代码:

    define(‘FS_METHOD’, ‘direct’);

    这个应用在Wopus帮助站里的WordPress需要填写链接信息解决办法有说明。

    3,保护wp-config.php文件

    WordPress文件的安全性很重要,之前看一些WordPress被入侵,基本上都在wp-config.php加了恶意代码,而且默认的权限是644,被修改成了666;

    以下代码可以保护wp-config.php文件不被入侵:

    # protect wpconfig.php

    order allow,deny
    deny from all

    当然,上面代码不是放在wp-config.php中,而是放在.htaccess中,放在当前WordPress程序所在目录中。

    4,修改WordPress数据库的前缀

    WordPress程序在安装的时候默认的前缀是wp_,你可以修改成任何你喜欢的,至于为何要修改,主要两个理由:1,保证数据库安全,不被破解;2,如果主机之后一个数据库,不同的数据库前缀可以让很多数据库共存。

    步骤:

    在wp-config.php中找到代码:

    $table_prefix = ‘wp_’;

    把wp修改成任何你需要的即可,这么修改之后,会导致网站访问提示数据库访问错误,还需要一个插件,才能彻底解决问题:DB Prefix Change 。

    5,修改自动保存时间间隔

    WordPress自动保存功能超级给力,常用Office或者PS的同学,肯定都有经历,突然停电,几千字的Word没保存,刚做好几十页的PPT没保存或者几百个设计好的图层没保存,是什么感觉,但WordPress不会,在一定的间隔,WordPress会自动保存已经存在于编辑框中的文字。

    通过以下代码可以修改每次保存的时间间隔:

    define(‘AUTOSAVE_INTERVAL’, 240 );

    240,就是时间间隔,单位是:秒。

    6,方便迁移WordPress

    这个功能太帅了,单独写文章,并会添加地址到这里。

    之前都是这么操作的:WordPress更换主域名后需要完成的操作

    7,使WordPress在WP_DEBUG模式下

    WordPress官方给wp_debug的解释:

    WP_DEBUG 常量控制大多数 PHP 错误,以及所有警告和提醒。如果您不在 wp-config.php 文件中进行定义,则将自动设置为 false。WP_DEBUG_LOG 和 WP_DEBUG_DISPLAY 控制调试消息的记录和显示。

    wp_debug功能默认是不可用的,在wp-config.php中添加如下代码可以实现:

    define(‘WP_DEBUG’,true);

    8,设置禁止编辑插件和主题的权限

    如果你是一个WordPress的主题作者,或者你是WordPress达人,在帮客户做主题或者解决WordPress问题的时候,通常要设置一下权限,虽然都是管理员,但还是不要让用户随便去操作主题和插件,以免带来不必要的麻烦。

    删除Wordpress主题和插件编辑功能代码:

    define(‘DISALLOW_FILE_EDIT’,true);

    下面的代码可以禁止安装主题和插件:

    define(‘DISALLOW_FILE_MODS’,true);

    但需要记住的是,被WordPress官方收录的主题和插件,会不断的更新,有些是为了功能,有些是为了安全,所以,请确保能通过其他途径及时了解相关主题和插件最新的动态。

    上面收集,是wp-config.php功能的一部分,如果您也有相关的教程,可以投稿给我们:support@wopus.org 。

  • 永久链接格式设为postname时导致页面显示错误的解决办法

    在Bruce老师的细心指导下,修改了 Reeoo.com 的永久链接格式,从原来的 /%category%/%post_id% 的格式修改为 %postname% ,以便于url变得更有意义一些,当然这个前提是 Reeoo.com 所有的文章标题都是被收录的网站的名称,不需要另外再去重新编辑slug之类的。

    以上两个不同的URL格式的差别,只有在文章页(single)才显示,分类页及其它页面基本都是一样的,所以无需做过多的修改,另外再安装 Dean’s Permalinks Migration 插件更是连301都不需要做。

    安装这个插件后,会自动读取当前的URL格式,保存一下然后去修改永久链接格式,当访问旧地址时会自动301跳转到新地址。

    本以为一切都顺风顺水的,但当检查地址是否全部正确的时候,发现很多以前的老文章访问时,页面的内容结构会由读取 single.php 文件变成读取 page.php 文件,而访问附件的地址时则是正常的,但url不会跳转,注意看以下两个截图的地址栏:

    进一步检查这些显示有错误的文章内容时,发现这些文章内容是完全正常的,随意添加一点内容再更新文章时,页面依然显示错误的。

    于是又将文章内容里的图片删掉,重新添加一下图片,再保存时显示就正常了,基本上判定为图片上传的时候有问题。而出现错误的文章发布时间集中在2010年1月份之前,回想在最早开始给Reeoo添加内容时,因为嫌每个文章上传一次图片麻烦,所以有时会一下子上传一堆图片,然后写每个文章时直接复制HTML代码过去修改,以达到更快速简便的效果。

    再加上最早的时候使用的是WordPress2.8的版本,之后经历过几次大版本升级,数据的升级可能不完善,于是就导致了这个问题的出现。

    确定为图片上传的问题后,改为去检查媒体库,发现里面有接近200来张的图片是没有附属的,也即是在数据库里这些图片没有被指定附加在哪个文章里,于是只需要重新为这些图片指定附属的文章,问题完美解决。