要約:WordPressで動的にmetaタグを生成する方法について
SEOといっても、サイトマップXMLの作成やStrictなマークアップくらいしか思い浮かばないlevaです。
もう1つ、metaタグによるSEOなんかも有名でしたっけね。昔からスパマーの餌食になって死亡宣言がとやかく言われているmetaタグですけど、Googleにもその中身を要旨としてよく拾ってもらっているので、一応ちゃんと設定してます。
(例)

metaタグの詳しい説明は神崎さんの解説に譲るとして、とりあえずmetaタグでname属性にkeywordsを設定している場合はページのキーワード、descriptionを設定している場合はページ内容の簡単な説明を書くことになります*1
で、自作スキンの中で、metaタグを生成している部分のコードをちょっと書いておきます。ちょっと変えれば、WordPress以外でも使えるでしょうね。
if (is_home()){ // フロントページの場合
<meta name="keywords" content="情報デザイン,ユーザビリティ,ユーザインターフェイス,インフォメーションアーキテクチャ,Information Design,UI,IA" />
<meta name="description" content=" bloginfo('description'); " />
} elseif (is_single()){ // 単独記事ページの場合
<meta name="keywords" content=" echo getCatList(); " />
if ($post->post_excerpt){
<meta name="description" content=" echo $post->post_excerpt; " />
} else{
$summary = strip_tags($post->post_content);
$summary = str_replace("\n", "", $summary);
$summary = mb_substr($summary, 0, 60). "‥";
<meta name="description" content=" echo $summary; " />
}
} metaタグを付けるのは上記のように一番見られると思われるフロントページ(=ホームページ)と単独記事ページのみです。
前者について、「キーワード」は手動で設定し、「説明」についてはWordPress側の要旨を自動で流用してます。
後者については、「キーワード」はgetCatListという関数をfunctions.phpから呼び出して、キーワードを取得しています、これについては後述。
「説明」については、post_excerpt(管理画面で抜粋 (オプション)って書いてあるヤツですね)を設定している場合はその内容を、していない場合は投稿の先頭60文字をテキストオンリーで流し込みます。しかし、この処理はちょっと重いのが難点。DBに枠を設けるなり、キャッシュするなりしないと、レスポンスにちょっと影響でちゃいますね。
で、さっきのgetCatListメソッドですが、こんな感じです。
function getCatList(){
foreach(get_the_category() as $categories_array){
$list_of_cats .= $categories_array->cat_name.",";
}
$list_of_cats = substr($list_of_cats, 0, -1);
return $list_of_cats;
}ところで、SEOの役目って検索で上位にくるかどうかなんてより、Googleの検索結果が見やすくなるとか要旨があって見通しが良くなるとかそういうコツコツとしたユーザビリティの向上にこそあるんじゃないかなと思うところ、お客さんはGoogleじゃないわけですし。
- 私も最初間違えていたんですが、keywordではなく、keywordsです。[戻る]
- キーワード:




読者のコメント
0件