Seite 6 von 11
Verfasst: 28.11.2005 11:47
von ExarKun2000
hi,
100 inzwischen nicht mehr

hab ich vorhin scho geändert...
das mit LIMIT ist mysql spezifisch. ich verwend ja wie gesagt postgresql. ist glaub ich bei dem forum auch programm
cu tb.
Verfasst: 28.11.2005 13:15
von Harki
Ahoi,
IPB_Flüchtling hat geschrieben:
Code: Alles auswählen
$sql = "SELECT w.word_text
FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE t.topic_first_post_id = m.post_id
AND m.word_id = w.word_id
AND t.topic_id = $topic_id
AND LENGTH(w.word_text) >= 4
LIMIT 20";
Vielen Dank für diesen Hinweis - finde ich überzeugend.
Vielleicht wäre es noch sinnvoll, die Auswahl der Schlüsselwörter nach ihrer Länge zu sortieren, da man wohl davon ausgehen kann, daß die längeren Wörter etwas eher sinntragend sein werden als die im Alphabet vorne stehenden. Also so:
Code: Alles auswählen
$sql = "SELECT w.word_text
FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE t.topic_first_post_id = m.post_id
AND m.word_id = w.word_id
AND t.topic_id = $topic_id
AND LENGTH(w.word_text) >= 4
ORDER BY LENGTH(w.word_text) DESC
LIMIT 50";
Verfasst: 28.11.2005 14:18
von IPB_Flüchtling
Ahoi Harki,
zunächst einmal vielen Dank für Deine kleine, aber wirklich feine Modifikation, dass dynamische Metatags nur für Gäste/Suchmaschinen erzeugt werden:
Schön langsam wird der Mod ja wirklich gut.

Auch Deine jetzige Idee hat durchaus etwas für sich - werde sie wohl beherzigen (aber diesmal wirklich erst heute Abend)! Was mich mehr stört, ist, dass manchmal ein und dasselbe Keyword doppelt auftaucht. Da aber zumindest Google die Metatags Description und Keyword ohnehin nur sehr schwach wertet (wenn überhaupt), ist das auch nicht weiter schlimm.
LG, IPB_Flüchtling
Verfasst: 29.11.2005 14:00
von ExarKun2000
wie doppelt? ist bei mir nicht der fall und sollte ja auch nicht sein...
alternativ
cu tb[/code]
Verfasst: 29.11.2005 15:08
von IPB_Flüchtling
ExarKun2000 hat geschrieben:wie doppelt? ist bei mir nicht der fall und sollte ja auch nicht sein...
Sollte wirklich nicht sein, war bei mir aber manchmal (nicht bei jedem Thread) der Fall... Deine Lösung hat aber funktioniert!

