Как перейти со старого домена на новый?
Я только что закончил с переносом своего сайта с одного доменного имени на другое. Все старые ссылки в социальных сетях и поисковых системах не работают. Если я нажму на ссылку из reddit или Facebook, она все равно укажет на olddomain.com
. Хотя, если я наберу olddomain.com
в браузере, newdomain.com
действительно появится. Могу ли я в любом случае решить эту проблему? Все, что я сделал, это экспортировал старые данные сайта, переключился на новый сайт и импортировал новый сайт обратно. Чего мне сейчас не хватает?
Google идет с странные результаты, когда я ищу эту тему. Я использую godaddy и wordpress с более чем 500 сообщениями, если это имеет значение, и я настроил 301 перенаправление на главном olddomain.com
на newdomain.com
, чтобы это работало.
По просьбе сообщества мой файл .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
2 answers
Все существующие ссылки не будут автоматически изменены на новый домен. Они никогда этого не сделают, за исключением некоторых веб-сайтов, которые тратят время или автоматизируют это.
Но пока вы сохраняете olddomain.com
с перенаправлением 301, нажатие на эти старые ссылки должно привести людей на новый сайт просто отлично.
Однако не исключено, что Facebook и Twitter потеряют изображение/предварительный просмотр, как бы вы это ни называли. В Facebook можно отредактировать сообщение и замените изображение по умолчанию с веб-сайта изображением, которое вы напрямую загружаете на Facebook. Для этого требуется больше времени, но, насколько я понимаю, эти фотографии останутся.
Как упоминала Pasakgroup, сообщение Google через консоль Google поможет в SEO в Google, перенеся старый сок на новый домен, как только вы сделаете его официальным там.
Обновление по ссылкам:
Я протестировал с помощью 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.
Как мы видим, мы получаем 404, а не 301. Так что я не совсем уверен, как, по вашему мнению, вы реализовали 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/
Как мы видим здесь, мы получаем HTTP/1.1
код 301 и Location:
с новым доменным именем. Таким образом, домашняя страница работает, но не другие страницы.
Итак, теперь следующий вопрос: как вы реализовали перенаправления? Если ты попросил ГоДэдди сделать это, но это не сработает правильно. Вы должны сохранить веб-сайт в своей учетной записи и добавить файл .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
может помочь нам в решении вашей проблемы с перенаправлением. (пожалуйста, введите свой вопрос)
Обновите информацию о файле .htaccess.
Здесь у вас есть условие, которое имеет смысл, только вы очень конкретно проверяете на www
...
RewriteCond %{HTTP_HOST} ^www.johnjfalco.com$ [NC]
Я бы не стал тестировать часть www
, и вам, вероятно, на самом деле не нужны ^
и $
, потому что вы, вероятно, не получите обращений с именами, которые не соответствуют вашему домену (немного и очень маловероятно, что он будет соответствовать вашему старому домену.)
Я бы изменил это условие на следующее:
RewriteCond %{HTTP_HOST} johnjfalco.com [NC]
Это как говорится, если GoDaddy находится посередине (что объясняет, почему мы получаем страницу GoDaddy 404), то простого изменения файла .htaccess
будет недостаточно.
Я протестировал последнюю версию и вижу 302 вместо 301.
Мало того, перенаправление не включает доменное имя. Это неправильно. Вы должны указать протокол и доменное имя в поле Location: ...
.
На всякий случай я протестировал свой браузер, в котором есть Firebug, и нажал на вкладку Сеть. Это показывает вам Поле заголовка местоположения.
Итак... .htaccess
, которое вы нам показали, не является тем, что генерирует перенаправление в данный момент. Это все еще может быть ГоДэдди, который контролирует ситуацию. Вы должны полностью вырезать их. Ваш старый домен работает до сентября, так что это не проблема.
Прежде всего, вы должны изменить доменное имя в Google Search Console
, в настройках свойств, путем Change of Address
.
После этого вы должны перенаправить свой старый домен на новый домен с помощью
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
</IfModule>