Webパフォーマンスに関して言えば、WordPressキャッシュは、すべてのサイト所有者がどこかで対処しなければならないものの1つにすぎません。私たちはWordPressが大好きですが、特に完全に静的なサイトと比較した場合、WordPressは間違いなく最速のプラットフォームではありません。この理由の1つは、PHP上に構築されているためです。PHPは非常に高速にしか実行できません。でいくつかの大規模な改善が見られました PHP 7、ただし、サイトを適切にキャッシュしないと、クロールする可能性があります。

どのキャッシングプラグインが最適かを心配する必要がなかったら素晴らしいと思いませんか?さて、ここ Kinstaでは、キャッシュを処理します、あなたはあなたのビジネスの成長に集中することができます。

WordPressキャッシュとは何ですか?

キャッシングは、1つのリクエストからリソースを保存し、それらのリソースを後続のリクエストに再利用するプロセスです。基本的には 仕事量を減らす ページビューを生成するために必要です。

なぜキャッシュを使用する必要があるのですか?これは簡単です。キャッシュを使用すると、WordPress Webサイトが高速になり、Webサーバーの負荷が軽減されます。これが、すべてのサイトが可能な限り多くのキャッシュを使用するように努める必要がある理由です。さらに、CDNキャッシュの場合、WordPressホストの外部の静的リソースを保存することにより、ページビューの生成に必要なサーバー帯域幅の量も削減します。

KinstaではWordPressキャッシュプラグインは必要ありません

そのとおり! KinstaでWordPressサイトをホストしている場合は、複雑で紛らわしいものをいじることを心配する必要はありません。 キャッシングプラグイン。これは、さまざまなタイプのキャッシュがすでに実装されているためです。ついに「2021年の最高のキャッシングプラグイン」を探すグーグルをやめ、より生産的なタスクに集中することができます。

キンスタでは、以下を活用しています 4種類のキャッシュ、これらはすべてソフトウェアまたはサーバーレベルで自動的に実行されます。

多くのお客様は、Kinstaに移行するだけでロード時間が大幅に短縮されたと報告しています。以下は、見たサイトの例です。 212.5%のパフォーマンスの向上。そして、これはキャッシュプラグインがインストールされていない状態です。

WordPress load times at Kinsta

KinstaでのWordPressの読み込み時間

これらのロード時間の短縮に関係する他の変数もありますが、キャッシュはその大部分を占めています。すべてのキャッシングプラグインが悪いと言っているわけではありません。実際、多くの場合、ユーザーがキャッシングプラグインを正しく構成していないために、WordPressサイトの速度が低下します。試してみたことはありますか W3トータルキャッシュの設定?それはかなりすぐに混乱する可能性があります。

私たちの言葉を信じないでください

そして、パフォーマンスに関しては、私たちの言葉を信じるだけでなく、キンスタに移住した人々からのこれらの証言のいくつかをチェックしてください。これらはすべて、キャッシュプラグインを使用しなくなりました。

WordPressキャッシュの種類

それでは、ここキンスタで定期的に遭遇する各タイプのWordPressキャッシュについて詳しく見ていきましょう。キャッシュの各レイヤーの機能を理解すると、キャッシュに関連する問題のトラブルシューティングに役立ち、サイトがスムーズに実行されるようになります。

バイトコードキャッシュ

バイトコードキャッシュは、コンパイルされたPHPコードを格納するため、次に使用されるときにコンパイル手順をスキップできます。キンスタでは、 OPcache PHP 7.2、7.3、および7.4で(プラットフォームでリリースされた新しいバージョンのPHPで有効になります)。

PHPファイルまたはスクリプトを処理するときは、最初に機械可読オペコードにコンパイルする必要があります。 OPcacheが行うことは、変換されたオペコードを保存することです。これにより、PHPは、次に特定のファイルまたはスクリプトが必要になったときにコンパイル手順をスキップできます。 OPcacheを使用すると、PHPのパフォーマンスが大幅に向上します。ただし、PHPファイルへの変更はすぐには反映されないことを意味します。このため、KinstaステージングサイトではOPcacheが無効になっています。

