Grobe FEHLER bei Sortierungen

  • Hallo habe 2.1 QF8 und es kommen grobe Fehler bei der Sortierung.
    1. Bei verschiedenen Kategorien bei sonderangebote geht die Seite komplett weg. --> http://www.sulvinja.de/Voltigieranzug…rt=specialprice
    2. Bei anderen Kategorien macht das System nicht nur doppelte einträge viel schlimmer noch vielfache doppelte Einträge was zur Deindexierung bei Google beiträgt. Aus 2 Seiten Produkte macht das Programm 404 Seiten draus. :mad:
    --> http://www.sulvinja.de/Turnanzug-Excl…rt=specialprice

    Ich werd langsam verrückt. So laufen mir die Kunden weg.

  • Bitte verstehe es nicht weil bekomme kein 404 hier IE9

    Printscreens vielleicht?

    Version wirklich den V2.1.2.8 oder V2.1.1.x

    Meine damit einer neusinstallation mit dieser version oder Updates gemacht und welches und welche Reihefolge / vorgang?

  • [ATTACH=CONFIG]144[/ATTACH]

    Hier z.B. normalerweise sind es 4 Seiten, aber sehe mal Screenshot :(

    Es gibt keine 404 Fehlermeldung, es generiert 404 Seiten an Produkte, obwohl es nur einige Produkte sind.

    Es wurde eine komplette Neuinstallation gemacht. mit der Version 2.1.2.8

  • Seht aus wie ein altes Problem, 404 die nicht wirklich 404 sein, und oder andersum das war mal , hat mir gedacht dieser ist jetzt draus, weil wen noch drin könnte man dieser in Google webmastertools auch sehen.
    Bei dir so?

    Hoffe es ist nicht wider drin, ist es bei dir einer Updated version oder neuinstall?

    Admin?

    Einmal editiert, zuletzt von jotest (14. Februar 2012 um 18:37)

  • Yep seht so aus alsob etwas jetzt drin is was eigentlich behoben war so weit ich weis.

    Hmm Admin und oder Nico oder Braune oder bitte Julien gefragt,

  • Hallo De Luca,

    nur um sicher zu sein kannst Du in der includes\modules\default.php bei ca. Line 520 vor:

    Code
    if(isset($_GET['manufacturers_id'])) {
    			$filterlist_sql = "SELECT DISTINCT
    .....


    das hier einfügen:

    Code
    echo "XXX".$listing_sql;


    Und dann hier die SQL Abfrage kopieren die erscheinen wird.
    (Dann der echo gleich wieder löschen wenn das in einer "live Umgebung" passieren sollte.)

    Ich habe bei mir:

    SQL
    SELECT p.products_fsk18, p.products_shippingtime, p.products_model, p.manufacturers_id, p.products_ean, pd.products_name, p.products_quantity, p.products_image, p.products_weight, pd.products_short_description, pd.products_description, pd.products_img_alt, p.products_id, p.products_price, p.products_vpe, p.products_vpe_status, p.products_vpe_value, p.products_discount_allowed, p.products_tax_class_id FROM products p INNER JOIN products_to_categories p2c ON (p2c.categories_id = '1') INNER JOIN products_description pd ON (pd.products_id = p2c.products_id AND pd.language_id = '1') INNER JOIN specials s WHERE p.products_status = '1' AND p.products_id = p2c.products_id AND p.group_permission_0 = 1 ORDER BY s.specials_new_products_price DESC

    Danke.

  • Ja die ganze Multisortnummer in Kombination mit der Pagenavigation und cache sorgt auch bei mir seit Ewigkeiten für richtig Trouble, euphemistisch ausgedrückt... ich kann nichtmehr sagen, wieoft wir da schon Kundenbeschwerden wegen hatten - das erstmal im Vorfelde, was jetzt den Konkreten Fall hier angeht: Das Problem konnte ich gerade in einem meiner Kundenshops nachstellen, komisch dabei ist, dass nur specialprice betroffen ist. Wenn keine Sonderangebote vorhanden sind, passiert es nicht.

    ich hatte ebenfalls zunächst 100k doppelte Seiten im index, kurz darauf ist alles rausgeflogen und solche Späße, das Thema muss dringend mal auf ein solides Fundament gestellt werden.

    Was jetzt nicht dein konkretes Problem der doppelten Anzeige behebt, wohl aber die Indexierung verhindern wird (und eigentlich JEDER zur Sicherheit mal machen sollte) : nofollow hinter die ganzen Sortierungslinks in includes/modules/product_listing.php

    ca ab Zeile 166 suche nach

    switch($getCols['col']) {
    und füge DARÜBER ein :

    //t10 : Nofollow Quickfix multisort um Doppelindizierung zu vermeiden
    $nf =' rel="nofollow" ';

    jetzt hängst du das an alle Links dran , leider etwas fleißarbeit da die cases hier einzelnd zusammengebaut werden :

    aus

    $view_per_site = ($per_site == 9 ? '<b>9</b>' : '<a href="'.xtc_href_link($file_name, xtc_get_all_get_params(array('products_id', 'x', 'y', 'cat', 'per_site', 'multisort', 'filter_id', 'page', 'view_as')).'per_site=9'.$get_param).'">9</a>').' | ';

    machst du

    $view_per_site = ($per_site == 9 ? '<b>9</b>' : '<a '.$nf.'href="'.xtc_href_link($file_name, xtc_get_all_get_params(array('products_id', 'x', 'y', 'cat', 'per_site', 'multisort', 'filter_id', 'page', 'view_as')).'per_site=9'.$get_param).'">9</a>').' | ';

    dadurch hast du diese Links jetzt schonmal mit rel =nofollow im Quelltext stehen, zur Sicherheit kannst du den multisort-Parameter noch per webmastertools in google auschließen.

  • Ich habe folgenden code
    SELECT p.products_fsk18, p.products_shippingtime, p.products_model, p.manufacturers_id, p.products_ean, pd.products_name, p.products_quantity, p.products_image, p.products_weight, pd.products_short_description, pd.products_description, pd.products_img_alt, p.products_id, p.products_price, p.products_vpe, p.products_vpe_status, p.products_vpe_value, p.products_discount_allowed, p.products_tax_class_id FROM products p INNER JOIN products_to_categories p2c ON (p2c.categories_id = '14') INNER JOIN products_description pd ON (pd.products_id = p2c.products_id AND pd.language_id = '1') INNER JOIN specials s WHERE p.products_status = '1' AND p.products_id = p2c.products_id ORDER BY s.specials_new_products_price DESC

  • Okay... der Fehler entsteht durch die default.php (Danke Julien für die Frage nach dem Query, somit konnt ich mir das testen hier ersparen):

    Der Join auf die specials table ist nicht fertig, in der default.php steht überall nur :

    $field = 'INNER JOIN '.TABLE_SPECIALS.' s ';

    dies sollte m.E. aber

    $field = ' INNER JOIN '.TABLE_SPECIALS.' s ON ( p.products_id = s.products_id )';

    sein, aber Achtung :das ganze ist m.E. nicht wirklich durchdacht, hierdurch ergibt sich jetzt nämlich eine "Artikel wurde nicht gefunden" Meldung wenn es eben keine Sonderangebote gibt - man muss sich also überlegen, ob man lieber falsche Sortierungen anzeigt (Kunde denkt er sieht Sonderangebote, tut er aber nicht) oder eben die Artikel nicht gefunden page, von welcher man ja erstmal nur mit dem zurückbutton wieder auf die vorherige Seite kommt... Wenn es Sonderangebote GIBT, diese aber deaktiviert sind, würde diese Änderung dazu führen dass der Artikel angezeigt wird (weil aktuell keine Überprüfung erfolgt, ob das Angebot überhaupt aktiv ist).
    Besser wär`s wohl, wenn man die Sortirung nach Sonderpreis überhaupt nur hätte, wenn es eben auch Sonderpreise in der jeweiligen Auswahl gibt, aber da soll sich bitte jemand von webdesign erfurt drum kümmern.


    Das andere Problem (mehrfacherscheinen der Artikel wie bei De Luca) lässt sich wohl mit einem "GROUP BY" im jeweiligen case lösen.

    switch ($_GET['multisort']){
    case 'specialprice':
    $sorting = ' GROUP BY p.products_id ORDER BY s.specials_new_products_price DESC';
    $field = ' INNER JOIN '.TABLE_SPECIALS.' s ON ( p.products_id = s.products_id )';
    break;

    da der case aber xmal vorkommt in abhängigkeit von isset manufacturers_id oder filter_id , muss man das wohl an mehreren stellen machen, aber vorsichtig testen - de luca, versuch du es mal ab Zeile ca. 459 , da du in dem o.gh. beispiel weder manufacturer_id noch filter_id gesetzt hast.

    Bitte feedback ob der Quickfix läuft, aber das Thema muss unbedingt mal von erfurt angegangen werden.

  • Hallo mbraune,

    vielen Dank für die schnelle Antwort.
    Der Quickfix läuft!!
    Ich habe jetzt mal das Group By implementiert und es funktioniert. Vielen Dank dafür ;)

    Das erste habe ich auch getestet und es funktioniert auch,aber ich habe es auch Kundengründen wieder weggemacht, damit die Kunden keine Fehlermeldung bekommen. Dies sollte von Webdesign Erfurt sauber abgewickelt werden.

    Da die doppelten Einträge schon mal weg sind, ist es aus Google sicht schon mal etwas besser. Ob jetzt noch die 500 Header Fehlermeldung kommt, kann ich erst in den nächsten Tagen in den Webmastertools feststellen. Im Shop sah man keine 500 Fehlermeldung. Leider nur bei Google. (siehe vorherigen Screenshot)

  • Danke für die kontruktiven Beiträge. Problem wurde jetzt angegangen.
    1. Das mit dem nofollow ist eine extrem GUTE IDEE!!! Manchmal sitzt man halt auf der Leitung. Es wurde jetzt für die ganzen Sortiermöglichkeiten eingestellt (Tags, Suche, Listing und Filter). Ich denke, damit werden wir das problem mit Google los ohne auf den Kompfort zu verzichten :)

    Das mit der Sortierung überarbeite ich gerade, ich werde zusätzlich abprüfen, ob überhaupt Sonderangebote da sind, sonst kommt gar nicht erst die Möglichkeit.


    Kommt alles ins QF9 rein. Das QF9 wird Montag/Dienstag erscheinen.

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

  • Nofollow weis nicht habe mal irgendwo gelesen wen man ganz viele nofollow ins/auf URL hat ist es auch nicht unbedingt Positiv , ob Google dieser dan etwas abwerted ist Streitig.

    Wen einer mehr darüber weist bitte.?

    ( ist naturlich wahrscheinlich immer besser dan 500 oder 404's beim Google)

    Einmal editiert, zuletzt von jotest (17. Februar 2012 um 13:46)

  • Die Sortierung Sonderpreis, werde ich mal so machen, vorher Abfrage, gibt es überhaupt aktive SA? Dann Feld an, wenn nicht, dann kommt die Möglichkeit erst gar nicht :)

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

  • Mal eine andere Frage:

    Es wird auf der Site http://www.sulvinja.de/Voltigieranzug/ zunächst mal auf Seite 1 eine Beschreibung der Anzüge angezeigt. So soll es auch sein. Allerdings erscheint der gleiche Content dann auch bei Seite 2 usw. Aus SEO Sicht ( so hat es mich mein SEO gelehrt ) ist es tödlich, den Content durch die Pages durchzuschleifen, da es sich dann um Duplicate Content handelt und Google das eigentlich nicht mag. Ist das so beabsichtigt?

  • Hmm ja wen viel text dort könnte dieser Bemerkung von Dir richtig sein, wen weniger text ist den rest kurzbeschreibung Produkten daunter, auch wichtig wen dort reichend Unterschieden sind fält dies nicht auf, aber eigentlich soll google nur den erste mitnehmen und weiter den rest zum finden von den Produkt links benutzen oder?

    Weil anders ist es ziemlich viel Arbeit beim jeden 2e 3e und Co etwas anders zu schreiben ( ist besser ja), weil die Kunden möchten dort auch etwas sehen / lesen oder?

    Ist so immer den unterschied Google, Arbeit, und Kunden Content was ja oder nein wo machen ;)

    Weis nicht googlebot muss den Unterseiten ab aber wichtig sind nur den links drauf, wen google sagt doppelt content seite werden dan auch die links weiter nicht mitgenommen?
    Dan ist also den sitemap noch dafür.

    Sorry eben schnell gedacht

    Doppelt content ist nicht immer schlim, nur welches Google als Wichtigste seht darum geht es.
    UNd sollte naturlich nicht zuviel sein, google entscheidet.

    Einmal editiert, zuletzt von jotest (18. Februar 2012 um 12:18)

  • @pqmagic: technisch ist es leider nur so möglich. Aber ich denke, über den Punkt sollte man mal genauer nachdenken.

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

  • Hey pqmagic,

    ich hab da auch schon ei paarmal drüber nachgedacht, ich lass mir da mal `ne Lösung einfallen und sende dir den entsprechenden Codeschnipsel zu , ich wollt das angesprochene nämlich auch mal in einem unserer Shops ausprobieren , also Anzeige der descriptoion nur wenn kein page-Paramter gesetzt ist, sollte iegentlich nicht so schwierig umzusetzen sein (unter vorbehalt weil noch nicht angesehen, vielleicht weiß admin da auch grad mehr als ich )