「<!--nextpage-->記法」を使う際の注意点

<!--nextpage-->でページを分割すると、検索エンジンは分割された記事を「重複コンテンツ」として認識してしまうケースが多いようです。

実際に Google Search Console で確認してみると、分割されたそれぞれのページは「別ページ」として認識されているものの、「title」タグや「description」タグが重複しているためにエラー警告が表示されています。

ちなみに「Google Search Console」ですが、これは以前の「ウェブマスターツール」のことです。
現在、厳密には「ウェブマスターツール」という名称のサービスは提供されておらず、「Google Search Console」に名称が改められています。

さて。この「重複コンテンツ問題」ですが、「rel=”next”」と「rel=”prev”」の2つのタグを記述して対応するのがベストな解決策のようです。

下記のコードを <head>〜</head> 内に記述しておくと、ページが分割されたときにだけ「rel=”next”」と「rel=”prev”」が付いた link タグが出力されます。

<?php $pages = count( explode('<!--nextpage-->', $post->post_content) ) ; ?>
<?php if ( $pages > 1 ) { ?>
	<?php if ( $page == $pages ) { ?>
		<?php if ( $page == 2 ) { ?>
			<link rel="prev" href="<?php the_permalink(); ?>">
		<?php } else { ?>
			<link rel="prev" href="<?php the_permalink(); ?>/<?php echo $page - 1; ?>">
		<?php } ?>
	<?php } else { ?>
		<?php if ( $page == 0 ) { ?>
			<link rel="next" href="<?php the_permalink(); ?>/<?php echo $page + 2; ?>">
		<?php } else { ?>
			<?php if ( $page == 2 ) { ?>
				<link rel="prev" href="<?php the_permalink(); ?>">
			<?php } else { ?>
				<link rel="prev" href="<?php the_permalink(); ?>/<?php echo $page - 1; ?>">
			<?php } ?>
			<link rel="next" href="<?php the_permalink(); ?>/<?php echo $page + 1; ?>">
		<?php } ?>
	<?php } ?>
<?php } ?>

試しにページ分割した投稿のHTMLソースを確認すると、以下のようなコードが出力されているのを確認できるはずです。

<link rel="prev" href="http://sample.com">
<link rel="next" href="http://sample.com/3/">

なお、パーマリンク設定の如何によってはコード内のスラッシュの位置を書き換える必要が生じるかもしれません。
このあたりは適当に設定を微調整してください。

以上。
投稿記事を複数ページに分割する「<!--nextpage-->記法」の使い方でした。