WordPress

Use cookie-free domainsの対策を試みた

投稿日:

うまくいかなかった!

WordPressでYSlowの「Use cookie-free domains」の対策をしようと思って試行錯誤をした記録です。
GTmetrixで測定したところ、ここだけ怒られたので。
結果からお伝えすると、うまくいきませんでした。
いや、うまくはいったのですが、Cloudflareが設定されていればここの値は無視していいようです。
ググったところ、日本語のページが少なかったので、需要は少ないのかもしれません。

「Use cookie-free domains」って何?

要は、静的なコンテンツ(画像など)をブラウザからサーバに要求するときに、一緒にCookieを送るのを止めましょう、という話です。
1回のリクエストで送られるCookieのデータ量は少ないですが、ちりも積もればなんとやらです。
「PRIORITY」は「low」なので対策してもたかがしれてます。
それよりも、画像のサイズを小さくする方が優先順位としては高いでしょう。

YSlow

参考にしたサイト

日本語のサイトが存在しなかったので、頑張って読みました。この辺のサイトを参考に。
http://wp.tutsplus.com/tutorials/10-quick-tips-optimizing-speeding-up-your-wordpress-site/
http://www.xpertdeveloper.com/2011/07/wordpress-cookie-free-domain/

やったこと

ドメインを2つに分けて、片方に静的なコンテンツを配置する。もう片方はクッキーありのドメインとして設定する。

  1. サイトを「www無し」から「wwwあり」へ変更
  2. サブドメインの作成
  3. 設定の変更

サイトを「wwwなし」から「wwwあり」に変更

「http://engineacher.net」から、「http://www.engijeacher.net」に変更する。
なんでこの作業をやるかというと、サブドメインによってCookieの有り無しを分けたいから。
一番上の「http://engineacher.net」をCookieありにしてしまうと、そのサブドメインも全てcookieが有効になってしまう。

「設定」→「一般設定」から、ここをwww有りに変更する。
ChangeURL

サブドメインの作成

サーバはロリポップを使っているので、サブドメイン設定から「https://www.engineacher.net」を追加する。
SubDomain

ここで重要なのは、上の「www.engineacher」と、下の「static.engineacher」の公開(アップロード)フォルダを同じにしておくこと。
右側の設定変更から設定できます。staticの方を、上のwwwの公開フォルダと同じにしておきましょう。

設定の変更

wp-config.phpに、以下のコードを追加します。W3 Total Cacheの設定が入ってますが、追加するのはどこでも良いでしょう。

define(‘WP_CONTENT_URL’, ‘https://www.engineacher.net/wp-content’);
define(‘COOKIE_DOMAIN’, ‘www.engineacher.net’);

何をしているかというと、1行目は「WP_CONTENT_URL」を「https://www.engineacher.net/wp-content」に変更します。
ここのサイトを見ると、/wp-contentまで含まれているようです。
この設定をすることにより、画像ファイルのURL:
「http://www.engineacher.net/wp-content/uploads/aaa.jpg」が、
「http://static.engineacher.net/wp-content/uploads/aaa.jpg」に変更されます。

2行目は、Cookieを使うドメインは「www.engineacher.net」ですよ、という宣言。
ということは、「static.engineacher.net」はCookie使いませんよ、ということになる。

これで大丈夫なはずです。W3のキャッシュを削除し、Cloudflareを解除してテストを走らせてみます。

use-cookieless

Cloudflareを止めたのでスコアはぼろぼろですが、一番下、「Use cookie-free domains」は解決されています。やった!

Cloudflareを止めたら「Use cookie-free domains」は解決!

というわけで、Cloudflareをとめたら解決しました。
いろいろ試行錯誤して頑張ったのですが、結局Cloudflareを止めるわけにはいかないので、そのままです。
何らかの理由でCloudflareが使えない場合は、この対策をしてみると良いのではないでしょうか?

Cloudflareの設定はhttp://gori.me/wordpress/28488を参考にすると良いです。
あとはhttp://gori.me/wordpress/28494とか。このサイトは便利でわかりやすいのでおすすめです。

ついでに

CloudflareのDNSの設定も書き換えておいた方が良いかも。
DNSのAレコードに「static.engineacher.net」、IPアドレスは「www」のものと同一で良いでしょう。

何かありましたらコメントを残しておいていただけるとうれしいです!

-WordPress
-, ,

執筆者:


  1. […] domainsの対策を試みた | プログラマから教員へ転職した人のブログ http://www.engineacher.net/cookie-free-domains/ ・YSLOW 勉強 : 9: Reduce DNS Lookups – メモログ […]

GTMetrix等で使われるパフォーマンスの改善方法を全てまとめてみた【まとめ編】 | PR1SM にコメントする コメントをキャンセル

関連記事

no image

6時間以上もかかった!このサイトを立ち上げる際に行った10のこと

「たった10分!WordPressでサイトを立ち上げるために必要な5つのこと」 の方がホッテントリに載りそうですが、実際はメチャクチャめんどくさかったのでメモしておきます。 やったこと サイトの名前を …

no image

6時間以上もかかった!このサイトを立ち上げる際に行った10のこと 2

その2です。 6、WordPressを入れる これは簡単でした。ロリポプランにはWordPress自動インストール機能があるため、サクッと入れることができました。これは楽ちんです。レンタルサーバを借り …

ブログのテーマをStinger3にアップデートしました!

いろいろ忙しくて更新できない! こんにちはこんにちは!@engineacherです。 ここ一ヶ月くらい、結婚式やら新婚旅行やら修学旅行の準備やらでとっても忙しいです。 ブログに書きたいネタは沢山あるの …

Stinger2

Stinger2のバージョンごとの違いを比較してみた

こんにちは。@engineacherです。 このブログが使っているテーマ「Stinger2」のバージョンごとの比較を取ってみました。 ダウンロードはこちらからどうぞ ダウンロード[StingerDif …

トロフィーを獲得しました:月間10000PV

というわけで、当面の目標であった月間10000PVを達成しました! 参考→当ブログの当面の目標、月間1万PV 目標であった月間1万PV、ユニークユーザー200人/日をクリアしました。 更新した日には3 …