FatCat Опубликовано 14 Марта 2010 Жалоба Поделиться Опубликовано 14 Марта 2010 У себя сделал как подсказку модераторам о "полезности" топика в плане продвижения в поисковках. Модератора при просмотре топика видят в тайтлах страницы цифру "тематичности" топика и ключ, по которому эту страницу имеет смысл продвигать (например при добавлении в соцзакладки). Итак, сам мод. Опишу общие принципы, так как у меня сильно измененный движок, отдаленно напоминающий 1.3. Сначала отпарсил вордстат по среднечастотникам, набрал тысячи полторы двухсловников и трехсловников. Кто не знает что это такое, тому наверное этот мод не нужен, может дальше не читать. Ключи расположил в порядке убывания частоты запросов: первым самый частый с частотой несколько тысяч в месяц, последний самый редкий с частотой 100; меньше цифры не брал. В skin_global создал новую функцию, в нее поместил массив отпарсенных ключей через символ "|".В классе display - там, где происходит применение скина, добавился обсчет страницы. Условие работы: только модерам и только в топиках: if( $ibforums->input['t'] and ($ibforums->member['g_is_supmod'] or $ibforums->member['is_mod']) ) { Забираю только тексты сообщений и подписи, чтобы не перегружать движок на больших страницах, беру только первые 64К текста без тегов: preg_match_all("/<!-- THE POST \d{1,10} -->(.+?)<!-- THE POST -->/is",$ibforums->skin['template'],$posts_text); $keys_string = substr(strip_tags(implode(" ",$posts_text[0])),0,64000); Забираю массив ключей из скина: $wordstat = explode("|",trim($skin_universal->wordstat())); Считаю полные и неполные вхождения ключей в текст: $count_wordstat = count($wordstat); $w_full = array(); $w_o_full = array(); foreach($wordstat as $key => $val) { $val = explode(" ",trim($val)); $w_no = 0; foreach($val as $w_word) { if( !stristr($output['meta_keywords'],$w_word) )$w_no++; } if(!$w_no)$w_full[] = $key; if($w_no == 1)$w_o_full[] = $key; } Забираю самый перспективный ключевик: if(count($w_full))$wordstat = " : ".$wordstat[$w_full[0]]; elseif(count($w_o_full))$wordstat = " : ".$wordstat[$w_o_full[0]]; else $wordstat = ""; Отдаю в тайтл готовые данные: $output_array['TITLE'] .= $wordstat" : ".( round((count($w_full)/($count_wordstat/150))*(count($w_o_full)/($count_wordstat/3))*100) ); Конец блока: } В формуле обсчета есть два коэффициента: полных и неполных вхождений - "150" и "3" в моем случае.Эти цифры подобраны для уже достаточно большого форума - хотя бы с 1000 страниц топиков. Для молодых форумов я бы посоветовал первую цифру увеличить хотя бы до 250. Оценка по цифрам:0 - топик нетематичен; скорее всего такой топик следует удалить;0-100 - топик тематичен и может работать по алгоритму "еще с сайта", но точкой входа страница скорее всего не станет;100 и больше - потенциальная точка входа. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
XTR Опубликовано 19 Марта 2010 Жалоба Поделиться Опубликовано 19 Марта 2010 Все модераторы бросились спамить ссылками, ога Мракобесие какое-то Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.