あるドメイン名から別のドメイン名へのサイトの移動が終了しました。ソーシャルメディアと検索エンジンの古いリンクはすべて壊れています。 redditまたはFacebookからリンクをクリックしても、olddomain.com
を指します。ブラウザにolddomain.com
と入力しても、newdomain.com
はポップアップします。とにかくこの問題を解決できますか?私がしたことは、古いサイトのデータをエクスポートし、新しいサイトに切り替えて、新しいサイトをインポートすることだけでした。今何が欠けていますか?
このトピックを検索すると、Googleに奇妙な結果が出ています。必要であればgodaddyとwordpressを使用し、500を超える投稿があり、メインolddomain.com
からnewdomain.com
への301リダイレクトを設定して、それが機能するようにします。
コミュニティからの要求に応じて、私の.htaccessファイルは次のとおりです。
#I have 500 of these for each link:
redirect 301 people-of-earth-unrenewed-at-tbs/ http://channelactivist.com/people-of-earth-unrenewed-at-tbs/
#Then I have this at the end:
# Redirect the site
RewriteEngine On
# Take care of www.johnjfalco.com
RewriteCond %{HTTP_Host} ^www.johnjfalco.com$ [NC]
RewriteRule ^(.*)$ http://channelactivist.com/$1 [L,R=301]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
既存のすべてのリンクが新しいドメインに自動的に変更されることはありません。時間のかかるウェブサイトや自動化されたウェブサイトを除き、彼らは決してそうしません。
ただし、olddomain.com
を301リダイレクトに保持している限り、それらの古いリンクをクリックすると、人々は新しいサイトに問題なくアクセスできます。
ただし、FacebookやTwitterが画像/プレビューを失う可能性は低くありません。 Facebookでは、投稿を編集し、Webサイトのデフォルトの画像をFacebookに直接アップロードした画像に置き換えることができます。それを行うにはもっと時間がかかりますが、私が理解していることから、これらの写真は残っています。
Pasakgroupが述べたように、Google ConsoleでGoogleに伝えることは、GoogleでSEOを行うのに役立ちます。
リンクから更新:
wget
でテストしました。これにより、応答ヘッダーを確認できます。
$ wget -S http://johnjfalco.com/people-of-earth-unrenewed-at-tbs/
--2018-06-28 18:39:15-- http://johnjfalco.com/people-of-earth-unrenewed-at-tbs/
Resolving johnjfalco.com (johnjfalco.com)... 184.168.131.241
Connecting to johnjfalco.com (johnjfalco.com)|184.168.131.241|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 404 Not Found
Server: nginx/1.12.2
Date: Fri, 29 Jun 2018 01:39:15 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
2018-06-28 18:39:15 ERROR 404: Not Found.
ご覧のように、301ではなく404を取得します。したがって、301をどのように実装したと思うかはよくわかりませんが、すべてのページで正しく機能するとは限りません。
また、ホームページをテストしましたが、予想どおり301が表示されています。
$ wget -S http://johnjfalco.com/
--2018-06-28 18:41:17-- http://johnjfalco.com/
Resolving johnjfalco.com (johnjfalco.com)... 184.168.131.241
Connecting to johnjfalco.com (johnjfalco.com)|184.168.131.241|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 301 Moved Permanently
Server: nginx/1.12.2
Date: Fri, 29 Jun 2018 01:41:17 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Location: http://channelactivist.com
Location: http://channelactivist.com [following]
--2018-06-28 18:41:17-- http://channelactivist.com/
ここでわかるように、301のHTTP/1.1
コードと、新しいドメイン名を持つLocation:
を取得します。したがって、ホームページは機能していますが、他のページは機能していません。
それでは、次の質問は、リダイレクトをどのように実装したのですか? GoDaddyに実行を依頼した場合、正しく動作しません。ウェブサイトをアカウントに保持し、他の回答に示されているコードを含む.htaccess
ファイルを追加する必要があります。
RewriteEngine on
RewriteRule ^/(.*)$ http://channelactivist.com/$1 [R=301,L]
これにより、既存のリクエスト(^/(.*)$
)から任意のパスが取得され、新しいURL($1
)の末尾に固定されます。そうすれば、次のようなURL
http://old.example.com/some/path/and/filename.html
になることができる:
http://new.example.com/some/path/and/filename.html
ただし、既存の.htaccess
コードを表示することで、リダイレクトの問題をさらに解決できる場合があります。 (質問を入力してください)
ここには条件があり、それは理にかなっています。あなただけがwww
...をテストします。
RewriteCond %{HTTP_Host} ^www.johnjfalco.com$ [NC]
私はwww
部分をテストしません。おそらく、^
と$
は必要ありません。おそらく、所有するドメインと一致しない名前でヒットすることはないからです。 (古いドメインと一致することはほとんどありません。)
その条件をこれに変更します。
RewriteCond %{HTTP_Host} johnjfalco.com [NC]
これは、GoDaddyが中央にある場合(GoDaddy 404ページを取得する理由を説明します)、.htaccess
ファイルを変更するだけでは十分ではありません。
最新のものをテストしたところ、301ではなく302が表示されました。
それだけでなく、リダイレクトにはドメイン名が含まれていません。それは正しくありません。 Location: ...
フィールドにプロトコルとドメイン名を含める必要があります。
念のため、Firebugを搭載したブラウザーでテストし、[ネットワーク]タブをクリックしました。これにより、Locationヘッダーフィールドが表示されます。
だから...あなたが示した.htaccess
は、現時点でリダイレクトを生成しているものではありません。 GoDaddyが制御されている可能性があります。完全に切り取る必要があります。古いドメインは9月まで有効であるため、問題ではありません。
まず、プロパティ設定からGoogle Search Console
でChange of Address
のドメイン名を変更する必要があります。
その後、古いドメインを新しいドメインにリダイレクトする必要があります
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
</IfModule>