本文へスキップ

COLUMN

SEO・検索対策

ページネーションのSEO対策|うちのcanonicalは2ページ目から14ページ目を全部消していた

9月4日にサーチコンソールの数字を洗っていて、妙な引っかかりに気づいた。
お知らせ一覧の2ページ目から14ページ目まで、canonicalタグの値が軒並み同じURLを指していたのだ。
本来ならそれぞれのページ送りURLを指すはずのタグが、なぜか揃って1ページ目の /news/ を指していた。

canonicalタグが一覧ページで果たす役割

canonicalは「このページの正規URLはここです」とクローラに伝えるためのタグで、似た内容の複数URLを1つに集約する働きを持つ。
商品一覧やブログのカテゴリページのように、並び替えや絞り込みで同じ内容がいくつものURLで表示されてしまうサイトでは、このタグが評価を一本化する要になる。
一覧ページのページ送りでは、2ページ目には2ページ目自身のURLをcanonicalとして出すのが原則になる。
ここを誤って1ページ目に集約してしまうと、Googleからは「2ページ目は1ページ目の複製です」という申告に見えてしまい、2ページ目以降は評価の対象から外れやすくなる。
ページ送り自体は昔からあるSEOの論点だが、実装の細部を間違えるとタグが正反対の意味を持ってしまう、という点が厄介なところだと思う。

うちのCMSで実際に起きていた不具合

コアの正規URL生成関数は、パス部分だけを組み立ててクエリ文字列を丸ごと捨てる作りになっていた。
そのため /news/?pg=2 から /news/?pg=14 まで、ページ送りのURLをいくら変えてもcanonicalの出力は常に /news/ のままだった。
13ページ分の情報が、検索エンジンから見ると1ページ目の複製として扱われていたことになる。
お知らせは日次で投稿を増やしているサイトなので、ページ数はこの先も伸び続ける。
直さずに放置していたら、増えるページの分だけ評価対象から漏れ続ける計算になっていた。

気づけたのは1ページ目だけを見なかったから

普段の点検ではトップページや主要な固定ページのソースを見て終わりにしがちで、一覧の2ページ目まで実測することはなかった。
9月4日の診断で、公開から7週間のオーガニック流入がまだ40件程度、Googlebotのクロールも1日あたり3〜6ページしか来ていない実態を洗い直していたときに、ためしに一覧の2ページ目を直接開いてソースを確認した。
そこで初めて、canonicalが1ページ目に固定されている状態に気づいた。
数字が伸び悩んでいる原因を探る過程で偶然見つかった不具合で、狙って探し当てたわけではない。

修正と本番反映までの流れ

原因はコア側の正規URL生成ロジックにあったため、コアのバージョンを上げて修正し、配布ツールで各案件へ届く形にした。
このサイトにはバージョンを待たず外科的パッチとして先行適用し、本番反映後にあらためて2ページ目から14ページ目まで1つずつソースを取得し、canonicalの値がそれぞれのページ自身のURLになっているかを実測で確認した。
修正して終わりにせず、直った後の姿を自分の目で数ページ分見て回るところまでをセットにしている。

一覧ページを持つ機能ほど同じ罠にはまりやすい

この一件で持ち帰った教訓は、1ページ目だけを見て安心してはいけないということに尽きる。
お知らせ一覧に限らず、導入事例や検索結果、FAQのようにページ送りを伴う一覧はどれも同じ構造の罠を抱えている。
1ページ目のソースがどれだけきれいでも、2ページ目以降を実際に開いて確かめるまでは、その一覧が正しく評価対象になっているとは言い切れない。
点検の対象を「トップページと主要な固定ページ」だけに絞っていると、ページ送りのような機械的に量産されるURL群はどうしても後回しになりやすい。
量産されるページほど、1件ずつ見るのではなく仕組みで確認する必要があるのだと、今回の件であらためて思い知った。

このサイトの一覧ページやディレクトリ構造がどう組み立てられているかは、
サイト構造(ディレクトリ)管理の機能でまとめて管理している。
ページ送りのURLがどこまで正しく評価されているか、気になった方は自分のサイトの2ページ目も一度開いてみてほしい。

まずはお気軽にご相談ください。

自由なデザインと、迷わない運用を。
Container で始めませんか。

WordPress・独自CMSからの移行もご相談ください。お客様のサイト規模・運用体制に合わせて個別にご提案します。