※記事内に商品プロモーションを含む場合があります
今まで、PS Auto Sitemapというプラグインを使ってサイトマップを表示させていました。
記事数が多く、1200記事を超えているので1ページに張るリンクの数としては大きく
ページを分けるなどの対策がそろそろ必要になります。
そこで今回は、サイトマップに
カテゴリー一覧とアーカイブ(年月)別を表示させる事でサイトマップとする事
にしました。
コピペでOK、固定ページにカテゴリーとアーカイブ一覧を表示する方法
今回は固定ページにカテゴリーとアーカイブを表示させます。
固定ページだと固定ページテンプレートが使えるので固定ページ内でphpによる
WordPress関数などが使えます。
基本的な方法は、このキーワードサジェストツールと同じです。
【関連】WordPressの固定ページにキーワードサジェストツールを設置してみた
まずは固定ページpage.phpをコピーしてファイル名を変更します。
固定ページテンプレートを有効にするには、固定ページのスラッグに合わせて
ファイル名を変更します。
いじって楽しむブログのサイトマップを例にすると
スラッグはsitemapsなので
固定ページテンプレート名はpage-sitemaps.phpとなります。
固定ページテンプレートの編集
固定ページテンプレートの編集はWindowsならサクラエディタなどのエディタを
使って編集してください。(Windows標準のメモ帳・notepad.exeはダメ)
この固定ページには何も表示されていませんが、
何か追加したい時にWeb上から編集できる様に本文部分は残しておきます。
今回は、本文の上にサイトマップを表示させたいので
<?php the_content(); ?>の直上に入れる事にしました。
賢威だと<!–本文–>と注釈もあるので分かりやすいです。
サイトマップ用のコード
記事数が多いのでカテゴリー・年月別のアーカイブ一覧を表示します。<br />
<h3>カテゴリー別</h3>
<?php $args = array(
‘show_option_all’ => ”,
‘orderby’ => ‘name’,
‘order’ => ‘ASC’,
‘style’ => ‘list’,
‘show_count’ => 1,
‘hide_empty’ => 1,
‘use_desc_for_title’ => 1,
‘child_of’ => 0,
‘feed’ => ”,
‘feed_type’ => ”,
‘feed_image’ => ”,
‘exclude’ => ”,
‘exclude_tree’ => ”,
‘include’ => ”,
‘hierarchical’ => 1,
‘title_li’ => 0,
‘show_option_none’ => __( ‘No categories’ ),
‘number’ => null,
‘echo’ => 1,
‘depth’ => 0,
‘current_category’ => 0,
‘pad_counts’ => 0,
‘taxonomy’ => ‘category’,
‘walker’ => null
); ?>
<?php wp_list_categories( $args ); ?>
<h3>アーカイブ(年月別)</h3>
<?php
$args = array(
‘type’ => ‘monthly’,
‘limit’ => ”,
‘format’ => ‘html’,
‘before’ => ”,
‘after’ => ”,
‘show_post_count’ => true,
‘echo’ => 1,
‘order’ => ‘DESC’
);
wp_get_archives( $args );
?>
さよならPS Auto Sitemap
記事が少ないサイトやブログの場合、PS Auto Sitemapの方が良いと思います。
このブログは1200記事を超えたのでサイトマップを変更しました。
このサイトマップだとアーカイブにもリンクジュースを分配しますが
インデックスされるとカテゴリーと重複コンテンツとみなされる可能性があるので
アーカイブにはnoindexタグを設定しておくと良いと思います。
【関連】アーカイブにnoindex,follow metaタグを入れた
カテゴリーとアーカイブにはWordPressの関数を使用しました。
変更やカスタマイズなどはこちらが参考になると思います。
【関連】テンプレートタグ/wp list categories – WordPress Codex 日本語版
【関連】テンプレートタグ/wp get archives – WordPress Codex 日本語版
動作確認はWordPress 4.1でしています。