Что такое плотность ключевых слов и как создать скрипт на PHP?


Я работаю над проектом, в котором мне нужно определить плотность ключевых слов страницы на основе URL этой страницы. Я много гуглил, но никакой помощи и скриптов не нашел, я нашел платный инструмент http://www.selfseo.com/store/_catalog/php_scripts/_keyword_density_checker_php_script

Но я на самом деле не знаю, что на самом деле означает "плотность ключевых слов на странице"? а также, пожалуйста, скажите мне, как мы можем создать PHP-скрипт, который будет получать плотность ключевых слов в Интернете страница.

Спасибо

Author: Prashant, 2009-05-04

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";
}
?>

Я надеюсь, что это поможет.

 23
Author: Tom, 2010-03-22 14:15:31

Или вы можете попробовать это: 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...

Работает с локальными и удаленными файлами.

 5
Author: stephan, 2011-01-04 12:31:29

Плотность ключевых слов примерно равна:

(количество раз, когда ключевое слово появилось на странице)/(общее количество других ключевых слов)

 2
Author: , 2009-06-07 10:32:15

Плотность ключевых слов просто означает процентное соотношение ключевых слов в содержимом по сравнению с остальной частью текста. В общем, это также довольно бесполезный показатель для SEO. Я бы не стал утруждать себя созданием сценария для этого, так как вам было бы лучше сосредоточиться на других показателях. Вы можете найти эту ссылку полезной.

 1
Author: VirtuosiMedia, 2009-05-04 07:56:13

Если заданным ключевым словом является "прогулки на слонах", плотность ключевых слов будет зависеть от того, как часто термин "прогулки на слонах" появляется на любой данной веб-странице по отношению к другому тексту. Как сказал VirtuosiMedia, это (в широком смысле) бесполезная информация.

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

В этот момент вы узнаете, что xx.xx% всех слов в этом тексте являются ключевыми словами. xx.xx% времени ключ слова(ы) используются рядом друг с другом, поэтому моя плотность ключевых слов для "прогулок на слонах" равна xx

Опять же, единственная причина, по которой это полезно, - продемонстрировать сопоставление шаблонов и строковые функции в php.

 0
Author: Tim Post, 2009-05-04 08:03:09