ネットの海の漂流者

インターネット上で話題になっている問題を検証しています。

*

wordpressのRSSにはてな記法を適用させました

   

僕ははてなダイアリーで長い間ブログを書いていたので、はてな記法を愛用している。wordpressの場合
-WP HatenaNotation
というプラグインを使えば、はてな記法を使って記事を書くことができる。
しかしこのプラグインで使えるこのはてな記法はデフォルト状態ではRSSには反映されない。そのためフィードがとてもみにくくなっていた。

その辺をどうにかしようとして、色々ググったところ、wp-content/themes/自分の使用しているテーマ/functions.phpに以下のコードを加えると良いことがわかった。
add_filter( 'the_excerpt_rss', 'mytheme_the_excerpt_rss' );

function mytheme_the_excerpt_rss( $out ) {
if ( mb_strlen( $out ) > 100 )
$out = mb_substr( wphn_render($out), 0, 250 ).'[...]';
return $out;
}


変更の結果、rssに改行やリストタグ等が反映されるようになった
**参考
-WordPressにはてな記法を導入するプラグインを作った – Rewish

圧倒的少数だと思いますが、the_content()を使わずに記事を出力している場合は、wphn_render()関数に、はてな記法文字列を渡して利用することが出来ます。

WordPressにはてな記法を導入するプラグインを作った – Rewish

-RSSフィードの抜粋をさらに抜粋:WordPress私的マニュアル

 - wordpress

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  関連記事

socialb3
ソーシャルボタンをどうするべきだろうか

記事上のソーシャルバーをどのようなデザインにしようか悩んでいる。
**記事上ソーシャルボタンの機能
ノウハウ系の記事でやまとめ記事などは、記事上にソーシャルボタンを配置しているか否かでソーシャルメディア上での拡散度に結構な差が出てくることが時々ある。
その手の記事を必要とする人には忙しい人が多く、「全部読まないと登録できない」ような設計だと、取りこぼしが出てきてしまう。
要するにこの位置のソーシャルボタンはこれは「面白そうだ」と思った人が「後で読む」ために使うことが期待されているのだ。
(これに対して、記事下のソーシャルボタンは、「全部読んだ人が」「面白い」と思った時に使うためのもの、という意味合い)
**忙しい人のための機能だから。
記事上ソーシャルボタンは忙しい人が使うわけだから、ひとめで場所が分かり、クリックしやすいことが大切だ。
現在このブログの記事上ボタンは、「設置場所の背景色を変えて強調」「一箇所にまとめる」「公式ボタンやそれに近いデザインのものを使用し、パッと見で目的のボタンを見つけやすくする」というようなことを考えて以下のような配置になっている。

今日はこれを、もっと大きくて分かりやすいものに変えるべきではないのか?ということを考えていた。具体的には以下のようなものに差し替えるべきではないのかと悩んでいた。

ちなみに、このソーシャルボタンは
-Css Gradient Button – create css button
というジェネレーターで作ったものだ。
CSS3のみで実現できるので、現在のものと差し替えた場合、CPU負荷が軽減され、ページが軽くなる可能性もある。
ただし、画像を使わなかった場合、はてなブックマークのbotあたりがこのボタンを本文の一部とみなしてしまい、はてブのエントリーページの頭が「B! -はてなブックマーク-つぶやく -Twitter- いいね! -Facebook-」みたいな感じになってしまい、ちゃんと計算して作った書き出しと比べて、読者の興味を引く効果が弱まってしまう可能性がある。
スクリーンショットを撮影し、画像ファイルを作ったほうが効果が高いかもしれない。
この辺、なにが最適なのか難しいところであろる。

speedup
ロリポップレンタルサーバーでWordPress高速化

(注)このブログは現在ロリポップから さくらのVPS
に移転しています。結局サーバー移転が一番効果的でした。


Googleさんに、全体の 94% にあたるサイトよりも遅い読み込み時間です。と怒られたので、WordPressの最適化を行いました。

これらの処理がどの程度効果があるかというところですが、WordPressを新規で二つインストールし、Before Afterで表示速度を比較してみると以下のとおりになります。
|*サイト|Average|Median|StdDev|
|*デフォルト|1.28|0.56|1.42|
|*改善後|0.63|0.47|0.29|

**php.iniの設定をする

***PHP アクセラレーターを導入します。
APC eAccelerator、XCacheなどのPHPアクセラレーターを導入すると表示速度が早くなることがあります。

ロリポップの場合、2011年03月からAPC(Alternative PHP Cache)に対応しました。
管理画面→PHP設定から簡単に設定できます。

PHPのバージョンを5.3にした後、pc.enabled apc.enable_cli を1に設定します。

**コンテンツをキャッシュ
WP Super Cacheをオンにしました。
キャッシュが効いている時と効いていない時では、表示速度に倍近い差があるので、有効だと思われます。

**DB問い合わせをキャッシュ
DB Cache Reloaded Fixを導入しました。
DBのクエリをキャッシュ。

**画像を最適化
WP Smush.it

投稿画像を軽量化するプラグインです。過去に投稿した画像も最適化できます。
総転送量を抑えることで表示速度を改善します。

**cssの最適化
Page Speedを使うと、cssを最適化できます。

これをテーマのstyle.cssと差し替えました。
このツールはコメントを全削除するのですが、WordPressの場合、style.cssの先頭にあるコメント群を消すとエラーが出るので、以下の部分は残しておく必要があります。
/*
Theme Name
Theme URI:
Description:
Author:
Author URI:
Version:
Tags:
*/

**ヘッダの最適化
Head Cleaner
とりあえず、CSSを前に、jsを後ろに移動するだけで、コンテンツの表示が随分マシになりました。

**以上の処理をした結果。
表示速度が平均11秒から3秒まで改善されました。
ただし、月額200円の格安共有サーバーなので、一日数万アクセス来る日はあれなことになりますけど、それは仕方が無いところ。
ロリポップはPHPがSafe Mode「ではない」とか、APCが2ワンクリックで導入可能とか、この価格帯としては随分マシな部類かなと思います。
Core Serverあたりでこの辺のカスタマイズしようとすると、色々面倒ですしね。

-ロリポップ!