Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Легко ли найти нужную информацию на сайте?

Очень просто
Нахожу почти сразу
Приходится тщательно покопаться
Почти невозможно
Не нашел (лень разбираться)


Результаты
Другие опросы

Всего голосов: 591
Комментарии: 0


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



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

Речь пойдет о новой версии самого популярного в настоящее время языка написания сценариев для сервера - РНР 5. Этот язык позволяет разрабатывать высокопроизводительные Web-сайты любого масштаба и любой категории сложности. Рассматриваются такие вопросы, как синтаксические конструкции языка, объектно-ориентированное программирование на РНР, работа с базами данных и графическими изображениями, а также построение WAP-содержимого. Большое внимание уделяется эффективным решениям типовых практических задач на PHP, среди которых аутентификация посетителей, шифрование данных, использование сеансов, обработка ошибок, работа с электронной почтой. Создавая свой php движок для нового сайта, я, как и всегда не захотел выполнять нудную работу сам и поэтому такое задание как подбор ключевых слов к каждой странице сайта доверил php скрипту, который написал меньше чем за полчаса.

Конечно, многие могут сказать, что поисковики не учитывают мета теги keywords и description, и вовсе незачем голову морочить проблемой подбора ключевых слов, но учитывают или нет, это известно только администраторам поисковых машин. В частности, я недавно проводил эксперимент, в котором участвовало три пары сайтов, на каждой паре сайтов был один и тот же контент, но на одном из сайтов каждой пары были прописаны keywords и description. И что вы думаете, через месяц, все три сайта с keywords и description были выше в выдаче Яндекса, чем их двойники без этих мета тегов. (Примечание: сайты были оптимизированы под абсолютно не конкурентные запросы и не имели бэклинков).

Принцип работы php скрипта, основной задачей которого является “на лету” подбирать к тексту ключевые слова (keywords), заключается в разделении всего текста на слова и занесение их в массив. Из исходного текста сначала удаляются все знаки препинания, затем слова помещаются в массив и каждому слову присваивается число его повторений в тексте. После заполнения массива слова упорядочиваются по количеству повторений, и в качестве результатов берется верхушка массива – 15-25 самых часто употребляемых слов.

А вот и сам исходный код этого 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
                     
"'<[&#092;/&#092;!]*?[^<>]*'si",           // Вырезаются html-тэги
                     
"'([&#092;r&#092;n])[&#092;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",
                     
"'&#(&#092;d+);'e");
    
$replace = array ("е",
                      
" ",
                      
" ",
                      
"&#092;&#092;1 ",
                      
"&#092;" ",
                      " ",
                      " ",
                      " ",
                      " ",
                      chr(161),
                      chr(162),
                      chr(163),
                      chr(169),
                      "
chr(&#092;&#092;1)");
    
$text preg_replace ($search$replace$text);
    
$del_symbols = array(",""."";"":""&#092;"", "#", "&#092;$", "%", "^",
                         
"!""@""`""~""*""-""=""+""&#092;&#092;",
                         
"|""/"">""<""("")""&""?""?""&#092;t",
                         
"&#092;r""&#092;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_arr030);
    
$str "";
    foreach (
$arr as $key=>$val)
    {
       
$str .= $key ", ";
    }
    return 
trim(substr($str0strlen($str)-2));
}
}

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

PHP - Код
$word_counter = new Counter();
if (
strlen($content)>50000)
{
    
$keywords $word_counter->get_keywords(substr($content050000));
}
else
{
    
$keywords $word_counter->get_keywords($content);
}


В переменной $content должен содержатся основной текст страницы, для которой создаются ключевые слова. И еще, полученная строка содержит только ключевые слова, без мета тегов. Скачать данный php класс для подбора ключевых слов в zip архиве вы можете здесь.



Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры PHP PHP Генерация meta name=keywords " на лету" Создавая свой движок для нового сайта как всегда не захотел выполнять нудную работу сам поэтому такое задание подбор ключевых слов каждой странице доверил скрипту который написал меньше чем за полчаса Конечно многие могут сказать что поисковики учитывают мета теги keywords description вовсе незачем голову морочить проблемой подбора но или нет это известно только администраторам поисковых машин частности