Für mich funktioniert der Mod nun in folgender Form
perfekt:
Code: Alles auswählen
$sql = "SELECT DISTINCT (w.word_text)
FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE t.topic_first_post_id = m.post_id
AND m.word_id = w.word_id
AND t.topic_id = $topic_id
AND LENGTH(w.word_text) >= 4
LIMIT 20";
Auch Harkis Vorschlag zur Sortierung der Keywords funktioniert tadellos. Habe die entsprechende Zeile aber nicht eingebaut, weil es - zumindest in meinem Forum - auch kurze Keywords gibt, die mir wichtig sind.
Herzlichen Dank an alle, die an der Entwicklung und Verbesserung dieses Mods mitgearbeitet haben!
LG, IPB_Flüchtling
<editiert von mir, weil ich manchmal plemplem bin.>
Verfasst: 29.11.2005 15:15
von ExarKun2000
klar bekommst du da andere suchwörter. ORDER BY sortiert das ergebnis. hier nach der länge der wörter in absteigender reihenfolge...
mit der LIMIT funktion sagst du ja dann auch nur das du eine bestimmte anzahl von treffern haben möchtest und dadurch kommen die unterschiede zustande...
cu tb.
Verfasst: 29.11.2005 15:37
von IPB_Flüchtling
Hallo,
habe mich schlecht ausgedrückt: Hatte gemeint, dass ich mit bzw. ohne folgende Zeile unterschiedliche Keywords erhalte:
Habe jetzt versucht, das Ganze zu reproduzieren, was mir aber nicht gelungen ist. Muss da etwas durcheinandergebracht haben. Deshalb mein vorheriges Posting bitte einfach ignorieren. Werde die dämlichen Teile davon einfach löschen.
Mit verwirrtem Gruß
IPB_Flüchtling
Verfasst: 14.12.2005 18:45
von Harki
IPB_Flüchtling hat geschrieben:Auch Harkis Vorschlag zur Sortierung der Keywords funktioniert tadellos. Habe die entsprechende Zeile aber nicht eingebaut, weil es - zumindest in meinem Forum - auch kurze Keywords gibt, die mir wichtig sind.
Ja, ich habe auch nochmal drüber nachgedacht - wenn es in einem Thread um PHP oder um die UNO geht, ist eine Sortierung nach Länge natürlich nicht überzeugend. Also ist sie es generell nicht.
Man denke auch nur an Wörter wie "beziehungsweise" oder "nichtsdestoweniger". Ein langes Wort ist eben nicht immer ein wichtiges Wort.
Ich mache das jetzt doch wieder so:
Code: Alles auswählen
$sql = "SELECT DISTINCT (w.word_text)
FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE t.topic_first_post_id = m.post_id
AND m.word_id = w.word_id
AND t.topic_id = $topic_id";
Die kurzen Sinnlos-Wörter (der, die, das, ein etc...) bleiben ja durch die Stopwortliste unberücksichtigt. Hier z.B. meine Stopwortliste :
http://konjunktiv2.de/language/lang_ger ... pwords.txt
Ferner habe ich bei mir - aus anderen Gründen - das MOD
ShowBotsInOnlineList_120_Beta eingebaut. Das ermöglicht mir hinsichtlich des Keyword-MODs, dessen Aufruf so zu starten:
Code: Alles auswählen
if ( $topic_id && (areyouabot($_SERVER["HTTP_USER_AGENT"], TRUE) == 1) )
Ich finde das ganz sinnvoll: So werden die Keywords eben nur für SuMas und ähnliche Wesen generiert, nicht aber für menschliche User - letzteren (und dann auch dem Server...) bleiben also die zusätzlichen MySQL-Abfragen erspart. Hat jemand - ich meine damit besonders die SEO-Experten - eine Idee, ob das Nachteile haben könnte? Mir fielen keine ein...
Verfasst: 15.12.2005 04:13
von IPB_Flüchtling
Harki hat geschrieben:Ich finde das ganz sinnvoll: So werden die Keywords eben nur für SuMas und ähnliche Wesen generiert, nicht aber für menschliche User - letzteren (und dann auch dem Server...) bleiben also die zusätzlichen MySQL-Abfragen erspart. Hat jemand - ich meine damit besonders die SEO-Experten - eine Idee, ob das Nachteile haben könnte? Mir fielen keine ein...
Moin moin, Harki!
Im Prinzip ist das eine glänzende Idee; und Du kannst das meines Erachtens so lassen - auch wenn es schon eine Form von Cloaking ist: Suchmaschinen und menschliche Besucher erhalten unterschiedliche Versionen Deiner Seite.
Wenn es sich dabei um unterschiedliche Versionen von sichtbarem Text handelte, würde ich dringend davon abraten. Da es aber nur um die Meta-tags geht, die sowieso nur für Sumas interessant sind (wenn überhaupt), sehe ich keine Gefahr, dass Deine Seite abgestraft werden könnte. (Google hat ganz andere Probleme...) Der Nutzen überwiegt das Risiko bei weitem.
Was sagen die anderen dazu?
Da ich mir den ShowBotsInOnlineList-Mod (vorerst) nicht einbauen will, bleibe ich bei folgender Variante, die dafür sorgt, dass die Keywords wenigstens für eingeloggte Mitglieder nicht dynamisch erzeugt werden:
Deine jetzige Lösung ist aber sicher eleganter und serverfreundlicher!
LG, IPB_Flüchtling
Verfasst: 15.12.2005 10:00
von mgutt
nur per login switch. ich persönlich habe das wieder ganz rausgeschmissen. die sumas lesen meiner meinung nach mehr inhalt wenn die meta's möglichst klein bleiben bzw. ich konnte ohne meta's keinen unterschied erkennen.