「Cookieなしのドメインから静的コンテンツを提供する」警告を修正する方法
公開: 2018-09-18
WordPressサイトで、速度やその他のパフォーマンス関連の問題をテストすることがよくあります。 PingdomやGTmetrixなどのツールは、Webサイトをテストし、警告やエラーを強調する詳細な分析を表示します。 「Cookieなしのドメインから静的コンテンツを提供する」は、パフォーマンスインサイトテーブル内に表示されることがあるそのような警告の1つです。

JavaScript、CSS、画像ファイルなどの静的コンテンツを提供する場合、HTTPCookieは必要ありません。 これらの不要なCookieは、ネットワークトラフィックに余分な負荷をかけ、Webページの読み込みを遅くします。 これらのCookieは適切ではないため、速度テストツールはこの警告を発し、このタイプのコンテンツはCookieなしのドメインを介して提供され、貴重なサーバーリソースを節約します。 そこで、Cookieなしのドメインとは何か、そしてこの警告を回避する他の方法についてさらに詳しく見ていきます。
ただし、注目に値することが1つあります。 データ転送に新しいプロトコルHTTP / 2を使用するCloudwaysでは、この警告を無視しても安全です。 HTTP / 2は、HTTPとは異なり、同時リクエストの処理においてより効率的であるため、これらの小さなCookieの影響を受けません。
Cloudwaysのユーザーは、サーバーダッシュボード→設定とパッケージからワンクリックボタンでこの機能を有効にできます。

WordPressで「Cookielessドメインから静的コンテンツを提供する」という警告を簡単に修正する方法を見てみましょう。
「Cookieなしのドメインから静的コンテンツを提供する」警告の修正
「Cookielessドメインから静的コンテンツを提供する」という警告を修正するために、2つの方法を使用します。 私たちの最初の方法はかなり簡単で、Cloudwaysを使用できれば、数回クリックするだけです。 ただし、2番目の方法にはある程度の知識と作業が必要ですが、どちらの方法を選択する場合でも、可能な限り簡単にすることができます。 さぁ、始めよう!
方法1:コンテンツ配信ネットワークを使用する
コンテンツ配信ネットワークまたは略してCDNは、静的コンテンツをエンドユーザーに提供する効果的な方法です。 このネットワークは世界中に広がっており、サイトのキャッシュされたコンテンツを最も近いサーバーからユーザーに提供します。
静的コンテンツを処理するためにCDNを導入するのがより簡単な方法です。 StackPathなどのCDNは、Cookieを無視することができ、このコンテンツをCookieなしでエンドユーザーに提供できます。 ドメインを提供することによってCookieが設定されないため、Webテストツールで警告が消えます。
Cloudwaysユーザーは、WebサイトのURLを追加するだけで、アプリケーションダッシュボードからStackPathを利用したCloudwaysCDNをアクティブ化できます。

方法2:WordPressサイトを再構成する
静的コンテンツをCookieなしで提供する別の方法は、WordPressサイトを再構成することです。 この方法では、www.mydomain.comなどのドメインを使用する場合はサブドメインを作成するか、mydomain.comなどのトップレベルドメインを使用する場合は新しいドメインを取得します。
サブドメインの作成
サブドメインを作成し、static.mydomain.comなどの好きな名前を付けます。 cPanelを使用している場合は、[ドメイン]セクションに移動し、[サブドメイン]オプションをクリックします。

新しいサブドメインの名前を入力して、変更を保存するボタンを作成]をクリックします。

Cloudwaysユーザーは、アプリケーションダッシュボードを使用してサブドメインを作成できます。 [ドメイン管理]タブに移動し、ドメインを追加します。


