с чего всё началось:
недавно мне пришло предупреждение от Вебмастера Яндекса о том, что на сайте много страниц дубликатов, отличающихся get-параметром f :
Вложение:
страницы
Код: Выделить всё
https://***/viewtopic.php?f=32&t=539
и
Код: Выделить всё
https://***/viewtopic.php?t=539
ссылки ведут на одну и ту же страницу и различаются только get-параметром f. то есть нужно убрать ссылку на форум (f=32), оставив только ссылку на страницу (t=539).
почитав сеть я понял, что эта проблема волнует многих и вроде в более новых версиях форума она решена (у меня версия 3.14).
сначала, по совету в сети и на сайте Вебмастера пытался решить проблему директивой Clean-param прописав в robots.txt для User-agent: Yandex
строку объединения:
Код: Выделить всё
Clean-param: f /viewtopic.php
не прошло. Яндекс отсканировал robots, но ошибка и предупреждение никуда не исчезли.
тогда, полазив по сети, я нашёл код перенаправления с адресов с параметром f на адреса без них с помощью сервера. то есть строка прописывается в файле .htaccess:
Код: Выделить всё
RewriteCond %{QUERY_STRING} ^f=([0-9]+)&t=([0-9]+)(.*)$ [NC]
RewriteRule ^viewtopic\.php$ /viewtopic.php?t=%2%3 [L,R=301]
а вот этот код сразу сработал. в браузере ссылки на страницу сразу стали показываться без f*, а, спустя 4 дня, робот Яндекса при очередном обходе убрал предупреждение о дубликатах.
может кому пригодится. я искал решение этой проблемы (со временем ожидания обхода робота Яндекса) около месяца.