WordPressやWebデザインなどに役立つ情報をご紹介

サイトのURL変更で旧URLから新URLへ転送する方法(301リダイレクトなど)



サイトを作ってサイトランクやサイトアクセスがある中でURLを変更すると新URLではそのサイトランクなどが存続されるわけではないので、0からのスタートとなります。「折角作ってここまでしたのに。。。。」と後悔したくないですよね。



先日、URLの変更を別サイトで行ったため、お困りの方の参考になればと思い、ここに記録として残しておきます。



今回紹介するリダイレクト設定は、古い指定するURLから変更したい指定するURLへ自動転送させる方法です。



この方法は2種類あり、「.htaccessを使う方法」「meta refreshの方法」があります。



一般的にSEOの面で考えると「.htaccess」を使って301リダイレクトをする方法です。



しかし、無料サーバなど「.htaccess」が利用できない場合に、meta refreshによるリダイレクトを行います。metaによるリダイレクトはサーバではなくクライアント側で行う方法であり、ブラウザ上では一瞬旧URLが表示される可能性があります。



このmeta refreshを使う場合、
<meta http-equiv="Refresh" content="10;URL=http://new url.com/">
とHtmlの間に入力します。この「10」という数字が10秒後に転送されるということですので、好きな秒数に変更することができます。

今回私が行った「.htaccess」を使っておこなったものを紹介します。



「.htaccess」を使った301リダイレクト(転送)と302リダイレクト(転送)の違い

この「.htaccess」を使ったリダイレクトには「301」と「302」の2種類あります。



どのように違うのかというと・・・・
「301リダイレクト」とは、URLが完全に移転する場合、検索エンジンは転送元URLが完全に移転したと認識する。
「302リダイレクト」とは、URLが一時的に移転する場合、検索エンジンは転送元URLが一時的な移転と認識する。
つまり、「完全移転」か「一時的移転」かの違いになります。
基本的に301の使う方が良いです。

「.htaccess」の作り方


テキストエディタで「.htaccess.txt」というファイルを作ります。
必ず『.』を最初に付けることを忘れないようにしてください。
※Windowsを利用している場合は、「.htaccess」とファイルは作れない場合があるので「a.htaccess」とかにします。
作成後、サーバー上に「.htaccess.txt」アップロードします。
その後、ファイル名を拡張子(後ろの『.text』)を削除し「.htaccess」と変更すれば出来上がりです。
※既にサーバーに「.htaccess」がある場合には、ファイルをダンロードして追記するようにしてください。
私の場合、「wordpress」の画像などのメディアを使う際に当初2Mまでしか利用ができないため、
既に使っていたのでダウンロードして追記しました。
※FTPソフトによってはアップロード後、名称を変更できないソフトもあるそうです。
「FFFTP」は可能です。



「.htaccess」に記載する内容


サブディレクトリに展開したサイトを新URLへ301リダイレクトする場合



下記の場合はサブディレクトリを使っていた個別記事をそれぞれ新URLの個別記事に転送することができるようになります。
但し、旧URLと同様のサブディレクトリ以下になっていないといけません。
例えば、blogの場合には個別ページもあり、ディレクトリ別にそれぞれ違う構築をしている場合には下記のようになるかと思います。
この/wp/以下にはカテゴリや年、月などあったりすると思います。
旧:http://oldurl.com/wp/1111.html
新:http://newurl.com/wp/1111.html
上記のように/wp/を含む以降が同じであれば下記のコードで同じ記事に飛んでくれます。



RewriteEngine On
RewriteBase /wp/
RewriteRule ^index.php$ – [R=301,L]
RewriteRule . /wp/index.php [R=301,L]

Redirect 301 /wp/ http://newurl.com/wp/


トップページを新ドメインに転送する場合




Redirect 301 / http://newurl.com/



ディレクトリのURLを変更した場合



Redirect 301 /wp/ http://newurl.com/wp/



個別ページをディレクトリへリダイレクトする場合



Redirect 301 /a01.html http://newurl.com/wp/
Redirect 301 /b02.html http://newurl.com/wp/


それぞれのページ、今回のページでは「a01.html」と「b02.html」にアクセスした場合にに、「http://newurl.com/wp/」に転送されます。
「Redirect 301」は「Redirect permanent」でも可能です。使うことは少ないと思いますが、「302」を使う場合には「RedirectTemp permanent」となります。
参考にこの301リダイレクトはSEO的にも大変重宝できます。

例えば、サブドメインにあたる「www」。最近では「www」無しが流行っていますが、この「www」のあるものとないものと検索エンジンでは別のページとして認識する可能性があります。そうなると被リンクが分散されてしまいます。そこでこの301リダイレクトを利用することで、統一することができます。そこで「www」がない場合ならば、「www」ありから「www」なしへ転送させておいた方がいいです。

確認方法は下記のサイトを使えば、確認できます。

1:「HTTP(S)-URL」に転送元の URL を入力します。
2:「Submit」ボタンをクリックします。
3:表示された「HTTP Response Header」で「HTTP Status Code: HTTP/1.1 301 Moved Permanently」と表示されればOKです。
301になっていることを確認してください。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください