<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Head Cleaner (仮) へのコメント</title>
	<atom:link href="http://dogmap.jp/2009/02/20/head-cleaner/feed/" rel="self" type="application/rss+xml" />
	<link>http://dogmap.jp/2009/02/20/head-cleaner/</link>
	<description>独断と偏見の何でもレビュー。since Feb. 27, 2005</description>
	<pubDate>Mon, 15 Mar 2010 21:41:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>WPのパフォーマンスを改善してみようか &#160;&#124;&#160; gaspanik weblog より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-2/#comment-5573</link>
		<dc:creator>WPのパフォーマンスを改善してみようか &#160;&#124;&#160; gaspanik weblog</dc:creator>
		<pubDate>Tue, 09 Mar 2010 10:37:06 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5573</guid>
		<description>[...] .recentcomments a{display:inline !important;padding:0 !important;margin:0 !important}gaspanik weblogbeat one&#8217;s brain&#171; ShoutEmでプライベートなTwitter+FoursquareをWPのパフォーマンスを改善してみようか日本のWeb業界でもそろそろサイトの表示パフォーマンスをどうにかしなきゃなぁ…と考えている方もいらっしゃることでしょう（ごく一部かもしれませんが 笑）。いわゆる普通のWebサイトの表示パフォーマンスの改善については、ここでも年末から数回にわたって取り上げています。Webサイトの高速化的な話をWD誌でYSlow!、使ってわかるあんなことこんなことPage Speedでチェックついでに最適化Page Speedが1.6βになったようでここのエントリーに挙げた以外に、ちょっと前にゲリラ的にUSTREAMでくっちゃべってみたところ反響も大きかったようです（最初の回は特に他のどこ探してもないことも言いましたしね、フフフ）。で、今回はこのブログでも使っているWordPressのパフォーマンスをアップさせるためにできることをいくつか紹介したいと思います。「できる」「できない」は設置されている環境で異なりますのであしからず。最後にどこでも設置できるプラグインも含めておりますので、最後までお読みいただければ幸いです。すんごい長いので気合い入れてくださいね（笑）。まずはWordPressの仕組みからおさらいCMSとしての活用事例も多いWordPressですが（海外ではね 笑）、「そもそも何故パフォーマンス改善が必要なのか」というところから話をはじめましょう。WordPressは、基本的に静的なHTMLを生成するMovableTypeと違って、PHPを使ってリクエストのたびに動的にコンテンツを生成する仕組みです。ブラウザからのリクエストがWebサーバに届いたら、PHPがMySQLに格納されたデータを読み出し、テンプレートを使ってリクエストURLに応じたHTMLを逐一生成してる、と。パフォーマンスチューニングされたホスティングにおいてあれば回線環境も処理速度も速いかもしれませんが、そういったケースばかりではありません。中には自宅サーバで運用されているうちみたいな貧弱な環境もあります。そこで、Webサーバとその上で動いているPHPが処理する時間を改善し、さらにWebサイトの高速化のための手法を組み合わせることでパフォーマンスアップを図ろうじゃないか、ということですね。閲覧側は高速なブロードバンド環境ばかりではありませんし、最近だとTwitter経由でiPhoneから閲覧することもあります。見にきてくれる人をいかに待たせないで、ストレスなく見てもらうかといったことも考えなければいけません。ま、前振りはこれぐらいにして本編にいきましょう。PHPの処理をキャッシュさせて速くするVPS（バーチャル・プライベート・サーバ）やDedicated Serverみたいな比較的自由度の高いプランで契約されていれば、サーバの構成などを管理者側で設定できます。そのような環境に置かれていれば、PHPの処理そのものを高速化するといったことが可能です。このような処理をおこなうものに「eAccelerator」や「APC（Advanced PHP Cache）」、「memcache」などがあります。ここでは詳しい話はしませんが、この辺りをサーバに突っ込んであげるだけでPHPの処理にかかる部分のパフォーマンスは大きく改善されるでしょう。ちなみにうちはAPCとmemcacheが入ってますが、それは後ほどあらためて。動的生成しないでHTMLをキャッシュさせるここからがいわゆる普通のホスティングサービスでも採用できるかもしれない方法です。ここからはWordPressのプラグインを利用します。先に述べたようにクライアント側からリクエストがあった場合、そのリクエストされたURLをWebサーバ側のWordPressが動的に生成します。この動的に生成している部分をMovableTypeのように静的なHTMLファイルとしてキャッシュしておいて、新たなリクエストがあった場合にはそれを送り返しちゃうと。このような仕組みを実現できるプラグインはいくつかあるようなんですが、ここでは利用者の多い「WP Super Cache」と前述のPHPの高速化処理と組み合わせられる「W3 Total Cache」の2種類を紹介しましょう。いずれのプラグインもWebサーバ側で「mod_rewrite」的なURLの書き換え処理ができる環境でないといけないかな、たぶん。なので、サイトを運用する時は安いプランだけじゃなくて、自由度をある程度高くしておいた方が都合が良いのです（笑）。WP Super Cacheのインストールと注意事項では、まずはWP Super Cacheから。iidaのサイトもこれを採用されてる風。 &#8594; WordPress Super Cacheインストールは、プラグインの公開サイトからダウンロードしてもいいですし、WPの管理画面から直接インストールすることもできます。次に紹介するW3 Total Cacheもそうなんですが、これらのプラグインのインストール時には、「wp-config.php」の中の「define(&#8216;ABSPATH&#8217;〜」の行の前あたりに以下の記述を追加しなければなりません。define(&#039;WP_CACHE&#039;, true);ついでと言ってはなんですが、あらかじめ「wp-content」のパーミッションを「777」にしておくと、有効化の時とかにいちいちアラートが出てこないので楽です（終わったら755なり、元のパーミッションに戻します）。日本語版にインストールすれば日本語で設定項目が出てきますので、特に設定に困ることはないですかね。いくつか設定項目をピックアップしてみます。ま、こんな感じです。 一番上に「オン」「ハーフオン」「オフ」の切り替えボタンがありますので、そこでWP Super Cacheをの機能をオンにします。あとはWP Super Cacheの基本的な挙動のスイッチがありますので、必要に応じてチェックを入れましょう。サイトによっては日本の携帯電話用にサイトをフォーマットしてくれる「Ktai-Style」やiPhone用の「WPtouch」などを利用しているかもしれません。そのような場合は「Mobile device support using」を必ず有効にしておきましょう。WP Super Cacheは生成した静的なHTMLをGzip圧縮して送ることもできるようになっています。これを有効にすることで転送データ量を1/3程度に抑えることもできますが、必ずしもすべてのサイトでそれができるとは限りません（と書かれています 笑）。WP Super Cacheで生成される静的なHTMLは「cache」ディレクトリに保存されますので、リクエストがあった場合はそちらにリダイレクトする必要があります。その役目を果たすのが「mod_rewrite」なので、指定された場所にある.htaccessに表示されている内容を追加しましょう。設定を変更した場合も何か変わってないかチェックしましょうね。その他、除外するファイルやURIなどは別で設定可能です。あとは、ファイルの有効期限などを設定すれば終わりです。これ以下にもろもろ設定項目が並んでいますが、ほとんど使いませんかね、たぶん。以上が、WP Super Cache編でした。W3 Total Cacheのインストールと注意事項W3 Total Cacheは、WP Super Cacheと同様、静的なHTMLをキャッシュしてクライアントに送ることができるプラグインです。 &#8594; W3 Total Cache厳密には同じではなくて、より高機能で設定項目も多く、サーバの仕様にあわせて細かくカスタマイズできるのが特徴です。冒頭で紹介したAPCやmemcacheなどが入っていれば、ページのキャッシュやMinify化、データベースのキャッシュの保持、CDN（コンテンツ・デリバリー・ネットワーク）の設定までできる優れものです。余談ですが、開発者の人はTwitterでも話しかけてきます（笑）。インストールは、WP Super Cacheと同じ手順でおこないます。残念ながらインターフェイスは日本語化されていませんが、「基本設定」「ページのキャッシュ設定」「Minifyの設定」「データベースのキャッシュ設定」「CDNの設定」といったところですね。一番上のチェックボックスで機能のオン・オフを切り替えます。こちらのW3 Total Cache、単に静的なページをディスクにキャッシュするだけではありません。ページのキャッシュ、Minifyのキャッシュ、データベースのキャッシュにmemcacheやAPCを使うことができます（それらがなければ、ディスクです、たぶん）。オン・オフは個別に設定できます。とある海外サイトのパフォーマンス計測結果によるとページのキャッシュは「Disk（enhanced）」にしておくとより高速化できるといったことが書かれていました。ディスクに溜め込むので、当然mod_rewriteが必要になります。うちも長らくWP Total Cacheのお世話になってましたが、先日ふと思い立ってこちらに乗り換えました。現在の設定は、ページキャッシュを「Disk（enhanced）」、Minifyとデータベースのキャッシュを「APC」にしています。memcacheでもしばらく回してみたんですけど、どうにも不安定で結局この設定です。で、携帯向けの対応をしている場合に注意点があります。先のKtai-StyleやWPtouchが入っている場合、それらに対してページのキャッシュやMinify化をしない方が無難です。ページキャッシュの設定にある「Rejected User Agents」に除外対象を追加しましょう（※一番下にあるモバイルのUAをまるごとコピペすればいいです）。Minify化したキャッシュも同様。「Minify Setting」にあるリジェクトのところに先ほどの携帯端末のUA一覧を貼り付けておきましょう。ただし、iPhoneやiPod touchに対してはMinify化をかけても問題ないので、それから除外してもオッケイです（ボクの検証結果では）。このW3 Total Cacheはかなり細かいところまで手が届くプラグインです。もちろん特定URlの除外やGzip圧縮などもサポートしています。WP Total Cacheに比べてmod_rewriteの記述も少ないですし、自由度の高い環境の方はこちらの方がいいかもしれません。ただし、特定サイトのディレクトリ以下に配したマルチブログ的な環境だとうまくいかないかも。マルチブログ環境については、フォーラムにいろいろ書かれていました（WP次期バージョンに向けてどうこうとか）。といった感じでW3 Total Cache編でした。キャッシュできなくても、別の部分を改善する「mod_rewriteとかそもそもなんなの？」とか「使えるかどうかわかんないしー」みたいな方でも、いくつかのプラグインに頼ることでWordPressの表示パフォーマンスは改善可能です（といっても、なんでも入れればいいってわけではない 笑）。まずひとつめは、WordPressのプラグインなどに勝手に組み込まれるヘッダ内のJavaScriptなどの位置を変えて高速化を図る方法があります。Head Cleanerで表示速度の改善をするこの類のプラグインもまたいくつかありますが、日本発の「Head Cleaner」が一度になんでもかんでも処理してくれるんじゃないでしょうか（ボクは入れたことはないんですが、かなりいろいろできるようです）。もちろんWP Super Cacheなどと併用することもできます。 &#8594; Head Cleaner何故このようなヘッダ内のお掃除が必要になるかというと、複数のJavaScriptの読み込みやscript要素の順番によっては、特定のブラウザでページの構成要素のダウンロードが妨げられたりします。なので、複数のJavaScriptやCSSをひとつにまとめてリクエストを減らしたり、改行やコメントを取ってMinify化したりすることで転送量を減らすことができます。また、ページの描画に関係のないJavaScriptなどは&lt;/body&gt;の直前に配置したりすれば、なおよろしと。うちは何でもかんでもプラグインに頼るのもなんなので、プラグインの数も抑えてhead要素内に組み込まれるものは手動でまとめています。WP SmushItで画像を最適化する次にできること。表示速度はページ内に含まれる画像の数にも左右されます。何の気なしにPhotoshopなどで書き出したJPGやPNG画像には実はいらないデータが含まれていることもあります（特にJPG）。アップする画像も実はさらに最適化を施すことでデータ量をガクッと下げることができるんですね。 &#8594; WP Smush.it Wordpress Plugin「WP Smush.it」は、アメリカのYahoo!の「Smush.it&#8482;」を経由してアップロード画像を最適化してしまうプラグインです。たまにミスることもありますが、その時はあらためて「Re-Smush」すれば大丈夫でしょう。最適化されたかどうかのチェックやRe-Smushは、メディアのライブラリで確認可能です。すべての画像が最適化されるわけではなく、必要のあるものだけが最適化されます。JPGなんかはビックリするぐらいデータ量が減るかもしれません（笑）。ちなみにGIFとPNGだったら、PNGの方が軽いです。とまぁ、キャッシュできなくても表示パフォーマンスアップのために役立つプラグインが公開されていますので、試してみてはいかがでしょうか。見てくれる人のことを考えてやれることはやりましょう以上で、WordPressのパフォーマンス改善のためのアレコレの紹介は終わります。まぁ、見に来てくれる人のことを考えれば、少しでも速く表示された方がいいわけです（自分だって他見る時そうでしょう？）。幸い、WordPressは仕様のせいもあってかこのようなプラグインが多数公開されています。制作者の方にお礼を述べつつ、使えるものは使ってみるといいかもしれません。最後に。この辺の話はまたゲリラ的にUSTREAMで喋る予定です。ここに書いた内容を補足する感じになると思いますが、「文章じゃわかりづらいよ」って方はボクのTwitterでもリストに入れておいてください（フォローするとうざい 笑）。Tags: performance, plugins, tips, wordpress, wpThis entry was posted on Tuesday, March 9th, 2010 at 7:36 PM and is filed under articles. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. Leave a ReplyClick here to cancel reply. Name (required) Mail (will not be published) (required) Website [...]</description>
		<content:encoded><![CDATA[<p>[...] .recentcomments a{display:inline !important;padding:0 !important;margin:0 !important}gaspanik weblogbeat one&#8217;s brain&laquo; ShoutEmでプライベートなTwitter+FoursquareをWPのパフォーマンスを改善してみようか日本のWeb業界でもそろそろサイトの表示パフォーマンスをどうにかしなきゃなぁ…と考えている方もいらっしゃることでしょう（ごく一部かもしれませんが 笑）。いわゆる普通のWebサイトの表示パフォーマンスの改善については、ここでも年末から数回にわたって取り上げています。Webサイトの高速化的な話をWD誌でYSlow!、使ってわかるあんなことこんなことPage Speedでチェックついでに最適化Page Speedが1.6βになったようでここのエントリーに挙げた以外に、ちょっと前にゲリラ的にUSTREAMでくっちゃべってみたところ反響も大きかったようです（最初の回は特に他のどこ探してもないことも言いましたしね、フフフ）。で、今回はこのブログでも使っているWordPressのパフォーマンスをアップさせるためにできることをいくつか紹介したいと思います。「できる」「できない」は設置されている環境で異なりますのであしからず。最後にどこでも設置できるプラグインも含めておりますので、最後までお読みいただければ幸いです。すんごい長いので気合い入れてくださいね（笑）。まずはWordPressの仕組みからおさらいCMSとしての活用事例も多いWordPressですが（海外ではね 笑）、「そもそも何故パフォーマンス改善が必要なのか」というところから話をはじめましょう。WordPressは、基本的に静的なHTMLを生成するMovableTypeと違って、PHPを使ってリクエストのたびに動的にコンテンツを生成する仕組みです。ブラウザからのリクエストがWebサーバに届いたら、PHPがMySQLに格納されたデータを読み出し、テンプレートを使ってリクエストURLに応じたHTMLを逐一生成してる、と。パフォーマンスチューニングされたホスティングにおいてあれば回線環境も処理速度も速いかもしれませんが、そういったケースばかりではありません。中には自宅サーバで運用されているうちみたいな貧弱な環境もあります。そこで、Webサーバとその上で動いているPHPが処理する時間を改善し、さらにWebサイトの高速化のための手法を組み合わせることでパフォーマンスアップを図ろうじゃないか、ということですね。閲覧側は高速なブロードバンド環境ばかりではありませんし、最近だとTwitter経由でiPhoneから閲覧することもあります。見にきてくれる人をいかに待たせないで、ストレスなく見てもらうかといったことも考えなければいけません。ま、前振りはこれぐらいにして本編にいきましょう。PHPの処理をキャッシュさせて速くするVPS（バーチャル・プライベート・サーバ）やDedicated Serverみたいな比較的自由度の高いプランで契約されていれば、サーバの構成などを管理者側で設定できます。そのような環境に置かれていれば、PHPの処理そのものを高速化するといったことが可能です。このような処理をおこなうものに「eAccelerator」や「APC（Advanced PHP Cache）」、「memcache」などがあります。ここでは詳しい話はしませんが、この辺りをサーバに突っ込んであげるだけでPHPの処理にかかる部分のパフォーマンスは大きく改善されるでしょう。ちなみにうちはAPCとmemcacheが入ってますが、それは後ほどあらためて。動的生成しないでHTMLをキャッシュさせるここからがいわゆる普通のホスティングサービスでも採用できるかもしれない方法です。ここからはWordPressのプラグインを利用します。先に述べたようにクライアント側からリクエストがあった場合、そのリクエストされたURLをWebサーバ側のWordPressが動的に生成します。この動的に生成している部分をMovableTypeのように静的なHTMLファイルとしてキャッシュしておいて、新たなリクエストがあった場合にはそれを送り返しちゃうと。このような仕組みを実現できるプラグインはいくつかあるようなんですが、ここでは利用者の多い「WP Super Cache」と前述のPHPの高速化処理と組み合わせられる「W3 Total Cache」の2種類を紹介しましょう。いずれのプラグインもWebサーバ側で「mod_rewrite」的なURLの書き換え処理ができる環境でないといけないかな、たぶん。なので、サイトを運用する時は安いプランだけじゃなくて、自由度をある程度高くしておいた方が都合が良いのです（笑）。WP Super Cacheのインストールと注意事項では、まずはWP Super Cacheから。iidaのサイトもこれを採用されてる風。 &rarr; WordPress Super Cacheインストールは、プラグインの公開サイトからダウンロードしてもいいですし、WPの管理画面から直接インストールすることもできます。次に紹介するW3 Total Cacheもそうなんですが、これらのプラグインのインストール時には、「wp-config.php」の中の「define(&#8216;ABSPATH&#8217;〜」の行の前あたりに以下の記述を追加しなければなりません。define(&#39;WP_CACHE&#39;, true);ついでと言ってはなんですが、あらかじめ「wp-content」のパーミッションを「777」にしておくと、有効化の時とかにいちいちアラートが出てこないので楽です（終わったら755なり、元のパーミッションに戻します）。日本語版にインストールすれば日本語で設定項目が出てきますので、特に設定に困ることはないですかね。いくつか設定項目をピックアップしてみます。ま、こんな感じです。 一番上に「オン」「ハーフオン」「オフ」の切り替えボタンがありますので、そこでWP Super Cacheをの機能をオンにします。あとはWP Super Cacheの基本的な挙動のスイッチがありますので、必要に応じてチェックを入れましょう。サイトによっては日本の携帯電話用にサイトをフォーマットしてくれる「Ktai-Style」やiPhone用の「WPtouch」などを利用しているかもしれません。そのような場合は「Mobile device support using」を必ず有効にしておきましょう。WP Super Cacheは生成した静的なHTMLをGzip圧縮して送ることもできるようになっています。これを有効にすることで転送データ量を1/3程度に抑えることもできますが、必ずしもすべてのサイトでそれができるとは限りません（と書かれています 笑）。WP Super Cacheで生成される静的なHTMLは「cache」ディレクトリに保存されますので、リクエストがあった場合はそちらにリダイレクトする必要があります。その役目を果たすのが「mod_rewrite」なので、指定された場所にある.htaccessに表示されている内容を追加しましょう。設定を変更した場合も何か変わってないかチェックしましょうね。その他、除外するファイルやURIなどは別で設定可能です。あとは、ファイルの有効期限などを設定すれば終わりです。これ以下にもろもろ設定項目が並んでいますが、ほとんど使いませんかね、たぶん。以上が、WP Super Cache編でした。W3 Total Cacheのインストールと注意事項W3 Total Cacheは、WP Super Cacheと同様、静的なHTMLをキャッシュしてクライアントに送ることができるプラグインです。 &rarr; W3 Total Cache厳密には同じではなくて、より高機能で設定項目も多く、サーバの仕様にあわせて細かくカスタマイズできるのが特徴です。冒頭で紹介したAPCやmemcacheなどが入っていれば、ページのキャッシュやMinify化、データベースのキャッシュの保持、CDN（コンテンツ・デリバリー・ネットワーク）の設定までできる優れものです。余談ですが、開発者の人はTwitterでも話しかけてきます（笑）。インストールは、WP Super Cacheと同じ手順でおこないます。残念ながらインターフェイスは日本語化されていませんが、「基本設定」「ページのキャッシュ設定」「Minifyの設定」「データベースのキャッシュ設定」「CDNの設定」といったところですね。一番上のチェックボックスで機能のオン・オフを切り替えます。こちらのW3 Total Cache、単に静的なページをディスクにキャッシュするだけではありません。ページのキャッシュ、Minifyのキャッシュ、データベースのキャッシュにmemcacheやAPCを使うことができます（それらがなければ、ディスクです、たぶん）。オン・オフは個別に設定できます。とある海外サイトのパフォーマンス計測結果によるとページのキャッシュは「Disk（enhanced）」にしておくとより高速化できるといったことが書かれていました。ディスクに溜め込むので、当然mod_rewriteが必要になります。うちも長らくWP Total Cacheのお世話になってましたが、先日ふと思い立ってこちらに乗り換えました。現在の設定は、ページキャッシュを「Disk（enhanced）」、Minifyとデータベースのキャッシュを「APC」にしています。memcacheでもしばらく回してみたんですけど、どうにも不安定で結局この設定です。で、携帯向けの対応をしている場合に注意点があります。先のKtai-StyleやWPtouchが入っている場合、それらに対してページのキャッシュやMinify化をしない方が無難です。ページキャッシュの設定にある「Rejected User Agents」に除外対象を追加しましょう（※一番下にあるモバイルのUAをまるごとコピペすればいいです）。Minify化したキャッシュも同様。「Minify Setting」にあるリジェクトのところに先ほどの携帯端末のUA一覧を貼り付けておきましょう。ただし、iPhoneやiPod touchに対してはMinify化をかけても問題ないので、それから除外してもオッケイです（ボクの検証結果では）。このW3 Total Cacheはかなり細かいところまで手が届くプラグインです。もちろん特定URlの除外やGzip圧縮などもサポートしています。WP Total Cacheに比べてmod_rewriteの記述も少ないですし、自由度の高い環境の方はこちらの方がいいかもしれません。ただし、特定サイトのディレクトリ以下に配したマルチブログ的な環境だとうまくいかないかも。マルチブログ環境については、フォーラムにいろいろ書かれていました（WP次期バージョンに向けてどうこうとか）。といった感じでW3 Total Cache編でした。キャッシュできなくても、別の部分を改善する「mod_rewriteとかそもそもなんなの？」とか「使えるかどうかわかんないしー」みたいな方でも、いくつかのプラグインに頼ることでWordPressの表示パフォーマンスは改善可能です（といっても、なんでも入れればいいってわけではない 笑）。まずひとつめは、WordPressのプラグインなどに勝手に組み込まれるヘッダ内のJavaScriptなどの位置を変えて高速化を図る方法があります。Head Cleanerで表示速度の改善をするこの類のプラグインもまたいくつかありますが、日本発の「Head Cleaner」が一度になんでもかんでも処理してくれるんじゃないでしょうか（ボクは入れたことはないんですが、かなりいろいろできるようです）。もちろんWP Super Cacheなどと併用することもできます。 &rarr; Head Cleaner何故このようなヘッダ内のお掃除が必要になるかというと、複数のJavaScriptの読み込みやscript要素の順番によっては、特定のブラウザでページの構成要素のダウンロードが妨げられたりします。なので、複数のJavaScriptやCSSをひとつにまとめてリクエストを減らしたり、改行やコメントを取ってMinify化したりすることで転送量を減らすことができます。また、ページの描画に関係のないJavaScriptなどは&lt;/body&gt;の直前に配置したりすれば、なおよろしと。うちは何でもかんでもプラグインに頼るのもなんなので、プラグインの数も抑えてhead要素内に組み込まれるものは手動でまとめています。WP SmushItで画像を最適化する次にできること。表示速度はページ内に含まれる画像の数にも左右されます。何の気なしにPhotoshopなどで書き出したJPGやPNG画像には実はいらないデータが含まれていることもあります（特にJPG）。アップする画像も実はさらに最適化を施すことでデータ量をガクッと下げることができるんですね。 &rarr; WP Smush.it Wordpress Plugin「WP Smush.it」は、アメリカのYahoo!の「Smush.it&#8482;」を経由してアップロード画像を最適化してしまうプラグインです。たまにミスることもありますが、その時はあらためて「Re-Smush」すれば大丈夫でしょう。最適化されたかどうかのチェックやRe-Smushは、メディアのライブラリで確認可能です。すべての画像が最適化されるわけではなく、必要のあるものだけが最適化されます。JPGなんかはビックリするぐらいデータ量が減るかもしれません（笑）。ちなみにGIFとPNGだったら、PNGの方が軽いです。とまぁ、キャッシュできなくても表示パフォーマンスアップのために役立つプラグインが公開されていますので、試してみてはいかがでしょうか。見てくれる人のことを考えてやれることはやりましょう以上で、WordPressのパフォーマンス改善のためのアレコレの紹介は終わります。まぁ、見に来てくれる人のことを考えれば、少しでも速く表示された方がいいわけです（自分だって他見る時そうでしょう？）。幸い、WordPressは仕様のせいもあってかこのようなプラグインが多数公開されています。制作者の方にお礼を述べつつ、使えるものは使ってみるといいかもしれません。最後に。この辺の話はまたゲリラ的にUSTREAMで喋る予定です。ここに書いた内容を補足する感じになると思いますが、「文章じゃわかりづらいよ」って方はボクのTwitterでもリストに入れておいてください（フォローするとうざい 笑）。Tags: performance, plugins, tips, wordpress, wpThis entry was posted on Tuesday, March 9th, 2010 at 7:36 PM and is filed under articles. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site. Leave a ReplyClick here to cancel reply. Name (required) Mail (will not be published) (required) Website [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Head Cleaner &#124; blog@memo*randum より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-2/#comment-5493</link>
		<dc:creator>Head Cleaner &#124; blog@memo*randum</dc:creator>
		<pubDate>Sun, 31 Jan 2010 15:58:48 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5493</guid>
		<description>[...] Head Cleaner  Head Cleaner (仮) : dogmap.jp    This entry was written by mikame, posted on 01/02/2010 at 00:58, filed under evernote and tagged evernote. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Comments are  [...]</description>
		<content:encoded><![CDATA[<p>[...] Head Cleaner  Head Cleaner (仮) : dogmap.jp    This entry was written by mikame, posted on 01/02/2010 at 00:58, filed under evernote and tagged evernote. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Comments are  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Moral Hazard!! より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-2/#comment-5487</link>
		<dc:creator>Moral Hazard!!</dc:creator>
		<pubDate>Thu, 28 Jan 2010 12:49:36 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5487</guid>
		<description>&lt;strong&gt;使用中のwordpress pluginと導入時の留意点&lt;/strong&gt;

使用中のプラグインをつらつらと。 Akismet、All in One SEO Pack、Contact Form 7、Google XML Sitemaps、Ktai Entry、Ktai Style、WP Multibyte Patchなど、ほぼ常識的に使われるものは割愛。 使っているのは特にイ...</description>
		<content:encoded><![CDATA[<p><strong>使用中のwordpress pluginと導入時の留意点</strong></p>
<p>使用中のプラグインをつらつらと。 Akismet、All in One SEO Pack、Contact Form 7、Google XML Sitemaps、Ktai Entry、Ktai Style、WP Multibyte Patchなど、ほぼ常識的に使われるものは割愛。 使っているのは特にイ&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Moral Hazard!! &#187; wordpress pluginのコンフリクト より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-2/#comment-5477</link>
		<dc:creator>Moral Hazard!! &#187; wordpress pluginのコンフリクト</dc:creator>
		<pubDate>Mon, 25 Jan 2010 07:48:23 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5477</guid>
		<description>[...] Head CleanerとLightbox Gallery Head Cleanerはwordpressの汚いヘッダを整理整頓してくれ、javascriptやcssも圧縮（gzipにも出来る）してキャッシュしてくれるスグレモノ。 ただ、デフォルトではLightbox Ga [...]</description>
		<content:encoded><![CDATA[<p>[...] Head CleanerとLightbox Gallery Head Cleanerはwordpressの汚いヘッダを整理整頓してくれ、javascriptやcssも圧縮（gzipにも出来る）してキャッシュしてくれるスグレモノ。 ただ、デフォルトではLightbox Ga [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>をかもと より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-2/#comment-5343</link>
		<dc:creator>をかもと</dc:creator>
		<pubDate>Wed, 07 Oct 2009 03:36:08 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5343</guid>
		<description>ういろうの国の人さん、はじめまして。

&lt;blockquote&gt;Head Cleaner を有効にすると LightBox2が動作しなくなります。
全フィルタを対象外にしても、動かないためお手上げです。
対応してくださると助かります。&lt;/blockquote&gt;
現在、WordCamp Kyoto の準備やら何やらで忙しくて検証できていません。
時間のあるときに確認してみますね。もう少々、お待ちください。

&lt;blockquote&gt;余談ですが、Google Maps Anywhere を使用する際に「複数の JavaScript を結合する」を有効にすると
うまく動作しませんでした。&lt;/blockquote&gt;
私は、問題ないんですけどね。
Google Maps Anywhere・Head Cleaner 共に最新版にアップデートしてもダメでしょうか？
私の作成しているプラグインは、一部ソースコードを共有しているものがあるので、すべてが最新じゃないとうまく動作しないことが稀にあります。
この辺は、ご容赦ください。</description>
		<content:encoded><![CDATA[<p>ういろうの国の人さん、はじめまして。</p>
<blockquote><p>Head Cleaner を有効にすると LightBox2が動作しなくなります。<br />
全フィルタを対象外にしても、動かないためお手上げです。<br />
対応してくださると助かります。</p></blockquote>
<p>現在、WordCamp Kyoto の準備やら何やらで忙しくて検証できていません。<br />
時間のあるときに確認してみますね。もう少々、お待ちください。</p>
<blockquote><p>余談ですが、Google Maps Anywhere を使用する際に「複数の JavaScript を結合する」を有効にすると<br />
うまく動作しませんでした。</p></blockquote>
<p>私は、問題ないんですけどね。<br />
Google Maps Anywhere・Head Cleaner 共に最新版にアップデートしてもダメでしょうか？<br />
私の作成しているプラグインは、一部ソースコードを共有しているものがあるので、すべてが最新じゃないとうまく動作しないことが稀にあります。<br />
この辺は、ご容赦ください。</p>
]]></content:encoded>
	</item>
	<item>
		<title>ういろうの国の人 より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-2/#comment-5339</link>
		<dc:creator>ういろうの国の人</dc:creator>
		<pubDate>Sat, 03 Oct 2009 05:40:12 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5339</guid>
		<description>あ、ごめんなさい
LightBox2プラグインはこちらのです。
http://www.stimuli.ca/</description>
		<content:encoded><![CDATA[<p>あ、ごめんなさい<br />
LightBox2プラグインはこちらのです。<br />
<a href="http://www.stimuli.ca/" rel="nofollow">http://www.stimuli.ca/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>ういろうの国の人 より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-2/#comment-5338</link>
		<dc:creator>ういろうの国の人</dc:creator>
		<pubDate>Sat, 03 Oct 2009 05:37:51 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5338</guid>
		<description>こんにちは。
便利に使わせていただいています、が LightBox2プラグインとの相性が悪いようで
Head Cleaner を有効にすると LightBox2が動作しなくなります。
全フィルタを対象外にしても、動かないためお手上げです。
対応してくださると助かります。

余談ですが、Google Maps Anywhere を使用する際に「複数の JavaScript を結合する」を有効にすると
うまく動作しませんでした。</description>
		<content:encoded><![CDATA[<p>こんにちは。<br />
便利に使わせていただいています、が LightBox2プラグインとの相性が悪いようで<br />
Head Cleaner を有効にすると LightBox2が動作しなくなります。<br />
全フィルタを対象外にしても、動かないためお手上げです。<br />
対応してくださると助かります。</p>
<p>余談ですが、Google Maps Anywhere を使用する際に「複数の JavaScript を結合する」を有効にすると<br />
うまく動作しませんでした。</p>
]]></content:encoded>
	</item>
	<item>
		<title>をかもと より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-1/#comment-5258</link>
		<dc:creator>をかもと</dc:creator>
		<pubDate>Wed, 09 Sep 2009 08:47:55 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5258</guid>
		<description>とりさん、どもです。
ご指摘ありがとうございます。

修正した Ver.1.3.1 をリリースしましたので、バージョンアップしてください。</description>
		<content:encoded><![CDATA[<p>とりさん、どもです。<br />
ご指摘ありがとうございます。</p>
<p>修正した Ver.1.3.1 をリリースしましたので、バージョンアップしてください。</p>
]]></content:encoded>
	</item>
	<item>
		<title>とりさん より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-1/#comment-5257</link>
		<dc:creator>とりさん</dc:creator>
		<pubDate>Tue, 08 Sep 2009 06:59:35 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5257</guid>
		<description>headcleanerをありがたく使わせていただいています。
また、をかもと様のコードを大変参考にしています。

WebArena SuiteXにて、上記「サイト最上部に「Object」という文字列が（数個）表示されその分サイトのデザインもずれる。」という現象が出たので報告します。
WebArena上では違うテーマに切り替えても出現し、他の環境では全く出ていません。

963行目の以下の行を
$tag  = trim($element);

下記のように修正したら直りました。
$tag  = trim($element-&gt;outertext);

以上、報告を終わります。

再現条件の詳しい報告が出来ず申し訳ありませんがよろしくお願いします。</description>
		<content:encoded><![CDATA[<p>headcleanerをありがたく使わせていただいています。<br />
また、をかもと様のコードを大変参考にしています。</p>
<p>WebArena SuiteXにて、上記「サイト最上部に「Object」という文字列が（数個）表示されその分サイトのデザインもずれる。」という現象が出たので報告します。<br />
WebArena上では違うテーマに切り替えても出現し、他の環境では全く出ていません。</p>
<p>963行目の以下の行を<br />
$tag  = trim($element);</p>
<p>下記のように修正したら直りました。<br />
$tag  = trim($element-&gt;outertext);</p>
<p>以上、報告を終わります。</p>
<p>再現条件の詳しい報告が出来ず申し訳ありませんがよろしくお願いします。</p>
]]></content:encoded>
	</item>
	<item>
		<title>をかもと より</title>
		<link>http://dogmap.jp/2009/02/20/head-cleaner/comment-page-2/#comment-5191</link>
		<dc:creator>をかもと</dc:creator>
		<pubDate>Wed, 29 Jul 2009 13:49:50 +0000</pubDate>
		<guid isPermaLink="false">http://dogmap.jp/?p=2026#comment-5191</guid>
		<description>湊さん、はじめまして。

現在のバージョンの Head Cleaner では @import url は一段目のみ対応していますが、入れ子になっている場合は対応していません。
将来、対応するかもしれませんが、とりあえずはテーマを修正することで回避してください m(_ _)m</description>
		<content:encoded><![CDATA[<p>湊さん、はじめまして。</p>
<p>現在のバージョンの Head Cleaner では @import url は一段目のみ対応していますが、入れ子になっている場合は対応していません。<br />
将来、対応するかもしれませんが、とりあえずはテーマを修正することで回避してください m(_ _)m</p>
]]></content:encoded>
	</item>
</channel>
</rss>
