Server

[WordPressのSEO対策]PageSpeed Insightsのスコアを上げる方法

投稿日:2017年11月13日 更新日:

はじめに

WordPressでプログを公開し始めて、もう半年以上も経ちますが、SEO対策はほとんどやっていませんでした。

さすがに少しぐらいはSEO対策をやろうと思い、エンジニアリングでできそうなところとして、GoogleのPageSpeed Insightsのスコアを上げる対策をしてみました。

基本的なことですが、下記の対応をするだけこのブログサイトのスコアは常時80以上のスコアをキープできるようになりました。ぜひ、参考にしていただければと思います。

現状のスコアと改善点を確認する

何はともあれ、現在のスコアと改善を確認するところからですね。

こちらのサイトで計測したいウェブページのURLを入力して、分析ボタンを押してください。

暫くすると現状の「スコア」と「適用可能な最適化のリスト」が表示されます。この「適用可能な最適化」を一つずつ改善していけばスコアは上がります。

とはいえ、一つずつ見ていくのは大変と思いますので、下記に代表的な対策例を紹介していきます。

ブラウザキャッシュを活用する

Googleのサイトでも改善方法が記載されていますが、nginxをご利用であれば下記をnginx.confに追加していただくだけで一気に改善されます。

ポイントは、expiresを7日以上にすることです。もちろん、指定した期間はブラウザにキャッシュされてしまいますので、もし画像を差し替える場合は注意が必要です。ファイル名を変更して、公開をし直すなどが必要になります。

圧縮を有効にする

ページ上の圧縮可能なリソース(HTML / CSS / JavaScriptなど)をgzip圧縮で圧縮することでリソースのダウンロードの時間を短縮します。これも下記をnginx.confに追加するだけです。

ポイントは、gzip_typesにcss / javascriptを追加することです。何も追加しないとtext/htmlだけの圧縮になります。

HTML/CCS/JavaScriptを縮小する

HTML/CSS/JavaScriptなどのアセットをMinifyするツールをかなりありますので、ご自身で使い慣れているものがあればそれを利用しても良いと思います。

WordPressをご利用の型であれば、やはりプラグインを活用するのが簡単だと思います。オススメは、「Fast Velocity Minify」です。WordPress管理画面にログインして、[プラグイン]-[新規追加]からインストールし、有効にするだけです。

画像を最適化する

Googleのサイトにもありますが、画像圧縮ツールを使用するのが簡単です。WordPressのプラグインもあるようですが、現在ある画像を一気に圧縮させる方法を紹介します。月に1回程度に夜間などにcronで定期実行するのも良いと思います。注意点としては、下記のようにGoogle推奨のツールで圧縮しても、GoogleのPageSpeed toolsでまだ最適化が不足していると指摘されることもありますが、それはある程度許容するしかないですね。

レンダリングをブロックしているJavaScript/CSSを排除

次の対応としては、JavaScript/CSSの読み込みをbody終了タグの直前に移動させることです。我々のブログでは、「STINGER8」テーマをカスタマイズしているので、修正箇所は「STINGER8」となっていますが、他のテーマでも同様に対応できると思います。

修正ファイルは「wp-content/themes/stinger8/functions.php」となります。WordPress管理画面にログインして、[外観]-[テーマの編集]-[functions.php]を選択して編集できます。

下記の「wp_enqueue_script」という関数の第5引数をtrueにすることで、body終了タグの前に配置されます。

注意点としては、body終了タグの直前などに読み込みを遅らせるため、依存しているJavaScriptが先に読み込まれるとエラーになるので、依存しているJavaScriptも下部に移動させる必要があります。

サーバーの応答時間を短縮する(WordPress)

この対応は、最新のWordPressでは改善済みかもしれませんが、私たちのブログでは若干効果がありましたので対応しました。

記事の抜粋を表示させる「the_expect()」という関数が遅いので、結果が同じになるように下記のように書き換えをしました。

「STINGER8」テーマの場合は、「wp-content/themes/stinger8/itiran.php」「wp-content/themes/stinger8/kanren.php」「wp-content/themes/stinger8/newpost.php」となります。こちらも管理画面からも編集できます。

その他

ここまでで十分スコアが上がっていると思います。その他としては、下記のようなものを確認してみると良いと思います。

  • 不要なWordPressプラグインをアンインストールする
  • SNSボタンで外部JSや画像の読み込みで最適化の指摘がある場合自前で作成する
  • php-fpmのパラメータチューニング
  • MySQLのパラメータチューニング

さいごに

基本的な設定をちゃんとするだけで、GoogleのPageSpeed Tools Insightsのスコアが上がりますので、ぜひ皆さんもやってみてはいかがでしょうか。

また、さらにスコアを上げるためには、ミドルウェアのパラメータチューニングなども必要になると思いますので、アクセスが増加したら、きっちり再チューニングをしていこうと思います。

blog-page_footer_336




blog-page_footer_336




-Server
-,

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

aws

Amazon ECSでGoアプリケーションのデプロイとALB設定をやる

1 はじめに2 独自ドメインを取得する2.1 ドメインを取得する2.2 証明書を取得する3 ALBからECSタスクにリクエストを流す3.1 ターゲットグループを作成する3.2 ALBを作成する3.3 ...

aws

AWS Lambdaの関数スケーリングとローカル実行

1 はじめに2 関数スケーリングについて2.1 同時実行とは2.2 同時実行の制御方法2.3 その他3 ローカルで実行するには3.1 LocalStackについて3.2 LocalStackのSetu ...

MySQL 5.7 オプティマイザの改善〜UNION ALL〜

1 はじめに2 「UNION」と「UNION ALL」の違い3 MySQL 5.7での「UNION ALL」の改善とは4 MySQL 5.7での実行計画4.1 UNION ALL実行計画4.2 UNI ...

DockerでLAMP環境をつくり、LimeSurveyを動かしてみた

1 はじめに2 Docker関連ファイルの作成2.1 docker-compose.yml2.2 MySQL2.2.1 個人的に詰まったこと2.3 PHP3 Docker起動4 リポジトリを作りました ...

aws

AWS LambdaとSQSでキューを処理する

1 はじめに1.1 今回紹介する内容2 Amazon SQSとは3 実際に動かしてみる3.1 SQSでキューを作成する3.2 LambdaでMessage送信関数を作成する3.2.1 sendMess ...

フォロー

blog-page_side_responsive

2017年11月
 1234
567891011
12131415161718
19202122232425
2627282930  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。