WordPressプラグインなし。コード追加のみで構造化データ対策用パンくずリストを表示

2022年6月14日

WordPressパンくずリストとは?

パンくずリストとは、WordPress(または任意のサイト)に関連し、投稿またはページの上部に表示されるナビゲーションリンクとなります。
ユーザーに、現在表示しているコンテンツとつながった上層のカテゴリを表示し、以前に表示したページに簡単に戻る手段を提供します。

検索クローラーにとって非常に大切なパンくずリスト。

WordPressでは便利なプラグインが多くあり、プラグイン依存ではなくコードで操作したい。というケースも少なからずあるかと思います。

※下記コードはトップページにパンくずリストは表示されません

パンくずリストを使いたい箇所で、を挿入するだけで、そのページのパンくずリストが出力されます。

function create_breadcrumb() {
// 
$wp_obj = get_queried_object();
// 構造化データ対応用
echo
'<div class="p-breadcrumb">'.
'<ul class="p-breadcrumb__lists" itemscope itemtype="https://schema.org/BreadcrumbList">'.
'<li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="p-breadcrumb__item">'.
'<a itemprop="item" href="' . home_url() . '">'.
'<span itemprop="name">TOP</span>'.
'</a>' .
'<meta itemprop="position" content="1">'.
'</li>';
// 固定ページ(page-○○.php)
if(is_page()){
echo
'<li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="p-breadcrumb__item">'.
'<a itemprop="item" href="' . home_url($_SERVER["REQUEST_URI"]) . '">'.
'<span itemprop="name">' . single_post_title('', false) . '</span>' .
'</a>' .
'<meta itemprop="position" content="2">'.
'</li>';
}
// カスタム投稿 TOPページ(archive-○○.php)
if(is_post_type_archive()){
echo
'<li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="p-breadcrumb__item">'.
'<a itemprop="item" href="' . home_url($wp_obj->name) . '">'.
'<span itemprop="name">' . $wp_obj->label . '</span>'.
'</a>' .
'<meta itemprop="position" content="2">'.
'</li>';
}
// カスタム投稿 タクソノミー一覧ページ(taxonomy-○○.php)
if(is_tax()){
$post_slug = get_post_type();
$post_label = get_post_type_object($post_slug)->label;
echo
'<li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="p-breadcrumb__item">'.
'<a itemprop="item" href="' . home_url($post_slug) . '">'.
'<span itemprop="name">' . $post_label . '</span>'.
'</a>' .
'<meta itemprop="position" content="2">'.
'</li>'.
'<li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="p-breadcrumb__item">'.
'<a itemprop="item" href="' . home_url($post_slug . '/' . $wp_obj->slug) . '">'.
'<span itemprop="name">「' . $wp_obj->name . '」カテゴリー一覧</span>'.
'</a>' .
'<meta itemprop="position" content="3">'.
'</li>';
}
// カスタム投稿 詳細ページ(single-○○.php)
if(is_singular() && !is_page()){
$post_slug = get_post_type();
$post_label = get_post_type_object($post_slug)->label;
$post_id = $wp_obj->ID;
$post_title = $wp_obj->post_title;
echo
'<li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="p-breadcrumb__item">'.
'<a itemprop="item" href="' . home_url($post_slug) . '">'.
'<span itemprop="name">' . $post_label . '</span>'.
'</a>' .
'<meta itemprop="position" content="2">'.
'</li>'.
'<li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="p-breadcrumb__item">'.
'<a itemprop="item" href="' . home_url($post_slug . '/' . $post_id) . '">'.
'<span itemprop="name">' . $post_title . '</span>'.
'</a>' .
'<meta itemprop="position" content="3">'.
'</li>';
}
// 404(404.php)
if(is_404()){
echo
'<li itemscope itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="p-breadcrumb__item">'.
'<a itemprop="item" href="' . home_url($_SERVER["REQUEST_URI"]) . '">'.
'<span itemprop="name">404 Not Found</span>' .
'</a>' .
'<meta itemprop="position" content="2">'.
'</li>';
}
// 固定出力
echo
'</ul>'.
'</div>';
}

上記以外に表示させたい場合は、ページごとの条件分岐を記述してください。

WordPressパンくずリストの役割とは?

WordPressパンくずリストには3つのタイプがあります。
・階層ベース:このパンくずリストは、上の例のように、ユーザーがサイトの構造においてどこにいるかを示す。
・属性ベース:主にECサイトで使用されるパンくずリストには、ユーザーが検索した属性が表示され、現在閲覧中の商品につながる。
・履歴ベース:ユーザーがサイト内のページを移動するのと連動して、このパンくずリストには前のページに戻るためのリンクが表示。

パンくずリストはSEOの改善にも役立ちます。
パンくずリストは、サイト上のさまざまなコンテンツ間の関係を明確に示す事で、検索エンジンのクローラー、つまり「ボット」がサイトの構造を理解しやすくなります。

結果として、クローラーボットはサイトのページを正確にインデックスする事で、検索エンジンの結果にパンくずリストが表示される事もあり、ユーザーは探している情報に関連するサイト上のコンテンツを包括的に確認できるようになります。

コードが手間の場合やなんらかの理由がある場合はWordPressのプラグインで必ず対応してください。


SHARE

Recent Entries

年末年始休業期間のお知らせ
ページ遷移なし。フォームに条件分岐をつけたい時に便利なプラグイン『Conditional Fields for Contact Form 7』
アクセシビリティにも。おすすめ音声読み上げ埋め込み式プラグイン
飲食店ホームページにおすすめ。店舗ごとに管理権限をもたせ、記事を更新する方法
EC-CUBE(3系、4系)ルミーズ決済プラグインアップデート
htaccessでwwwあり、なしリダイレクト統一方法。httpからhttpsへのリダイレクト方法


CONTACT

Webサイトリニューアルから新規ホームページ制作・運営・保守まで、目的達成を実現いたします。
各種Webサイト・ECサイト制作、広告代行に関するご相談、ご質問などお気軽にお問合せ下さい。

Tel : 03-5324-2318 / Email : info@reinc.jp

各種お問合せはこちらから