【WordPress】トップを固定ページにした際の2ページ目以降でステータス404を返す方法
naouniverse.com は、WordPressで構築しています。
そして、トップページ(https://naouniverse.com)はhome.phpを使用、ブログのトップ(https://naouniverse.com/blog)はpage.php内に条件分岐させてコーディングしています。
そう、トップを固定ページにしているのです。
そこで最近気づいたコトがひとつ。
ブログ記事が増えるごとに、home.phpに2ページ目以降が存在しているという、由々しき問題が。
https://naouniverse.com/page/2 でアクセスできてしまう・・・
これ、通常のWordPressブログでは何ら問題は無い(と思う)のですが、当サイトのようにトップページを完全固定で表示させたい場合はページの重複が起こり、SEO諸々の観点からよろしくない(はず)です。
どげんかせんといかん、ということで以下の様な対処をしました。
2ページ目以降でステータス404を返す
はい、読んで字の如くですが、2ページ目以降でステータス404を返します。
functions.php内に、下記の記述を追加しました。
<?php add_action( 'template_redirect', 'status404' ); function status404() { if (is_home() && is_paged()){ global $wp_query; $wp_query->set_404(); status_header(404); } } ?>
home.phpで且つ2ページ目以降ではステータス404を返しますよ~という感じです。
プレビューしてみると・・・↓
上手く機能しているようです。
よかった・・・
あとがき
この問題を認識した当初は、Apacheの設定ファイル .htaccess(ドットエイチティーアクセス)内の記述とかいろいろ試したのですが、うまくいかず。
上記のfunctions.php内に記述する方法が無難のようです。