Stichworte - Problem mit SEO

Moin moin!

Ich habe ein Problem mit der Stichwort-Wolke und hoffe, dass mir jemand helfen kann: Google indiziert den Shop meines Kunden und wirft mir einige hundert 404-Fehler raus, die zum großen Teil auf die Stichworte zurückgehen. Nehme ich mal als Beispiel:

http://www.domain.tld/tag/Mein-Tag-in-der-Suchmaschine/

Diese Seite beinhaltet in meinem Fall nur einen Artikel, es wird aber eine Seiten-Navigation mit den Seiten 1 und 2 angezeigt, was zur Folge hat, dass die Seite:

http://www.domain.tld/tag/Mein-Tag-in-der-Suchmaschine/2/

einen 404-Fehler wirft, den Google natürlich mitdokumentiert. Ich frage mich jetzt allerdings, warum angezeigt wird, dass es eine 2. Seite gibt, wenn es diese garnicht gibt!? Ist das ein Fehler im Shop oder habe ich irgendetwas falsch konfiguriert?!

Ich hoffe, dass die Informationen ausreichen, andernfalls bitte einfach nachfragen.

Vielen Dank schonmal für Antworten.

Lutz

Moin nochmal!

Ich habe mich jetzt ein wenig mit den Sourcodes auseinander gesetzt und musste dabei folgendes feststellen: Der Query zur Ausgabe der Artikel gibt lediglich einen Artikel zurück. Die Abfrage, die die Anzahl an Artikeln zurückgibt, beinhaltet als Zahl 11. Entsprechend werden schonmal 2 Seiten angezeigt. Beim näheren Betrachten der Select-Statements ist mir dann folgendes aufgefallen:

Abfrage der Artikel:

select oxarticles.oxid, oxarticles.oxparentid, oxarticles.oxvarstock, oxarticles.oxvarcount, oxarticles.oxstockflag, oxarticles.oxstock, oxarticles.oxprice, oxarticles.oxvat, oxarticles.oxskipdiscounts, oxarticles.oxunitquantity, oxarticles.oxshopid, oxarticles.oxtitle_1 as oxtitle, oxarticles.oxartnum, oxarticles.oxthumb, oxarticles.oxpicsgenerated, oxarticles.oxpic1, oxarticles.oxvarselect_1 as oxvarselect, oxarticles.oxweight, oxarticles.oxtprice from oxartextends inner join oxarticles on oxarticles.oxid = oxartextends.oxid where match ( oxartextends.oxtags_1 ) against( '\"mein tag in der suchmaschine\"' IN BOOLEAN MODE )

Abfrage der Anzahl:

select count(*) from oxartextends inner join oxarticles on oxarticles.oxid = oxartextends.oxid where ( ( oxarticles.oxactive = 1 or ( oxarticles.oxactivefrom < '2010-11-27 07:12:42' and oxarticles.oxactiveto > '2010-11-27 07:12:42' ) ) and ( oxarticles.oxstockflag != 2 or ( oxarticles.oxstock + oxarticles.oxvarstock ) > 0 ) and IF( oxarticles.oxvarcount = 0, 1, ( select 1 from oxarticles as art where art.oxparentid=oxarticles.oxid and ( art.oxactive = 1 or ( art.oxactivefrom < '2010-11-27 07:12:42' and art.oxactiveto > '2010-11-27 07:12:42' ) ) and ( art.oxstockflag != 2 or art.oxstock > 0 ) limit 1 ) ) ) and oxarticles.oxissearch = 1 and match(oxartextends.oxtags_1) against ( 'mein tag in der suchmaschine' IN BOOLEAN MODE )

Na? Wem fällt es noch auf? Richtig, in der ersten Abfrage wird ein Match auf ‘“mein tag in der suchmaschine”’ ausgeführt und in der Anzahl nur ‘mein tag in der suchmaschine’. Das hat natürlich zur Folge, dass bei der ersten Abfrage nur Artikel ausgelesen werden, die genau diese Reihenfolge an Stichworten beinhalten - in meinem Fall nur einer. Die zweite Abfrage fragt hingegen alle Artikel ab, die IRGENDEINEN Tag aus der “Liste” (der String halt) beinhalten - und das sind bei mit in diesem Beispiel eben 11.

Verantwortlich hierfür ist die Verwendung von:

oxDb::getDb()->quote( "\"".$sTag."\"" )

in der Methode loadTagArticles() in oxarticlelist.php. In oxutilscount.php hingegen wird in der Methode getTagArticleCount() nur folgendes verwendet:

$oDb->quote( $sTag )

