Перейти к контенту

Генерация meta name=keywords "на лету"


Рекомендуемые сообщения

Здраствуйте мастера!

Можно ли создать мод, для IP.Board 2.3.6, который автоматически генерировал бы ключевые слова для каждой страницы отдельно. Тоисть добавлял в мета тег "keywords" слова, которые часто встречаются в теме.

Я сам очень плохо разбираюсь в PHP, но в интернете нашол код php скрипта для подбора ключевых слов:

<?php

class Counter

{

var $origin_arr;

var $modif_arr;

var $min_word_length = 3;

 

function explode_str_on_words($text)

{

$search = array ("'ё'",

"'<script[^>]*?>.*?</script>'si", // Вырезается javascript

"'<[\/\!]*?[^<>]*?>'si", // Вырезаются html-тэги

"'([\r\n])[\s]+'", // Вырезается пустое пространство

"'&(quot|#34);'i", // Замещаются html-элементы

"'&(amp|#38);'i",

"'&(lt|#60);'i",

"'&(gt|#62);'i",

"'&(nbsp|#160);'i",

"'&(iexcl|#161);'i",

"'&(cent|#162);'i",

"'&(pound|#163);'i",

"'&(copy|#169);'i",

"'(\d+);'e");

$replace = array ("е",

" ",

" ",

"\\1 ",

"\" ",

" ",

" ",

" ",

" ",

chr(161),

chr(162),

chr(163),

chr(169),

"chr(\\1)");

$text = preg_replace ($search, $replace, $text);

$del_symbols = array(",", ".", ";", ":", "\"", "#", "\$", "%", "^",

"!", "@", "`", "~", "*", "-", "=", "+", "\\",

"|", "/", ">", "<", "(", ")", "&", "?", "¹", "\t",

"\r", "\n", "{","}","[","]", "'", "“", "”", "•",

"как", "для", "что", "или", "это", "этих",

"всех", "вас", "они", "оно", "еще", "когда",

"где", "эта", "лишь", "уже", "вам", "нет",

"если", "надо", "все", "так", "его", "чем",

"при", "даже", "мне", "есть", "раз", "два",

"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"

);

$text = str_replace($del_symbols, array(" "), $text);

$text = ereg_replace("( +)", " ", $text);

$this->origin_arr = explode(" ", trim($text));

return $this->origin_arr;

}

 

function count_words()

{

$tmp_arr = array();

foreach ($this->origin_arr as $val)

{

if (strlen($val)>=$this->min_word_length)

{

$val = strtolower($val);

if (array_key_exists($val, $tmp_arr))

{

$tmp_arr[$val]++;

}

else

{

$tmp_arr[$val] = 1;

}

}

}

arsort ($tmp_arr);

$this->modif_arr = $tmp_arr;

}

 

function get_keywords($text)

{

$this->explode_str_on_words($text);

$this->count_words();

$arr = array_slice($this->modif_arr, 0, 30);

$str = "";

foreach ($arr as $key=>$val)

{

$str .= $key . ", ";

}

return trim(substr($str, 0, strlen($str)-2));

}

}

?>

 

Пользоваться данным php классом очень просто, создаете экземпляр класса функцией new а потом вызываете внутреннюю функцию get_keywords(), класса Counter. Вот пример использования этого класса:

$word_counter = new Counter();

if (strlen($content)>50000)

{

$keywords = $word_counter->get_keywords(substr($content, 0, 50000));

}

else

{

$keywords = $word_counter->get_keywords($content);

}

Можно ли както переделать етот скрипт под IP.Board 2.3.6?

Ссылка на комментарий
Поделиться на других сайтах

Етот мод полностью не автоматизирован, в него нужно вписывать(в файл keywords.txt) слова которые должны искатся на странице. Ето неудобно потому что темы форума очень разные(и потому нужно для каждой темы писать свой файл keywords.txt)

А я хочу мод, который сам автоматически исчет слова, которые повторяются в теме.

Ссылка на комментарий
Поделиться на других сайтах

скрипт приведенный в теме переделывать не надо, его можно впихнуть в class_display.php

Ты имееш в виду скрипт который я выложил выше?

Есле да, то куда именно его нужно вставлять в class_display.php? И когда вставиш, больше ничего изменять не нужно?

Ссылка на комментарий
Поделиться на других сайтах

нужно его подключить перед выводом, выполнить над тем, что выводится и заменить потом в том, что выводится, заранее подготовленное ключевое слово на набор кейвордов, полученных из скрипта
Ссылка на комментарий
Поделиться на других сайтах

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

Есле чесно, то я ничего не понял. Можно подробнее?(без инструкции я его не установлю :D )

Может есть где-то готовый скрипт с инструкцией?

Ссылка на комментарий
Поделиться на других сайтах

А я хочу мод, который сам автоматически исчет слова, которые повторяются в теме.

Представляю, какие метакейворды появятся после захода порнобота. :D

 

Меня не интересует нецелевой трафик, и я не вижу смысла продвигать форум по тем запросам, которые не соответствуют тематике форума.

Ссылка на комментарий
Поделиться на других сайтах

Меня не интересует нецелевой трафик, и я не вижу смысла продвигать форум по тем запросам, которые не соответствуют тематике форума.

А есле форум не имеет единой тематики, что тогда делать?

Ссылка на комментарий
Поделиться на других сайтах

У меня есть форум нескольких тематик, просто кейворды поразнообразней: http://pharm-forum.ru/keywords.txt
Ссылка на комментарий
Поделиться на других сайтах

Fantasy On (:
Ссылка на комментарий
Поделиться на других сайтах

fatal error: class "Fantasy" not found

Fatal error: Class "Fantasy" not found.

Attempting to load class "Brain"...

Ссылка на комментарий
Поделиться на других сайтах

Attempting to load class "Brain"...

Please wait...

Please wait...

Please wait...

Аttempt failed!

Class "Brain" is broken.

Error in the file "source/action_admin/sanity.php" in 1065 line

----

Retry?

 

А если серьёзно...?

Ссылка на комментарий
Поделиться на других сайтах

Да, так сделано у меня на двух форумах.

Там еще есть селекция по частоте повторов на странице и ограничения по общему числу.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.