Я работаю над проектом, где мне нужно выяснить плотность ключевых слов в этой странице на основе URL этой страницы. Я много искал, но никакой помощи и скриптов не было найдено, я нашел платный инструмент http://www.selfseo.com/store/_catalog/php_scripts/_keyword_density_checker_php_script
Но я не знаю, что на самом деле означает «ключевое слово Плотность страницы»? а также, пожалуйста, скажите, как мы можем создать PHP-скрипт, который будет получать плотность ключевых слов на веб-странице.
благодаря
«Плотность ключевого слова» – это просто частота, с которой происходит слово, в процентах от общего количества слов. Следующий 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.