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 – メモログ […]

コメントを残す

関連記事

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

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

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

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

no image

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

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

千葉県立袖ヶ浦高校にiPadを活用した授業の視察に行ってきた その②

続きです。 今回は、袖ヶ浦高校の情報コミュニケーション学科が成功している要因や、他校に展開できるかどうかを考察していきたい。 まず、前回の、デジタル教科書が普及しない、たった一つの理由に書かれている問 …

当ブログの当面の目標、月間1万PV

目標を決めよう ライフハック系のブログを見ると、「目標を決める」というのは当然、当たり前、やらないなんてあり得ない、という風潮です。 いや、全くおっしゃるとおりで、俺だって教室じゃ「目標を持って日々を …