PR для старых страниц

У меня есть сайт, который имеет много ссылок на его страницы. И полностью обновлю сайт, обновлю CMS, контент и структуру страниц. Домен остается прежним.

  1. Что получат пользователи в браузере, если они найдут где-то в Интернете старую ссылку на страницу старых сайтов и перейдут по этой ссылке, хотя это уже новый сайт, а старой страницы, на которую ведет ссылка, не существует?
  2. Как сделать редирект или что-то из этих старых ссылок, если старые страницы не открываются в корень домена?
  3. А как быть в таком случае с Google, как не потерять PR и перенаправить этот PR вес старых страниц на основной домен?

Я любезно признателен за любое относительное обсуждение этой темы, потому что это действительно интересно со всех сторон.


person andrew    schedule 17.08.2012    source источник


Ответы (1)


Что получат пользователи в браузере, если они найдут где-то в Интернете старую ссылку на страницу старых сайтов и перейдут по этой ссылке, хотя это уже новый сайт, а старой страницы, на которую ведет ссылка, не существует?

Они получат 404 Not Found.

Как сделать редирект или что-то из этих старых ссылок, если старые страницы не открываются в корень домена?

Вам нужно будет создать редирект 301 с каждой старой страницы на эквивалентную новую страницу. Вы можете сделать это с помощью mod_alias:

RedirectMatch 301 ^/old_page/(.*)$ /new_page/$1

или мод_переписать:

RewriteRule ^old_page/(.*)$ /new_page/$1 [L,R=301]

Вам, очевидно, потребуется адаптировать соответствующие выражения и цели к вашим конкретным потребностям. Если у вас есть много отдельных URL-адресов, которые необходимо перенаправить, вы можете рассмотреть возможность создания Переписать карту.

А как быть в таком случае с Google, как не потерять PR и перенаправить этот PR вес старых страниц на основной домен?

Пока вы используете перенаправление 301 (постоянное перенаправление, а не временное перенаправление 302), ранжирование страницы Google будет перенесено на новый URL-адрес.


Что лучше использовать в данной ситуации mod_alias или mod_rewrite и почему?

Любой из них хорош, но mod_rewrite дает вам гораздо больше возможностей и позволяет переписывать карты. Но если вы делаете что-то простое, mod_alias подойдет.

Опять то же самое с 301 и 302 что здесь лучше использовать?

Вы хотите 301 здесь. Это означает, что «запрошенный вами ресурс навсегда перемещен ЗДЕСЬ», а не 302, что означает «запрошенный вами ресурс сейчас отсутствует, но тем временем вы можете найти это здесь". Кроме того, Google не перенесет какой-либо рейтинг страницы на новую страницу, если вы сделаете только перенаправление 302, поскольку оно предназначено только для временных перенаправлений. Не тогда, когда страница навсегда переехала на новый URL.

И последнее, что я только что просмотрел на старых страницах, они все похожи на domain.tld/index.php?id=77. Правильно ли это правило RewriteRule ^index.php?id=(*)$ / [L,R=301] в этом случае для любого номера идентификатора root?

Это правило не сработает. Вы не можете сопоставить строку запроса (часть ?id=) в RewriteRule, только %{QUERY_STRING} var in aRewriteCond. Also(*)`, вероятно, не то, что вам нужно.

Это 301 перенаправит любой запрос на /index.php?id=N, где N — любое число, в корень документа.

RewriteCond %{QUERY_STRING} ^id=([0-9]+)
RewriteRule ^index.php$ / [L,R=301]
person Jon Lin    schedule 17.08.2012
comment
Здорово! Что лучше использовать в данной ситуации mod_alias или mod_rewrite и почему? Опять то же самое с 301 и 302 что здесь лучше использовать? И последнее я только что посмотрел на старых страницах они все нравятся domain.tld/index.php?id=77 Правильно ли это правило RewriteRule ^index.php?id=(*)$ / [L,R=301] в таком случае для любого номера id для рута? - person andrew; 17.08.2012
comment
Эй, какой смысл использовать [L,R=301] против [R=301,L]? Кажется, вы используете это двумя способами. - person andrew; 17.08.2012
comment
@A-STAR Нет никакой разницы, два флага не являются последовательными и не имеют порядка. - person Jon Lin; 17.08.2012