ブログ

BLOG 2019.12.06AIブログ , ウェブ制作

PHPでSEOのnext、prevを実装する

こんにちは。
AIコミュニケーションの伊藤です。

世はまさに大師走時代。
閑話休題。
いや、まだ本題の話を一切していないですが……。

0からPHP等でコーディングしていると困ること。
普段WordPress等を駆使している場合意外な落とし穴にひっかかったりするものです。
例えばSEOですね。

この大SEO時代、出来る限り多くのオプションをheadの中に閉じ込めてやりたいものです。
SEOなんてとりあえず単純に値を引いてこればいいので楽勝だい!という気持ちがあの頃の私にもありました。
こんなところに魔物が潜んでいるとはつゆ知らず。

その魔物の名は……
「prev」と「next」です。

prevとnextとは

ページネーションが存在するページにおいて、前のページと次のページがどのサイトであるかを示すタグです。
当然、1ページ目にはprevが存在せず、最終ページではnextが存在しないわけで……。
激しい面倒くさそうさが正体を現してきましたね。
とはいえ、ページネーションを作れるぐらいそれなりに作れる貴方だったら、難なく作れるはず。

prevとnextの部分を作ってみよう

さて、面倒そうですが作ってしまいましょう。
prevとnextを作るにあたって必要な情報は、以下の通りです。
・現在何ページ目を閲覧しているか。
・マックス何ページあるか。

というわけで、以下のようなコードになります。

$pagesum → ページ合計数
$pageno → 現行ページ


if($pagesum >= 2){
    //2ページ以上存在するなら
    $prevno = $pageno -1;
    $nextno = $pageno +1;
    if($pageno == $pagesum){
        //現在が最後のページなので、nextを表記せず、prevだけ表記
        $p_canonical .= "";
    }else if($pageno == 1){
        //2P以上存在してかつ現在は1P目なので、prevを表記せず、nextだけ表記
        $p_canonical .= "";
    }else{
        //2P以上存在してかつ最後でない2P目以降なので、prevとnextともに表記
        $p_canonical .= "";
        $p_canonical .= "";
    }
}else{
    //1ページしか存在しないのでcanonicalを表記しない
    $p_canonical .= "";
}

意外とシンプルですね!
ページャーよりは……楽……!

ちなみに

記事を書くにあたって裏取り調査していて知ったのですがGoogleは、prev・nextのオプションを3月に廃止していたらしいです……。

なんじゃそりゃああああああああああああああああああ!
せ、せっかく書いたのに!!

ちなみに、Bing等では依然使われているということなので、削除まではしなくてもいいでしょう。
そして、上記のコードを活用してみてもいいでしょう。

そしてタイミング良いことに、12月にこれに代わるシステムが予告されたとのこと。
移り変わりの激しいSEO業界、今後の動向に注目です。

【参考】rel=prev/nextサポートの終了後のページネーションのベストプラクティスをGoogleが準備中

rel=prev/nextサポートの終了後のページネーションのベストプラクティスをGoogleが準備中

Tweet Share RSS

関連記事