Jetzt bleibt allerdings die Frage: Was ist hier richtiger? Nur die Artikel anzuzeigen, bei denen GENAU diese Tag-Folge enthalten ist oder alle, die irgeneinen Tag enthalten!? Ich habe mich jetzt vorerst dafür entschieden alle auszulesen, die irgendeinen Tag aus der Liste enthalten, aber ich würde mich freuen, wenn mir hier jemand sagen könnte, was wirklich richtiger wäre.

Außerdem stelle ich mir gerade die Frage, ob dieser “Fehler” einen Einfluss auf die Stichwort-Wolke hat!?

LG
Lutz

Morgen MrNiceGuy,

bei mir kann ich das von dir beschriebenen Problem nicht nachvollziehen, ich habe aber auch nicht exakt deinen Fall und weiß nicht auf welcher Shop-Version du aktuell bist. Wenn das Verhalten so ist, wie du es beschreibst hört sich das schwer nach Bugverdacht an. Die Anzahl der Artikel sollte doch mit den angezeigten Artikel übereinstimmen. Also es dürfen nach klick nur noch die Artikel ink. Anzahl angezeigt werden, die exakt dieses Tag haben.

  1. Prüfe mal mit oxchkversion ob in dem Bereich deine Version abweicht.

  2. Kannst du es im Demo-Shop nachvollziehen ?
    http://www.oxid-esales.com/de/produkte/professional-edition/demo

  3. Dann ab damit in den Bugtracker.
    Main - OXID eShop bugtrack

##########################################################

Wenn wir gerade dabei sind habe ich auch noch einen Bugverdacht: Falsche Umschreibung in Tagcloud bei " : " (z.B. bei dem Tag “1:18”) führt zu:

Fehler
Die angeforderte Seite konnte nicht gefunden werden.

In der Tag Cloud wird z.B. 1:18 angezeigt. Der Link endet mit /1-18 und der Fehlermeldung oben.
Hört sich nach einem Bug an ? Kann das bitte mal jemand prüfen und bestätigen. Dann trage ich es ein.

[Edit: Also mein Bugverdacht kann ich auch im Demoshop nachvollziehen /Edit]
CYA

Moin!

Ich nutze die aktuellste Version 4.4.4_30554 (Community Edition). Ich halte es auch für richtig, dass die Anzahl mit den Artikeln üebreinstimmen SOLLTE. Es tut es aber nicht (naja, jetzt, nachdem ich die Sourcecodes manuell angepasst habe schon, siehe oben).

Habe ich gemacht. Außer ein paar Templates ist da alles in Ordnung. Der Fehler kommt aber aus einem Script, da ja die berechnete Anzahl an Artikeln falsch ist.

[QUOTE=Firefax;45296]2) Kannst du es im Demo-Shop nachvollziehen ?
http://www.oxid-esales.com/de/produkte/professional-edition/demo[/quote]
Nicht so ganz - leider. Ich habe mal 11 Artikel angelegt, die die Tags “mng”, “mng test” und “mng test artikel” beinhalten. Wenn ich nun die entsprechenden Seiten aufrufe (/tag/mng/, /tag/mng-test/ und /tag/mng-test-artikel/), erhalte ich unterschiedliche Ergebnisse:
“mng” beinhaltet lediglich einen Artikel, “mng test” beinhaltet 10 Artikel und “mng test artikel” 4. Das “witzige” daran: “mng test” beinhaltet auch die Artikel, die “mng test artikel” enthalten, “mng” jedoch ausschließlich den einen Artikel, der nur “mng” beinhaltet. Aber: Den Fehler ansich konnte ich also nicht rekonstruieren, der Demo-Shop funktioniert so, wie meiner es nun auch tut - nach meinen eigenen Anpassungen.

[QUOTE=Firefax;45296]3) Dann ab damit in den Bugtracker.
https://bugs.oxid-esales.com/main_page.php

##########################################################

Wenn wir gerade dabei sind habe ich auch noch einen Bugverdacht: Falsche Umschreibung in Tagcloud bei " : " (z.B. bei dem Tag “1:18”) führt zu:

In der Tag Cloud wird z.B. 1:18 angezeigt. Der Link endet mit /1-18 und der Fehlermeldung oben.
Hört sich nach einem Bug an ? Kann das bitte mal jemand prüfen und bestätigen. Dann trage ich es ein.

[Edit: Also mein Bugverdacht kann ich auch im Demoshop nachvollziehen /Edit]
CYA[/QUOTE]
Das liegt vermutlich am “Sonderzeichen” “:” - vermute ich jetzt einfach mal.

Dakne aber schonmal für deine Antwort, ich vergleiche nochmal die betroffenen Dateien, die ich selber angepasst habe mit den Original-Dateien, vielleicht ist da irgendwann bei einem Update mal was schiefgegangen!?

LG
Lutz