So-net ブログの meta description 修正(1回目)

So-net

So-net ブログのテンプレートでは全てのページで同じ meta description が設定されています。 SEO 的にあまり良くないと思い、修正してみることにしました。

ウェブマスター ツールで HTML 診断

Google のウェブマスター ツールでは HTML の診断が出来ます。このブログの診断をしてみると meta description が多数重複していました。

So-net ブログでは記事ページの時はてっきり記事の内容が表示されると思っていましたが Google で検索してみると記事ページにも関わらずブログの説明が使われているものがいくつかありました。テンプレートを確認してみると特にそういった配慮はされておらず、単純にブログの説明を出力するだけの設定のようです。

<meta name="description" content="<% blog.description | nl2br | tag_strip %>" />

<% blog.description %> というのはブログの説明を出力する変数ですが全てのページで固定になっているんですね。meta description でページの質が下がるとかそういったことは無いと思いますが、検索結果に記事本文が出ていた方が検索ユーザーにはわかりやすいですよね。

description って設定しないとだめなもの?

ウェブマスター ツールのページでは以下のように解説されています。「検索結果に大打撃を与えるわけではないけどきちんと設定しておいた方がアクセス数が伸びるかもしれない」という感じでしょうか。検索からのアクセス数をチェックして伸び悩んでいるなら修正してみる価値はありそうです。

メタデータ (descriptions) を記述することで、ユーザーが検索結果ページでサイトのコンテンツの内容を確認できるようになるため、サイトへのアクセスにつながります。

So-net ブログの meta description をカスタマイズする

まず、ページによってどのように出力させるかを考えましょう。私が考えたのは以下の3パターン。

  1. トップページには管理画面で設定したブログの説明を適用する
  2. 記事ページでは記事本文を description に適用する
  3. それ以外は meta description を生成しない

条件分岐に必要な変数

これらの条件をつくるために「トップページ」「記事ページ」を切り分けられるコードを用意します。今回の条件分岐で使用する変数は以下の2つです。

<% if:page_name eq 'index' %>〜<% /if %>
トップページの時に「〜」を出力します。
<% if:page_name eq 'article' %>〜<% /if %>
記事ページのときに「〜」を出力します。

記事本文の出力に必要な変数

記事本文を出力する変数はいくつか種類があり「記事本文」、「追記分」、「記事本文と追記分」などがあります。今回は「記事本文と追記分」を使います。

<% article.entire_body | tag_strip | oneline | shorten(240) | html %>
記事本文と追記分を出力します。関数オプションは「タグの削除」「改行の削除」「文字数 240byte まで」「html エンティティ」です。

タグの組み立て

今回の「トップページではブログの説明、記事ページでは記事本文」という条件で HTML を組むと以下のようになります。もっと短く組むことも出来ますが複雑に見えてしまうため今回は簡単に書いています。

<% if:page_name eq 'index' -%>
<meta name="description" content="<% blog.description | nl2br | tag_strip %>" />
<% /if -%>
<% if:page_name eq 'article' -%>
<meta name="description" content="<% article.entire_body | tag_strip | oneline | shorten(240) | html %>" />
<% /if -%>

記事ページのみをカスタマイズする場合

記事ページのみ meta description を変更したい場合は以下のように組みます。

<% if:page_name eq 'article' -%>
<meta name="description" content="<% article.entire_body | tag_strip | oneline | shorten(240) | html %>" />
<% else -%>
<meta name="description" content="<% blog.description | nl2br | tag_strip %>" />
<% /if -%>

HTML 編集ページにあるプレビューでは記事タイトルがエラーで出力されますが実際の記事ページではきちんと出力されます。

カスタマイズ前とカスタマイズ後の違い

トップページと記事ページのメタタグの変化を確認してみました。左がトップページで右が記事ページです。

ブログのアクセス数に影響が出る可能性もありますのでカスタマイズはご自身の判断で行なって下さい。