ドメインを変更しているため、古いページを新しいページにリダイレクトし、キャッチオールを作成して見逃したものをリダイレクトする必要があります。
これは、.htaccess
を使用した301リダイレクトとして実行する必要があります。
例えば:
http://www.olddomain.com/page1
をhttps://www.newdomain.com/page1
にリダイレクトします。oldomain.com
の他のすべてのページを新しいドメインのホームページにリダイレクトします。基本的には、指定した順序でリダイレクトを実行する必要があります:1、2、3。
newdomain.com
とolddomain.com
が異なるサーバーを指していると仮定すると、mod_aliasを使用できます。
Redirect 302 /page1 https://www.newdomain.com/page1
Redirect 302 /page2 https://www.newdomain.com/page2
# Redirect everything else to the home page
RedirectMatch 302 ^ https://www.newdomain.com/
ただし、ホームページへのリダイレクトがユーザーエクスペリエンスの向上につながることはめったにありません(とにかく、Googleはおそらくそれをソフト404として扱います)。単に/<other-url>
をnewdomain.com/<other-url>
にリダイレクトし、新しいサイトがそれを意味のある404として処理できるようにすることができます。これは一般にユーザーにとってより良いエクスペリエンスです。
Redirect
はプレフィックス一致であることに注意してください。一致したURL(たとえば、/page1
)の後のすべてが、ターゲットURLの最後に追加されます。古いURLと新しいURLが同じ場合、すべてをリダイレクトするために単一のRedirect
ディレクティブのみが必要です。
Redirect 302 / https://www.newdomain.com/
これらは明らかに302(一時)リダイレクトであることに注意してください。正常に動作していることが確実な場合にのみ、301(永続)リダイレクトに変更します。 301はブラウザによってハードキャッシュされるため、クライアントが誤ったリダイレクトをキャッシュすることは望ましくありません。
olddomain.com
とnewdomain.com
が同じファイルシステムで物理的にホストされている場合、アクセスするドメインのHostヘッダーを確認する必要があるため、代わりにmod_rewriteを使用する必要があります。 。例えば:
RewriteEngine On
RewriteCond %{HTTP_Host} olddomain\.com [NC]
RewriteRule ^page1$ https://www.newdomain.com/page1 [R=302,L]
明らかに、olddomain.com
とnewdomain.com
が異なる場所を指していると、はるかに効率的です。