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