Примерно год назад я объединил три веб-сайта (oldsite.com, oldsite.nu, newsite.se) в один, который я сохранил на одном из доменов (newsite.se). Я не уверен, что это было сделано правильно, так как я все еще вижу много трафика от Google для старого url: s, даже через год.
Код перенаправления Oldsite
Важное примечание по редактированию: недавно я понял, что серверы имен больше не указывали на мое старое приложение rails, а вместо этого на php-папку на моем веб-хосте, в котором у меня есть .htaccess со следующим кодом:
RewriteEngine on
RewriteRule ^robots.txt - [L]
RewriteRule ^sitemap.xml - [L]
RewriteRule ^(.*)$ http://www.newsite.se/$1 [R=301,L]
Это делает этот раздел ниже (относительно oldsite.com/oldsite.nu) void:.com и .nu были построены в Ruby on Rails и размещены на Heroku.
Логика перенаправления путей из oldsite.com/oldsite.nu была сделана полностью на сайте newsite.se. Код перенаправления на oldsites - это прямое перенаправление с этим в первом ряду в routes.rb на oldsite.com:
match "/(*path)" => redirect {|params, req| "http://www.newsite.se/#{params[:path]}"}, via: [:get, :post]
Я использовал этот (шведский) инструмент, чтобы проверить, действительно ли это перенаправление перенаправляет 301: http://301redirect.se. Он подтвердил, что перераспределение было 301.
Обработчик перенаправления Newsite.se
Содержимое на каждом старом веб-сайте было сопоставлено с тем же контентом на новом, довольно редко на одном и том же пути, например.
oldsite.com/categories/vacation/item/1243
может привести к
newsite.se/product-items/1243
Я обрабатываю эти типы перенаправления главным образом во внутреннем контроллере перенаправления, который ловит и перенаправляет любой трафик на newsite.se, например:
newsite.se/categories/vacation/item/1243 -> newsite.se/product-items/1243
используя это внизу на моих newsite.se routes.rb:
match '*not_found_path', :to => 'redirections#not_found_catcher', via: :get, as: :redirect_catcher, :constraints => lambda{|req| req.path !~ /\.(png|gif|jpg|txt|js|css)$/ }
Это отлично работает.
Изменить 20151223: Причина, по которой я использую Newsite.se для обработки перенаправления, заключается в том, что она содержит всю логику перенаправления путей. Это невозможно для Oldsite.com/.nu.
Выполненные действия
Вне перенаправления с 301 (насколько я понимаю, я это делаю). Я также использовал Инструменты Google для веб-мастеров, чтобы сделать "Запрос на изменение адреса" с моих старых двух веб-сайтов на новый. Я не могу найти никакой информации об этом дольше, но я уверен, что получил положительный ответ от WMT, который был сделан (но я не уверен на 100%).
Индикация проблемы
Я не на 100% уверен, что что-то не так, но я видел показания, которые заставляют меня думать, что перенаправление сделано неправильно, чтобы Google действительно понимал, что веб-сайты не перемещены.
- В Инструментах Google для веб-мастеров и "Входящие ссылки" домен верхнего уровня - это herokuapp.com, который в терминах означает oldsite.com. То есть 301 перенаправление, по-видимому, интерпретируется как ссылки (а не как перенаправления).
- Я часто получаю новые указания в Google WMT о "Not founds/404's" (не знаю, что этот раздел вызывается в английской версии) для URL-адреса, который не может быть достигнут на newsite.se. Когда я проверяю источник этого URL-адреса, я часто вижу ссылки, например. oldsite.nu/oldpath/productitem/1234 - как кто-то (Google?) все еще получил доступ к этому старому URL-адресу. Важной частью этого является то, что у меня НЕ было так много ссылок на старые сайты, поэтому я не ожидаю, что это будут старые ссылки, все еще питающие трафик.
- Я все еще получаю трафик на многие из моих старых путей (от oldsite.com/oldsite.new). Я нахожу это через свой контроллер перенаправления, который каждый день обрабатывает множество запросов по старым путям.
- Веб-сайт потерял много позиций в Google SERP, это лишь слабый признак, хотя его могут быть многочисленные причины.
Решение проблемы
- Как мне решить проблему с этой проблемой?
- Нормально ли для WMT рассматривать 301 как ссылки?
- Есть ли более разумный способ обработки перенаправления с сайта oldsite.com, чем моя строка маршрутов route.rb?