Что такое плотность ключевых слов и как создать скрипт на PHP?
Я работаю над проектом, где мне нужно узнать плотность ключевых слов страницы на основе URL этой страницы. Я много гуглил, но никакой помощи и скриптов не нашел, я нашел платный инструмент http://www.selfseo.com/store/_catalog/php_scripts/_keyword_density_checker_php_script
Но я не знаю, что на самом деле означает" плотность ключевых слов страницы"? а также, Пожалуйста, скажите мне, как мы можем создать PHP-скрипт, который будет получать плотность ключевых слов в интернете страница.
Спасибо
5 ответов:
"плотность ключевых слов" - это просто частота, с которой слово встречается в процентах от общего числа слов. Следующий PHP-код выведет плотность каждого слова в строке
$str
. Это показывает, что плотность ключевых слов не является сложным вычислением, это может быть сделано в нескольких строках PHP:<?php $str = "I am working on a project where I have to find out the keyword density of the page on the basis of URL of that page. But I am not aware actually what \"keyword Density of a page\" actually means? and also please tell me how can we create a PHP script which will fetch the keyword density of a web page."; // str_word_count($str,1) - returns an array containing all the words found inside the string $words = str_word_count(strtolower($str),1); $numWords = count($words); // array_count_values() returns an array using the values of the input array as keys and their frequency in input as values. $word_count = (array_count_values($words)); arsort($word_count); foreach ($word_count as $key=>$val) { echo "$key = $val. Density: ".number_format(($val/$numWords)*100)."%<br/>\n"; } ?>
Пример вывода:
of = 5. Density: 8% a = 4. Density: 7% density = 3. Density: 5% page = 3. Density: 5% ...
Для извлечения содержимого веб-страницы можно использовать file_get_contents (или cURL). В качестве примера приведем следующий PHP код на этой странице перечислены все ключевые слова с плотностью выше 1%:
<?php $str = strip_tags(file_get_contents("http://stackoverflow.com/questions/819166")); $words = str_word_count(strtolower($str),1); $word_count = array_count_values($words); foreach ($word_count as $key=>$val) { $density = ($val/count($words))*100; if ($density > 1) echo "$key - COUNT: $val, DENSITY: ".number_format($density,2)."%<br/>\n"; } ?>
Надеюсь, это поможет.
Или вы можете попробовать это:
http://code.eyecatch-up.de/?p=155
обновление: переместил класс в http://code.google.com/p/php-class-keyword-density-check/<?php include 'class/class.keywordDensity.php'; // Include class $obj = new KD(); // New instance $obj->domain = 'http://code.eyecatch-up.de'; // Define Domain print_r ($obj->result()); ?>
Приведенный выше код возвращает:
Array ( [0] => Array ( [total words] => 231 ) [1] => Array ( [keyword] => display [count] => 14 [percent] => 6.06 ) and so on...
Работает с локальными и удаленными файлами.
Плотность ключевых слов примерно равна:
(Нет. раз ключевое слово появилось на странице) / (всего нет. других ключевых слов)
Плотность ключевых слов просто означает процент, который ключевые слова появляются в содержании по сравнению с остальной частью текста. В общем, это также довольно бесполезная метрика для SEO. Я бы не стал создавать для него сценарий, так как вам лучше сосредоточиться на других показателях. Вы можете найти эту ссылку полезной.
Если задано ключевое слово "прогулки слона", плотность ключевых слов будет равна тому, как часто термин" прогулки слона " появляется на любой данной веб-странице по отношению к другому тексту. Как сказал VirtuosiMedia, это (в широком смысле) бесполезная информация.
Чтобы измерить его, вы должны удалить все метки из текста, подсчитать слова, отслеживая, как часто появляются ключевые слова.
В этот момент Вы узнаете, что xx. xx % всех слов в этом тексте являются ключевыми словами. xx. xx % времени, ключ слова (ы) используются рядом друг с другом, поэтому моя плотность ключевых слов для "прогулок слона" равна xx
Опять же, единственная причина, по которой это полезно, - демонстрация соответствия шаблону и строковых функций в php.