Speed up Wordpress

时间:2011-11-18 作者:japanworm

我不觉得我的博客写得特别慢,但那是因为我还没有真正开始写博客。我很担心它很快就会变慢,尤其是因为我会有40-50张照片(优化/压缩)的博客帖子。这是无法改变的,但其他事情是可以改变的。

我已经读了很多关于它的书,读了很多教程,但我觉得还有很多我可以做的。

首先,我的博客目前似乎做得很好。至少根据Webpagetest.org.

Here\'s my blog, 所以你可以自己试试。我试图弄清楚所有的结果到底意味着什么,但我并没有完全明白。

Images:

我已经压缩了我的大部分图像。CSS精灵需要花费大量的时间,所以我现在将跳过这一步,在我实际获得更高流量的时候再做这一步。

为了压缩我的图像,我使用Photoshop(save for web)和Yahoo的SmushIt。

Javascript:

我使用的脚本似乎在速度方面造成了一些问题,因为我从WebGetTest得到了以下建议。组织网站:

“在初始页面加载期间,会分析380.5KB的JavaScript。请推迟分析JavaScript以减少页面呈现的阻塞。”

我完全不知道那是什么意思。有人能告诉我更多关于这件事吗?(我知道这与Wordpress没有什么特别的关系,但无论如何,这是加速它的一部分,所以我希望你愿意在这里帮助我)

关于Javascript的另一个警告:

The following external resources have small response bodies. Inlining the response in HTML can reduce blocking of page rendering.
http://zoomingjapan.com/travel/mount-koya-travel-report/ should inline the following small resources:
    http://zoomingjapan.com/wp-content/plugins/gravatar-box/gravbox.js?ver=1.0
    http://zoomingjapan.com/wp-content/plugins/jetpack/modules/wpgroho.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/contact-form.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/my-slider.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/scrollable.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/sliding_tabs.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/sprinkle.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/tab-renamer.js?ver=3.2.1
    http://zoomingjapan.com/wp-content/themes/alltuts/js/welcome_back.js?ver=3.2.1
    http://zoomingjapan.com/wp-includes/js/l10n.js?ver=20101110
因此,建议不要在模板文件中调用任何脚本,我将所有脚本都放在主题的js文件夹中,这就是您得到的结果。数千个小脚本。我当然在用wp_enqueue_script!这是否意味着最好把它放回我的头球。php?或创建自定义。js并加入所有可能协同工作的代码?!或者将所有Javascript放在页脚中。php?!我只是不知道什么样的环境对WP来说是最好的!

Redirects:

如果可能,请删除以下重定向链:

http://0.gravatar.com/avatar/2b7d7f6b4622da443cc8081ca78db661...
http://zoomingjapan.com/wp-content/themes/alltuts/images/usericon.png?s=30
如果可能,请删除以下重定向链:

http://1.gravatar.com/avatar/35991606c4e61d2d3a4ba61a9e03ab79...
http://zoomingjapan.com/wp-content/themes/alltuts/images/usericon.png?s=30
如果可能,请删除以下重定向链:

http://www.zoomingjapan.com/wp-content/themes/proton-child/images/toplight.png
http://zoomingjapan.com/wp-content/themes/proton-child/images/toplight.png
这是来自我函数中的以下代码。php:

