今後は「schema.org タイプ」のものが推奨されているので、詳しくはこちらを参照してください。
WordPressでschema.org構造化データに対応したパンくずリストの作り方【投稿・カテゴリー用】
WordPressを今年の1月から使い始めたので、もうすぐで6ヶ月になります。
WordPressを使ってみて、なんだかんだで、使いやすいし、楽しいしではまってしまいました。最近では、自分でテーマを作ったりしてみています。
それで、昨日は「パンくずリスト」を作成したので、コピペで利用できるようにして載せておきます。
photo by surlygirl
目次
パンくずリストとは
パンくずリストとは、サイトの階層をユーザーが把握して移動できるようにするための一連のリンク(パンくず)です。
このブログで言えば、ページ上部にあるこんなやつのことです。
こう書くことで、読者に今読んでいる記事の位置を把握してもらうことができます。
それとともに、SEO的にはGoogleの検索結果に以下のように表示されるので、検索ユーザーにも、ページ内容がさらにわかりやすく伝わります。
ちなみに、パンくずリストが設定されていないページの場合は以下のように、ただのURLで表示されます。
このようなGoogleにも認識してもらいやすいパンくずリストを設定するには、リッチスニペット使って非構造化マークアップすることが Googleでも紹介されています。(普通に作成するだけでもGoogleはパンくずリストとして読み取ってくれることもありますが、リッチスニペット使った方が確実です。)
参考 リッチ スニペット – パンくずリスト – ウェブマスター ツール ヘルプ
Google推奨の、マークアップの書き方としては、microdataを用いた方法と、RDFaがあるのですが、今回は、microdataを用いました。
あと、パンくずリストは、「複数パンくずリスト」という手もあるのですが、GoogleのMatt Cutts(マット・カッツ)氏が1つで十分と言っているので1つにしました。SEO的にも複数あっても、最初の一つしか採用しないようですし。
でも1つで間に合うならそれで十分で、ほとんどの人がそうやっているし、それが普通のやり方だ。僕たちも、1つのパンくずリストを勧める。
コピペで使えるパンくずリストの作り方
今回作成した、Wordpressテーマにパンくずリストを載せる方法です。
作成する手順は以下です。
- 手軽に呼び出して何度も使えるようにbreadcrumbs.phpファイルを作成する
- パンくずリストのコードを書く(コピペ)
- WordPressテーマ内からbreadcrumbs.phpをテンプレートとして呼び出す(コピペ)
- style.cssでスタイルを整える(コピペ)
breadcrumbs.phpファイルの作成
これは普通に、「breadcrumbs.php」というファイルを作成します。
パンくずリストのコード
breadcrumbs.phpに以下のコードを貼り付けます。
<?php if (is_single()) { $cat = get_the_category(); if($cat && !is_wp_error($cat)){ $par = get_category($cat[0]->parent); echo '<div id="breadcrumb">'; echo '<div itemtype="http://data-vocabulary.org/Breadcrumb" itemscope=""><a href="'.get_bloginfo('url').'" itemprop="url"><span itemprop="title">ホーム</span></a><span class="sp">></span></div>'; while($par && !is_wp_error($par) && $par->term_id != 0){ $echo = '<div itemtype="http://data-vocabulary.org/Breadcrumb" itemscope=""><a href="'.get_category_link($par->term_id).'" itemprop="url"><span itemprop="title">'.$par->name.'</span></a><span class="sp">></span></div>'.$echo; $par = get_category($par->parent); } echo $echo.'<div itemtype="http://data-vocabulary.org/Breadcrumb" itemscope=""><a href="'.get_category_link($cat[0]->term_id).'" itemprop="url"><span itemprop="title">'.$cat[0]->name.'</span></a></div>'; echo '</div><!-- /#breadcrumb -->'; } } ?>
参考 パンくずの構造化マークアップをしよう | サイトフレームワークノート
WordPressテーマから呼び出す
single.phpやarchive.phpなどから、以下のコードを用いてパンくずリスト(breadcrumbs.phpファイル)を呼び出します。
<?php get_template_part('breadcrumbs'); ?>
スタイルシートの記入
最後にstyle.cssなどに以下のようなスタイルを書き込んで終了です。
/************************************ ** パンくずリスト(Breadcrumb) ************************************/ #breadcrumb{ margin-bottom: 20px; color:#777; font-size:13px; } div#breadcrumb div { display: inline; } #breadcrumb span.sp{ margin:0 10px; } #breadcrumb a{ text-decoration:none; color:#777; }
作成されるパンくずリスト
これで作成されたパンくずリストはこんな感じになります。
HTMLソースはこんな感じになります。
<div id="breadcrumb"> <div itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"> <a itemprop="url" href="http://localhost/wordpress"> <span itemprop="title">ホーム</span> </a> <span class="sp">></span> </div> <div itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"> <a itemprop="url" href="http://localhost/wordpress/category/cat-1/"> <span itemprop="title">カテゴリー 1</span> </a> <span class="sp">></span> </div> <div itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"> <a itemprop="url" href="http://localhost/wordpress/category/cat-2/"> <span itemprop="title">カテゴリー 2</span> </a> </div> </div>
パンくずリストの構造をチェックするには、Google Structured Data Testing Toolなどで行えます。
まとめ
このような、リッチスニペットを使ったパンくずリストは、それさえ使えばアクセスがアップするというものではありません。
けれども、Googleに正確にブログの階層構造を伝えておくのは、良いことはあれ、決して悪いということはないと思います。
WordPressテーマから呼び出す
のコードで”<"が抜けてますよ