VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
В случае удаления тем, меток, закрытия раздела от гостей и прочих исчезновений страниц сервер должен выдать сообщение об ошибки 404 (страница не найдена) для несуществующих страниц. Но этого не происходит из-за работы скрипта форума, который вместо удалённой страницы выдаёт страницу ошибки об отсутствии запрашиваемой страницы. Для бота поисковика удалённая страница заменяется на страницу с запретом на индексацию.
Вот что пишет Яндекс по этому поводу
Quote:
Одна из распространенных ошибок заключается в замене сообщения об ошибке 404 (страница не найдена) для несуществующих страниц на страницу-заглушку, которая возвращается с кодом ответа 200 (ОК). В этом случае поисковая система считает, что страница с некорректным адресом существует, и не удаляет ее из своей базы. Это приводит к более медленному индексированию полезных страниц на сайте. http://help.yandex.ru/webmaster/?id=1108949
На моём сайте скопилось более тысячи таких страниц. Решил уравнять в "правах" пользователей сайта и ботов поисковиков, что бы все получали сообщение об удалении страницы. Для этого создал модуль, который отдавал ботам страницу с 404 ошибкой в тех случаях, когда проиндексированная страница становилась недоступной для бота поисковика.
Обращаю особое внимание на то, что страница с 404 ошибкой создаётся скриптом форума, а не как принято - сервером. Иначе, наличествует обман ботов, поэтому использование предлагаемого модуля теоретически может привести к бану сайта в поисковиках.
Модуль прошёл успешное испытание на моих сайтах. Роботы поисковиков "скушали" страницу с 404 ошибкой созданную скриптом форума. Вскоре в статистике поисковиков напротив удалённых страниц появилось сообщение о коде 404 и страницы форума со стандартной ошибкой, которыми заменялись удалённые страницы, были удалены поисковиками из индексирования.
Что бы создать модуль в меню "Продукты и модули" выбираем вкладку "Добавить новый модуль". В открывшейся вкладке заполняем поля сверху вниз
1. Местоположение модуля - error_generic
2. Заголовок - Генерация страницы с ошибкой 404 для роботов поисковиков (здесь можно написать любой заголовок)
3. Порядок выполнения - 5
4. Код PHP модуля -
PHP Code:
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Googlebot') !== false OR strpos($_SERVER['HTTP_USER_AGENT'], 'Yandex') !== false OR strpos($_SERVER['HTTP_USER_AGENT'], 'bingbot') !== false OR strpos($_SERVER['HTTP_USER_AGENT'], 'Scooter') !== false OR strpos($_SERVER['HTTP_USER_AGENT'], 'Mail.RU') !== false OR strpos($_SERVER['HTTP_USER_AGENT'], 'StackRambler') !== false ) { header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); header("Status: 404 Not Found"); echo "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">"; echo "<html> <head> <title>404 Not Found</title> </head> <body> <h1>Not Found</h1> <p>The requested URL.</p> </body> </html>"; exit(); };
if (strpos($_SERVER['HTTP_USER_AGENT'], 'Googlebot') !== false
OR strpos($_SERVER['HTTP_USER_AGENT'], 'Yandex') !== false
OR strpos($_SERVER['HTTP_USER_AGENT'], 'bingbot') !== false
OR strpos($_SERVER['HTTP_USER_AGENT'], 'Scooter') !== false
OR strpos($_SERVER['HTTP_USER_AGENT'], 'Mail.RU') !== false
OR strpos($_SERVER['HTTP_USER_AGENT'], 'StackRambler') !== false
Есть переменная $show['search_engine'], по мне так делает тоже самое.
Залез на google.com/webmasters/ глянул на ошибки 404, в принципе поисковик и сам определил что страниц уже нету, хоть и есть стандартная "заглушка".
Last edited by Orfo : 07-24-2012 at 03:11 AM.
@Luntick
На доске почёта Прощаемся
Join Date: Jul 2012
Location: Москва
Posts: 455
Версия vB: 3.8.7
Пол:
Reputation:
Knowing 155
Репутация в разделе: 112
1
Quote:
Originally Posted by Orfo
Залез на google.com/webmasters/ глянул на ошибки 404, в принципе поисковик и сам определил что страниц уже нету, хоть и есть стандартная "заглушка".
Заглушка даёт код ответа 200 и + к этому запрет для робота на индексацию страницы. При этом сохраняется адрес страницы! То есть. о том что страница удалена не может знать ни один поисковик. Гугль мог удалил страницы, только по факту запрета на индексирование. НО страница и её адрес не запрещены для поисковика, запрет идёт внутри страницы. Значит гугль мог удалить страницы как пустые. В общем у поисковика должен быть фильтр для анализа таких страниц. Яндекс однозначно пишет, что будет хранит какое то время в индексации страницы с заглушкой.
Кроме этих поисковиков есть и другие, а они могут просто не понимать запрет на индексирование страницы и сохранят её у себя как изменённую по тому же адресу.