canonical, robots.txt и индексация

H
На сайте с 15.02.2010
Offline
105
3518

Озадачился вопросом, подскажите, плиз, кто в курсе...

В canonical всех страниц указан главный url вида http://site.ru/razdel/page/, но некоторые разделы нежелательны к появлению в выдаче, потому в robots.txt логично прописано

Disallow: /razdel

Но есть и "штатный" htaccess:

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]

Полчается, что можно запросить http://site.ru/index.php?id=page, http://site.ru/page/, или даже вообще http://site.ru/любая_фигня/page/ - всё равно попадаем на главный url http://site.ru/razdel/page/

Мучает вопрос: можно ли быть уверенным, что роботы поймут всё правильно и страница page не будет индексироваться?

богоносец
На сайте с 30.01.2007
Offline
753
#1

rel=canonical влияет не на индексацию (ну не должен как бы), см хелп, там другое слово

http://www.google.ru/search?q=canonical+site%3Asearchengines.guru

H
На сайте с 15.02.2010
Offline
105
#2

Да, я прекрасно понимаю, что rel=canonical указывает роботу "главный url", если страница доступна по нескольким. Остальные он должен убрать из индекса (зачем хранить копии? вполне понятно).

Но если главный url запрещён к индексации в роботсе - не станут ли они вместо главного индексировать неглавные алиасы (которые в роботсе, соответственно, не запрещены и уже не дублируют поисковую базу)? Ведь, с точки зрения логики - могут! ))

samimages
На сайте с 31.05.2009
Offline
427
#3
hubbiton:
Да, я прекрасно понимаю, что rel=canonical указывает роботу "главный url", если страница доступна по нескольким.

то он волен выбрать любой удобный для него, так что в случае если

hubbiton:
главный url запрещён к индексации в роботсе

какбы напрашивается.... причем есть вероятность что все

Опыт как иммунитет — приобретается в муках! Хостинг: экономия до 1300 руб + домен в подарок ( https://clck.ru/XLscf ) / Аудит семантики от 15К [долго] - ЛС
H
На сайте с 15.02.2010
Offline
105
#4
samimages:
какбы напрашивается.... причем есть вероятность что все

Вот и я думаю... Но, с другой стороны, на остальные (неглавные) url сервер отдаёт код 302, а вроде как в индекс попадают лишь отдающее код 200 и не запрещённые в роботс?

Станислав Романенко
На сайте с 05.09.2007
Offline
325
#5

Нет, если у вас код 302, то такие страницы будут еще долго храниться в индексе, пока робот не посчитает, что вы перепутали 302 и 301, и тогда уже склеит их с главным урлом, который запрещен в роботсе.

Сайт не лезет в топ? Сделаю аудит без воды всего за 8000 рублей! Отзывы клиентов тут (https://searchengines.guru/ru/forum/939454), почта для связи: ingref@ya.ru Посмотрю, в чём проблема с вашим сайтом, за 100 рублей (https://searchengines.guru/ru/forum/comment/15662080).
H
На сайте с 15.02.2010
Offline
105
#6

Ingref, т.е есть смысл таки изловчиться и заставить отдавать 301 вместо 302? Я тоже об этом думал, но сходу сделать не получилось и я подумал "так и надо", CMS ведь тоже вроде как не дураки писали...

Станислав Романенко
На сайте с 05.09.2007
Offline
325
#7

Есть смысл, да.

богоносец
На сайте с 30.01.2007
Offline
753
#8
hubbiton:
Да, я прекрасно понимаю, что rel=canonical указывает роботу "главный url", если страница доступна по нескольким. Остальные он должен убрать из индекса (зачем хранить копии? вполне понятно).

В хелпе такого нет. Это вы придумали

A
На сайте с 07.01.2010
Offline
123
#9

Ох ...

по номральному 1 странице - 1 фиксированный URL

по этому

Полчается, что можно запросить http://site.ru/index.php?id=page, http://site.ru/page/, или даже вообще http://site.ru/любая_фигня/page/ - всё равно попадаем на главный url http://site.ru/razdel/page/

сразу не верно.

я бы сделал так:

?id=* - закрыл через robots, и сделал бы редирект (301) с них на нормльный чпу адрес

сайт вычистил от таких ссылок (с ?id=*), на страницах с чпу проспиал canonical на этот же адрес

и дальше ждал когда ПС выкинут старые ?id= из поиска.

это было-бы наиболее правильное решение с точки зрения ПС

---------- Добавлено 21.08.2017 в 11:57 ----------

ну и дальше, разделы которые не нужны, через robots закрываем,

и всё, корректно решена ваша задача

Создаем и продвигаем сайты различных тематик
H
На сайте с 15.02.2010
Offline
105
#10

Alfinnov, так оно так и есть фактически!

Разве что в роботсе ?id=* не закрыто (стремновато)

Ссылок с ?id= нигде нет, все страницы сразу создаются с ЧПУ и соответствующим каноникал. Но Янедкс всё таки индексирует сначала ?id=, но с временем заменяет на ЧПУ. На старых сайтах (их несколько на этой Getsimple) всё нормально и стабильно, а вот с новыми страницами - "качели", то заменит, то обратно. В вебмастере вижу код 302. В общем-то - не напрягает, но вот сейчас озадачился...

Если изменить штатый htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]

На такой

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [R=301,QSA,L]

получаем ступор с сообщением "сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится"... Но это уже тут офтопик, наверное... 🤪

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий