LoginSignup
4
5

More than 5 years have passed since last update.

サイト速度アップを測る大会でTestMySiteで19秒を4秒へ短縮した施策内容

Posted at

第3回CMSプロレスに参加した際に施した施策。

サーバ

ロリポップスタンダードプラン
あえて共用サーバでどれだけできるかやってみた時間なかったから手持ちの鯖を利用

実ファイル圧縮、Minify

画像(ツール利用)
CSS、JS

ソース最適化

HTML、CSS最適化
余計な記述いらない記述調整、スペースインデント削除など

gzip適用

<ifModule mod_deflate.c>
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
        AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
        AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
        AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
        AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
        AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
        AddOutputFilterByType DEFLATE font/truetype font/opentype
    </IfModule>
</ifModule>

ブラウザキャッシュ適用

<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresDefault                                      "access plus 1 month"

    # CSS
    ExpiresByType text/css                              "access plus 1 year"

    # RSS
    ExpiresByType application/atom+xml                  "access plus 1 hour"
    ExpiresByType application/rdf+xml                   "access plus 1 hour"
    ExpiresByType application/rss+xml                   "access plus 1 hour"

    # データはキャッシュさせない
    ExpiresByType application/json                      "access plus 0 seconds"
    ExpiresByType application/ld+json                   "access plus 0 seconds"
    ExpiresByType application/schema+json               "access plus 0 seconds"
    ExpiresByType application/vnd.geo+json              "access plus 0 seconds"
    ExpiresByType application/xml                       "access plus 0 seconds"
    ExpiresByType text/xml                              "access plus 0 seconds"

    # Favicon
    ExpiresByType image/vnd.microsoft.icon              "access plus 1 week"
    ExpiresByType image/x-icon                          "access plus 1 week"

    # HTML
    ExpiresByType text/html                             "access plus 0 seconds"

    # JavaScript
    ExpiresByType application/javascript                "access plus 1 year"
    ExpiresByType application/x-javascript              "access plus 1 year"
    ExpiresByType text/javascript                       "access plus 1 year"

    # マニフェスト
    ExpiresByType application/manifest+json             "access plus 1 week"
    ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
    ExpiresByType text/cache-manifest                   "access plus 0 seconds"

    # 画像や動画
    ExpiresByType audio/ogg                             "access plus 1 month"
    ExpiresByType image/bmp                             "access plus 1 month"
    ExpiresByType image/gif                             "access plus 1 month"
    ExpiresByType image/jpeg                            "access plus 1 month"
    ExpiresByType image/png                             "access plus 1 month"
    ExpiresByType image/svg+xml                         "access plus 1 month"
    ExpiresByType image/webp                            "access plus 1 month"
    ExpiresByType video/mp4                             "access plus 1 month"
    ExpiresByType video/ogg                             "access plus 1 month"
    ExpiresByType video/webm                            "access plus 1 month"

    # Webフォント

    # Embedded OpenType (EOT)
    ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
    ExpiresByType font/eot                              "access plus 1 month"

    # OpenType
    ExpiresByType font/opentype                         "access plus 1 month"

    # TrueType
    ExpiresByType application/x-font-ttf                "access plus 1 month"

    # Web Open Font Format (WOFF) 1.0
    ExpiresByType application/font-woff                 "access plus 1 month"
    ExpiresByType application/x-font-woff               "access plus 1 month"
    ExpiresByType font/woff                             "access plus 1 month"

    # Web Open Font Format (WOFF) 2.0
    ExpiresByType application/font-woff2                "access plus 1 month"

    # Other
    ExpiresByType text/x-cross-domain-policy            "access plus 1 week"

</IfModule>

CMSからアップロードした画像は圧縮する(ImageUploadUtilityプラグイン使用)

無料プラン

cloudflare(CDN)導入

無料プラン、素敵

cloudflareによるSSL化

これによりHTTPS/2適用

ただCDN無料プラン若干不安定っすね。
有料版にしたら画像optimaizeついてるからそれでどうなるかは不明。
別CDNいれたらどうなるかな。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5