add_filter( \'avatar_defaults\', \'newgravatar\' );

function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo(\'template_directory\') . \'/images/usericon.png\';
$avatar_defaults[$myavatar] = "ZoomingJapan";
return $avatar_defaults;
}
我可以去掉重定向,但保持函数的活性吗?

Other steps:

<禁用修订(完成)

每两天清空一次垃圾桶(完成)

每周优化一次dabatase(尚未优化)

使用缓存插件(完成:W3 Total cache)

提前冲洗(尚未:<?php flush(); ?> 不确定这是不是一个好主意??)

使用CloudFlare作为CDN(还没有:你怎么看?它与WP配合得好吗?)

您还有其他相对容易实施的建议吗?

我知道,有很多问题,但如果你能就其中任何一点给我一点建议,我将不胜感激。

提前非常感谢。

6 个回复
最合适的回答,由SO网友:Nick Davis 整理而成

我最近也遇到了类似的情况,并开始使用W3 Total Cache。

我不确定你目前有什么设置,但如果你能看到你真的在最大限度地使用W3总缓存的话,值得一试

例如,我最初只在主屏幕上检查页面缓存和浏览器缓存,但我没有进入专用部分并在那里对它们进行优化。

我的建议是,尝试一次启用一个不同的选项(选中不同的框)并预览更改,然后在完成一些重新运行速度检查后

您还可以尝试在W3中打开Minify设置并进行实验。您可以执行自动操作,或者如果确实想进城,请选择手动设置,然后在专用缩小页面上,使用顶部的帮助选项自动检测Javascript和其他可能缩小的CSS文件(不要忘记通过相应的复选框添加它们),在某些情况下,您还可以选择延迟加载这些文件,这可能有助于解决Javascript解析问题。

在缩小和测试更改时要格外小心(在清除所有缓存后,在多个浏览器上),因为您可能会发现一些脚本不“喜欢”缩小,或者不接受稍后在页面中加载(例如,您可能会在站点上错误加载CSS)

最后,我还建议尝试Cloudflare(尽管我看到人们在速度方面的结果不一)和CDN

我使用MAXCDN,它对我来说既好又便宜,并且与W3很好地集成,下面是关于它的更多信息:

http://www.wpbeginner.com/plugins/how-to-install-and-setup-w3-total-cache-for-beginners/

我还不是这方面的专家,但在过去几天里,我使用W3 Total Cache显著加快了许多站点的速度,关键是一点一点地进行试验和测试,这可能有点费劲,但如果您希望从WP设置中获得最大的收益,那么值得一试

PS还可以尝试安装WP Smush It插件,并使用它压缩您的所有图像。经常会有人说,但为了重复,请禁用您不使用的任何插件

希望这有帮助!

大爱

刻痕

SO网友:Wyck

你必须在速度优化和现实之间取得平衡。

这意味着不要过于沉迷于速度分析,在满足用户需求、加载时间(大多数情况下)方面,有一件事你应该关注。

测试你的页面,先不缓存,然后再缓存,你应该会发现它们的加载速度有明显的不同,对我来说,你的站点加载大约2.5秒,考虑到你的图像,这是完全可以接受的。

如果您想进一步加快速度,您最大的好处是:

服务器缩放图像,您可以使用CSS(或我没有看过的php)来服务大小更大的图像,而使用html中的精确图像大小WebP, (然后必须在photoshop中重新转换它们)varnish

  • 组合javascript并对其进行优化您开始遇到这样一个事实:超出某个级别的优化需要大量的工作,在某些情况下是值得的,其他情况下则不值得。

  • SO网友:Jens Wedin

    我的2美分不是专家

    优化主题。检查不需要的函数或手动编写它们,检查是否需要所有插件,使用调试插件检查查询,使用Pingdom进行调试。com,闪电战。io和google analytics(页面速度)

  • 使用W3缓存插件,尽可能多地启用缓存、cdn、mimize等优化图像

  • SO网友:vancoder

    我建议通过GTmetrix运行您的站点。还有一个用于WordPress的GTmetrix插件,可以用来监视站点的效率。

    正如Wyck所说,您真的应该提供缩放图像。不这样做将导致加载时间明显滞后。

    还应始终指定图像尺寸。使用高度和宽度属性(而不是CSS)来实现这一点,以获得最快的结果。不幸的是,一些插件和第三方小部件不能做到这一点。

    您还应该尽可能缩小和合并脚本。在这里你必须小心——JS比CSS更重要——因为有些脚本在组合时不能很好地与其他脚本配合使用。此外,在组合时保持测试。有时,组合多个脚本实际上会增加下载时间,因为您现在下载的是一个大文件,而不是几个小文件(可以同时下载)。为此使用W3TC。

    我不担心推迟JavaScript。由于插件等原因,这在WP中基本上是无法管理的。

    除了Gravatar重定向,您不能做任何事情,但您列出的第三个重定向似乎是从www转到非www域(反之亦然)。确保始终使用一致的域。

    您正在调用jquery注释预览。css是不存在的,所以这是浪费时间。此外,您正在从fileden调用两个文件-这些文件的连接速度很慢。尽量不要向不同的域发出不必要的请求。

    SO网友:mike

    JavaScript在初始页面加载期间被解析。延迟分析JavaScript以减少页面呈现的阻塞。我将此代码添加到functions.php 这对我有用。

    function defer_parsing_of_js ( $url ) {
        if ( FALSE === strpos( $url, \'.js\' ) ) return $url;
        if ( strpos( $url, \'jquery.js\' ) ) return $url;
        return "$url\' async onload=\'myinit()";
    }
    add_filter( \'clean_url\', \'defer_parsing_of_js\', 11, 1 );
    

    SO网友:prosti

    这个问题是常青树。我认为加快WordPress速度的一种方法是评估查询的执行速度。也许你有很好的托管功能,但出于某种原因,你正在使用一些转储插件,你的查询需要几秒钟才能执行。

    解决方案是在磁盘页面缓存上。这需要空间。这样,当发送请求时,缓存插件会将请求转发到快速读取的磁盘文件(在SSD磁盘上)。

    所以,如果您的站点本质上是静态的,或者对于您的web站点中本质上是静态的部分,您可以使用它。

    我不能推荐任何这样的插件,5年前我为自己写了一个插件,叫做Acache,我可能会考虑有一天发布它。

    实际上是20行代码。我不知道为什么我不再使用它了。

    结束

    相关推荐

    在创建术语的同一插件中调用CLEAN_TERM_CACHE()失败,单独调用时成功吗?

    我的插件代码如下。在myPlugin\\u cleanup()函数中,我创建了一些类别,并将术语id 1指定为父级。由于known bug with creating categories via script (无法创建category\\u children数组,并且在访问包含类别列表的页面时会导致致命错误),我将clean\\u term\\u cache()调用直接放置在创建类别的函数下方。然而,它不起作用。未创建category\\u children选项。有趣的是,如果我创建一个插件,其唯一功