読者です 読者をやめる 読者になる 読者になる

「たった一行追加するだけでサイトの滞在時間を13.8%伸ばす方法・・・」をMTで実装する方法

MovableType tips

食べるラー油デビューしました。ago@kyo_ago)です。

たった一行追加するだけでサイトの滞在時間を13.8%伸ばす方法・・・を参考に弊社デザイナーブログへ「n分で読めるよ!」表示を追加してみたのでその方法を紹介したいと思います。

ブログ自体はMTで作られているため、この機能もMTの標準機能で実装しています。

具体的な記述は以下の通りです。

<MTSetVarBlock name="body_count"><$mt:EntryBody count_characters="1"$></MTSetVarBlock>
<MTSetVarBlock name="body_count" op="+"><$mt:EntryMore count_characters="1"$></MTSetVarBlock>
<$MTGetVar name="body_count" op="/" value="800" regex_replace="/^(\d+).*$/","$1分で読めるよ!" regex_replace="/^0/","1分で読めるよ!"$>

実装方法としてはmt:EntryBodyにmt:EntryMoreの文字数を加算したあと、800で割って小数点以下を切り捨てています。

また、<$mt:EntryBody count_characters="1"$>は<$mt:EntryBody remove_html="1" count_characters="1"$>のように記述することでhtmlを含めない文字数を計算できますが、今回はhtmlを含めた方が感覚に近い数字になったためあえて指定しませんでした。

他に、1分以上の場合切り上げ、1分以下の場合「1分で読めるよ!」と表示するようになっています。
(正規表現で切り分けています)

1分=800文字としている理由は、元々「日本人の平均読書速度は1分間に400~600文字程度」という情報を元にhtmlや改行、空白等を考慮して何となく決めてみました。

カヤックではとりあえずやってみる技術者も募集しています!