2016年1月30日

BloggerからWordPressに引っ越す際のリダイレクト。301リダイレクト、メタリフレッシュ、.htaccessについて。

スポンサードリンク

 サイトをBloggerからWordPressに移転しました。
このブログはまだBloggerのままですが、もう一つの方を引っ越ししました。

その際、行ったリダイレクト処理について。

BloggerのURLを移行先のURLにリダイレクト


 何が大変かと言うと、
Bloggerの時と、WordPress移行後のパーマリンク構造が変わる事。

これを変えずにそのまま移行できる方法もあるのですが、
私はBloggerのパーマリンクに、
WordPressでは使えない文字「.」を入れていたのでダメでした。

なので、非常に大変な処理を要しました。
もうやりたくないですね。


 Bloggerでは独自ドメインを使っていました。

ということは、
Blogger固有ドメインと、独自ドメインの2つが存在する訳です。


 固有ドメインとは、
http://○○.blogspot.com/

です。
.jp→.comはBlogger側で自動ジャンプするから大丈夫。


 これらは両方インデックスされています。
Blogger固有ドメインもリダイレクトしなければならないのです。


 新しいWordPressのサイトは、
当然独自ドメインのまま行きます。

つまり、私が今回やらないといけないのは、


  • Blogger時代の独自ドメインのパーマリンクをリダイレクト
  • Blogger時代の固有ドメインをWordPressへリダイレクト


この2つです。


 記事データ自体は、プラグインを使って一気に移行できます。

問題は、パーマリンクを、WordPress個別投稿ページで
全部設定しなおさないといけない事。

これが大変。

Blogger時の独自ドメインパーマリンクをリダイレクト


 Blogger時代の独自ドメインのパーマリンクをリダイレクト
をやります。


 独自ドメイン同士のリダイレクトは、.htaccessを使いました。
.htaccessを使ってリダイレクト処理をするのです。


 両者では、パーマリンク構造が変わっているので難しいのかな?
と思ったら、普通に出来ました。

なぜ出来るか、というと、
BloggerとWordPress移行後のドメインが同一だから。

以下の様なコードを1つずつ記入すればOKです。


 例を挙げると、

Redirect permanent /201○/○○/blog-post.html http://www.yourdomain.com/post-1/


こんな感じで、
リダイレクトしたいURLをひたすら追加していくのです。
記事数が多かったので結構大変でした。


 手前が旧ブログのパーマリンクです。
後ろはドメイン付きで、新しいWordPressのURLを記入します。


 元々.htaccessには、



# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress



こんなんがあります。
# END WordPress の後に記入していきます。



参考にしたサイト。


.htaccess作成ツール
http://www.htaccesseditor.com/#a_redirect


301リダイレクトの設定方法
https://www.suzukikenichi.com/blog/301%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95/


新人コーダーに知っておいて欲しいリダイレクトの基本
http://html-coding.co.jp/knowhow/tips/000572/

リダイレクトコードをPCのExcelで一括作成


 Excelを使って、一気に旧パーマリンクと
WordPress移行後のURLのリダイレクトコードを作成できます。

やり方はこちら。


サイトをWordPress化したので、301リダイレクトで旧URLを新URLへ転送したい。
http://www.haruyoo.net/wordpress/140508/

301リダイレクトと302リダイレクト、meta refreshの設定方法
http://homepagenotukurikata.com/seo/301redirect.html



 ただ、BloggerのURLを一括で取得する方法が分からず、
結局私は旧リンクをリスト化できませんでした。

なのでそれらを一個ずつExcelに打ち込んでいきました。
これもまた大変でした。

.htaccessを更新する際の注意点、レンタルサーバー


 .htaccessを書き換えたりして更新すると、
なぜかレンタルサーバーのバージョンが
古いものになってしまうという事があるそうです。


 おそらく、元々あった

suPHP_ConfigPath

を消去してしまった事が原因のようです。

なので、デフォルトの.htaccess記入内容は消さずに、
そのまま追加していきましょう。


#PHP settings
suPHP_ConfigPath /home/xxx/xxxxx.com/xserver_php/
AddHandler x-httpd-php5.3 .php .phps


↑こんなんがある。
ちなみに、PHPバージョンが変わると自動で書き換わっている事がある。
レンタルサーバーの仕様によって違うかもしれない。
とにかくこの部分は自分では勝手に変えない。

自分が変えていないのに書き換わっている時はそのままにしておく。
最新バージョンのままバックアップを取っておく。
自分の手元にある古い記述に置き換えない。


参考にしたサイト

エックスサーバーで.htaccessを更新すると、PHPのバージョンが戻ってしまう。
http://sowmay.jp/htaccess-changes-php-version-automatically/

Redirect permanentとRewriteRule、mod_rewrite


 ここは上級者向けなので、分からない時は飛ばして下さい。


 レンタルサーバーの拡張機能で、
mod_rewriteが使える場合があります。

これが結構便利らしいので、載せておきます。


.htaccessによるリダイレクト徹底解説
http://www.cherrypieweb.com/weblog/technical/20131017121752.php


