[keyworddensity] Anzeige der Keyworddichte
Hallo,
nachdem ich das Modul installiert und für einen Artikel Keywords definiert habe, wird zwar ein entsprechen farbiges Icon angezeigt. Wenn ich verschiedene Keywords eingebe ändert sich auch die Farbe, die Berechnung sollte also auch korrekt funktionieren. Wenn ich allerdings auf das Icon klicke, wird bei jedem Keyword 0 % angezeigt.
Viele Grüße
Mynyx
Liste der Anhänge anzeigen (Anzahl: 1)
das Problem habe ich auch
Bei der Berechnung der Dichte erhalte ich immer extrem niedrige Werte, selbst wenn der Artikel nur aus dem Keyword besteht. Ein Einblick in die KeywordDensity.php zeigt folgende Berechnung (Zeile 127):
PHP-Code:
$total / 100 * $arrDensity[$keyword]
Es muss heißen:
PHP-Code:
100 * $arrDensity[$keyword] / $total
Weiterhin wir für $total angesetzt (Zeile 116):
PHP-Code:
$total = count($arrDensity);
das wäre aber nicht die Summe aller Wörter, sondern die Summe aller unterschiedlichen Wörter.
Mein Vorschlag:
PHP-Code:
$total = count($arrWords)-2;
-2 deshalb, weil durch preg_split (Zeile 112) am Anfang und Ende noch zwei Leer-Elemente hinzukommen, die ich wieder abziehe
Nach diesen Änderungen wird meines Erachtens die Dichte richtig berechnet, allerdings scheint dann noch die Einteilung in rot, gelb oder grün fehlerhaft zu sein. Die Einteilung erfolgt ab Zeile 40:
PHP-Code:
if (count($arrKeywords))
{
$intRating = 3;
foreach( $arrKeywords as $keyword => $data )
{
if (($data['percentage'] < $arrRating[1] || $data['percentage'] > $arrRating[2]) && $intRating > 2)
{
$intRating = 2;
}
elseif (($data['percentage'] < $arrRating[0] || $data['percentage'] > $arrRating[3]) && $intRating > 1)
{
$intRating = 1;
}
}
}
Auf diese Weise erhalte ich auch dann ein Rating gelb, wenn es rot sein müsste. Wenn man in Zeile 49 statt elseif nur if nimmt, stimmt auch die Einteilung:
PHP-Code:
if (($data['percentage'] < $arrRating[0] || $data['percentage'] > $arrRating[3]) && $intRating > 1)
Ich habe meine Version der KeywordDensity.php als txt-Datei beigelegt.