についてもっと読む OPcacheがPHPをどのように高速化するか アプリケーション。

オブジェクトキャッシュ

オブジェクトキャッシュはデータベースクエリの結果を保存するため、次に特定のデータが必要になったときに、データベースにクエリを実行せずにキャッシュから配信できます。これにより、PHPの実行時間が短縮され、負荷が軽減されます。 WordPressデータベース.

WordPressには組み込みのオブジェクトキャッシュがあります。 WP_Object_Cache。ただし、このオブジェクトキャッシュには、1ページの読み込みでのみオブジェクトが格納されます。キャッシュの目的は、1回のページロード中にデータベースがまったく同じ方法で複数回クエリされないようにすることです。ただし、キャッシュされたオブジェクトは、その1回のページロード後には使用されません。これはWordPressの便利な機能ですが、キャッシュオブジェクトを複数のページロード間で使用できる場合、オブジェクトキャッシュははるかに強力です。

WordPressの組み込みオブジェクトキャッシュから外部ソリューションに切り替えることで、この動作を変更し、キャッシュされたオブジェクトを複数のページロードに再利用できます。これは、キャッシュスクリプトをにドロップすることによって行われます。 / wp-content / ディレクトリ。次のようなプラグインベースのオブジェクトキャッシュオプションがあります W3トータルキャッシュ.

Kinstaのクライアントは私たちの Redisアドオン PHP 7.2、7.3、または7.4と一緒にインストールします。 Redisはオープンソースのメモリ内データ構造ストアであり、データベース、キャッシュ、メッセージブローカーとして使用されます。に関する記事をご覧ください Redisを永続オブジェクトキャッシュとして使用する方法 あなたがもっと学びたいなら。

ページキャッシュ

ページキャッシュはページのHTML全体を保存するため、WordPressがページを生成しなくても後続のページビューを生成できます。

WordPress Webサイトをロードすると、WordPressは多数のPHPファイルを処理し、データベースに何度もクエリを実行する必要があります。常に更新されていないページの場合、これは無駄な労力です。各ページを1回だけ生成してから、そのページを保存して後続の訪問者を配信する方がはるかに効果的です。これは、ページキャッシュが行うことです。

ページキャッシュの利点は次のとおりです。

  • はるかに高速なページ読み込み。
  • サーバーの負荷が大幅に削減され、その結果、より多くのトラフィックを処理できるようになりました。

私たちのサーバーは nginxfastcgiキャッシュモジュール ページキャッシュ用で、デフォルトでは1時間ごとに期限切れになるように設定されています。ただし、クライアントはMyKinstaダッシュボードでいつでもページキャッシュの有効期限を変更できます。ページキャッシュの有効期限を変更するには、サイトの「ツール」ページに移動し、「変更」をクリックします [サイトキャッシュ]の下のドロップダウンをクリックし、 キャッシュの有効期限を変更する.

Change page cache expiration time in MyKinsta.

MyKinstaでページキャッシュの有効期限を変更します。

「キャッシュの有効期限の変更」モーダルで、必要な有効期限を選択して、 有効期限の変更。 1時間から7日までのオプションをご用意しています。頻繁に変更されないサイトの場合、キャッシュの有効期限を長くすると、パフォーマンスの点でメリットがあります。

Page cache expiration options in MyKinsta.

MyKinstaのページキャッシュ有効期限オプション。

ページキャッシュは、標準のWordPress、BuddyPress、WooCommerce、およびEasy DigitalDownloadサイトですぐに機能するように構成されています。あなたは何もする必要はありません! WordPressサイトを起動するだけで、ページキャッシュが開始されます。ただし、カスタマイズされたURL構造を使用する場合、または通常のWordPressセットアップから大きく外れる場合は、カスタマイズが必要になることがあります。

デフォルトでは、Kinstaステージングサイトではページキャッシュが無効になっています。場合によっては、ステージングでページキャッシュを有効にすると、テストの目的で役立つことがあります。 ステージングサイトのページキャッシュを有効にできます MyKinstaダッシュボードで。

CDNキャッシュ