今さら人に聞けない!WordPressで使われているmod_rewriteの説明書
http://html-coding.co.jp/knowhow/tips/wp_modrewrite/

www有り・無しを統一


 ついでに.htaccessに追加しておきましょう。
ドメインにwwwが付いている場合や、ついていない場合がありますが、
両方同じサイトを表示させる事ができます。


以下を追加。


Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain\.com
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=permanent,L]

この場合はwww有りに統一しています。
こんな書き方もあるようです。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain\.com$
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]


もちろん、逆もできます。
www無しに統一する時は以下。

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$
RewriteRule ^(.*)$ http://yourdomain.com/$1 [R=301,L]


301リダイレクトを使った「WWWあり」と「WWWなし」の統一
https://www.suzukikenichi.com/blog/integrating-www-and-non-www-by-301-redirect/

Bloggerのモバイルページに付くm=1を解決


 これまた困ったケース。
Bloggerはモバイルページには、?m=1がURL末尾に付きます。

これを除去してリダイレクトさせるコードです。


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^m=1$
RewriteRule ^(.*)$ $1? [R,L]
</IfModule>



以上です。

このコードは、
#PHP settings
suPHP_ConfigPath … … 
の下に記入。

.htaccess内では、なるべく上の方に記入します。

.htaccessは上から順に読み込まれるからですね。

色々読み込まれるより先に、
まずm=1を除去してしまうのが先の方が良いという考えです。


参考にしたサイト


BloggerからWordPressへ移行時のURLの「m=1」問題の解決方法について
http://blog2.k05.biz/2013/05/blogger-wordpress-url-m1.html

BloggerのURLをWordPress独自ドメインへリダイレクト


 Blogger時代の固有ドメインをWordPressへリダイレクト
をやります。

http://○○.blogspot.com/

を、WordPressの新しいリンクへ直接飛ばします。


 ここからは、Bloggerの個別投稿ページに記入していきます。
結構大変です。


 Bloggerでは.htaccessが設置できないので、
メタリフレッシュをします。

302リダイレクトだと、旧ブログの評価が移動しません。
なので、301リダイレクトをします。

簡単に言うと、メタリフレッシュの憑依時間を0秒にするのです。


 Bloggerのテンプレートhead部分内に、

<meta http-equiv="refresh" content="0; URL=http://新WordPressURL/">
<link href="新WordPressURL" rel="canonical"></link>


を記入すれば良いのですね。

ただ、これでは、全ての投稿ページが、
新しいドメインのトップページに行ってしまうのです。

なので、個別ページ毎のリダイレクトが必要という訳。


 ちなみに、head内に記入するのは一番最後にして下さい。

じゃないと、個別ページのリダイレクト処理をやる間、
リダイレクトが正しいページにジャンプするか確認しにくいからです。

もちろん、固定ページも全部済ませてから、
head内に、
Bloggerトップページ→WordPressトップページへのリダイレクトを記入します。


 では、個別投稿ページにメタリフレッシュコードを記入します。

moreタグを上手に使います。

というのも、追記前にメタリフレッシュを記入してしまうと、
記事一覧や月別アーカイブ一覧で、
複数のメタリフレッシュが混在してしまい、おかしな事になるからです。

なので、個別投稿の追記の後に記入していきます。

それでも、Bloggerの個別記事URLへ直接アクセスすれば、
自動的に(続きを読む、等をクリックすることなく)ジャンプします。


コードはこちら。


<!--more--><br />
<meta http-equiv="refresh" content="0; URL=新WordPressの個別記事URL">
<link href="新WordPressの個別記事URL" rel="canonical"></link>
<style>body{display: none;}</style>
<br />


実際に旧URLにアクセスしてみて、
リダイレクトされているかチェックして下さいね。


 あとは、その他のページ(トップページや記事一覧等)を
新WordPressのトップページにジャンプするよう、
headにメタリフレッシュを記入すれば完成です。



参考にしたサイト


記事毎に別のブログへ301リダイレクトしながら引っ越す方法
http://www.myweblogblog.net/article/409493720.html


301リダイレクトと302リダイレクト、meta refreshの設定方法
http://www.seotemplate.biz/blog/seo-taisaku/592/




 こちらのブログはBloggerです。
WordPressの実際の表示を確認したい方は
ラビットしま子の「人生美容パラダイス」をご覧下さい。


 当ブログの情報は全ての方に応用できるとは限りません。
ご利用は自己責任です。当ブログ側はいかなる責任も負いません。

必ずデータは最新のバックアップを取っておいて下さい。


 WordPressを利用される場合はUTF-8Nの文字コードに必ず変換して下さい。

当ブログのコードをコピーしてphpファイル等に直で貼付けすると
ファイルやデータが破損します。
パソコンのメモ帳は不可です。

詳細はWordPressヘルプを参照下さい。


 ラビットしま子はサイト制作のプロではありません。
個別のカスタマイズについての相談は乗ってあげたいけど、乗れません。
(わからんから)


スポンサードリンク