Google Shopping Export: Alternative Bilder & Overrides

Wer in JTL-Shops das Plugin "JTL Exportformat Google Shopping" benutzt kann Probleme mit Googles neuerdings strikter umgesetzten Bildrichtlinien bekommen. Das nämlich dann, wenn im Shop als Hauptbild eine für Google unzulässige Grafik verwendet wird. Anders als im CSV-Export ist es im Plugin nämlich nicht möglich, die Zuordnung eines Feldes an Bedingungen zu knüpfen. Das kann zur Suspendierung des gesamten Feeds führen - muss es aber nicht. Wir zeigen, wie ihr für bestimmte Produkte einen Override anlegen könnt.

Sollte laufen: Export / Import Sollte laufen: Export / Import https://pixabay.com/de/users/distel2610-2726923/

 

Was ist das Szenario?

Wer über Google Shopping Produkte bewerben möchte, der muss einen Datenfeed zur Verfügung stellen. Ordentlich automatisieren lässt sich das bereits sehr gut mit dem JTL Plugin für Google Shopping und der Aufgabenplanung für den regelmäßigen Export. Im Merchantscenter kann dann ein regelmäßiges Einlesen eingerichtet werden - so weit so gut.

Google stellt seit jeher Anforderungen an die übermittelten Produktbilder. Diese Anforderungen könnt ihr euch hier zunächst einmal ansehen. Wie leicht zu erkennen ist, sind die Anforderungen so gestellt, dass ein möglichst klares, reinstrukturiertes Bild der Shoppingseiten entsteht. Ein verständliches Anliegen.

Es kann jedoch in zahlreichen Szenarien sein, dass das Hauptbild im Shop aus guten Gründen nicht den Anforderungen entspricht (kleine Hinweise auf den Produktbildern nötig zur Unterscheidung etc.). Ebensogut kann es aber sein, dass Googles Algorithmus hin und wieder falschen Alarm schlägt, weil er mit dem Bild nicht zurechtkommt (Prints auf Produkten, Strukturen...).

Google macht hier kurzen Prozess: Werden Unregelmäßigkeiten festgestellt, fliegt schnell der gesamte Feed raus.

we’ll preemptively disapprove items

Fehler:

INCORRECT IMAGES (DATA QUALITY)

Was ist das Problem?

Das JTL-Plugin ist zwar deutlich besser als der normale CSV-Export, hat jedoch die Schwäche, dass sich über die Benutzeroberfläche keine bedingten Zuweisungen definieren lassen. So z.B. "Wenn unter eigene Felder XYZ nichts gesetzt ist, dann schreibe die URL des Hauptbildes in die Datei". Genau das wäre aber nötig, um den Richtlinien gerecht zu werden.

Lösung

Natürlich sollte der Pluginhersteller (hier JTL-Software) selbst aktiv werden. Wer darauf aber nicht warten möchte oder schnell tätig werden muss, kann einige unkomplizierte Änderungen am Code vornehmen. Vor dem Basteln gilt natürlich: Backup machen und nicht an der Produktivumgebung basteln. Und wie immer: Ihr bastelt auf eigene Verantwortung!

1. Override in der Wawi erstellen

Über die Funktionsattribute für den Shop muss in der Wawi ein URL-Feld angelegt werden. Hier wird für problematische Artikel der direkte Link zum Bild eingefügt, der statt dem Artikelbild für den Feed verwendet werden soll. Wir haben das Feld hier einmal gs_img_override genannt.

 2. Code im Plugin anpassen

Die Datei sollte sich befinden unter includes > plugins > jtl_google_shopping > Version > adminmenu > exportformat > classes > class.XML_GoogleShopping.inc

Hier gibt es die Funktion loadImages. Diese werden wir nun so ersetzen bzw. bearbeiten, dass eine Prüfung ausgeführt wird, ob ein Overridewert gesetz ist. Sollte das nicht der Fall sein, wird das normale Bild verwendet, sollte es der Fall sein, wird stattdessen der Overridewert gesetzt. SICHERN nicht vergessen!

 

/**
* Lädt die Bild-Links in das zugehörige Artikelobjekt
*
* @param int $kArtikel
* @return $this
*/
private function loadImages($kArtikel)
{
$shopURL = Shop::getURL() . '/';
 
if(isset($this->oExportArticle_arr[$kArtikel]->FunktionsAttribute['gs_img_override'])) {
$altimgurl = $this->oExportArticle_arr[$kArtikel]->FunktionsAttribute['gs_img_override'] ;
$this->oExportArticle_arr[$kArtikel]->Artikelbild = $altimgurl;
$imageCount = count($this->oExportArticle_arr[$kArtikel]->Bilder);
for ($i = 1; $i < $imageCount && $i <= 10; $i++) {
$this->oExportArticle_arr[$kArtikel]->cArtikelbild_arr[] = $shopURL . $this->oExportArticle_arr[$kArtikel]->Bilder[$i]->cPfadGross;
}
return $this;
} else {
$this->oExportArticle_arr[$kArtikel]->Artikelbild = $shopURL . $this->oExportArticle_arr[$kArtikel]->Bilder[0]->cPfadGross;
$imageCount = count($this->oExportArticle_arr[$kArtikel]->Bilder);
for ($i = 1; $i < $imageCount && $i <= 10; $i++) {
$this->oExportArticle_arr[$kArtikel]->cArtikelbild_arr[] = $shopURL . $this->oExportArticle_arr[$kArtikel]->Bilder[$i]->cPfadGross;
}
return $this;
}
}

 

 Nach diesen Änderungen einfach einen Testlauf machen. Der Feed sollte nun wie gewünscht das jeweils richtige Bild enthalten.

Letzte Änderung am Sonntag, 22 April 2018 11:58
iotex

THE DIGITAL TECHNOLOGY EXPERTS

iotex.co
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen Ok Ablehnen