ある日、とあるFutureShopのストアが
オーガニック検索結果でサイトトップページがアクセスできなくなっていた。
検索結果上のサイトタイトルをクリックすると以下の画面になる。
この文面を見ると、「リダイレクト」だの「Cookieを削除」だのと書いているが、この事象にあたったエンジニアの方、大丈夫です。
「リダイレクト」も「Cookieを削除」も本質的にはこの事象の原因ではないです。
僕も見たときにあせりましたが、これはGoogle Merchant Centerでの設定で”自動広告タグ”をオンにしているためでした。
(広告設定は別の会社での管理だったので、それを修正していただくことで無事アクセスできるようになりました)
本件では、自然検索でのストアトップページのリンク先が
https://www.[FutureShopのストアのドメイン]/?srsltid=hogehoge....
(”hoge”の部分は実際はランダムな文字列)
となっており、クエリが付く前にindex.phpというパスがないことが原因です。
FutureShop×Wordpressの仕様では、こういうときにindex.phpというパスがないとこうなります。
ただし、index.phpは普段は表示されないように、
https://www.[FutureShopのストアのドメイン]
でアクセスしたときに、内部で
https://www.[FutureShopのストアのドメイン]/index.php
にリダイレクトされるようになっている。
この謎のタグ一体どっからでてきたもの??と思い、調査したところ、このクエリ”srsltid
“パラメータは、販売事業者向けのコンバージョン トラッキングを可能にするために、Merchant Centerの「自動タグ設定」機能として追加されたものでした。
この不具合を引き起こしているのは、
https://www.[FutureShopのストアのドメイン]/?srsltid=hogehoge....
のように、Google Merchant Centerでの設定で”自動広告タグ”をオンにしているために、
index.phpが入っていないためです。
index.phpを入れた
https://www.[FutureShopのストアのドメイン]/index.php?srsltid=hogehoge....
と打ち替えると、正常にサイトはアクセスできます。
なお、本件のストアでは、「Google広告」のほうでは
https://www.[FutureShopのストアのドメイン]/inde.php?utm=hogehoge....
と、(”utm”以降がGoogle広告のパラメータ)なっており、
こちらはこれまで通り正常にアクセスできている。
以下、Goolge Merchant Center公式のヘルプページでも
一部のウェブサイトでは、任意の URL パラメータが許可されないため、自動タグ設定がオンになっているとエラーページが表示される場合があります。これについて確かめるには、ウェブ デベロッパーにお問い合わせいただくか、ご自身の広告をクリックしてテストしてください。サイトへのリンクが適切に機能する場合は、自動タグ設定を使用できます。エラーが発生した場合は、Merchant Center アカウントで自動タグ設定を無効にする必要があります。
と記載されている。
https://www.[FutureShopのストアのドメイン]/?srsltid=hogehoge....
にアクセスすると、
クエリ文字列が存在するため、最初のリダイレクトルール(クエリ文字列が空の場合のルール)は適用されません。
WordPress側のリライトルールにより内部的に /index.php
が読み込まれますが、ページ内のcanonicalタグは「https://www.[FutureShopのストアのドメイン]
」と示しているため、検索エンジンが正規URLとしてルートを認識します。
結果として、検索結果では正規URLとしてルートが表示されるため、ユーザーがルートURLにアクセスすると.htaccessのリダイレクトルールにより /index.php
にリダイレクトされる。
その際、URLに付与されたクエリパラメーター(例:srsltid=...
)が消えてしまい、意図したページが表示されなくなる。
なお、よくこの件に関しての参考記事内では、
rel="canonical"
で正規化するか、この機能(Google Merchant Centerの「自動広告タグ機能」)が不要であれば無効にすることもできる
と対策方法が記載されていますが、FutureShop×WordpressのECサイト構成の場合、
トップページは内部的に”index.php”を持たざるを得ないため、前者のrel="canonical"
の方法はヘビーです。
以下、Goolge Merchant Centerの公式ガイドでも記載のある
自動タグ設定は、アカウントを新規に作成するとデフォルトで有効になります。
アカウントの自動タグ設定の現在の状態を確認する方法と、自動タグ設定を有効または無効にする方法は、次のとおりです。
自動タグ設定を利用できない場合は、手動タグ設定で Google 広告のデータを Google アナリティクスにインポートすることもできます。
同じような事象にあたって困っていた方がいらっしゃったら、
本件のような仕様のサイトに対して、「自動広告タグ設定」をどうしてもつけなければならない理由がないのであれば、
オフにしてもらいましょう。
何が起こっているのかわかれば、原因もシンプル、解決方法もシンプルなものでした。
(GMCの仕様を知らずに何が起こっているのかわかるまでが大変な事象です)
本件の怖いところは、冒頭でお見せしたような画面が表示されているところからは、Google Merchant Centerで行っている設定で、この問題が引き起こされていることが一切わからないこと。
筆者はオーガニック検索のURLに見慣れないパラメータがついていることから、この原因を特定できましたが、ここに気づかなければ、沼になるところでした。