GiV Опубликовано 3 Декабря 2007 Жалоба Поделиться Опубликовано 3 Декабря 2007 ПроблемаПри индексации форума особо жирные поисковики загоняют несколько ботов на форум. Одним из таких жирных поисковиков является Yahoo! Последствия этого достаточно печальны - список "Кто в онлайн" по непонятному принципу начинает делиться на кучу страниц, котрые заполнены от силы на половину. ПричиныСоздатели форума посчитали, что каждый бот сам по себе уникален и для него стоит создать свою сессию. Оно и правильно, толко такой подход избавит нас от кучи ошибок в логах с сообщением "Duplicate 1-", которые появляются в связи со слаженной синхронностью работы этих самых роботов. Так же создатели посчитали, что выводить одно и то же имя пользователя в списке "Кто в онлайн" так же нехорошо. ICheck for dupes и не за балуешь. В итоге роботы поисковика имеющие одинаковые имена, считаются дублями и не выводятся в списке, тем самым вызывая выше описанную проблему. РешениеРешение просто как 2х2. Надо сказать системе что роботы это не пользователи и не надо их считать dupes, dude. Открываем ./sources/action_public/online.php Ищем if ( ! empty($sess['member_name']) ) { if (isset($this->seen_name[ $sess['member_name'] ]) ) { continue; } else { $this->seen_name[ $sess['member_name'] ] = 1; } } Заменяем на if ( ! empty($sess['member_name']) AND (!isset($sess['is_bot']) OR !$sess['is_bot']) ) { if (isset($this->seen_name[ $sess['member_name'] ]) ) { continue; } else { $this->seen_name[ $sess['member_name'] ] = 1; } } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.