個人のWordPressブログを復活/再編成しています。
次のようなURLを使用しています。
http://mydomain.com/blog
ウェブサーバー301はwww.mydomain.com
をmydomain.com
にリダイレクトします。
blog
サブディレクトリを使用したいのは、他の部分をサイトに追加する予定があるためです。ブログはサイトの一部のみです。
ただし、現時点ではブログだけが存在するため、当面はルートインデックスページをブログにリダイレクトする必要があります。
ルートindex.html
ページでこれを使用してリダイレクトを実行しています...
<meta http-equiv="REFRESH" content="0;url=./blog">
...しかし、これはGoogleとBingによるサイトのインデックス登録を停止したようです。
SEOに影響を与えずにこれを行うにはどうすればよいですか?また、どのURLをsitemap.xml
に入れるべきですか?
ルートの.htaccessファイルでURLを内部的に書き換えることができます。
RewriteEngine On
#if request is mydomain.com/something OR
RewriteCond %{HTTP_Host} ^mydomain\.com$ [OR]
# or www.mydomain.com/something
RewriteCond %{HTTP_Host} ^www\.mydomain\.com$
# but not mydomain.com/blog
RewriteCond %{REQUEST_URI} !^/blog/
#change it to mydomain.com/blog/something
RewriteRule (.*) /blog/$1 [R=301]
または、サイトの他の部分を開発するまで一時的なソリューションを適用する場合は、次のコードを使用してルートにindex.php
を配置できます。
<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.mydomain.com/blog" );
?>
このアプローチの利点は、URLの混乱が存在する可能性があることです。そして、それは.htaccess
アプローチよりも簡単です。また、これにより、このページがこの新しい場所に永久に(または302で一時的に)移動したことがGoogleに通知されます。 ([R=301]
の.htaccess
は同じことをしますが。)