Fehlende strukturierte Daten für Produkte

Thema wurde von Dominik Späte, 1. Juli 2022 erstellt.

  1. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.195
    Danke erhalten:
    1.079
    Danke vergeben:
    372
    Ähm...

    Code:
        protected function _assignRichSnippetData()
        {
            $isActive = (bool)$this->product->data['products_fsk18'] === false
                        && ($this->stockAllowCheckout
                            || (($this->product->data['products_quantity'] > 0)
                                && !$this->stockAllowCheckout))
                        && (string)$this->product->data['gm_price_status'] === '0';
            if (!$isActive) {
                return;
            }
    Es ist echt schwer zu lesen, aber: In Produktseiten wird das Markup nur eingefügt, wenn es
    • kein FSK18-Produkt ist
    • und man es entweder in den Warenkorb legen darf oder
      • es Bestand hat und man es nicht in den Warenkorb legen darf
    • und der Artikelpreisstatus "normal" lautet.
    Warum?

    Ein Produkt (eigentlich: Google) braucht einen Namen und mind. eine der 3 Eigenschaften: review, aggregateRating, offers
    https://developers.google.com/search/docs/advanced/structured-data/product#product-properties

    Also zum Beispiel bei ausverkauften, nicht bestellbaren Produkten werden keine strukturierten Daten eingefügt. Das ist suboptimal, oder? Und mir erschließt sich der Grund dafür nicht...
     
  2. Wilken (Gambio)

    Wilken (Gambio) Erfahrener Benutzer

    Registriert seit:
    7. November 2012
    Beiträge:
    18.737
    Danke erhalten:
    7.310
    Danke vergeben:
    2.208
    Njein. Ja, weil um ein Produkt optimale Chancen zu geben als Rich Snippet zu ranken braucht man das. Nein, weil Produkte auch ohne ein vollständiges Rich Snipeet zu erzeugen super ranken können und die Restinformationen dazu durchaus herangezogen werden. Ausserdem werden diese Daten ausgegeben wenn es sie gibt. Hat ein Produkt aber keine Produktbewertungen und auch keine Sonderangebote, dann gibt es nichts davon und dann gibts auch nichts auszugeben an der Stelle. Was nicht da ist, kann man nicht herzaubern. Was da ist, wird gezeigt.

    Weil das so ist denke ich der Teil deiner Frage/Antwort ist irrelevant für das folgende, ich erkenne da keinen Mangel.

    Kleiner Insider, vom Stammtisch: Du erkennst vielleicht warum auch wenn Tobias das anders sah Bewertungen immer einen Zweck erfüllen und er da aus meiner Sicht etwas stark in seiner Auslegung war...

    Korrekt. Google mag normal keine Produkte als Produkte, die sich nicht erwerben lassen. Ich hab eben kurz überlegt ob man das über Availability inzwischen wohl anders ausdrücken könnte, siehe:

    https://schema.org/ItemAvailability

    ..aber so ganz passend finde ich da auch keinen Zustand. Ich würde da keinen Bug sehen, höchstens vielleicht Chance auf Optimierung. Da muss man dann aber auch nochmal brüten: Wann setzen Shopbetreiber Artikel auf nicht käuflich? Was drücken die damit aus? Das kann discontinued sein. Oder Urlaub. Oder out of Stock, wobei die Dinger dann normal käuflich gelassen werden. Übersehe ich da etwas?

    Und altersbeschränkte Produkte kriegt man in Shopping`rein, aber in Produktmetadaten hat sich bei Recherche nie ein Weg gefunden damit gangbar klarzukommen.

    Naja, es sind halt die Spielregeln von Google.
     
  3. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.195
    Danke erhalten:
    1.079
    Danke vergeben:
    372
    Das war's, was ich eigentlich anregen wollte ;) Gerade im Moment mit Lieferproblemen überall sind PreOrder oder PreSale vielleicht ganz interessant.

    Aber dann bin ich eben drauf gestoßen, dass schon OutOfStock nur unter ganz bestimmten Bedingungen zum Tragen kommt - und ansonsten halt das komplette Produkt-Markup weg ist.

    Ums plakativ auszudrücken: Ein ausverkauftes Produkt ist immer noch ein Produkt - dann halt OutOfStock. Dass ausverkaufte Artikel nicht Googles und Kündchens Lieblinge sind - schon klar.

    Für Ab 18 gäbe es: https://schema.org/hasAdultConsideration

    Artikelpreisstatus: Wenn nicht "normal", könnte über das aggregateRating immer noch Googles Bedingung erfüllt sein.

    Aber der Hauptpunkt ist: Ein "normales" (Artikelpreisstatus normal, kein Ab 18), nur wegen Lagerbestand<=0 gerade nicht kaufbares Produkt sollte m.E. unbedingt weiter ausgezeichnet werden. Der Code ist ja da:
    Code:
    $availability     = ($productsQuantity > 0 || !$this->stockCheck) ? 'InStock' : 'OutOfStock';
    Ja, ich erinnere mich. Ist ein Punkt, klar. Und spricht ja auch dafür, das Markup auch bei Lagerbestand<=0 drin zu haben ;)
     
  4. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    14. Juli 2011
    Beiträge:
    995
    Danke erhalten:
    71
    Danke vergeben:
    130
    #4 Anonymous, 13. Oktober 2023
    Zuletzt bearbeitet: 13. Oktober 2023
    Ich weiß nicht ob das Thema hier rein passt, aber wir haben Artikel, die z.B. erst im Januar 2024 geliefert werden. (Ganz neue Kollektionen, die vorher nicht erhältlich sind). Der Kunde kann die Produkte dennoch bereits vorbestellen. Daher ist der Artikelbestand auch größer 0. An Google Merchants schicken wir availability "vorbestellbar" und ein passendes availability_date.

    D.h. der Lieferstatus ist mit dem Google Lieferstatus "vorbestellbar" verknüpft.

    Problem: In den strukturierten Daten taucht dennoch "In Stock" auf und bei Google wird in den Suchergebnissen daher "Auf Lager" angezeigt. Korrekt wäre hier "PreOrder", oder? Besteht eine Möglichkeit das mit Gambio Boardmitteln zu ändern? Oder hat jemand einen Tipp welche Datei ich mir für den Overload ansehen sollte?

    Danke!


    Edit: Ich sehe gerade, dass das Thema hier schon besprochen wurde: (Link nur für registrierte Nutzer sichtbar.). Da gibt es ja schon eine mögliche Lösung, leider nicht updatesicher. Ich versuche das Ding mal updatesicher zu gestalten...