Как перейти со старого домена на новый?


Я только что закончил с переносом своего сайта с одного доменного имени на другое. Все старые ссылки в социальных сетях и поисковых системах не работают. Если я нажму на ссылку из 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
Author: jjf3, 2018-06-27

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, и нажал на вкладку Сеть. Это показывает вам Поле заголовка местоположения.

enter image description here

Итак... .htaccess, которое вы нам показали, не является тем, что генерирует перенаправление в данный момент. Это все еще может быть ГоДэдди, который контролирует ситуацию. Вы должны полностью вырезать их. Ваш старый домен работает до сентября, так что это не проблема.

 2
Author: Alexis Wilke, 2018-06-29 06:57:32

Прежде всего, вы должны изменить доменное имя в Google Search Console, в настройках свойств, путем Change of Address.
После этого вы должны перенаправить свой старый домен на новый домен с помощью

Options -Indexes

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
</IfModule>
 1
Author: Pasakgroup, 2018-06-29 06:30:03