【WordPress】トップを固定ページにした際の2ページ目以降でステータス404を返す方法

【WordPress】作成者/投稿者アーカイブを作らない方法

naouniverse.com は、WordPressで構築しています。
そして、トップページ(https://naouniverse.com)はhome.phpを使用、ブログのトップ(https://naouniverse.com/blog)はpage.php内に条件分岐させてコーディングしています。

そう、トップを固定ページにしているのです。

そこで最近気づいたコトがひとつ。
ブログ記事が増えるごとに、home.phpに2ページ目以降が存在しているという、由々しき問題が。

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を返しますよ~という感じです。

プレビューしてみると・・・↓ステータス404を返しますよ

上手く機能しているようです。
よかった・・・

あとがき

この問題を認識した当初は、Apacheの設定ファイル .htaccess(ドットエイチティーアクセス)内の記述とかいろいろ試したのですが、うまくいかず。

上記のfunctions.php内に記述する方法が無難のようです。

  • このエントリーをはてなブックマークに追加

『naouniverse.com』では、管理人が気になるモノ・コト・セカイについて、つらつらと書いています。
ガジェット・カメラ・デザイン・プログラミング・L'Arc~en~Cielなどなど・・・