問題
PCの検索結果でPC向けトップページ(https://www.rakuten.ne.jp/gold/hogehoge/index.html)ではなく、スマホ向けに作成したトップページ(https://www.rakuten.ne.jp/gold/hogehoge/sp/index.html)が上位に表示されてしまう。
原因
原因はGoogleのモバイルファーストインデックス(MFI)によりスマートフォンページを優先するGoogle検索の仕様の影響です。(検索結果がMFIに切り替わる際、サイトをSearch Consoleに登録していれば通知が来ます)
この場合PCページとSPページを入れ替えること(逆転)で対応できますが、htmlファイルの入れ替えだけでなく具体的にはリダイレクトの設定も修正する必要があります。
現行のリダイレクト
正規URL:https://www.rakuten.ne.jp/gold/hogehoge/
・PCで表示するページ:https://www.rakuten.ne.jp/gold/hogehoge/index.html
・SPで表示するページ(リダイレクト後):
https://www.rakuten.ne.jp/gold/hogehoge/sp/index.html
※”hogehoge”はショップID
対策後のリダイレクト
正規URL:https://www.rakuten.ne.jp/gold/hogehoge/
・PCで表示するページ(リダイレクト):https://www.rakuten.ne.jp/gold/hogehoge/pc/index.html
・SPで表示するページ
URL:https://www.rakuten.ne.jp/gold/hogehoge/index.html
以下設定の流れです。
【!】うろ覚えで書いており、間違いがあるかもしれないので参考程度に閲覧してください。
リダイレクトの設定を間違うとリダイレクトが無限ループする可能性がありサーバーに大きな負荷がかかるため、Web開発者など知識がある方が十分注意して行ってください。
1.現行のリダイレクト設定を削除する
すでにリダイレクト設定していればおそらくPCページのindex.htmlにjavascriptのリダイレクトの記述があるかと思います。(楽天GOLDではhtaccessやphpのリダイレクトは使えない為)
※RMSの「トップページ切替設定」で、スマホTOPページの切り替え設定でindex_sp.htmlが転送先になっている場合はindex_sp.htmlを修正
<!-- 例えば http://www.rakuten.co.jp/gold/hogehoge/index_sp.html -->
<head>
<script>
window.location.href = "http://www.rakuten.co.jp/gold/hogehoge/sp/index.html";
</script>
</head>
上記のような記述があれば削除
2.htmlファイルの置換
PCページとSPページを入れ替える。画像やCSS,JSなどの外部アセットファイルのリンクも修正する。
3.リダイレクト設定(javascript)
入れ替え後のSPページのhead内にリダイレクトの記述を行う。var ua = window.navigator.userAgent.toLowerCase(); var os = platform.os.toString().toLowerCase(); //OSを判定し、PCのOSであればPC用ページへ転送 if (os.indexOf(“windows”) !== -1 || os.indexOf(“mac os x”) !== -1 || ua.indexOf(“msie”) !== -1 || ua.indexOf(“trindent”) !== -1) { location.href = ‘http://www.rakuten.co.jp/gold/hogehoge/pc/’; } 従来どおりユーザーエージェント(agent.indexOf())でのブラウザで判定でも問題ないですが、OSでの判定の方が正確かと思い今回platform.jsにお世話になりました。
4.カノニカルの設定
PCページはSPページと類似しており、正規URLではないのでSearchエンジンからペナルティを受けないようにhead内に正規ページのURLを指定しておく必要があります。(重複した URL を統合する – Search Consoleヘルプ)
<!-- http://www.rakuten.co.jp/gold/hogehoge/pc/index.html -->
<head>
<link rel="canonical" href="http://www.rakuten.co.jp/gold/hogehoge/">
</head>
5.動作確認
PCやスマートフォン、タブレットなど実機デバイス、対象ブラウザにて動作確認を行ってください。(ブラウザのinspectorのモバイルエミュレーションは転送動作が不正確なので非推奨)
6.インデックス再登録の申請
サイトマップファイル(sitemap.xml)がサーバーにあれば内容を更新。
その後Search Consoleにてインデックスの再登録(申請)してください。
7.検索結果の確認
1週間ほどすると正規URLが上位の検索結果に無事反映されていました。