Webサイトのリニューアルに際してURLが変わる場合、
- 対ユーザー(旧URLにアクセスした人も問題なく閲覧できるように)
- 対検索エンジン(サイト・ページの評価、SEO資産を引き継ぐ)
2つの理由から、通常は .htaccess ファイルに301リダイレクトの記述をし、旧URL ⇒ 新URLに転送を行います。。。が。
何らかの理由で、301リダイレクトが行えない場合もあります。
無料ブログ、外部ホームページ作成サービスを利用している場合など、仕様上サーバーに .htaccess を置くことが出来ない、というのがその典型です。
ちょっと困ったケースですが、表題にある通り
<link rel="canonical" href="https://new-domain.com/">
<meta http-equiv="refresh" content="0; URL=https://new-domain.com/">
link rel=”canonical” と meta refresh をセットで使うことで、近似的な301リダイレクト効果を得ることが出来ました。
以下、その覚書を記します。
Goope (グーペ)、カラーミーショップ、etc
今回問題となったのは、簡易ホームページ作成サービス「Goope (グーペ)」にて、店舗オーナーさん自身で作られていたサイトのWordPress化リニューアルに伴う転送措置でした。
Goopeで独自ドメインを取得してサイトを作成した場合、そのドメインは他に移管できないという規約 だそうで; リニューアルに際しては別ドメイン・別サーバーでサイト構築し、旧ドメイン ⇒ 新ドメインへの転送が必要となります。
公式Q&Aによると ・・
他のURLへの転送のため.htaccessファイルの設置および301リダイレクトは可能ですか。
当サービスの仕様上、ファイルのアップロードができかねるため実現ができかねます。恐れ入りますが転送/リダイレクト希望の場合、METAタグを利用してジャンプさせる方法をお試しくださいませ。
よくある質問 – ホームページ作成サービス「グーペ」
・・・ 301リダイレクトできませんとあります。
ECサイト作成サービス: カラーミーショップなども同様の模様 です。
こういった場合、転送は meta refresh を使うことになるわけですが、
かつては meta refresh 非推奨だった
調べてみると、meta refresh では「アクセスしたユーザーは転送されるものの、検索エンジンに対してサイト移転を正しく伝える保証は無い」「非推奨」といった情報が出てきます。
確かにかつてはその通りだったようですが、2021年7月現在、即時の meta refresh は転送先が正規であることを示すシグナルとして有効な模様です(ソース後述)。
古い情報もキーワード検索では上位に出てくるので、調べていて少々戸惑いました。良い機会ですので、整理してメモしておきたいと思います。
2012年1月18日
海外SEO情報ブログより
この待機時間なしのmeta refreshとrel=”canonical”との併用についてSEOmozのRand Fishkin(ランド・フィッシュキン)氏とGoogleのMatt Cutts(マット・カッツ)氏がツイートでやり取りしていました。
(中略)
Matt Cutts的には、待機時間を0秒に設定したmeta refreshタグを使うことはすすめていません。理由はスパムにも利用されることがあるからです。
(中略)
Rand Fishkin氏は、0秒のmeta refreshが301リダイレクト相当に上手に機能していることを最近確認しています。
301が使えない時のURL変更 〜 meta refresh 0秒とrel=“canonical”は併用できるか
明快な答えは出ておらず、Googleの人的には meta refresh 非推奨。その後、SEOmozの人が試行した中では大丈夫そうだという見立て。
2015年2月13日
海外SEO情報ブログの鈴木謙一氏執筆によるWeb担当者Forum記事より。英語版のグーグル公式ヘルプフォーラムの関連Q&Aから要約抜粋 ~ 和訳・解説を付したものがありました。
meta refresh形式のリダイレクトをサイト移転に使うことは、まったく勧めない。可能な限り、301リダイレクトを使うべきだ。
(中略)
meta refreshタグやJavaScriptによるリダイレクトは、ユーザーを瞬時に転送するという点では同じだが、検索エンジンが元ページの評価をリダイレクト先に引き継ぐ保証がない。
(中略)
なお、rel=”canonical”も301リダイレクト相当に検索エンジンには扱われるが、ユーザーを新しいURLに転送しないという点で異なる。うまくリダイレクトできない場合は、移転元のページではrel=”canonical”を記述し、HTML内に「移転しました、移転先はこちら」と示すのも手だろう。
meta refreshタグを301リダイレクト代わりに使うのはダメ? グーグルのえらい人が解説
依然として、Googleの人的には meta refresh 非推奨ですが、ここから読み取れることとして
- まずは対検索エンジン:rel=”canonical” で 301リダイレクト相当に扱ってもらい
- 次に、対ユーザー:meta refresh で 新URLに転送
とすることで、301リダイレクト近似の効果があるものと思われます。
2021年7月14日
最近Googleがリダイレクト関連のドキュメントを大幅に刷新したようです。
- 2021-07-01:
海外SEO情報ブログ – Google、検索におけるリダイレクトの技術ドキュメントを大幅に刷新 - 2021-07-12:
Google公式 (検索セントラル > ドキュメント) – リダイレクトと Google 検索
「リダイレクトはインデックス登録パイプラインによって、リダイレクト先が正規版であることを示す強いシグナルとして使用されます。」
「即時の meta refresh リダイレクトは永続的なリダイレクトとして解釈されます。」
https://developers.google.com/search/docs/advanced/crawling/301-redirects?hl=ja
とありますので、0秒の meta refresh がスパム扱いされるというのは昔の話 … ということの模様です。
ドキュメントを読むに、昔に比べて meta refresh の地位が向上している(非推奨ではなくなった)ことがわかります。SaaS型のサービスが増え、301リダイレクトを行えない場合が少なくない現状に対応したものなのでしょうか。
link rel=”canonical” 併用で試行
諸般鑑みて、
<link rel="canonical" href="https://new-domain.com/">
<meta http-equiv="refresh" content="0; URL=https://new-domain.com/">
の順で、<head>タグ内に2文を書き込んで試してみました。
⇒ 結果、無事検索エンジンにも移転が伝わりました。
Google検索結果1ページ目:かつて旧サイトがあったところに新サイトが入れ替わる形で鎮座している = 期待通りのインデックス状態 * になっています。
* 転送措置実施後2週間弱で確認。実際にはもっと早く更新されていたかもしれません。
妥協・割り切りが必要?
なお、Goopeでは <head>タグは全ページ共通の設定部分となるため、残念ながら(ページ毎に転送先を設定することは出来ず)旧サイトの全ページを新サイトのトップに転送する ・・ という具合になりました。イマイチ、イマニ、イマサンぐらいですが、、やむなしです。
ひとまず検索エンジンにサイト移転を伝えることは出来、旧サイトにアクセスした人々も転送されますので … まぁヨシとするか! という妥協・ 割り切りが必要かなと思います。
以上、「.htaccess での301リダイレクトが出来ないとき、rel=canonical と meta refresh をセットで用いることで、おおむね効果が得られた」という事例・覚書でした。
補足
「meta refresh canonical」で調べてみると(やや古いですが)かなり詳細に実験&レポートされているブログがありました。2011年、2013年の時点でも、併用で効果があった模様です。納得感が深まりました&勉強になりました。