CDNキャッシュは、Webサイトファイル(JavaScript、CSS、メディアファイルなど)をコンテンツ配信ネットワークに保存して、ホストサーバーの場所から地理的に離れたユーザーにすばやく配信できるようにします。誰かがWebサイトにアクセスしようとすると、それらのファイルは、実際にWebサイトをホストしているサーバーから配信されるのではなく、CDNから配信されます。についてもっと読む CDNを使用する必要がある理由.

コンテンツ配信ネットワーク(CDN)には、次の2つの主な利点があります。

  • これにより、Webサイトのロードに必要なサーバーリソースが削減されます。 CDNが作業を行っているため、Webサーバーはその作業を行う必要はありません。
  • これにより、世界中の場所からリソースを配信できるようになり、Webサイトをホストしているサーバーから地理的に離れたユーザーのWebサイトのパフォーマンスが高速化されます。

がある CDNの2つの基本的なタイプ:単なるCDNであり、セキュリティ機能とともにCDNを提供するもの。それぞれのいくつかの一般的な例は次のとおりです。

  • 標準CDN:Kinsta CDN(KeyCDN)、Stackpath、CloudFront。
  • CDNとセキュリティ:Cloudflare、Sucuri、Akamai(オプション)。

最初のタイプのCDNは、Webサイトリソースへのアクセスに使用されるCDNURLを作成することによって設定されます。これを有効にする正確な方法は、CDNごとに異なります。基本的な考え方は、静的リソースのURLがCDN URLに変更され、リソースがCDNから取得されるようにすることです。標準のCDNは通常、JS、CSS、メディアファイルなどの静的ファイルのみをキャッシュします。私たちの Kinsta CDN KeyCDNを搭載した標準のCDNです。

2番目のタイプのCDNは、完全なプロキシサーバーとして機能します。これが意味するのは、すべてのリクエストは、Kinstaのサーバーに到着する前にプロバイダーのサーバーを通過する必要があるということです。これは、CDNプロバイダーを使用して有効にします ネームサーバー、CDNプロバイダーがWebサイトのDNSを完全に制御できるようにします。これにより、プロバイダーは、不正なIPからのトラフィックをフィルターで除外したり、DoS / DDoS保護を提供したり、ページ全体のキャッシュをCDNに保存したりするなど、単純なCDNでは実行できない多くのことを実行できます。

高度なCDNキャッシング

次のようなプロキシサーバーCDNを使用している場合 Cloudflare または スクリ、CDNに完全なページキャッシュを作成する機能があります。 CloudflareやSucuriなどのCDNを使用して フルページのHTMLをキャッシュする サーバーからすべての作業を完全にオフロードし、トラフィックの大幅な急増が予想されるサイトに最適なソリューションです。

Kinstaキャッシュ応答ヘッダー

HTTP応答ヘッダーを確認することで、ページがKinstaキャッシュから提供されているかどうかをテストできます。 Kinstaは X-Kinsta-キャッシュ ヘッダ。キャッシュされていないページへの最初のリクエスト時に、次のように表示されます お嬢、以下に示すように。

miss http responder header cache

キャッシュヘッダーがありません

同じページへの2回目のリクエストで、 X-Kinsta-キャッシュ ヘッダー値は ヒット、キャッシュから提供されていることを意味します。

hit http responder header cache

キャッシュヘッダーをヒット

そして、あなたが私たちの記事を読んだら Google PageSpeedInsightsで100/100を獲得、Kinstaには、よく知っている可能性のある次の警告を自動的に修正するための追加のサーバーレベルの最適化もあることがわかります。

  • 圧縮を有効にする (KinstaではすでにすべてのサーバーでGzipが有効になっているため、有効にする必要はありません)
  • サーバーの応答時間を短縮します(Kinstaはすでに非常に高速で、最適化なしでGoogleの許容可能なパラメーターの範囲内にあります)
  • Expiresヘッダー(Kinstaではサーバーレベルでキャッシュヘッダーが有効になっているため、有効にする必要はありません)

