WordPressからBloggerへ移行した際のリダイレクトの覚え書き。
最初はドメインごと移転で何とかなるかと思っていのだが、Bloggerは投稿エントリに年月のディレクトリが含まれるので結局1エントリー毎に転送処理を書く羽目に…
WordPressがインストールされてディレクトリに .htaccessファイルを設置し以下のように記述。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteRule ^【転送元パーマリンク】/$ 【転送先URL】 [R=301,L]
~この間、転送元→転送先の処理をひたすら書く~
</IfModule>
つまり移行した記事は96あるので、「 RewriteRule ^【転送元パーマリンク】/$ 【転送先URL】 [R=301,L]」が96行続くという…
で、問題のサイトのトップ画面。
移行といっても急いでBloggerにHTMLソースをコピペしただけなので、画像ファイル等は元のサーバーから呼び出している状況。
ここでRewriteRuleでやろうとすると画像までリダイレクト処理され、リダイレクト先には当然何もないので404Not Found。他の記事の画像まで表示されなくなる。
画像のリダイレクト処理も書けばいいのだろうが、Bloggerに再アップロードするのが面倒だし、画像URLも記事内に貼り付けなければ出てこないのでやろうとすると凄まじく面倒くさい、というか素直にBloggerに上げて貼り付け直したほうが明らかに楽。
結果、WordPressがインストールされているディレクトリにindex.htmlのHTMLファイルを置いてリダイレクトさせるのが一番楽そうだと判断。
試してみたところ、Wordpressが残っていてもHTMLファイルの方が優先されたのでこれでいくことに。
<html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="refresh" content="5; url=【移転先URL】" />
<title>【ページタイトル】</title> </head> <body> <h2>【ページタイトル】</h2>
<p>このブログは下記に移転しました<br>自動的に切り替わらない場合は下記のリンクを選択してください</p> <p><a href="【移転先URL】" target="_blank">【移転先URL】</a></p>
</body> </html>
画像は少しずつBloggerの方に上げて貼り直しますかね…
参考リンク
https://developers.google.com/search/docs/advanced/crawling/301-redirects?hl=ja
ワードプレスで使えるHTACCESSのリダイレクト技8選 | ワードプレスドクター
https://wp-doctor.jp/blog/2019/02/13/ワードプレスで使えるhtaccessのリダイレクト技8選/