Site Overlay

【ワードプレスのSEO】自動更新サイトマップの作り方

【プラグインを使わない】【一度作れば放置OKの自動更新】【サイトのSEOに必須】のサイトマップを作る方法を紹介します。

サイトマップって何?

サイトマップは、サイトの目次のようなもの。本に目次があるとユーザーが、本を読む前にだいたいの内容が把握できるように、検索エンジンがサイトにどんな情報をあるか簡単にクロールできるようにするためのもの。テクニカルSEOと言われる分野ですが、比較的簡単にでき、SEOに大きなプラスとなるので、サイトを作成するなら、子テーマ作成同様、まず最初にやるべき項目です。コピペできるコードも記載しています。

自動更新サイトマップの設置方法

サイトマップ用固定ページを作る

まず、最初にサイトマップを表示させるサイトマップを作成します。固定ページを新規追加し、サイトタイトルは「サイトマップ」、パーマリンクは「sitemap」、内容は空欄のままで構いません。

サイトマップを表示させるファイルを作る

サイトマップを自動生成するテンプレートファイルを作成します。以下のコードをコピペし、「sitemap.php」として、現在使っているテーマフォルダの「style.css」と同じ階層にアップロードします。


<ul id="sitemap">
<!– HOME –>
<li><a href=""></a></li>

<!– 固定ページ –>
<?php wp_list_pages('title_li=&exclude='); ?>

<!– 投稿(カテゴリー単位) –>
<?php
$categories = get_categories('parent=0&exclude=');
foreach($categories as $category) :
?>
<li><a href="<?php echo get_category_link( $category->term_id ); ?>"><?php echo $category->cat_name; ?>
<span class="total-number">(全<span class="total-number2"><?php echo $category->count; ?></span>記事を見る)</span></a>
<ul>
<?php
$categorylist = array(
'cat' => $category->cat_ID,
'posts_per_page' => 2,
'post__not_in' => array(),
);
?>
<?php
query_posts($categorylist);
if (have_posts()) : while (have_posts()) : the_post();
?>
<li><a href=""><?php the_title(); ?></a></li>
<?php endwhile; endif; wp_reset_query(); ?>
</ul>
</li>
<?php endforeach; ?>

</ul>


固定ページに読み込むショートコードを作る

アップロードしたテンプレートファイルを作成した固定ページに表示させるショートコードを作るため、以下のコードをfunctions.phpにコピペします。


function site_map() {
ob_start();
get_template_part('sitemap');
return ob_get_clean();
}
add_shortcode('site-map', 'site_map');


ショートコードを固定ページに記載

最初に作成した固定ページの本文に、ショートコードを呼び出す[****]をコピペします。****の中にはsite-mapと書いてください。HTMLで編集してください。これで基本の実装は完了です!  

サイトマップのカスタマイズ

上記の基本設定でサイトマップは表示され、記事の更新や削除も自動的に反映されるので、最初にやってしまえば、放置しても大丈夫です。

特にサイトマップに表示させる必要のない情報(例えば、サイトマップページとか)など、特定の記事を表示させないようにしたい場合や、デザインをCSSでカスタマイズしたい、記事の表示順などを変更したいなども可能です。追って更新します。