次に、ドメインプロバイダーのDNS設定を使用して、 CNAMEを介してサブドメインをメインドメインにポイントします。
次のステップは、このサブドメインを、 public_htmlフォルダーのWordPressインストールファイル内にあるWordPressディレクトリにポイントすることです。
以下のコードを、WordPressのインストールディレクトリ内にあるwp-config.phpファイルに追加します。
define(“ WP_CONTENT_URL”、“ http://static.mydomain.com”); define(“ COOKIE_DOMAIN”、“ mydomain.com”);
既存の投稿コンテンツを更新する
これで、Cookieなしのドメインから静的コンテンツをサーバーするようにWordPressサイトを構成しました。 ただし、これは今後の投稿にのみ適用されます。 既存の投稿を更新するには、データベースマネージャーを開き、テーブルに移動します。 クエリウィンドウを開き、次のコマンドを実行します。
UPDATE wp_posts SET post_content = REPLACE(post_content、 'http://www.mydomain.com/wp-content/uploads/'、'http://static.mydomain.com/uploads/')
注: 「mydomain」をドメイン名に置き換えてください。
上記のクエリは既存の投稿を更新するため、ブラウザで警告が生成されません。 次に、WordPress管理ダッシュボードにログインし、既存の投稿がstatic.mydomain.comから画像を読み込んでいるかどうかを確認します。
GoogleAnalyticsの設定
WordPressサイトが追跡にGoogleAnalyticsを使用している場合は、Analyticsコードにいくつかの変更を加え、Analyticsアカウント内で同じ設定が使用されていることを確認する必要があります。
コード内で、「auto」プロパティをWebサイトのwww.addressに変更します。
<スクリプト>
(function(i、s、o、g、r、a、m){i ['GoogleAnalyticsObject'] = r; i [r] = i [r] || function(){
(i [r] .q = i [r] .q || [])。push(arguments)}、i [r] .l = 1 * new Date(); a = s.createElement(o)、
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a、m)
})(window、document、 'script'、 '// www.google-analytics.com/analytics.js'、'ga');
ga( 'create'、 'UA-XXXXXXX-1'、 'www.mydomain.com');
ga( 'send'、 'pageview');
ga( 'set'、 'displayFeaturesTask'、null);
</ script>次に、Google Analyticsアカウントに移動し、[管理]メニューに移動します。

[プロパティ設定]タブで、プロパティ名とデフォルトのプロパティURLの両方にWebサイトのwwwアドレスが含まれていることを確認します。
CloudFlareのクッキーの問題を解決する方法は?
CloudFlare CDNは優れたサービスであり、多くのWordPressサイトで使用されています。 その構造により、CloudFlareCDNはすべてのHTTPリクエストでcookie_cfduidを追加します。 これらのCookieは、CDNサービスを使用せず、高速DNSサービスに固執することを除いて、利用可能な公式の方法を使用して回避することはできません。
これらのCookieを取り除くために、深く掘り下げて別の方法を探りましょう。
- 1 –静的コンテンツを提供する予定のドメイン/サブドメインのCDNサービスとして使用することは避け、DNSマネージャーとしてのみ使用してください。
- 2 –それでもCloudFlareを使用してそのCookieを回避したい場合は、StackPathなどの別のドメインベースのホスト名を使用して静的コンテンツをサーバー化します。 abc-stackpath.comなどの別のサブドメインを使用します
DNSマネージャーとしてのみCloudFlareを使用する
CloudFlareをDNSマネージャーとしてのみ使用するには、ダッシュボードにログインし、ステータスを「一時停止」に切り替えます。 次に、以下の画像に従ってDNSレコードを構成します。

DNSが伝播されるのを待ち、DNSがwhatsmydns.netでそのステータスを確認することを確認します
最終的な考え
今日は、「Cookieなしのドメインから静的コンテンツを提供する」という警告の背後にある理由を調査し、この問題を解決するための2つの方法を学びました。 CDNは、Webサイトのパフォーマンスに関して多くの利点がある強力なユーティリティです。 以下のコメントで、これら2つのメソッドを実装した経験を共有してください。
