さくらのブログのmeta descriptionを書き換えた

2016年7月13日

当初はページごとに適切な説明文を入れる方法が思いつかなかったのでmeta descriptionを削除していましたが、keywordの値を反映することで対応できたのでその方法を書きます。

※もともとQiitaに書いていた内容を移植しました。

各ページのdescriptionの内容がほとんど同じ問題

オリジナルは「記事タイトル+ブログの説明」が表示されるので、descriptionの大半が同じ内容になってしまう。記事タイトルなんか<title>タグに入ってるしなぁ。。。

<meta name="description"
  content="<% if:extra_title %>
  <% extra_title | nl2br | tag_strip | remove_emoji  %>,
  <% /if %>
  <% blog.description | nl2br | tag_strip | remove_emoji %>" />

一応何をやっているかを書いておくとこんな感じ。

  • 記事タイトル(extra_title)がある場合のみ記事タイトルを表示
  • ブログの説明(blog.description)を必ず表示



カスタムにチャレンジ

で、さくらのブログはSeesaaブログの従来のデザインと同じみたいなのでSeesaaブログで使える変数を参考にいじってみた。

<meta name="description"
  content="<% if:extra_title %>
  <% extra_title | nl2br | tag_strip | remove_emoji  %>,
  <% /if %><% article.body | tag_strip | oneline | shorten(160) %>" />

ブログ本文(article.body)にはイントロ部分だけ書いて、続きの内容を追記部分(article.body_more)に書いているのでうまくいくかと思ったのだけれど、生成されたhtmlコードを見るとなんかエラー出てる

<meta name="description" content="ERROR: NOT PERMITED METHOD: body " />

途方に暮れてmeta descriptionをコメントアウトしました。(´・ω・`)

keywordを表示してみた

途方に暮れていても仕方ないので、meta keywordの内容と統合してみた。

<meta name="description"
  content="<% if:extra_title %>
  <% extra_title | nl2br | tag_strip | remove_emoji  %>,
  <% /if %>
  <% extra_keywords | oneline | tag_strip %>
  <% blog.keywords | oneline | tag_strip | __or__ | blog.title | oneline | remove_emoji | tag_strip %>" />

keywordなら記事の投稿別に自由に書き換えられるからね。やっていることはこんな感じ。

  • 記事タイトル(extra_title)がある場合のみ記事タイトルを表示
  • 記事キーワード(extra_keyword)を表示
  • ブログキーワードかブログタイトルを表示(?)

とりあえずこれで検索結果に表示される記事の説明が個別に書き換わるはず。