たとえば、テストサイトは、キャッシュプラグインを有効にしない場合、PageSpeedInsightsで100/100のスコアを獲得します。 WordPressキャッシュはすべて、サーバーレベルでKinstaによって処理されます。

pagespeed insights caching

PageSpeedインサイト

Kinstaキャッシュ設定

Kinstaでキャッシュを制御する方法について疑問に思われるかもしれません。もちろん、特にトラブルシューティングの際に、クリアする必要がある場合があります。簡単なオプションがいくつかあります。 MyKinstaダッシュボードの両方からキャッシュをクリアするか、KinstaMUプラグインを利用できます。

WordPressキャッシュのクリア

全ページキャッシュを手動でクリアするには、MyKinstaダッシュボード内からクリアできます。サイトをクリックし、ツールをクリックして、[キャッシュをクリア]ボタンをクリックするだけです。

Clear WordPress cache in MyKinsta.

MyKinstaのWordPressキャッシュをクリアします。

デフォルトでは、Kinstaステージング環境ではキャッシュが無効になっています。ステージングサイトでページキャッシュ機能をテストする場合は、次のことができます。 キャッシュを有効にする MyKinstaダッシュボードの「サイトキャッシュ」ツールを使用します。ステージング環境でキャッシュを有効にした後、「キャッシュのクリア」ボタンを使用して、ライブ環境と同じようにキャッシュをクリアできます。

ダウンタイムとWordPressの問題に苦しんでいますか? Kinstaはあなたの時間を節約するために設計されたホスティングソリューションです! 私たちの機能をチェックしてください

KinstaMUプラグイン

あなたが持っている2番目のオプションは使用することです KinstaMUプラグイン。何?はい、技術的にはキャッシュプラグインですが、サーバーレベルで機能するため、通常のキャッシュプラグインではありません。

デフォルトでは、Kinsta MUプラグインは、当社がホストするすべてのサイトにインストールされ、WordPress管理ダッシュボードの左側から利用できます。これは、Webサイトの適切なページのキャッシュをインテリジェントにクリアするために使用されます。プラグインは、サイトが環境内でスムーズに実行されるようにするために必要です。また、ページキャッシュはデフォルトで1時間ごとに期限切れになることに注意してください。

Kinsta MU plugin.

KinstaMUプラグイン。

プラグインを使用すると、WordPress管理バーから直接キャッシュを削除することもできます。 MyKinstaダッシュボードにジャンプする必要がないため、これがおそらくこれを使用する最大の理由の1つです。あなたはあなたのサイトから直接それをすることができます。

purge wordpress cache admin bar

WordPressツールバーからキャッシュをクリアする

また、設定することもできます カスタムキャッシュルール。サイトの構成によっては、追加のキャッシュルールが必要になる場合があります。サイトが更新されるたびにパージするカスタムパスを追加できます。

また、私たちに連絡することができます 支援チーム キャッシュから除外された特定のページまたはURLが必要な場合。

Kinstaステージング環境

デフォルトでは、 Kinstaのステージング環境 ページキャッシュを無効にします。これにより、開発が容易になり、 WordPressサイトをデバッグする 編集のたびに手動でキャッシュをクリアする必要はありません。場合によっては、ステージング環境でページキャッシュを有効にして、 正確な速度テストを実行する サイトを公開せずにキャッシュされたページの場合。

ステージング環境でページキャッシュを有効にするには、次の場所に移動します。 サイト>ツール MyKinstaで、[キャッシュを有効にする]ボタンをクリックします。ステージングでキャッシュが有効になっている場合は、[キャッシュのクリア]ボタンを使用してキャッシュを削除できます。

Enable page caching for your staging site.

ステージングサイトのページキャッシュを有効にします。

Kinstaキャッシュ分析

WordPressサイトがどれだけうまくキャッシュされているかを深く掘り下げることができます MyKinsta Analytics。キャッシュコンポーネントスタックを使用すると、HIT、BYPASS、MISS、またはEXPIREDのいずれであるかを問わず、各リクエストのステータスを確認できます。過去24時間、7日、または30日でデータをフィルタリングできます。

Kinsta cache component stack

