記事idの手動変更ができなくてブログの引越が進まなかったという経験はありませんか?私は記事idを手動変更できなくて旧ブログから新ブログへの転送(リダイレクト)が上手くいかず、四苦八苦してました。
結局、WordPressに「Redirection」というリダイレクト用プラグインを入れることで一発解決しましたのでその方法を紹介します。
「Redirection」で記事idの異なる記事同士をブログ内転送(リダイレクト)でつなげる方法
今回はlivedoorブログからWordPressへの移行です。
livedoorブログではbokemania.blog.jpというサブドメインを使用していましたが、それをWordpressで作った新ドメインのサイトphotterabi.comに移転した時の話です。
今回の転送設定を行う前に、記事の引っ越し機能等を使いlivedoorブログと同じ記事をWordpressに作っておきました。そこへlivedoorブログからWordpress側に個別記事ごとに転送(リダイレクト)行います。
転送(リダイレクト)とは?
転送(リダイレクト)とはあるURLを異なるURLに自動転送することです。
例えば検索サイトからきた人がAAAA.com/bbbbというアドレスにアクセスしたとします。しかしそのサイトにAAAA.com/bbbbがなければ開くことが出来ません。
この時にAAAA.com/bbbbを移転先のAAAA.com/xxxxに自動で転送(=リダイレクト)する設定をしておけばAAAA.com/bbbbにアクセスしても勝手にAAAA.com/xxxxに転送されて記事が表示されます。なので見に来た人は違和感なく記事を見ることができるし、こちらは新しいサイトに誘導できるしお互いに困らないという仕組みです。
同じドメイン内、つまりAAAA.com/bbbbをAAAA.com/xxxxに転送する場合はブログ内転送、AAAA.com/bbbbからBBBB.com/xxxxの場合はドメイン転送とブログ内転送の二つが必要になります。
livedoorブログでのドメイン転送+Wordpressで「Redirection」による個別記事転送
紹介するやり方では2回の転送(リダイレクト)をすることで全く別のURLの記事をつなげます。
今回の構想はこんな感じ。
まずはドメインの転送。
livedoorブログでドメイン転送を行って新しいドメインに紐付けします。
続いてドメイン以降部分(.com/~~の~~部分)の転送。
こちらはプラグイン「Redirection」を使います。
livedoorブログで転送(リダイレクト)設定をした時点ではドメイン部分しか変更されませんので、ドメイン以降のURL(/bbbbの部分)はlivedoorブログのときのままになっています。
これをBBBB.com/xxxに転送したい場合、ドメイン以降の部分(/bbbbの部分)を「Redirection」を使ってWordpressのブログ内転送(リダイレクト)で転送します。
プラグイン「Redirection」の使い方
「Redirection」はあるURLを別のURLに転送させるプラグインです。
プラグインのインストールは通常通りWordpressから行えます。インストールしたら有効化します。
有効化すると左のバーにあるツールに追加されます。
Redirectionの設定ページ。日本語で書いてあるのでわかりやすい。
転送ルールの追加はページの下にあるこの部分で行います。
ソースURLには転送元になる投稿のURLをドメインだけ新ドメイン変更して入力し、ターゲットURLには転送先にしたい記事のURLを入力します。
入力したら「新しい転送ルールを追加」をクリックすると入力したルールが上の表に追加されます。(これをひたすら転送させたい記事の分だけやります。地道~w)
なお記事のURLを事前にコピーするのを忘れた人は、livedoorブログの記事一覧から下記の手順でドメインだけ変更されたURLが取得できます。
livedoorブログでドメイン転送設定をする
Redirectionの転送ルール設定が終わったら、livedoorブログ側でドメイン転送設定を行います。
livedoorのドメイン転送設定はブログ設定→ブログURLからできます。
ドメインのタブをクリックするとこの画面が出てきます。
まず転送元になるブログのアドレスは一番上か中段です。デフォルトのままのURLは上段のhttp://blog.livedoor.jp/~~~/、サブドメインを使用している場合は中段にhttp://~~~.blog.jp/などの形で表示されています。
転送するアドレスは下段の「独自ドメイン」のところに記入します。入力はhttp://を取った形でしてください。
緑の✔がついたら設定できるURLです。(最後に/つけるとNGになるのでつけないでください。)
なお、転送先になる独自ドメインを同アカウント内の別のlivedoorブログで使用しているとドメイン転送設定出来ないので注意してください。(私は複数持ってて統合したいので3ヶ月単位くらいで1つずつ地道に転送しようかなーと思っています。)
正常にリダイレクトできているかの確認方法
まずはリンクした記事同士が合っているかを確認します。
ちゃんと転送されるかの確認は、livedoorブログの管理画面から記事一覧を開き、各記事タイトルの下にある「表示の確認」をクリックしてください。リンクが繋がっていれば新しいサイトの記事に飛びます。エラーが起こると、wordpress側のサイトで404エラーというのが出ます。
次に、自分以外の人がちゃんと転送されてきているかな?という確認はWordpressのRedirectionのページで確認できます。
ツール→Redirectionのページに「ヒット数」という欄があり、転送されると個々の数字が0からどんどん増えていきます。直近の転送日も表示されますので数字と日付が動いていれば正常に転送されていることがわかります。
「Redirection」プラグインを使ったブログの引越し作業は以上です!
なぜ記事idを残すのか?メリット・デメリット
ココからは個人的な考えをメモっておきます。
そもそも新旧サイトのURLパスを同じにすれば良いのではないか?
今回のやり方はみて分かる通りめちゃめちゃ地道な作業です。
記事が100記事以上ある人が全部の記事を転送しようと思ったらめちゃめちゃ大変です。(ちなみに私は300記事ある・・・)
たくさん記事を持っている人がもっと少ない作業で新旧サイトの個別記事をつなげようとした場合、記事idにこだわらず新旧サイトでブログのURL設定を
- URLをブログのタイトルにする
- URLを日付で設定する
にすれば作業も一発だしこんな困ることはありません。
でも、ブログタイトルにしたら今後のSEO対策が制限されそうだし、URLを日付にすると同日に2記事投稿したものにズレがでそうだし・・・。と思って記事idをURLに採用しました。
記事idの変更は.htaccessファイルを修正しなければいけない
「Redirection」プラグインを利用しない場合、WordPress側の.htaccessファイルを修正して転送元の記事idに打ち替え、パス構造も/archive/と同じにすればlivedoor側のドメイン転送だけでも転送できます。
でも.htaccessはブログのいろんなルールを決めている大事なファイルで、下手にいじるとエラーが起こりかねない重要なファイルになりますのでいじりたくありません(笑)
いまさらですが、記事idはここの数字
記事idはブログを新規作成した時に、ブログ側(livedoorブログ、Wordpress)で自動的に割り振られる番号のことです。
記事idはブログサービスごとに独自のルールで決められており、幸いlivedoorブログ6桁、Wordpressは3桁から始まるのでかぶることはまずありません。これがかぶるとうまくいかないと思うので、その際は/archive/を取って~~.com/123などのURLにするなどの対策が必要そうです。
まとめは以上です。お役に立てれば何よりです~。