Produktdetailseite um schema.org Markup erweitern

Thema wurde von Philip, 3. August 2018 erstellt.

  1. Philip

    Philip Erfahrener Benutzer

    Registriert seit:
    28. Mai 2015
    Beiträge:
    170
    Danke erhalten:
    3
    Danke vergeben:
    25
    Hallo,

    wir sind ein B2B-Shop und stellen neben unseren Netto-Preisen auch Brutto-Preise auf den Produktdetailseiten dar. Dies erfolgt unter Einsatz des entsprechenden Xycons Moduls.

    Gambio hat bereits einige schema.org Markups eingebaut, damit diverse Produkt-Eigenschaften gekennzeichnet werden.

    Ich möchte nun zusätzlich ein "Price"-Markup für den Brutto-Preis hinzufügen, gleichzeitig würde ich das "Price"-Markup für den Netto-Preis entfernen.

    In dieser Form soll das Markup erscheinen:

    Code:
    <meta itemprop="price" content="Brutto-Preis">
    Das Meta-Element kann im Prinzip an einer beliebigen Stelle im Quelltext sitzen. Für "content" muss vermutlich eine Variable eingesetzt werden, die für jede Produktdetailseite den Brutto-Preis ausgibt. Hat jemand eine Idee, wie ich das umsetzen kann?

    Gruß
    Philip
     
  2. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.667
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    @Philip Der Shop hat bereits die meisten Standard schema.org Attribute in der Artikeldetailsseite. Wenn dort welche fehlen, müsstest du mal genau aufzählen welche, damit wir diese ggf. hinzufügen können.

    Testen kann man dies unter der folgenden URL: (Link nur für registrierte Nutzer sichtbar.)
     
  3. Philip

    Philip Erfahrener Benutzer

    Registriert seit:
    28. Mai 2015
    Beiträge:
    170
    Danke erhalten:
    3
    Danke vergeben:
    25
    Hallo Till,

    genau, das ist richtig. Im Prinzip ist alles vorhanden. Aktuell bzw. standardmäßig ist es ja so, dass das price-Markup (
    itemprop="price") den Netto-Preis umklammert bzw. kennzeichnet. Dies kann man ja im Testing-Tool von Google erkennen. Die Angabe "price" bezieht sich immer auf den Netto-Preis.

    Hier als Beispiel:
    Code:
    <span itemprop="price" content="94.61"> 94,61 EUR</span>
    Mein Wunsch wäre es jetzt, dass ich stattdessen den Brutto-Preis, der durch das Xycons-Modul erzeugt wird, mit diesem Markup darstellen kann.

    Hintergrund ist, dass ich an Google-Crawler nur den Brutto-Preis kommunizieren möchte, auch wenn unser Shop momentan auf "Netto"-Ausgabe eingestellt ist. Das Markup muss dabei nicht "physisch" um den Brutto-Preis gebastelt werden, sondern soll einfach nur den Brutto-Preis als strukturierte Daten ausgeben.
     
  4. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.667
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    Wenn nur der Bruttopreis statt des Nettopreises ausgegeben wird, kann dies ggf. Google nicht mehr so genau unterscheiden und würden das merken, dass der Preis auf der Seite und der Preis in den strukturierten Daten nicht identisch ist und damit die Seite ggf. als Fehler oder nicht in den Index aufnehmen.
     
  5. Philip

    Philip Erfahrener Benutzer

    Registriert seit:
    28. Mai 2015
    Beiträge:
    170
    Danke erhalten:
    3
    Danke vergeben:
    25
    Den Brutto-Preis stellen wir ja dar, von daher wäre er auf der Seite und in den strukturierten Daten vorhanden.
     

    Anhänge:

  6. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.667
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    Man müsste Google dann beides mitteilen, denn in den strukturierten Daten muss der Preis mit dem angezeigten Preis immer übereinstimmen. Eventuell gibt es ein Attribute das über schema.org auch für brutto und netto unterscheiden kann.
     
  7. Philip

    Philip Erfahrener Benutzer

    Registriert seit:
    28. Mai 2015
    Beiträge:
    170
    Danke erhalten:
    3
    Danke vergeben:
    25
    Hast du eine Idee, wie ich ein Markup um den Brutto-Preis basteln könnte?

    Ich weiß bisher nur, dass die Variable "{$RICH_SNIPPET_ARRAY.offer_itemprop_price_start}" verwendet wird um den Netto-Preis zu kennzeichnen.
     
  8. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.309
    Danke vergeben:
    2.208
  9. Philip

    Philip Erfahrener Benutzer

    Registriert seit:
    28. Mai 2015
    Beiträge:
    170
    Danke erhalten:
    3
    Danke vergeben:
    25
    Hallo Wilken,

    vielen Dank für die Recherche. Könntest du mir auch sagen, wie ich das dann einbaue?
     
  10. Anonymous

    Anonymous Administrator
    Mitarbeiter

    Registriert seit:
    26. April 2011
    Beiträge:
    1.667
    Danke erhalten:
    1.262
    Danke vergeben:
    300
    @Philip Wenn du im Ordner /GXModules/ einen Unterordner z.B. mit den Namen deines Shops anlegst und darin einen weiteren Unterordner mit dem Namen "RichSnippetBruttoPreis" anlegst, dann kannst im Ordner /Shop/Overloads/ einen Ordner /GoogleRichSnippetContentView/ anlegen und dort einen Overload für die Datei
    system/classes/products/GoogleRichSnippetContentView.inc.php anlegen. Darin überlädst du dann die Funktion "get_product_snippet". Damit kannst du dann das Array erweitern um entsprechende Stellen einzufügen.
     
  11. Philip

    Philip Erfahrener Benutzer

    Registriert seit:
    28. Mai 2015
    Beiträge:
    170
    Danke erhalten:
    3
    Danke vergeben:
    25
    Hallo Till, wie kann ich denn die Datei GoogleRichSnippetContentView.inc.php lediglich um diese Zeile hier erweitern?

    Code:
    $t_rich_snippet_array['offer_itemprop_price_start_brutto'] = '<span itemprop="price" content="' .  number_format(($this->price *1.19), 2, '.', '') . '">';
    Das sollte doch der gleiche Weg sein, wie du es beschrieben hast oder? Kannst du mir ein Muster zusammenschustern? Das wäre super nett!
     
  12. Philip

    Philip Erfahrener Benutzer

    Registriert seit:
    28. Mai 2015
    Beiträge:
    170
    Danke erhalten:
    3
    Danke vergeben:
    25
    @Till (Gambio) , wie überlädt man denn eine Funktion? Indem man die Datei einfach ergänzt, abspeichert und in den entsprechenden Dateipfad lädt, den du beschrieben hast?
     
  13. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.984
    Danke erhalten:
    6.097
    Danke vergeben:
    1.079
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Bei den Tuts wirst sicher fündig.
    evtl. sowas (Link nur für registrierte Nutzer sichtbar.)