Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Problem mit Double Content in modified eCommerce Shopsoftware 1.06 rev4642

    Angeal

    • Fördermitglied
    • Beiträge: 411
    • Geschlecht:
    Ich habe mir das mal angesehen, und etwas herumgetestet.

    @Angeal, oder wer noch will, macht mal folgendes:

    In der metatags.php suche:
    Code: PHP  [Auswählen]
    if (xtc_not_null($cPath)) {
          $canonical_url = xtc_href_link(FILENAME_DEFAULT, 'cPath='.$cPath.$page_param,$request_type,false);
    und ersetze es mit:
    Code: PHP  [Auswählen]
    if (xtc_not_null($cPath)) {
          $temp_cPath    = explode('_', $cPath); // string in array umwandeln
          $temp_cPath    = array_pop($temp_cPath); // letzten array eintrag holen (ist ja die eigentliche category)
          $temp_cPath    = xtc_get_category_path($temp_cPath); // cPath hierarchie wieder herstellen
          $canonical_url = xtc_href_link(FILENAME_DEFAULT, 'cPath='.$temp_cPath.$page_param,$request_type,false);

    ... ich habe es mal kurz getestet im aktuellen 1.06.

    Im Prinzip stellt es nur wieder die original Kategorie-Hierarchie anhand der letzten cat-ID her.

    Berichte bitte deine Tests.

    Funktioniert! Der Canonical Tag ist korrekt.

    Zitat
    Aber was ich nicht verstehe, bekommt Google die "falschen" Links, vom Shop selber (etwa durch eine sitemap)?
    Dann sollte das doch schon mal behoben werden.

    Ja...also ich für meinen Teil konnte feststellen, das bei der aktuellen 1.06 die sitemap.xml "falsch" erzeugt wird. Dort werden Unterkategorien einfach mit ihrer eigenen ID als Hauptkategorie in einer URL dargestellt.

    Also statt:
    http://www.domain.de/Kategorie/Unterkategorie:::182_183.html

    sieht es in der sitemap.xml so aus:
    http://www.domain.de/Unterkategorie:::183.html

    Ich vermute, da die sitemap.xml in den Webmaster Tools stand, die fehlerhaften Links von dort her aufgenommen wurden.
    Ich habe nun deinen Code eingebaut, die Canonicals sind korrekt und die Sitemap habe ich erst einmal entfernt. Ich werde das mal beobachten. Aber an der Sitemap Generierung müsste man vielleicht was ändern...

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    @noRiddle:
    Verlinkte Artikel erzeugen keinen Double Content, da der Canonical Tag immer eindeutig ist. Man wir ja immer zur gleichen Kategorie geleitet. Das kann aber ein evtl. unerwünschter Kategoriesprung sein.

    Genau um den Kategoriesprung geht es ja..., wie du doch weißt.

    Die Frage wo der Shop /Kategoriename:::186.html ausliefert ist natürlich berechtigt.
    Du meinst also es sei eine Tatsache, daß die Sumas gar nicht an diesen Link kommen, wenn er denn nicht irrtümlicherweise irgendwo erscheint, sie werden ihn nie kennen ?

    Gruß,
    noRiddle

    *EDIT*
    Aha, die Sitemap, das muß ich mir mal genauer anschauen...

    web0null

    • Experte
    • Beiträge: 1.998
    Allerdings reicht das aus:
        $temp_cPath    = xtc_get_category_path($current_category_id);

    Nöö reicht nicht aus, es würde einen falscher Link z.B.:
    /Kategorie/Unterkategorie/Kategoriename:::99999_183_186.html (warum auch immer)
    statt (richtiger Link)
    /Kategorie/Unterkategorie/Kategoriename:::182_183_186.html

    nicht korrigieren.
    Aber wie ich auch schon sagte, von wo kommen überhaupt die "falschen Links", dort muss man mal ansetzen.

    Gruß

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Es ist die Sitemap, wie auch ich jetzt nachgeprüft habe.

    Sag mal web0null, bist du mit unserem alten Thema weitergekommen ?
    Ich kann mir das wahrscheinlich nächste Woche näher anschauen...

    Gruß,
    noRiddle

    web28

    • modified Team
    • Beiträge: 9.404
    @web0null

    Klar reicht das aus, da nur die aktuelle Kategorie ID an xtc_get_category_path() übergeben wird. Und diese Funktion liefert den korrekten cPath zurück.

    99999_183_186

    würde automatisch zu

    182_183_186

    da mit xtc_get_category_path(186) das 182_183_186 zurückgegeben wird.

    @noRidddle
    sitemap.php Contentseite oder sitemap.xml?

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Die mittels Sitemap-Generator generierte sitemap.xml.

    web28

    • modified Team
    • Beiträge: 9.404
    Immerhin hat sich der Verursacher per Kommentar verewigt :whistle:

    web0null

    • Experte
    • Beiträge: 1.998
    @web28
    Das mit dem "verewigt" dachte ich mir auch. ;-)

    Aber...
    Zitat
    Klar reicht das aus, da nur die aktuelle Kategorie ID an xtc_get_category_path() übergeben wird.
    Nöö eben nicht, teste es doch mal in der metatags.php
    Es wird z.B. xtc_get_category_path(99999_183_186) übergeben und dann steht im canonical wieder 99999_183_186 drinnen.

    Die andere Möglichkeit mit der set_ids_by_url_parameters.php, hatte ich vorher auch, aber ich befürchte das es dann bei verlinkten Kategorien Probleme gibt. deshalb änderte ich nur den canonical.
    Hab es aber nicht ausführlicher getestet getestet.

    Wobei ich mir gerade nicht sicher bin ob Kategorie-Verlinkungen gehen (vorgesehen ist glaube ich ja etwas).

    Gruß

    web0null

    • Experte
    • Beiträge: 1.998
    @noRiddle,
    also ich konnte keinen Fehler feststellen in der xml, die mittels Sitemap-Generator generiert wird.  :-?
    ... und zu deiner Frage, ...ja schon lange fertig und geht einwandfrei.

    Gruß

    web0null

    • Experte
    • Beiträge: 1.998
    @web28,

    ahh jetzt hat´s klick gemacht :-D, jetzt ist es mir aufgefallen dass du ja $current_category_id übergibst, und nicht wie ich die ganze Zeit dachte $cPath.
    Datt geht natürlich schon.

    Gruß

    web28

    • modified Team
    • Beiträge: 9.404
    Hier der Fix für falsche Canonical Kategorie URLs

    Suche in includes/application_top.php oder ab 1.06 in includes/modules/set_ids_by_url_parmeters.php nach:

    Code: PHP  [Auswählen]
    if (xtc_not_null($cPath)) {    
            $cPath_array = xtc_parse_category_path($cPath);
            $cPath = implode('_', $cPath_array);
            $current_category_id = $cPath_array[(sizeof($cPath_array) - 1)];       
    } else {
            $current_category_id = 0;
    }

    und ersetze mit:

    Code: PHP  [Auswählen]
    if (xtc_not_null($cPath)) {
      $cPath_array = xtc_parse_category_path($cPath);
      $current_category_id = end($cPath_array);
      $cPath = xtc_get_category_path($current_category_id); //verify $cPath
    } else {
      $current_category_id = 0;
    }

    Damit bleibt zwar die falsche URL in der Adressezeile des Browsers, der Canonical Tag ist aber korrekt.

    Kann man im Trunk Demoshop überprüfen.

    Gruss Web28

    Angeal

    • Fördermitglied
    • Beiträge: 411
    • Geschlecht:
    Vielen Dank euch allen.
    Ich habe jetzt auf die Lösung von web28 umgeschwenkt, da dies vmtl in der kommenden Version irgendwie berücksichtigt ist.
    Der Canonical Link ist nun korrekt.

    Nur das mit der Sitemap verstehe ich noch nicht ganz. Die Kategorie Links werden darin definitiv auch in ihrer Kurzform (Sprich domain.de/kategorie:::id.html)
    Die Betonung liegt auf auch, weil auch die richtigen Kategorielinks in der .xml ihren Platz finden.

    Ich konnte das bei mir mehrmals reproduzieren.

    WayneTsun

    • Fördermitglied
    • Beiträge: 1.082
    • Geschlecht:
    Hallo zusammen!

    Das Problem mit der sitemap kann ich auch bestätigen. Sollte man dazu ein neues Thema eröffnen, oder hat jemand vielleicht schon eine Lösung?

    Vielen Dank für Eure Mühe!

    Beste Grüße,
    Wayne

    web0null

    • Experte
    • Beiträge: 1.998
    Also bei mir Lokal geht es, im demo ist es auch richtig.

    Zip mal die,
    root/inc/xtc_category_link.inc.php
    root/google_sitemap.php
    dann schau ich mal drüber.

    web28

    • modified Team
    • Beiträge: 9.404
    Hier gibt es eine aktuellere Version:

    http://www.modified-shop.org/forum/index.php?topic=27236.0

    Damit sollte die Kategorielinks korrekt erzeugt werden. Bitte testen.

    Gruss Web28