<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" 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/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:xhtml="http://www.w3.org/1999/xhtml" ><channel><title>gaspanik weblog &#187; plugins</title> <atom:link href="http://blog.gaspanik.com/tag/plugins/feed" rel="self" type="application/rss+xml" /><link>http://blog.gaspanik.com</link> <description>beat one&#039;s brain</description> <lastBuildDate>Thu, 15 Dec 2011 23:53:18 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.gaspanik.com/tag/plugins/feed" /> <atom:link rel='hub' href='http://blog.gaspanik.com/?pushpress=hub'/> <cloud domain='blog.gaspanik.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' /> <item><title>うちのWordPressでやってることを教えます</title><link>http://blog.gaspanik.com/our-site-wide-settings</link> <comments>http://blog.gaspanik.com/our-site-wide-settings#comments</comments> <pubDate>Fri, 03 Jun 2011 08:12:11 +0000</pubDate> <dc:creator>[cipher]</dc:creator> <category><![CDATA[articles]]></category> <category><![CDATA[scribbling]]></category> <category><![CDATA[cdn]]></category> <category><![CDATA[optimization]]></category> <category><![CDATA[performance]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp]]></category><guid isPermaLink="false">http://blog.gaspanik.com/?p=5193</guid> <description><![CDATA[この1年ちょっとぐらいかな？結構あれこれとサイトのパフォーマンス改善みたいな話（WordPress含む）を書いてるんですけど、昨日書いて公開したのが思いの外反応があったようでありがとうございます。お礼といってはなんですが [...]]]></description> <content:encoded><![CDATA[<p>この1年ちょっとぐらいかな？結構あれこれとサイトのパフォーマンス改善みたいな話（WordPress含む）を書いてるんですけど、昨日書いて公開したのが思いの外反応があったようでありがとうございます。お礼といってはなんですが、誰かのためになるかもしれないので、現時点でのうちの環境を記しておきます。</p><p><span id="more-5193"></span><br /> 以前から読んでくださってる皆さんには「またかよ」って話になるのですが、このへなちょこブログを書いてるWordPressの設定は以下のような感じです。昨日書いた内容に大体則すような流れにしておきました。</p><ul><li><strong>キャッシング:</strong> W3 Total Cache（以下、W3TC）</li><li><strong>Minify化:</strong> HTMLのみW3TC、CSS/JSは手動（外部サービス以外）</li><li><strong>画像の最適化:</strong> WP Smush.itで自動実行</li><li><strong>配信サーバの分割:</strong> EdgeCastのCDN（Content Delivery Network）</li><li><strong>Gzipの有無:</strong> Apache側で有効化</li><li><strong>ファイルの有効期限:</strong> Apache側で個別に設定</li><li><strong>head要素の最適化:</strong> 手動</li></ul><p>APCを入れてる以外は特にバックエンドのサーバ側をチューニングしたりといったアレコレはやっていません（サーバのことを触らないつもりで引っ越したので…）。画像の最適化は、以前にも書いてるのでやっぱり省略します。</p><h3>W3 Total Cacheでやってること</h3><p>キャッシング系のプラグインとして有名な「WP Super Cache」ではなく、機能が豊富でかなり細かい設定が可能な「<a href="http://www.w3-edge.com/wordpress-plugins/w3-total-cache/">W3 Total Cache</a>」をインストールして楽をしています（笑）。</p><h4>静的なファイルでなく、Opcode Cacheで</h4><p>W3TCもまた静的なHTMLファイルをキャッシュしておくことができますが、サーバ側に「APC」を突っ込んであるのもあって、せっかくなので静的なファイルではなくOpcode Cacheを使ってます（ここは気分的にｗ）。W3TCでは、ファイルやDBへの接続なども個別に指定できるようになっていますし、キャッシュを使用しないUAを指定したりといったことも可能です。</p><p>一応DBとかのキャッシュも有効にしてます。</p><h4>HTMLのMinify化</h4><p>W3TCには、HTML/CSS/JavaScriptのMinify化のオプションもあります。こちらはHTMLのみオンにしてファイルではなくこれもまたOpcode Cacheで。CSSとJSは数も多くないので手動でやってます。</p><p>CSSやJSなどは、複数ファイルの結合なんかも設定可能になってます（Minify化しないで結合だけとかも可）。</p><h4>CDNの有効化</h4><p>うちは契約しているサーバのオプションで<a href="http://www.edgecast.com/">EdgeCast</a>のCDNが使えるのでそれを利用してます（なんせ海の向こうなので遠いんですよ…）。</p><p>W3TC側ではCDN側に設定したサーバのドメイン名（CNAME）を入れれば、あとは自動的に「wp-includes」以下のディレクトリやコンテンツ内にアップする画像のパスをCDN側のドメインに置換してくれます。うちのCDNはOrigin Pullなので、記事を公開すればCDNからデータを吸い上げてくれるので完全放置です（笑）。</p><p>あ、そうそうW3TCのCDNの設定には、FTPというかSelf Hostedなサイトのオプションもあるので、昨日書いたみたいに自前のサーバでサブドメイン使ったりする人にもいいかもしれません。</p><h4>それ以外にW3TCでできること</h4><p>それ以外にも、W3TCの中でMinify化やキャッシングにプラスしてGzip圧縮をかけてみたり、HTTPヘッダを付けたりしてファイルタイプ別に有効期限の設定などもできますね。うちはその辺の作業はサーバ側でまとめてやってしまっているので、W3TC側では前述したもの以外は特に何もしてません。</p><h3>Apache側でやっていること</h3><p>W3TCでいろいろできるのはわかってますが、いちいちWordPressの管理画面開いて設定するより、直接サーバ側で細かくコントロールした方が早いし楽なので、Gzip圧縮とファイルタイプ別の有効期限設定をおこなってます。</p><h4>mod_deflateでGzip圧縮</h4><p>うちなんかはそんなアクセスも多くないですし、訪問される方もだいぶ偏っているので特に気にもせずGzip圧縮が有効になるように.htaccessで設定しています。以下は、Apache 2.x系での設定例です。</p><p><code><br /> AddOutputFilterByType DEFLATE text/html text/plain<br /> </code></p><p>せっかちな人はこんな感じでHTMLのみとかもできます。</p><p><code><br /> &lt;IfModule mod_deflate.c&gt;<br /> SetOutputFilter DEFLATE<br /> BrowserMatch ^Mozilla/4 gzip-only-text/html<br /> BrowserMatch ^Mozilla/4\.0[678] no-gzip<br /> BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html<br /> SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary<br /> Header append Vary User-Agent env=!dont-vary<br /> &lt;/IfModule&gt;<br /> </code></p><p>特定のブラウザやファイルタイプにはGzipしないとかまでいれるとこんな感じ。詳しいことは、<a href="http://httpd.apache.org/docs/">Apacheのマニュアルがバージョン毎に公開</a>されてるのでそれを見ましょう。</p><h4>mod_expiresで有効期限を追加</h4><p>ファイルの有効期限は、Apache側でmod_expiresを使って設定しています。全部は載せてませんが、.htaccessとかでHTMLやらCSS、JavaScriptに有効期限を設定するにはこういう風に書けておけばいいですね。</p><p>&lt;ifModule mod_expires.c&gt;<br /> ExpiresActive On<br /> ExpiresDefault &#8220;access plus 1 seconds&#8221;<br /> （中略）<br /> ExpiresByType text/css &#8220;access plus 2 weeks&#8221;<br /> ExpiresByType text/javascript &#8220;access plus 2 weeks&#8221;<br /> ExpiresByType application/x-javascript &#8220;access plus 2 weeks&#8221;<br /> ExpiresByType text/html &#8220;access plus 600 seconds&#8221;<br /> ExpiresByType application/xhtml+xml &#8220;access plus 600 seconds&#8221;<br /> &lt;/ifModule&gt;</p><p>1なのに「seconds」とかsついてるじゃんみたいなくだらない突っ込みはやめてください。これでも動きますから（笑）。</p><h3>HTMLのhead要素の最適化</h3><p>HTMLのhead要素の最適化は、「<a href="http://wppluginsj.sourceforge.jp/head-cleaner/">Head Cleaner</a>」などを入れれば何か何までやってもらえるのがわかってますが、以前から自分でプラグインの中身とかゴニョゴニョしていらんもんが出ないように改良したので手動です（笑）。</p><p>ブラウザの並行ダウンロードを妨げないように、画面の描画に関係ないJavaScriptは、&lt;/body&gt;の直前あたりで読み込むように全部下に。直接コードが書かれてるJavaScriptは、head要素のtitle直下に置いてます。</p><p>head要素の中でいくつかのCSSを読み込んだり、JavaScriptを読み込んでる場合（もちろん直接書かれてるのも含め）は、その順番次第で表示速度が変わってくるかもしれませんので調べてみるといいですね（変えたくても、読み込み順が関係するものもあるでしょうけど）。</p><h3>と、こんな感じっす</h3><p>このブログはWordPressの以前のデフォルトテーマのままですしCSSもほとんどいじってはいません（仕事じゃないんで 笑）。W3TCに任せる部分とサーバ側でやる部分をわけて、読み込み順の調整やMinify化、テンプレート中の画像の最適化なんかは手作業でやってます。記事中の画像は「WP Smush.it」で最適化、と。</p><p>サーバが海の向こうってこともあるので、全部を一カ所から出すと遅くなるだろうな？ということで、一応CDNをかまして画像だけでもできるだけ近いところから出てくるようにしてる、ぐらいでしょうか。</p><p>と、こんな感じっす。</p><p>＃サーバ側があれこれいじれないのであれば、キャッシングの機能を使わなくともW3TC使うのもありじゃないでしょうかね。</p> ]]></content:encoded> <wfw:commentRss>http://blog.gaspanik.com/our-site-wide-settings/feed</wfw:commentRss> <slash:comments>0</slash:comments> <xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.gaspanik.com/our-site-wide-settings" /> </item> <item><title>できることからはじめる、パフォーマンス最適化プラグイン7選</title><link>http://blog.gaspanik.com/wordpress-site-optimization-plugins</link> <comments>http://blog.gaspanik.com/wordpress-site-optimization-plugins#comments</comments> <pubDate>Thu, 21 Apr 2011 04:36:16 +0000</pubDate> <dc:creator>[cipher]</dc:creator> <category><![CDATA[articles]]></category> <category><![CDATA[scribbling]]></category> <category><![CDATA[optimization]]></category> <category><![CDATA[peformance]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp]]></category><guid isPermaLink="false">http://blog.gaspanik.com/?p=4817</guid> <description><![CDATA[結局のところサイトパフォーマンスの高速化に最も効果的なのは「CDN使って画像をそっちから出すのが一番じゃね？」なんて思い始めたこもりです、こんにちは（笑）。いや、CDN使うのもいいのですが、その前提としてサイト全体をしっ [...]]]></description> <content:encoded><![CDATA[<p>結局のところサイトパフォーマンスの高速化に最も効果的なのは「CDN使って画像をそっちから出すのが一番じゃね？」なんて思い始めたこもりです、こんにちは（笑）。いや、CDN使うのもいいのですが、その前提としてサイト全体をしっかり最適化しておくに超したことはありません（その方がより効果的なわけです）。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/speedup-wp.jpg" alt="speedup-wp" title="speedup-wp" width="450" height="253" class="alignnone size-full wp-image-4819" /></p><p>そんなわけで、今日は誰でもできることから段階的に適用する感じで、WordPressのパフォーマンス向上に役立つであろう素敵なプラグインを7つ紹介してみたいと思います。</p><p><span id="more-4817"></span></p><h3>まずは、画像を最適化する</h3><p>サーバ環境のこととか特別な知識も必要とせず、誰でもできる高速化の第一歩といえば、サイト内で使用する画像の最適化でしょう。WordPressにアップロードするJPGやPNGといった画像を自動的にスリムアップするのです。</p><h4><a href="http://wordpress.org/extend/plugins/wp-smushit/">WP Smush.it</a></h4><p>「WP Smush.it」は、アップロードする際に自動的に「<a href="http://www.smushit.com/ysmush.it/">Yahoo! Smush.It&#8482;</a>」を経由させて、画像から不要な部分を削除してくれます。PhotoshopやFireworksで書き出しただけの画像じゃまだまだです（笑）。画像の内容や形式で変わってきますが、JPGで10〜20%程度、PNGで1〜2%程度は軽量化できるんではないかと。</p><p>ただし、テンプレートとかの画像は最適化されませんので、それは別のツールやオンラインサービスを使いましょう。</p><h3>DBへの問い合わせをキャッシュする</h3><p>WordPressは、ファイルのリクエストがあればデータベースに問い合わせをして、その都度HTMLファイルを生成する仕組みです。テンプレートからページを生成するデータの呼び出し処理をキャッシュして使いまわせば、DBへのアクセス頻度を減らすことができるはずでしょう。その分の負荷を減らそうかと。</p><h4><a href="http://wordpress.org/extend/plugins/db-cache-reloaded-fix/">DB Cache Reloaded Fix</a></h4><p>「DB Cache Reloaded Fix」は、そのようなバックエンドの処理をキャッシュするプラグインです。動的に都度生成されるHTMLをキャッシュするのとは別に、まずは頻繁にアクセスするであろうDBへの問い合わせをキャッシュし、生成処理自体を高速化・最適化してしまおうというものですね。</p><h3>HTML、CSS、JSを最適化する</h3><p>バックエンドの次はフロントエンドの最適化です。</p><p>WordPressに限った話ではないですが、多くのCMSではプラグインやテーマを使ってサイトを拡張することができます。あれもこれもと導入するのはいいのですが、結果として待ち受けているのはクライアントに送信されるHTMLがごちゃごちゃしたり肥大化してしまうことがあげられます。</p><h4><a href="http://wordpress.org/extend/plugins/head-cleaner/">Head Cleaner</a></h4><p><a href="http://dogmap.jp/">@wokamoto</a>さんが公開されている「Head Cleaner」は、プラグインやテーマによってあれこれ追加されてしまっているhead要素内を最適化してくれるプラグインです。もはや最適化というレベルを超えて、あれやこれやと高速化に役立つ処理を一手に引き受けてくれます。</p><p>フロントエンドに関係する部分を最適化することは、結果としてHTTPリクエスト数や転送サイズの削減に繫がるわけです。</p><h3>静的なHTMLを作ってキャッシュする</h3><p>WordPressの高速化で有名なのは、リクエストに応じて動的に生成されて送信されるHTMLを静的なHTMLファイルとしてキャッシュしてしまうプラグインの導入でしょうか。</p><p>一度リクエストがあって生成されたファイルは、有効期限内はディスクやメモリ内に保存されてそれが代用されるというものですね。頻繁にアクセスのあるようなサイトは生成処理をすっ飛ばして、保存されたHTMLを送り返す方が速いんじゃないか？って話。</p><h4><a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a></h4><p>いまさら説明の必要もないほど有名なプラグインです。環境に合わせて設定方法というか適用方法もいくつか用意されています。キャッシュの処理とあわせて、Gzip圧縮をかけてHTMLファイルそのものを小さくするなんてこともできます。</p><h4><a href="http://wordpress.org/extend/plugins/quick-cache/">Quick Cache ( A WP Super Cache Alternative )</a></h4><p>「Quick Cache」は名前にもあるようにSuper Cacheの代用になるプラグインです。他にも「Hyper Cache」とかありますが、最新版にも対応しているみたいなのでこっちを紹介。ボクはインストールしたことはありませんが、サイトのスクリーンショットやChangeLogなんかを見ると良い感じに思えますね。</p><p>キャッシュ系のプラグインは「入れる・入れない」の線引きが難しいかもしれませんが、非力なサーバ環境で負荷を減らしたいとか、ページ公開時にはアクセスが集中するといったサイトなら利用価値はあるんじゃないかと。</p><h3>さらにCDNをかましてみる</h3><p>全体的なページのロード時間は、HTMLファイルがダウンロードされてからが勝負です。HTML内に記述された構成要素が同じサーバから配信されていたら、順番にローカルにダウンロードされてくるのを待ってなくてはなりません。数が増えれば増えた分、データサイズが大きければ大きい分、データがダウンロードされてページ表示が完成するまでの時間がかかるわけです。</p><p>CDN（Contents Delivery Network）は、冒頭にも書いたように全体的なページのロード時間の短縮には結構良いものです（笑）。サイト内の画像、CSSやJSファイルをCDN側にも置いておけば、1サイトから全部配信されていた膨大なファイルを、閲覧側に近い高速なネットワークから配信させることができます。</p><h4><a href="http://wordpress.org/extend/plugins/cdn-sync-tool/">CDN Sync Tool</a></h4><p>「CDN Sync Tool」は、WP Super Cacheと併用して利用するCDNの同期プラグインです。説明には、AmazonのS3やCloudFront、CloudFiles、MaxCDNといった大手のCDNサービスの名前が列挙されています。</p><p>CDNはサービスによって、オリジナルのファイルをこちらからアップロードするのか、ファイルのリクエスト時に勝手に拾うのか、みたいな仕組みが異なります。その辺の処理（ファイルの同期をとる）を勝手にやってくれるツールと思えばいいでしょうか。</p><p>最近ではこのような既存のCDNサービスではなく、無償プランもある「CloudFlare」というサービスが人気のようです（WordPressのプラグインもある）。CloudFlareは、大元のDNSの情報から書き換えないといけないので導入できる環境がやや限定的ですかね。</p><p>ちなみに我が家は、先日も書いたとおりEdgeCastのCDNを使っています。記事中の画像だけを扱うサーバと、テンプレート中の画像やJSファイルを分けて、計3サイトからダウンロードされるようにしています。</p><h3>全部まとめてやるなら、W3 Total Cacheで</h3><p>ここまで段階的に適用できるWordPressのプラグインを紹介してきましたが、冒頭の「WP Smush.it」以外の処理を一気にできるプラグインもあります。</p><h4><a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a></h4><p>「W3 Total Cache」はうちも入れてるのですが、それこそページキャッシュからMinify化、DBキャッシュ、サーバ側で処理したりするブラウザキャッシュの追加、CDNのサポートまで何から何まで一個で補えるプラグインです。いや、ホントに何でもかんでもできちゃいます。</p><h3>最後に</h3><p>ここまでいくつかのプラグインを段階的に紹介してきましたが、何も全部入れる必要はありません。配信するサイトの内容によって組み合わせの妙というのもあります。静的なHTMLファイルキャッシュさせるさせないはおいておいて、画像やDBへのアクセス、フロントエンドの最適化だけでも十分効果はあります。PHPによる動的な処理云々ではなく、多くの画像が含まれていてボトルネックになってる場合は、CDNの導入を考えてみるのもひとつの手かもしれません。</p><p>自分のサイトが遅い原因が、PHPによる動的処理なのか、サイトの作り方の問題なのか、を見極めることが最初にやるべきことです。それがわかったら、ココで紹介したものを試していくのが良いでしょう。</p><h4>おまけ</h4><p>一般的にいわれることですが、CSSやJSのような更新頻度の少ないファイルは、クッキーの付かないCDNなどの外部サーバから配信するのが高速化に良いとされています。HTMLファイルがダウンロードされると、次はそこに記述されたCSSやJSはもちろん画像などが順次ダウンロードされます。</p><p>ここ数日検証しながらふと思ったのですが、HTMLと一緒にページのレイアウトやデザインをつかさどるCSSをどこに置いておくのがいいのか、という問題がありました。外部のサーバに置いた場合は、DNSでそのサーバのIPアドレスを調べる時間がかかるため、初回の接続には微々たるものですが時間がかかります。</p><p>特にCSSなんてのはHTMLの頭にあるので真っ先にダウンロードが始まります。また、そこにはCDN側においた背景画像として使っている画像なんかもあります。それを考えるとCSSだけは同じサーバからの方がいいんじゃないかな？なんていう暫定的な結論に達しました（うちの場合は、CSSは一個しかないので）。</p> ]]></content:encoded> <wfw:commentRss>http://blog.gaspanik.com/wordpress-site-optimization-plugins/feed</wfw:commentRss> <slash:comments>1</slash:comments> <xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.gaspanik.com/wordpress-site-optimization-plugins" /> </item> <item><title>WordPress ＋ W3 Total Cache ＋ CDN な話</title><link>http://blog.gaspanik.com/activate-cdn-option-on-w3totalcache</link> <comments>http://blog.gaspanik.com/activate-cdn-option-on-w3totalcache#comments</comments> <pubDate>Mon, 18 Apr 2011 18:51:55 +0000</pubDate> <dc:creator>[cipher]</dc:creator> <category><![CDATA[articles]]></category> <category><![CDATA[scribbling]]></category> <category><![CDATA[cdn]]></category> <category><![CDATA[optimization]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[tips]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp]]></category><guid isPermaLink="false">http://blog.gaspanik.com/?p=4759</guid> <description><![CDATA[今となってはさほどアクセスもないうちのブログなんですが、なんとなくCDN（Contents Delivery Network）を導入してみました。というのも、か細い回線&#38;自宅サーバだったこの10年にお別れをし、自 [...]]]></description> <content:encoded><![CDATA[<p>今となってはさほどアクセスもないうちのブログなんですが、なんとなく<a href="http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%83%87%E3%83%AA%E3%83%90%E3%83%AA%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF">CDN</a>（Contents Delivery Network）を導入してみました。というのも、か細い回線&amp;自宅サーバだったこの10年にお別れをし、自宅の引っ越しを機に海外のサーバに移転したからですが。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-001.jpg" alt="cdn-settings-001" title="cdn-settings-001" width="450" height="253" class="alignnone size-full wp-image-4788" /></p><p>日本語でしか書いてないこのブログ、普通に考えれば国内のサーバを借りて公開ってのが筋でしょうが、あいにくのひねくれ者なので「<a href="http://mediatemple.net/">Media Temple</a>」という海外のホスティング会社の<a href="http://mediatemple.net/webhosting/dv/">Dedicated Virtual</a>のサービスを使っています（俗に言うVPSに似た感じのサービスで管理があまりいらない）。</p><p>サーバのスペック的には強力になったとはいえ、日本国内からではネットワーク的にはかなり遠い…。どれぐらい遠いかと言えば、日本とアメリカぐらい（そのまま 笑）。そういう背景もあって、このWordPressを使ったブログでもあれやこれやと実験しながら、せめてコンテンツ自体を最適化してロード時間を抑えようと努力してたわけですが、ネットワークが遠すぎたら限界も出てきます。</p><p>そこで、今回のこのCDN導入とあいなったわけです。</p><p><span id="more-4759"></span></p><h3>ところでCDNって何なのよ？</h3><p>大規模なサイトを運用したりしてる方にはおなじみかもしれませんが、あまりそういう機会のない方のために簡単にCDNの話から始めてみましょう。</p><p>CDNっていうのは、直訳すれば「コンテンツ配信ネットワーク」のこと。この仕組み自体は古くからあって、ライブのストリーミングやら容量が大きくなる動画ファイルの配信によく用いられていました（有名なところでは、AppleやらAdobeなんかも使ってる<a href="http://www.akamai.co.jp/">Akamai</a>、国内だと<a href="http://www.stream.co.jp">Jストリーム</a>などがありますね）。</p><p>CDNを使えば、一箇所のサーバにアクセスが集中して配信が止まらないよう、データそのものを世界中に分散されたサーバに配置して、閲覧側のネットワークから近いサーバからコンテンツを配信することが可能になります。期間限定のキャンペーンなどで一時的にアクセスが集中することが予想される場合も、落ちたりしないように前もって予防策が採れるわけです。</p><p>今回の震災絡みでは、計画停電の実施で東京電力のサイトが繫がらなくなりました。あれも結構日にちが経ってからAkamaiから配信されるようになってましたが、アクセスが集中するのはアホでもわかるわけだから前もってサイトが落ちないようにすべきとこですけどねぇ…、トップとその告知のページだけでも（契約さえすれば短時間ですぐ稼働させられるんだし）。</p><p>近年ではそのような大容量になる動画などのコンテンツ配信や一時的なアクセスの集中を分散化させる以外でも用いられています。最近のWebサイトは、サイト内で使用する画像やCSS、JSといった静的ファイルの数も容量も肥大化してるので、これらのファイルをCDNに置いて配信すればより高速なページ表示が可能になるわけです。</p><p>これが大規模なサービスや人気コンテンツを持ってアクセスの多いサイトだけに有益かというとそうでもない。限定的なリソースで運用することで負荷がかかってる部分を他にまわしてあげることは、中小規模のサイトでも導入してみる価値はあります（HTTPリクエストを分散させる意味でも）。</p><p>ただし、国内でCDNなどと名が付いてるサービスは、値段が書いてない（問い合わせしてね&hearts;）とかそもそも高いとか、個人レベルだと導入までの敷居がなんとなく高いものです。そんな理由もあるのか既に多くの人が導入しているのが、従量制で課金される「<a href="http://aws.amazon.com/jp/s3/">Amazon S3</a>（Amazon Simple Storage）」や「<a href="http://aws.amazon.com/jp/cloudfront/">Amazon Cloud Front</a>」だったり、無償のプランもあって最近話題の「<a href="https://www.cloudflare.com/">CloudFlare</a>」でしょうか。AmazonのサービスやCloudFlareの導入については、多くの方が書いてるので検索してみましょう。</p><h3>Media TempleのProCDNを使ってみるのさ</h3><p>ボクが契約しているMedia Templeには、世界的にも有名な「<a href="http://www.edgecast.com/">EdgeCast</a>」のCDNが月額$20-（月間転送量200GBまで）で使える「<a href="http://mediatemple.net/webhosting/procdn/">ProCDN</a>」っていうアドオンサービスがあります。EdgeCastの持つ世界4大大陸、東京をはじめとした19箇所の拠点があるので、静的なファイルだけでも閲覧側から近いトコから出してあげれば多少なりとも表示速度は改善されるだろう、と。</p><p>日本語での解説もあるAmazonなんかのサービスと違って、英語でしか使えないような海外のサーバを使ってる物好きには説明の必要もないですかね…、でも一応。Media Templeのアカウントでログインして、サービスをアクティベートすればすぐ使えます（笑）。サービスが有効になったら、アカウントセンターからProCDNの管理画面を開いて設定をおこないましょう。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-002.jpg" alt="cdn-settings-002" title="cdn-settings-002" width="450" height="253" class="alignnone size-full wp-image-4789" /></p><h4>最初にやることは、Customer Originの追加</h4><p>EdgeCastのCDNは、用意されたEdgeCastのサーバに手動でコンテンツをアップロードする方法と、特定のドメインをCustomer Originとして追加して自動的にコンテンツを追加する方法が採れます。自動で取得する場合は、「HTTP Large」と「HTTP Small」の区別がありますが、300kを超える.flvとか.wmvのようなコンテンツは「HTTP Large」、そうでない画像なんかは「HTTP Small」で扱えば良いようです。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-003.jpg" alt="cdn-settings-003" title="cdn-settings-003" width="450" height="253" class="alignnone size-full wp-image-4790" /></p><p>自動的にコンテンツを取得する場合は、EdgeCastでどのサーバのコンテンツを拾うかを決めなければなりません。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-004.jpg" alt="cdn-settings-004" title="cdn-settings-004" width="450" height="253" class="alignnone size-full wp-image-4791" /></p><p>配信の大元となるサーバとEdgeCast側の位置の紐付けは、「Customer Origin」メニューを選んでから「Directory Name」にCDN内の位置となるディレクトリ名を入力、「Hostname or IP Address」で配信元のオリジナルのサーバを追加します。で、最後に「Add」を押して終了。</p><p>うちの場合は、以前から別ドメイン（gaspanik.com）から配信していたテンプレート（テーマ）に含まれる画像やCSSは「static.gaspanik.com」、WordPressのディレクトリの「wp-includes」や「wp-content」以下にあるアップロード済みの画像やJSといった静的なファイルは「content.gaspanik.com」から配信するように設定しました。本当は一個あればいいんですけどね（笑）。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-006.jpg" alt="cdn-settings-006" title="cdn-settings-006" width="450" height="253" class="alignnone size-full wp-image-4793" /></p><p>EdgeCastは、CDN側のコンテンツのGzip圧縮なんかも設定できます。</p><h4>箱の用意が終わったら、DNSにCNAMEを登録する</h4><p>EdgeCast側のデータの場所を決めたら、CDNとして稼働するドメインのCNAME（カノニカルネーム。言ってしまえば、エイリアスというか別名）を決めて、EdgeCast側に登録しドメイン側のDNSにもそれを反映させます。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-005.jpg" alt="cdn-settings-005" title="cdn-settings-005" width="450" height="253" class="alignnone size-full wp-image-4792" /></p><p>まずは、EdgeCast側の「Edge Cnames」で別名を設定します。「cdn.〜」みたいなサブドメインを入れて、EdgeCastのサーバ内でポイントされる場所（先に設定したディレクトリ以下など）を指定します。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-007.jpg" alt="cdn-settings-007" title="cdn-settings-007" width="450" height="253" class="alignnone size-full wp-image-4794" /></p><p>次に自分のドメインのDNSにCNAMEレコードを追加して、HTTP Smallなら「wac.〜.edgecast.net」みたいな指定されたEdgeCastのドメインを指定します。これでEdgeCastのCDNに関するもろもろの設定は終わり。</p><h3>W3 Total CacheのCDNオプションを有効に</h3><p>いよいよ本題です（笑）。WordPressで構築されたサイトの高速化するプラグインとして有名な「<a href="http://wordpress.org/extend/plugins/w3-total-cache/">W3 Total Cache</a>」には、CDNオプションが用意されています。ブログにアップロードする画像やテーマなどに含まれるJSなどはそこそこデータサイズも大きいので、更新の必要のない静的なファイルをCDN側から配信すれば更なる高速化が見込めるわけです。</p><p>W3 Total CacheでCDNのオプションを有効にするには、「General Setting」で「Content Delivery Network」を「Enable」にして、自分の使うCDNの種類を選択します。今回のうちの環境はコンテンツをミラーするだけなので、ここでは「Mirror」を選びましたが、Amazon S3やCloudFrontも選択可能です。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-008.jpg" alt="cdn-settings-008" title="cdn-settings-008" width="450" height="253" class="alignnone size-full wp-image-4795" /></p><p>次に「Content Delivery Network Settings」に移動して、CDN経由で配信するコンテンツを選択します。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-009.jpg" alt="cdn-settings-009" title="cdn-settings-009" width="450" height="253" class="alignnone size-full wp-image-4796" /></p><p>ミラーするだけの場合は、CDN経由で配信されるコンテンツをCNAMEに指定したドメインに置き換えることになります。W3 Total Cacheは、Configurationのところに追加すれば自動的にソースが書き換えられます。</p><p>利用するCDNのサービスによっては、FTPなどのログイン情報を指定してライブラリ内のファイルをアップロードすることになるかもしれません、はい。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-010.jpg" alt="cdn-settings-010" title="cdn-settings-010" width="450" height="253" class="alignnone size-full wp-image-4797" /></p><p>今回のEdgeCastの設定はCustomer Originにしてるので、ブラウザからコンテンツがリクエストされると配信元のドメインにあるデータが自動的に保存され、その後はCDN側のサーバから配信されるようになるんですね。</p><p>あー楽ちん楽ちん。</p><h3>traceroute で経路を確認してみる</h3><p>CDN経由でコンテンツの一部を配信するようにしたのでどれぐらい速いかを検証したいものです。Webコンテンツの<a href="http://blog.gaspanik.com/website-performance-check-services">ロード時間を計測するサイトは数多く存在</a>しています。実際に世界各国からいろいろ試してた結果、ロード時間は圧倒的に速くなっていました（世界各国から見られることはないけどもｗ）。</p><p>ホストまでの経路は接続先の環境によって異なるわけですが、自分のところからの経路の比較ならターミナルから「traceroute」というコマンドを使うと手っ取り早いです。</p><p><code>traceroute 調べたいホスト名</code></p><p>と入力すればオッケイ。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2011/04/cdn-settings-012.jpg" alt="cdn-settings-012" title="cdn-settings-012" width="450" height="253" class="alignnone size-full wp-image-4799" /></p><p>うちの回線からもともとのサーバまで約20ホップあったのですが、CDNに振ったサーバだと12ホップになってるので経路自体は短くなっています。EdgeCastは東京にも拠点があるようですが、うちからだとカリフォルニアから配信されてるのはまぁご愛敬ということで（笑）。</p><p>これで少しでも国内からのアクセスが速くなればいいな、と。</p><h3>単なる負荷分散で終わらすか、それとも…</h3><p>一箇所に集中するコンテンツへのアクセスの負荷を分散させる目的でCDNを使うのはもちろんありですが、それと同時にサイトの高速化を目論んでいる場合は、単純にファイルをCDNから配信すればいいってわけでもありません。</p><p>CDN側におく静的なCSSやJSファイルは、Minify化やGzip圧縮することでもっと速くロードされるでしょう。画像に関しても同様で、単にPhotoshopやFireworksから書き出しただけのファイルは別の方法で最適化すればさらに小さくなります。</p><p>更新頻度の少ない静的なファイルは、ブラウザのキャッシュを有効に効かせるようにしておけばなお効果的かな、と。最近話題のCloudFlareのことを書いてるサイトは、分散させてお終いだけだったりしますからね（謎）。</p><p>負荷分散と一緒にその辺もやってあげると、転送量で課金されるCDNは安くなるだろうし、見る側のストレスもさらに軽減されるんじゃないでしょうか。自サイトで何をすべきかは、Googleさんの<a href="http://pagespeed.googlelabs.com/">PageSpeed</a>とか<a href="http://gtmetrix.com/">GTmetrix</a>や、下の書籍で確認してみましょうか（笑）。</p><p>&rarr; <a href="http://amzn.to/e6O11Y">HTML＋CSSコーディング ベストプラクティス</a>（Amazon.co.jp）</p> ]]></content:encoded> <wfw:commentRss>http://blog.gaspanik.com/activate-cdn-option-on-w3totalcache/feed</wfw:commentRss> <slash:comments>0</slash:comments> <xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.gaspanik.com/activate-cdn-option-on-w3totalcache" /> </item> <item><title>FacebookのLike!ボタンとInSightsの話</title><link>http://blog.gaspanik.com/facebook-like-button-and-insight</link> <comments>http://blog.gaspanik.com/facebook-like-button-and-insight#comments</comments> <pubDate>Wed, 13 Oct 2010 04:32:53 +0000</pubDate> <dc:creator>[cipher]</dc:creator> <category><![CDATA[articles]]></category> <category><![CDATA[scribbling]]></category> <category><![CDATA[button]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[like]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[tips]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp]]></category><guid isPermaLink="false">http://blog.gaspanik.com/?p=4005</guid> <description><![CDATA[「Facebookのこの盛り上がりはステルス・マーケティングじゃねえか？」なんて噂までが飛び交って、矛先を向けられた皆さんも大変ですね…。全米では既に「The Social Network」ってFacebookの創始者の [...]]]></description> <content:encoded><![CDATA[<p>「Facebookのこの盛り上がりはステルス・マーケティングじゃねえか？」なんて噂までが飛び交って、矛先を向けられた皆さんも大変ですね…。全米では既に「<a href="http://www.thesocialnetwork-movie.com/">The Social Network</a>」ってFacebookの創始者の半生みたいな映画もやってますし、日本でも年明けには公開ですからね。思い出したかのように寝かせていたFacebookを使い始めることは何ら不思議ではありませんよ（笑）。</p><p>とまぁ、そんな話はおいといて。今日は先日から思い出したようにこちらのブログにも付けたFacebookの「Like!」ボタンの話をしようと思います。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/10/fblike-001.png" alt="fblike-001" title="fblike-001" width="450" height="253" class="alignnone size-full wp-image-3999" /></p><p>設置方法については多くのブログで解説されているので要点だけちょこっとだけ。あとは「いいね！」された回数やページを確認する方法を。</p><p><span id="more-4005"></span></p><h3>WordPressにLike!ボタンを付ける</h3><p>WordPressへのボタンの設置はプラグインを使えば簡単です。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/10/fblike-002.png" alt="fblike-002" title="fblike-002" width="450" height="253" class="alignnone size-full wp-image-4000" /></p><p>WordPressの管理画面から「Facebook like」とかで検索すれば、すごい大量のプラグインが既に登録されています。中には設定が簡単なものから、高機能なものまで多種多様です。</p><p>ボクはいくつかのプラグインをインストール・アンインストールを繰り返して、設定の簡単さと表示パフォーマンス的な部分を考えて「<a href="http://wordpress.org/extend/plugins/facebook-like-button/">Facebook Like Button</a>」を使わせていただくことに。</p><p>＃このボタンのJavaScriptはFacebookから引っ張ってくるからどうでもいいんですけど、何気にデータサイズが大きいんですよ（当社比ですがw）。</p><h4>FacebookのAppIDを取得する</h4><p>どのプラグインもそうなんですが、設置の際にはFacebookのアプリケーション登録をすると発行される「AppID」の入力欄が用意されています。まずは、Facebookにログインした状態で<a href="developers.facebook.com/setup/">こちらのDeveloperページ</a>に行って、新しくアプリケーションを作成します（日本語版で使ってれば日本語です、たぶん）。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/10/fblike-003.png" alt="fblike-003" title="fblike-003" width="450" height="253" class="alignnone size-full wp-image-4001" /></p><p>で、サイトの名前とURLなんかを入れて作成すると、すぐAppIDとかが表示されますのでとりあえずその文字列をコピーしておきましょう。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/10/fblike-004.png" alt="fblike-004" title="fblike-004" width="450" height="253" class="alignnone size-full wp-image-4002" /></p><p>あとは必要に応じて、設定画面で連絡先などを登録します。独自ドメインの人は、サイトのドメインを入れておくこともできます。特にアプリケーションを公開するとかそういう手順は必要ありません。登録さえすれば終わりです。</p><h4>AppIDを登録して、ボタンの表示状態を決定</h4><p>さきほどコピーしたAppIDをプラグインの設定画面に入力します。プラグインによっては、次に説明する「InSights」のための「Admin ID」の設定もありますので、そちらも忘れずに入れておきましょう。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/10/fblike-005.png" alt="fblike-005" title="fblike-005" width="450" height="253" class="alignnone size-full wp-image-4003" /></p><p>設定が終わったら、ボタンの外見をカスタマイズして終了。</p><h3>「いいね！」の数は、Facebook Insightsで</h3><p>せっかく設置したボタンです。ボタンを見ればわかるとはいえ、どれぐらい「いいね！」ってしてもらったのかは気になるところ（笑）。ましてや、ブログなどのように大量のページがあるものは統計が見れた方がいいですよね。で、その統計情報にあたるものが「<a href="http://www.facebook.com/insights/">Facebook Insights</a>」になると考えればよいでしょうか。</p><p>このInsightsでは、どれぐらい「いいね！」してもらえたか、どのページが人気があるかなど日毎の統計が表示されます。その他、男女比や年齢分布みたいなものまでもね…、ウシシ（って、別にそれぐらいですが 笑）。</p><p>プラグインを使ってボタンを付けた場合は、自動でhead要素にもろもろのmeta要素が挿入されるので特に何もすることはありません。「どれを見ますか？」みたいなことを聞かれたら、設定したAppIDとかが表示されるので選択します。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/10/fblike-006.png" alt="fblike-006" title="fblike-006" width="450" height="253" class="alignnone size-full wp-image-4004" /></p><p>設置してすぐには正確な数字はでませんが、数日経てば何日か前の情報がちゃんと出てきますので安心してください。</p><p>Webサイトはページビューなどで訪問数などを取得するのはできますが、内容が見てくれた人に伝わったかどうかまではわかりません。ブログとかだと、コメントするのが何か敷居が高かったりしますしね。その点、これだと気軽にポチッとできますし、数字が増えれば書く人のモチベーションもあがる、と。</p><p>つまり、何が言いたいか。この下のボタンを押してね&hearts;ってことです。</p> ]]></content:encoded> <wfw:commentRss>http://blog.gaspanik.com/facebook-like-button-and-insight/feed</wfw:commentRss> <slash:comments>1</slash:comments> <xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.gaspanik.com/facebook-like-button-and-insight" /> </item> <item><title>WPのパフォーマンスを改善してみようか</title><link>http://blog.gaspanik.com/wordpress-performance-optimization</link> <comments>http://blog.gaspanik.com/wordpress-performance-optimization#comments</comments> <pubDate>Tue, 09 Mar 2010 10:36:12 +0000</pubDate> <dc:creator>[cipher]</dc:creator> <category><![CDATA[articles]]></category> <category><![CDATA[performance]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[tips]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp]]></category><guid isPermaLink="false">http://blog.gaspanik.com/?p=2914</guid> <description><![CDATA[日本のWeb業界でもそろそろサイトの表示パフォーマンスをどうにかしなきゃなぁ…と考えている方もいらっしゃることでしょう（ごく一部かもしれませんが 笑）。いわゆる普通のWebサイトの表示パフォーマンスの改善については、ここ [...]]]></description> <content:encoded><![CDATA[<p>日本のWeb業界でもそろそろサイトの表示パフォーマンスをどうにかしなきゃなぁ…と考えている方もいらっしゃることでしょう（ごく一部かもしれませんが 笑）。いわゆる普通のWebサイトの表示パフォーマンスの改善については、ここでも年末から数回にわたって取り上げています。</p><ul><li><a href="http://blog.gaspanik.com/web-designing-102-and-websites-performance">Webサイトの高速化的な話をWD誌で</a></li><li><a href="http://blog.gaspanik.com/how-to-use-yslow-addon">YSlow!、使ってわかるあんなことこんなこと</a></li><li><a href="http://blog.gaspanik.com/how-to-use-page-speed">Page Speedでチェックついでに最適化</a></li><li><a href="http://blog.gaspanik.com/google-page-speed-16">Page Speedが1.6βになったようで</a></li></ul><p>ここのエントリーに挙げた以外に、ちょっと前にゲリラ的にUSTREAMでくっちゃべってみたところ反響も大きかったようです（最初の回は特に他のどこ探してもないことも言いましたしね、フフフ）。</p><p>で、今回はこのブログでも使っているWordPressのパフォーマンスをアップさせるためにできることをいくつか紹介したいと思います。「できる」「できない」は設置されている環境で異なりますのであしからず。</p><p>最後にどこでも設置できるプラグインも含めておりますので、最後までお読みいただければ幸いです。すんごい長いので気合い入れてくださいね（笑）。</p><p><strong>※一番最後にパフォーマンス計測のためのリンクを追加しました</strong></p><p><span id="more-2914"></span></p><h3>まずはWordPressの仕組みからおさらい</h3><p>CMSとしての活用事例も多いWordPressですが（海外ではね 笑）、「そもそも何故パフォーマンス改善が必要なのか」というところから話をはじめましょう。</p><p>WordPressは、基本的に静的なHTMLを生成するMovableTypeと違って、PHPを使ってリクエストのたびに動的にコンテンツを生成する仕組みです。ブラウザからのリクエストがWebサーバに届いたら、PHPがMySQLに格納されたデータを読み出し、テンプレートを使ってリクエストURLに応じたHTMLを逐一生成してる、と。</p><p>パフォーマンスチューニングされたホスティングにおいてあれば回線環境も処理速度も速いかもしれませんが、そういったケースばかりではありません。中には自宅サーバで運用されているうちみたいな貧弱な環境もあります。</p><p>そこで、Webサーバとその上で動いているPHPが処理する時間を改善し、さらにWebサイトの高速化のための手法を組み合わせることでパフォーマンスアップを図ろうじゃないか、ということですね。</p><p>閲覧側は高速なブロードバンド環境ばかりではありませんし、最近だとTwitter経由でiPhoneから閲覧することもあります。見にきてくれる人をいかに待たせないで、ストレスなく見てもらうかといったことも考えなければいけません。</p><p>ま、前振りはこれぐらいにして本編にいきましょう。</p><h3>PHPの処理をキャッシュさせて速くする</h3><p>VPS（バーチャル・プライベート・サーバ）やDedicated Serverみたいな比較的自由度の高いプランで契約されていれば、サーバの構成などを管理者側で設定できます。そのような環境に置かれていれば、PHPの処理そのものを高速化するといったことが可能です。このような処理をおこなうものに「<a href="http://eaccelerator.net/">eAccelerator</a>」や「<a href="http://pecl.php.net/package/APC">APC（Advanced PHP Cache）</a>」、「<a href="http://pecl.php.net/package/memcache">memcache</a>」などがあります。</p><p>ここでは詳しい話はしませんが、この辺りをサーバに突っ込んであげるだけでPHPの処理にかかる部分のパフォーマンスは大きく改善されるでしょう。ちなみにうちはAPCとmemcacheが入ってますが、それは後ほどあらためて。</p><h3>動的生成しないでHTMLをキャッシュさせる</h3><p>ここからがいわゆる普通のホスティングサービスでも採用できるかもしれない方法です。ここからはWordPressのプラグインを利用します。</p><p>先に述べたようにクライアント側からリクエストがあった場合、そのリクエストされたURLをWebサーバ側のWordPressが動的に生成します。この動的に生成している部分をMovableTypeのように静的なHTMLファイルとしてキャッシュしておいて、新たなリクエストがあった場合にはそれを送り返しちゃうと。</p><p>このような仕組みを実現できるプラグインはいくつかあるようなんですが、ここでは利用者の多い「<a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a>」と前述のPHPの高速化処理と組み合わせられる「<a href="http://www.w3-edge.com/wordpress-plugins/w3-total-cache/">W3 Total Cache</a>」の2種類を紹介しましょう。</p><p>いずれのプラグインもWebサーバ側で「mod_rewrite」的なURLの書き換え処理ができる環境でないといけないかな、たぶん。なので、サイトを運用する時は安いプランだけじゃなくて、自由度をある程度高くしておいた方が都合が良いのです（笑）。</p><h4>WP Super Cacheのインストールと注意事項</h4><p>では、まずはWP Super Cacheから。iidaのサイトもこれを採用されてる風。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-000s.png" alt="" title="wp-performance-000s" width="450" height="253" class="alignnone size-full wp-image-2902" /><br /> &rarr; <a href="http://ocaoimh.ie/wp-super-cache/">WordPress Super Cache</a></p><p>インストールは、プラグインの公開サイトからダウンロードしてもいいですし、WPの管理画面から直接インストールすることもできます。</p><p>次に紹介するW3 Total Cacheもそうなんですが、これらのプラグインのインストール時には、「wp-config.php」の中の<strong>「define(&#8216;ABSPATH&#8217;〜」の行の前</strong>あたりに以下の記述を追加しなければなりません。</p><p><code><strong>define('WP_CACHE', true);</strong></code></p><p>ついでと言ってはなんですが、あらかじめ「wp-content」のパーミッションを「777」にしておくと、有効化の時とかにいちいちアラートが出てこないので楽です（終わったら755なり、元のパーミッションに戻します）。</p><p>日本語版にインストールすれば日本語で設定項目が出てきますので、特に設定に困ることはないですかね。いくつか設定項目をピックアップしてみます。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-001.png" alt="" title="wp-performance-001" width="450" height="253" class="alignnone size-full wp-image-2904" /></p><p>ま、こんな感じです。<br /> 一番上に「オン」「ハーフオン」「オフ」の切り替えボタンがありますので、そこでWP Super Cacheをの機能をオンにします。あとはWP Super Cacheの基本的な挙動のスイッチがありますので、必要に応じてチェックを入れましょう。</p><p>サイトによっては日本の携帯電話用にサイトをフォーマットしてくれる「Ktai-Style」やiPhone用の「WPtouch」などを利用しているかもしれません。そのような場合は「Mobile device support using」を必ず有効にしておきましょう。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-002.png" alt="" title="wp-performance-002" width="450" height="253" class="alignnone size-full wp-image-2907" /></p><p>WP Super Cacheは生成した静的なHTMLをGzip圧縮して送ることもできるようになっています。これを有効にすれば転送データ量を1/3程度に抑えられますが、必ずしもすべてのサイトでできるとは限りません（と書かれています 笑）。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-003.png" alt="" title="wp-performance-003" width="450" height="253" class="alignnone size-full wp-image-2908" /></p><p>WP Super Cacheで生成される静的なHTMLは「cache」ディレクトリに保存されますので、リクエストがあった場合はそちらにリダイレクトする必要があります。その役目を果たすのが「mod_rewrite」なので、指定された場所にある.htaccessに表示されている内容を追加しましょう。</p><p>設定を変更した場合も何か変わってないかチェックしましょうね。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-004.png" alt="" title="wp-performance-004" width="450" height="253" class="alignnone size-full wp-image-2909" /></p><p>その他、除外するファイルやURIなどは別で設定可能です。あとは、ファイルの有効期限などを設定すれば終わりです。これ以下にもろもろ設定項目が並んでいますが、ほとんど使いませんかね、たぶん。</p><p>以上が、WP Super Cache編でした。</p><h4>W3 Total Cacheのインストールと注意事項</h4><p>W3 Total Cacheは、WP Super Cacheと同様、静的なHTMLをキャッシュしてクライアントに送ることができるプラグインです。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-000t.png" alt="" title="wp-performance-000t" width="450" height="253" class="alignnone size-full wp-image-2903" /><br /> &rarr; <a href="http://www.w3-edge.com/wordpress-plugins/w3-total-cache/">W3 Total Cache</a></p><p>厳密には同じではなくて、より高機能で設定項目も多く、サーバの仕様にあわせて細かくカスタマイズできるのが特徴です。ページのキャッシュだけでなく、Minify化したものやデータベースのキャッシュも保持できたり、CDN（コンテンツ・デリバリー・ネットワーク）の設定までできる優れものなんですね。余談ですが、開発者の人はTwitterでも話しかけてきます（笑）。</p><p>インストールは、WP Super Cacheと同じ手順でおこないます。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-005.png" alt="" title="wp-performance-005" width="450" height="253" class="alignnone size-full wp-image-2910" /></p><p>残念ながらインターフェイスは日本語化されていませんが、「基本設定」「ページのキャッシュ設定」「Minifyの設定」「データベースのキャッシュ設定」「CDNの設定」といったところですね。</p><p>一番上のチェックボックスで機能のオン・オフを切り替えます。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-006.png" alt="" title="wp-performance-006" width="450" height="253" class="alignnone size-full wp-image-2905" /></p><p>こちらのW3 Total Cache、単に静的なページをディスクにキャッシュするだけではありません。ページのキャッシュ、Minifyのキャッシュ、データベースのキャッシュにmemcacheやAPCを使うことができます（それらがなければ、ディスクです、たぶん）。オン・オフは個別に設定できます。</p><p>とある海外サイトのパフォーマンス計測結果によるとページのキャッシュは「Disk（enhanced）」にしておくとより高速化できるといったことが書かれていました。ディスクに溜め込むので、当然mod_rewriteが必要になります。</p><p>うちも長らくWP Total Cacheのお世話になってましたが、先日ふと思い立ってこちらに乗り換えました。現在の設定は、ページキャッシュを「Disk（enhanced）」、Minifyとデータベースのキャッシュを「APC」にしています。memcacheでもしばらく回してみたんですけど、どうにも不安定で結局この設定です。</p><p>で、携帯向けの対応をしている場合に注意点があります。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-007.png" alt="" title="wp-performance-007" width="450" height="253" class="alignnone size-full wp-image-2911" /></p><p>先のKtai-StyleやWPtouchが入っている場合、それらに対してページのキャッシュやMinify化をしない方が無難です。ページキャッシュの設定にある「Rejected User Agents」に除外対象を追加しましょう（※一番下にあるモバイルのUAをまるごとコピペすればいいです）。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-008.png" alt="" title="wp-performance-008" width="450" height="253" class="alignnone size-full wp-image-2906" /></p><p>Minify化したキャッシュも同様。「Minify Setting」にあるリジェクトのところに先ほどの携帯端末のUA一覧を貼り付けておきましょう。ただし、iPhoneやiPod touchに対してはMinify化をかけても問題ないので、それから除外してもオッケイです（ボクの検証結果では）。</p><p>このW3 Total Cacheはかなり細かいところまで手が届くプラグインです。もちろん特定URlの除外やGzip圧縮などもサポートしています。WP Total Cacheに比べてmod_rewriteの記述も少ないですし、自由度の高い環境の方はこちらの方がいいかもしれません。</p><p>ただし、特定サイトのディレクトリ以下に配したマルチブログ的な環境だとうまくいかないかも（というか、うまくいかなかったｗ）。マルチブログ環境については、フォーラムにいろいろ書かれていました（WP次期バージョンに向けてどうこうとか）。</p><p>といった感じでW3 Total Cache編でした。</p><h3>キャッシュできなくても、別の部分を改善する</h3><p>「mod_rewriteとかそもそもなんなの？」とか「使えるかどうかわかんないしー」みたいな方でも、いくつかのプラグインに頼ることでWordPressの表示パフォーマンスは改善可能です（といっても、なんでも入れればいいってわけではない 笑）。</p><p>まずひとつめは、WordPressのプラグインなどに勝手に組み込まれるヘッダ内のJavaScriptなどの位置を変えて高速化を図る方法があります。</p><h4>Head Cleanerで表示速度の改善をする</h4><p>この類のプラグインもまたいくつかありますが、日本発の「Head Cleaner」が一度になんでもかんでも処理してくれるんじゃないでしょうか（ボクは入れたことはないんですが、かなりいろいろできるようです）。もちろんWP Super Cacheなどと併用することもできます。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-000h.png" alt="" title="wp-performance-000h" width="450" height="253" class="alignnone size-full wp-image-2912" /><br /> &rarr; <a href="http://dogmap.jp/2009/02/20/head-cleaner/">Head Cleaner</a></p><p>何故このようなヘッダ内のお掃除が必要になるかというと、複数のJavaScriptの読み込みやscript要素の順番によっては、特定のブラウザでページの構成要素のダウンロードが妨げられたりします。</p><p>なので、複数のJavaScriptやCSSをひとつにまとめてリクエストを減らしたり、改行やコメントを取ってMinify化したりすることで転送量を減らすことができます。また、ページの描画に関係のないJavaScriptなどは&lt;/body&gt;の直前に配置したりすれば、なおよろしと。</p><p>うちは何でもかんでもプラグインに頼るのもなんなので、プラグインの数も抑えてhead要素内に組み込まれるものは手動でまとめています。</p><h4>WP Smush.itで画像を最適化する</h4><p>次にできること。表示速度はページ内に含まれる画像の数にも左右されます。何の気なしにPhotoshopなどで書き出したJPGやPNG画像には実はいらないデータが含まれていることもあります（特にJPG）。アップする画像も実はさらに最適化を施すことでデータ量をガクッと下げることができるんですね。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/03/wp-performance-000w.png" alt="" title="wp-performance-000w" width="450" height="253" class="alignnone size-full wp-image-2913" /><br /> &rarr; <a href="http://dialect.ca/code/wp-smushit/">WP Smush.it WordPress Plugin</a></p><p>「WP Smush.it」は、アメリカのYahoo!の「Smush.it&#8482;」を経由してアップロード画像を最適化してしまうプラグインです。たまにミスることもありますが、その時はあらためて「Re-Smush」すれば大丈夫でしょう。最適化されたかどうかのチェックやRe-Smushは、メディアのライブラリで確認可能です。</p><p>すべての画像が最適化されるわけではなく、必要のあるものだけが最適化されます。JPGなんかはビックリするぐらいデータ量が減るかもしれません（笑）。ちなみにGIFとPNGだったら、PNGの方が軽いです。</p><p>とまぁ、キャッシュできなくても表示パフォーマンスアップのために役立つプラグインが公開されていますので、試してみてはいかがでしょうか。</p><h3>見てくれる人のことを考えてやれることはやりましょう</h3><p>以上で、WordPressのパフォーマンス改善のためのアレコレの紹介は終わります。まぁ、見に来てくれる人のことを考えれば、少しでも速く表示された方がいいわけです（自分だって他見る時そうでしょう？）。幸い、WordPressは仕様のせいもあってかこのようなプラグインが多数公開されています。制作者の方にお礼を述べつつ、使えるものは使ってみるといいかもしれません。</p><p>最後に。この辺の話はまたゲリラ的に<a href="http://ustre.am/4KY">USTREAM</a>で喋る予定です。ここに書いた内容を補足する感じになると思いますが、「文章じゃわかりづらいよ」って方はボクの<a href="http://twitter.com/cipher">Twitter</a>でもリストに入れておいてください（フォローするとうざい 笑）。</p><p><strong>（追記: 2010.03.10）</strong><br /> そういえば、パフォーマンスの計測ツールをご存じない方もいらっしゃるかもしれませんので、こちらで以前紹介していたリストのアドレスをご参考までに。</p><ul><li><a href="http://blog.gaspanik.com/website-performance-check-services">Webサイトのパフォーマンスチェックサービス</a></li></ul><p>新しく一個サービスを追加してあります。</p> ]]></content:encoded> <wfw:commentRss>http://blog.gaspanik.com/wordpress-performance-optimization/feed</wfw:commentRss> <slash:comments>15</slash:comments> <xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.gaspanik.com/wordpress-performance-optimization" /> </item> <item><title>kikinを使って快適ブラウジング？</title><link>http://blog.gaspanik.com/add-socialmedia-plugin-kikin</link> <comments>http://blog.gaspanik.com/add-socialmedia-plugin-kikin#comments</comments> <pubDate>Mon, 15 Feb 2010 18:13:57 +0000</pubDate> <dc:creator>[cipher]</dc:creator> <category><![CDATA[articles]]></category> <category><![CDATA[lifehacks]]></category> <category><![CDATA[scribbling]]></category> <category><![CDATA[addons]]></category> <category><![CDATA[browsers]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[search]]></category> <category><![CDATA[ux]]></category><guid isPermaLink="false">http://blog.gaspanik.com/?p=2866</guid> <description><![CDATA[バンクーバー・オリンピックも始まりまして、夜中から午前中にかけての競技を生で見た方がいいのかどうしようかと迷っていた時、Mashableで「kikin」というブラウザのプラグインというかアドオンが紹介されていました。 で [...]]]></description> <content:encoded><![CDATA[<p>バンクーバー・オリンピックも始まりまして、夜中から午前中にかけての競技を生で見た方がいいのかどうしようかと迷っていた時、<a href="http://mashable.com/2010/02/15/kikin/">Mashable</a>で「<a href="http://www.kikin.com/">kikin</a>」というブラウザのプラグインというかアドオンが紹介されていました。</p><p>で、早速使ってみましたよ。</p><p><span id="more-2866"></span></p><h3>ソーシャルメディア系の結果もあわせて表示しちゃうよ</h3><p>kikinをインストールした後、Googleなどのkikinがサポートしているサイトで検索をすれば、WikipediaやTwitter、YouTube、Facebookみたいなソーシャルメディア系サイトからもそれに関連する項目を引っ張ってくれます。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/02/kikin-001.png" alt="kikin-001" title="kikin-001" width="450" height="253" class="alignnone size-full wp-image-2863" /></p><p>こんな感じで検索結果の上にkikinの窓が登場します。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/02/kikin-002.png" alt="kikin-002" title="kikin-002" width="450" height="253" class="alignnone size-full wp-image-2864" /></p><p>YouTubeを選べば、サムネイルの右下にあるPLAYボタンをクリックしてその場で再生できます。他にもAmazonやらいろいろあります。このkikinの窓を表示するしない、パーソナライズするしないといった設定は、ロゴをクリックして表示されるオプション、またはkikinのWebサイトで変更可能です。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/02/kikin-003.png" alt="kikin-003" title="kikin-003" width="450" height="253" class="alignnone size-full wp-image-2865" /></p><p>日本語で検索しても問題ないようですので、いちいち他のサイトに見るのも面倒だなぁというものぐささんには便利かもしれません（場所取りますけど 笑）。ちなみにChrome版はカミングスーンです。</p> ]]></content:encoded> <wfw:commentRss>http://blog.gaspanik.com/add-socialmedia-plugin-kikin/feed</wfw:commentRss> <slash:comments>0</slash:comments> <xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.gaspanik.com/add-socialmedia-plugin-kikin" /> </item> <item><title>短縮URLについてのアレコレ</title><link>http://blog.gaspanik.com/about-shorten-url-services</link> <comments>http://blog.gaspanik.com/about-shorten-url-services#comments</comments> <pubDate>Fri, 22 Jan 2010 01:42:34 +0000</pubDate> <dc:creator>[cipher]</dc:creator> <category><![CDATA[articles]]></category> <category><![CDATA[lifehacks]]></category> <category><![CDATA[scribbling]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[webservices]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp]]></category><guid isPermaLink="false">http://blog.gaspanik.com/?p=2298</guid> <description><![CDATA[TinyURLの登場以来、長いURLを短縮化するサービスが世の中に一杯溢れています。Twitterのストリームを眺めているだけでも、それはそれはもういろいろあります。 「bit.ly」「is.gd」「cli.gs」「aw [...]]]></description> <content:encoded><![CDATA[<p>TinyURLの登場以来、長いURLを短縮化するサービスが世の中に一杯溢れています。Twitterのストリームを眺めているだけでも、それはそれはもういろいろあります。</p><p>「bit.ly」「is.gd」「cli.gs」「awe.sm」「ow.ly」「am6.jp」、Googleの「goo.gl」にFacebookの「fb.me」、Flickrの「flic.kr」、自分トコのドメインより長いじゃん（笑）というBingの「binged.it」など本当に一杯あります。</p><p>Twitterをやられている方は140文字という制限内で友達にWebサイトを紹介したりもするわけで、そんな時にこのURLの短縮化は非常に役立ちます。Twitterクライアントによっては利用する短縮サービスを選択できたり、HootSuite（ow.ly）のように独自の短縮URLの機能を持ってるものもあります。また、サービスによってはクリック数も確認できますから、つぶやきの反応チェックにも使えます。</p><p>そんなわけで、今日はクリックトラッキングというかアクセス解析の機能が付いたサービスでWordPressのプラグインでも使えるものをいくつか紹介しつつ、「短縮URLはいいんだけどさ…」な話なんかをちょこっとしてみます。</p><p><span id="more-2298"></span></p><h3>WordPressとかと連動してクリック数を見たいなら</h3><p>「<a href="http://bit.ly/">bit.ly</a>（<a href="http://j.mp/">j.mp</a>）」はおそらく今最も使われてるURL短縮サービスではないでしょうか。アカウントを登録しておけば（両方共通）、短縮化したURLのクリック数などを確認することができます。現在Pro版としてより高機能なアクセス解析を搭載したものがβテスト中です。Bookmarkletで簡単にURLを短縮すれば、そのままTwitterにつぶやけて便利です（複数アカウントの使い分けも可）。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/01/shorten-services.png" alt="shorten-services" title="shorten-services" width="450" height="253" class="alignnone size-full wp-image-2339" /></p><p>自分のアカウントのAPIキーを使ってWordPressやTwitterクライアントで短縮化すれば、それもきちんとカウントされます。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/01/shorten-bitly.png" alt="shorten-bitly" title="shorten-bitly" width="450" height="253" class="alignnone size-full wp-image-2336" /></p><p>ホーム画面では、自分経由と第三者経由のクリック数、時系列でのクリック数、国別のアクセス数などが表示されます。ただ、これはいわゆるBotの数も含んでるという話がありました（今はどうかわかりません）ので、実のところの数字は…。</p><p>でもまぁ、安定度ではピカイチですね。</p><p>「<a href="http://cli.gs/">cli.gs</a>」は、Botの数を含まない純粋な人のクリックだけでアクセス解析ができるサービスです。昨年秋ぐらいからサービスの身売り先を探していたりと存続が危ぶまれていましたが、無事に買い取り先も決まって運営されています。このブログでもしばらくの間、Twitterにブログの更新のお知らせを出すときに使ってました。こちらもWordPressのプラグインやBookmarkletから簡単にURLを短縮できます。</p><p>ただ、どうも最近不安定というか、URLの転送自体はうまくいくんですが、自分のアカウントの画面で短縮化されたリストが出たり出なかったりします（笑）。リロードしろとか書かれてるんですが、それでもダメな時はダメで…。アクセス解析の方は、国別のアクセス数なんかが出るのでいいんですけどねえ…。</p><p>その他WordPressプラグインやTwitterクライアントで使えるものに「<a href="http://is.gd/">is.gd</a>」や「<a href="http://tr.im/">tr.im</a>」「<a href="http://awe.sm/">awe.sm</a>」なんかがありますが、今のトコ一番なのはbit.lyかなぁと（※余談ですが、awe.smのブログはクラックされてるような…。JS切って見ると… 笑）。</p><h3>ow.lyとかam6.jpとかに一言…</h3><p>「<a href="http://ow.ly/">ow.ly</a>」は、<a href="http://hootsuite.com/">HootSuite</a>というTwitterクライアントでURLの短縮をおこなうと使われるサービスです（ow.ly単体でもいけますけど）。HootSuite自体が複数アカウントに対応していたりするので、利用されている方も多いようですね。これもWordPressプラグインでも使えたりします。</p><p>「am6.jp」で始まる短縮URLは、<a href="http://feedtweet.am6.jp/">FeedTweet</a>さんのサービス経由で吐き出される短縮URLのドメインとして使われています。国内のいろんなブログサービスから更新のお知らせを出すのに便利なのか、利用されている方も多い感じです。</p><p>でも、なんでこの二つを分けたかというと…。</p><p>「<strong>Webブラウザからリンクをクリックするとツールバーが出てうざい！</strong>」</p><p>Webブラウザでこれらをクリックすると上部にiframeを使ったツールバーが表示されます。これが結構うざい（笑）。そのページをシェアするのには便利かもしれませんが、「閉じる」ボタンを押さない限り中のリンクをクリックしてもずっとつきまとうし、あんまり良くないんじゃないかなぁ…と。</p><p>特にFeedTweetに関しては、iPhoneで見るときに「<strong>am6.jp &rarr; bit.ly &rarr; 元サイト</strong>」みたいな多段のリダイレクトがかかっていくため、タイトルバーがリダイレクトのたびにコロコロ変わって結構うざいんですよ…。</p><p>別にその人がやりたいようにやればいいとは思うんですが、ストレスになる仕様だとその短縮URLで始まるリンクはクリックするのを躊躇します。ほんのちょっとでいいから見る側の環境をちょっと想像してもらうと嬉しいなぁ、ボクは…。</p><p>自動化したい気持ちはわかりますが、更新通知ぐらいなら別に<a href="http://bit.ly/pages/tools">bit.lyのブックマークレット</a>で手動で記事をTweetしてもいいんじゃないかな。タイトルとURLは自動で入るし、テキストを選択してBookmarkletを呼び出せばその部分もコピーされるんだからそんな手間ではないでしょう…。</p><h3>そんな仕様を回避する「iframe redirector」</h3><p>ま、ボクなんかが地球の片隅でうざいうざいと騒いでもどうしようもないんですが、ツールバーの存在が邪魔だと感じてる人はボクだけではないようで、FirefoxのGreasemonkeyで使える「<a href="http://userscripts.org/scripts/show/59863">iframe redirector</a>」というのを公開されている方がいらっしゃいます（多謝）。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/01/shorten-iframe.png" alt="shorten-iframe" title="shorten-iframe" width="450" height="253" class="alignnone size-full wp-image-2337" /></p><p>これを入れておけば、「ow.ly」や「am6.jp」の仕様をすっ飛ばして元のURLにリダイレクトしてくれますので、ツールバーの存在が嫌な方は入れておくとストレスはなくなります（※<del datetime="2010-01-23T10:07:52+00:00">2010.01.18版でam6.jpの仕様変更にも対応したようです</del>2010.01.23版でサイトの仕様変更にも自動対応したようです）。</p><p>うざい仕様は避けて通りましょう（笑）。</p><h3>できれば短縮URLは展開したい…</h3><p>このご時世、短縮されたURLを何の気なしにクリックしたらとんでもないサイトに飛ばされたということも起きなくはありません（そんな時のために、ボクは信用できるトコ以外はJavaScriptオフにしてます）。</p><p>ブラウザのプラグインやユーザースクリプトなどには短縮URLをリダイレクト先のURLに戻してくれるものもありますが、TwitterをWebブラウザから利用されている方は「<a href="http://powertwitter.me/">PowerTwitter</a>」を入れておくとなにげに便利です。</p><p><img src="http://content.gaspanik.com/wp-content/uploads/2010/01/shorten-powertwitter.png" alt="shorten-powertwitter" title="shorten-powertwitter" width="450" height="253" class="alignnone size-full wp-image-2338" /></p><p>ほとんどの短縮URLはデコードされてリンク先のタイトルとかが表示されますので、それが押して良いものかどうなのかの判断がしやすいです。ただ、画像なども展開されて表示されますので、Followerがバンバン画像を出される人は辛いかもしれません…。思わぬ落とし穴に落ちたくなければ入れておきましょう（笑）。</p><p>そんなとこで。では、また。</p><p>あ、そうそう。ボクのソーシャル系のサービス一覧はこちらです。<br /> &rarr; <a href="http://bit.ly/mynameis">http://bit.ly/mynameis</a></p> ]]></content:encoded> <wfw:commentRss>http://blog.gaspanik.com/about-shorten-url-services/feed</wfw:commentRss> <slash:comments>0</slash:comments> <xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.gaspanik.com/about-shorten-url-services" /> </item> </channel> </rss>
<!-- Served from: blog.gaspanik.com @ 2012-02-04 16:03:54 by W3 Total Cache -->
