O que é densidade de palavras -chave e como criar um script no PHP?
Pergunta
Estou trabalhando em um projeto em que tenho que descobrir a densidade de palavras -chave da página com base na URL dessa página. Eu pesquisei muito no Google, mas não foi encontrado ajuda e scripts, encontrei uma ferramenta paga http://www.selfseo.com/store/_catalog/php_scripts/_keyword_density_checker_php_script
Mas não estou ciente de que "densidade de palavras -chave de uma página" realmente significa? E também me diga como podemos criar um script PHP que buscará a densidade de palavras -chave de uma página da web.
Obrigado
Solução
"Densidade das palavras -chave" é simplesmente a frequência que a palavra ocorre dada como uma porcentagem do número total de palavras. O código PHP a seguir produzirá a densidade de cada palavra em uma string, $str
. Ele demonstra que a densidade das palavras -chave não é um cálculo complexo, pode ser feito em algumas linhas de 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";
}
?>
Exemplo de saída:
of = 5. Density: 8%
a = 4. Density: 7%
density = 3. Density: 5%
page = 3. Density: 5%
...
Para buscar o conteúdo de uma página da web que você pode usar File_Get_Contents (ou ondulação). Como exemplo, o código PHP a seguir lista todas as palavras -chave acima de 1% de densidade nesta página da Web:
<?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";
}
?>
Eu espero que isso ajude.
Outras dicas
Ou você pode tentar isso: http://code.eyecatchup.de/?p=155
Atualizar: Realocou a classe para 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());
?>
Retornos de código acima:
Array
(
[0] => Array
(
[total words] => 231
)
[1] => Array
(
[keyword] => display
[count] => 14
[percent] => 6.06
)
and so on...
funciona com arquivos locais e remotos.
A densidade das palavras -chave é aproximadamente:
(NO. Of Times Keyword apareceu na página)/(Nº total de outras palavras -chave)
A densidade de palavras -chave significa apenas a porcentagem que as palavras -chave aparecem no conteúdo versus o restante do texto. Em geral, também é uma métrica bastante inútil para SEO. Eu não me incomodaria em construir um roteiro, pois você seria melhor se concentrar em outras métricas. Você pode encontrar isso referência útil.
Se a palavra -chave fornecida for "caminhadas de elefante", a densidade da palavra -chave seria com que frequência o termo "caminhadas de elefante" aparece em qualquer página da web em relação a outro texto. Como disse a virtuosimedia, isso é (amplamente) informações inúteis.
Para medi -lo, você deve retirar todas as marcas do texto, conte as palavras enquanto acompanha com que frequência as palavras -chave aparecem.
Nesse ponto, você saberá, xx.xx % de todas as palavras neste texto são palavras -chave. xx.xx % do tempo, as palavras -chave são usadas um ao lado do outro; portanto, minha densidade de palavras -chave para "caminhadas de elefante" é xx
Novamente, a única razão pela qual isso é útil é demonstrar funções de correspondência de padrões e string no PHP.