RDFa und fehlende Mikrodaten für Zustand

Hallo!

Ich beise mir nun schon seit Tagen die Zähne aus und finde einfach keine Lösung für das Problem. Auch das durchsuchen des Forums brachte bis lang keine Lösung ans Tageslicht auch wenn viele andere scheinbar ähnliche Probleme haben.

Das Google Merchant Center meldet seit einigen Wochen “Fehlende Mikrodaten für Zustand” und das bei fast allen Artikeln aus meinem Shop obwohl ich nichts geändert habe.

Wenn ich mir das Ganze mit dem Testtool für strukturierte Daten anschaue sehe ich verschiedene Meldungen:

15,70 € (Die Property 15,70 € ist keine gültige Spezifikation für den Preis. Weitere Informationen finden Sie unter http://schema.org/price.)

Wenn ich o. g. Zeile anklicke sehe ich den markierten Quelltext, dort wird folgendes ausgegeben:

<span itemprop=“price”>15,70 €</span>

Hier gehört nach meinem Verständnis kein Währungszeichen rein.

Das Feld priceCurrency ist ein empfohlenes Feld. Bitte geben Sie einen Wert ein, falls verfügbar.

Der Quelltext für o. g. Fehler gibt folgendes aus:

<div class=“information” itemprop=“offers” itemscope itemtype=“Offer - Schema.org Type”>

Sie müssen entweder price oder priceSpecification angeben

Hier wird folgendes im Quelltext ausgegeben:

<div class=“information” itemprop=“offers” itemscope itemtype=“Offer - Schema.org Type”>

Für das Feld name ist ein Wert erforderlich.

Hier wird folgendes ausgeben:

<div class=“detailsInfo clear” itemscope itemtype=“Product - Schema.org Type”>

Hat Jemand eine Idee wie ich diese Fehler loswerden kann bzw. auf welchem Weg ich die Daten per JSON-LD-Markup zur Verfügung stellen kann so wie Google sich das gerne wünscht?

Ich setze OXID 4.10.3 CE mit dem RoxIVE-Template ein. Für Vorschläge wäre ich sehr dankbar. Dieses Thema hat mich schon viele Stunden gekostet und ich finde keine brauchbare Lösung dazu.

Viele Grüße

-2fast4you-

Für Probleme mit RoxIVE ist eigentlich das DigiDesk Support zuständig, weil RoxIVE deren Kind ist.

Beispiele mit gültigem JSON-LD Code findest du auf den jeweilgen Seiten (URL im itemtype=‘xx’), du musst nur runterscrollen und auf “JSON-LD” klicken.
Aber warum JSON-LD?
Flow nutzt jedenfalls kein JSON-LD, im RoxIVE Demoshop konnte ich auch kein JSON-LD finden.
Dein gezeigter Code ist ganz normales HTML Microdata, da würde ich auch ansetzen und einfach verbessern.

100% valides microdata in einem OXID Shop kannst du z.b. hier abgucken:
https://search.google.com/structured-data/testing-tool?hl=de#url=https%3A%2F%2Fwww.bestlife-shop.de%2Fbestlife-Gesundes-Leben%2FRebtraenen-BioActive-Creme.html

Hallo vanilla!

Danke für die Antwort. Das schau ich mir mal an. Ist auf jeden Fall ein guter Ansatz. Habe parallel digidesk mal angeschrieben, mal sehen was die dazu sagen.

Ich setzte mal was dagegen.:smiley:
https://search.google.com/structured-data/testing-tool?hl=de#url=http%3A%2F%2Fdemoshop.oxid-esales.com%2Fprofessional-edition%2FKiteboarding%2FKiteboards%2FKiteboard-CABRINHA-CALIBER-2011.html

wenn schon die Grundstruktur schei… ist?:confused:

[QUOTE=Medicus;186068]
wenn schon die Grundstruktur schei… ist?:confused:[/QUOTE]

Willst Du den Preis wirklich maschinenlesbar übergeben? ^^

Gruß

Ich weiß jetzt nicht was du meinst. Der Preis wird doch so oder so übergeben. Nur einmal nach Gockel richtig und einmal falsch.

Außerdem: Ist das so richtig, dass z.B unter

property="gr:description" content="

Der smarty code in der Beschreibung mit übergeben wird?

[QUOTE=2fast4you;186046]Hallo!

Ich beise mir nun schon seit Tagen die Zähne aus und finde einfach keine Lösung für das Problem. Auch das durchsuchen des Forums brachte bis lang keine Lösung ans Tageslicht auch wenn viele andere scheinbar ähnliche Probleme haben.

Das Google Merchant Center meldet seit einigen Wochen “Fehlende Mikrodaten für Zustand” und das bei fast allen Artikeln aus meinem Shop obwohl ich nichts geändert habe.

Wenn ich mir das Ganze mit dem Testtool für strukturierte Daten anschaue sehe ich verschiedene Meldungen:

Wenn ich o. g. Zeile anklicke sehe ich den markierten Quelltext, dort wird folgendes ausgegeben:

Hier gehört nach meinem Verständnis kein Währungszeichen rein.

Der Quelltext für o. g. Fehler gibt folgendes aus:

Hier wird folgendes im Quelltext ausgegeben:

Hier wird folgendes ausgeben:

Hat Jemand eine Idee wie ich diese Fehler loswerden kann bzw. auf welchem Weg ich die Daten per JSON-LD-Markup zur Verfügung stellen kann so wie Google sich das gerne wünscht?

Ich setze OXID 4.10.3 CE mit dem RoxIVE-Template ein. Für Vorschläge wäre ich sehr dankbar. Dieses Thema hat mich schon viele Stunden gekostet und ich finde keine brauchbare Lösung dazu.

Viele Grüße

-2fast4you-[/QUOTE]

Zumindest den teil mit den price habe ich lösen können. Ist allerdings das Flow theme. Aber vielleicht hilft diese Lösung ja weiter:
Ich habe in der productmain.tpl

<span class="hidden">
                                                <span itemprop="price">[{$fPrice}] [{$currency->sign}]</span>
                                            </span>
                                        durch das hier ersetzt.
<span class="hidden">
                                                <span itemprop="price" content="[{$fPrice|replace:',':'.'}]"></span>
                                                 <em itemprop="priceCurrency" content="[{$currency->name}]"></em>
                                            </span>

das ist unser Code:

<span itemprop="price" content="[{$oPrice->getPrice()}]">[{oxprice price=$oPrice currency=$currency}]</span>
<em itemprop="priceCurrency" content="[{$currency->name}]">*</em>

[QUOTE=Medicus;186183]Zumindest den teil mit den price habe ich lösen können. Ist allerdings das Flow theme. Aber vielleicht hilft diese Lösung ja weiter:
Ich habe in der productmain.tpl

<span class="hidden">
                                                <span itemprop="price">[{$fPrice}] [{$currency->sign}]</span>
                                            </span>
                                        durch das hier ersetzt.
<span class="hidden">
                                                <span itemprop="price" content="[{$fPrice|replace:',':'.'}]"></span>
                                                 <em itemprop="priceCurrency" content="[{$currency->name}]"></em>
                                            </span>

[/QUOTE]

Volltreffer, danke! Ich habe den Block "details_productmain_price_value.tpl entsprechend verändert, seitdem schluckt Google Merchant den Preis anstandslos. :slight_smile:

Ich habe zwar nun auch die Änderung von Medicus durchgeführt, aber das Testtool von

Google gibt immer noch diesen Text aus:
“Sie müssen entweder price oder priceSpecification angeben.”

Code:
<div class=“information” itemprop=“offers” itemscope itemtype=“http://schema.org/Offer”>

Habe ich schon die richtige Datei abgeändert? Im Flow-Theme:
/html/application/views/flow/tpl/page/details/inc/ productmain.tpl

Oder liege ich völlig falsch?
Ich möchte durch diese Änderung des Codes, dass in den Google-Suchanzeigen irgendwann der Produktpreis mit angezeigt wird…

Poste mal den link zum Testbericht von Google

Hallo vanilla thunder,

der Link zur Testseite:
https://search.google.com/structured-data/testing-tool#

Ich habe Dir eine persönliche Nachricht geschrieben mit meinem direkten Shoplink.
Wollte hier im Forum nicht auch noch eine Werbung platzieren.

Vielleicht kannst Du mir ja helfen?

Eine Lösung darfst Du hier wieder gerne posten ohne einen Bezug auf meine eShop-Seite.

Vielen Dank!

Hast du eine aktuelle Version von Flow?
Da ist der price meta tag drin:


(wenn auch nicht richtig, aber komplett fehlen dürfte es nicht)

Weder diesen Code, noch die besagten Änderungen kann ich in Deinem Quelltext finden.
Wie wird dieser Preis Countdown eingefügt?
Zufällig Template Block “details_productmain_price” oder “details_productmain_price_value”?
Ggf überschreibt es Deinen Code mit dem eigenen Code. Versuch mal das Modul auszuschalten und nochmal zu testen.

Modul ausschalten bringt leider keine Änderung.

Wo finde ich genau den Template Block “details_productmain_price” oder “details_productmain_price_value”?

Und ja, das Flow-Theme ist aktuell.

In dem link den ich gepostet habe, paar Zeilen nach oben

OK - Template Block “details_productmain_price” oder “details_productmain_price_value” gibt es nicht bei mir unter:
/application/views/flow/tpl/page/details/inc

ich habe da so einen Verdacht, dass Du nicht weißt, was ein Template Block ist.
Zeilen 206 und 208 sollten sie sein

Du hast recht. Ich bin kein Programmierer - leider.
Sorry für die Verwirrung.

Die Einträge sind in meiner Datei genauso wie hier:

Was muss ich nun genau noch ändern?

Ändern musst Du nichts, aber der Code, der da drin ist, kommt nicht auf der detailseite an. Daher muss es ein Modul geben, das diesen Code überschreibt. Und dieses Modul musst Du finden

Hier ist die Lösung dafür : https://gitlab.petit-souris.de/oxid-esales/jsonld