Kinstaキャッシュコンポーネントスタック

キャッシュコンポーネントチャートを使用すると、キャッシュ率を一目で確認できます。キャッシュから提供するリクエストが多いほど、効果的です。

Kinsta cache component stack.

Kinstaキャッシュコンポーネントスタック。

上部のキャッシュバイパスセクションでは、キャッシュから提供されていないリクエストを確認できます。通常、これらには、CRONジョブ、admin-ajaxリクエスト、eコマースチェックアウトページ、クエリ文字列、UTMパラメータなどが含まれます。

WordPress top cache bypasses

WordPressのトップキャッシュバイパス

404ページのキャッシュ

404ページは非常に多くのリソースを消費する可能性があります。多くのWordPressサイト、特に大規模なメンバーシップサイトでは、想像以上に404エラーが発生します。ページの場所を変更してリダイレクトを追加するのを忘れたか、ソーシャルメディアで共有したものに間違ったリンクがある可能性があります。言い換えれば、訪問者が404ページにたどり着く原因となるものはたくさんあります。これらのページには、データベースにアクセスする代替検索結果を取得するためのクエリも含まれる傾向があります。

WordPressサイトのパフォーマンスを向上させるには、 Kinstaは404ページを15分間キャッシュします。ザ・ X-Kinsta-キャッシュ ヘッダー値は ヒット、キャッシュから提供されていることを意味します。以前は404だったページを作成すると、キャッシュはすぐに削除されます。

私たちの MyKinsta分析 ツールは、サイトで発生している404エラーの正確な量を特定するのに役立ちます。

404 error breakdown

404エラーの内訳

ただし、404リクエストすべてをキャッシュするわけではないことを明確にすることが重要です。 2つの異なる種類があります。404ページに到達するPHPページからのものと、存在しないか移動された欠落したファイルまたは画像からのものです。 404ページをキャッシュし、不足しているファイルや画像への404リクエストは異なる方法で処理されます。

したがって、「上位404エラー」を使用して、これらの原因となる場所と原因をより適切に特定できます。

404 request page cached

404リクエストページがキャッシュされました

Google Search Consoleで404エラーを確認したり、次のようなサードパーティのプラグインをインストールしたりすることもできます。 リダイレクション 404エラーをログに記録します。ただし、このようなプラグインもパフォーマンスに影響を与えることに注意してください。サーバーレベルのツールに依存する方がはるかに優れています。

作成する シンプルな404テンプレート これにより、可能であればデータベースへのクエリをこれ以上回避できます。

POSTリクエストのバイパスキャッシュ

分析とキャッシュの統計を可能な限り正確にする必要があります。パフォーマンスの問題をトラブルシューティングするときは、通常、キャッシュの合計HIT比率を確認するため、これは重要です。これは、可能な限り高くする必要があります。したがって、POSTリクエストはレポートに含まれます。

一部の高度に特殊化された設定を除いて、POSTリクエストをキャッシュすることはできません。ザ・ X-Kinsta-キャッシュ ヘッダー値は バイパス これらのリクエストに対して。これらは、ブログ投稿や任意のタイプのWordPress投稿(キャッシュ可能)と混同しないでください。 POSTリクエストは、サーバーにデータを送信するために使用されます。したがって、たとえば、Webフォームを送信するときに送信されるデータは、HTTPリクエストのリクエスト本文に保存されます。

概要

うまくいけば、WordPressキャッシュと、ここKinstaで定期的に遭遇する4つの異なるタイプ(バイトコードキャッシュ、オブジェクトキャッシュ、ページキャッシュ、CDNキャッシュ)についてもう少し理解できたと思います。

典型的なWordPressキャッシングプラグインをいじるのにうんざりしていて、すぐに高速サイトが必要な場合は、Kinstaを試してみることをお勧めします。私たちが授与された理由があります」トップティアReviewSignalによるWordPressパフォーマンスの5年連続のステータス。そしてそれは私たちのサーバーが上に微調整されているからです Google Cloud Platform 非常に高速なロード時間。あなたは私たちのパフォーマンスに失望することはありません。