サイトを作ってサイトランクやサイトアクセスがある中でURLを変更すると新URLではそのサイトランクなどが存続されるわけではないので、0からのスタートとなります。「折角作ってここまでしたのに。。。。」と後悔したくないですよね。
先日、URLの変更を別サイトで行ったため、お困りの方の参考になればと思い、ここに記録として残しておきます。
今回紹介するリダイレクト設定は、古い指定するURLから変更したい指定するURLへ自動転送させる方法です。
この方法は2種類あり、「.htaccessを使う方法」と「meta refreshの方法」があります。
一般的にSEOの面で考えると「.htaccess」を使って301リダイレクトをする方法です。
しかし、無料サーバなど「.htaccess」が利用できない場合に、meta refreshによるリダイレクトを行います。metaによるリダイレクトはサーバではなくクライアント側で行う方法であり、ブラウザ上では一瞬旧URLが表示される可能性があります。
<meta http-equiv="Refresh" content="10;URL=http://new url.com/">とHtmlの間に入力します。この「10」という数字が10秒後に転送されるということですので、好きな秒数に変更することができます。
この「.htaccess」を使ったリダイレクトには「301」と「302」の2種類あります。
テキストエディタで「.htaccess.txt」というファイルを作ります。
必ず『.』を最初に付けることを忘れないようにしてください。
※Windowsを利用している場合は、「.htaccess」とファイルは作れない場合があるので「a.htaccess」とかにします。
作成後、サーバー上に「.htaccess.txt」アップロードします。
その後、ファイル名を拡張子(後ろの『.text』)を削除し「.htaccess」と変更すれば出来上がりです。
※既にサーバーに「.htaccess」がある場合には、ファイルをダンロードして追記するようにしてください。
私の場合、「wordpress」の画像などのメディアを使う際に当初2Mまでしか利用ができないため、
既に使っていたのでダウンロードして追記しました。
※FTPソフトによってはアップロード後、名称を変更できないソフトもあるそうです。
「FFFTP」は可能です。
下記の場合はサブディレクトリを使っていた個別記事をそれぞれ新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/
Redirect 301 /wp/ http://newurl.com/wp/
Redirect 301 /a01.html http://newurl.com/wp/ Redirect 301 /b02.html http://newurl.com/wp/