wir sind am verzweifeln.
Wir würden gerne unsere Url vom Shop bei Facebook posten. Leider wird in der Vorschau nicht wie vermutet ein Bild angezeigt, sondern nur der Text vom EU Cookie.
Wie kann ich das unterbinden, oder umgehen. Auf der Startseite ist eine EInkaufswelt.
Hallo, die Einkaufswelt wird mittels javascript nachgeladen. Soweit ich weiss wartet Facebook nicht darauf und lädt was es im html „sieht“. Du könntest alternativ die Einkaufswelt trotzdem hart laden lassen. Ich hatte vor 3 Jahren einen Einkaufswelten-Export für Ebay gebaut. Ich Suche mal den Code. Damit kannst du dann eigene FB Einkaufswelt erstellen, die dann hart geladen wird und für deinen Normalen Besucher durch die Echte EKW überschrieben wird.
Mir fällt gerade ein, dass du bei Facebook deine Website auch nochmal neu „indizieren“ lassen kannst, möglich ist nämlich auch, dass alte Inhalte deiner Website bei Facebook hinterlegt sind. Ich hab zwar lange schon kein Facebook mehr, aber die Funktion gibt es vll noch?
Der Knaller ist ja, dass wenn ich jetzt das andere Plugin benutze ist der Cookie Text nicht mehr bestandteil des Posts, sondern die Bezahlmethoden aus dem Footer werden als wichtigster Inhalt der Seite interpretiert.
@brettvormkopp Ich würde es wirklich gerne mal mit deinem Code testen.
Ich habe das Thema EInkaufswelt mit Facebook über ein eigenes kleines Plugin gelöst. Facbook liest die Meta-Tags für das Bild und die Beschreibung aus dem
Bereich des HTML’s. D.h man muss die Meta Tags schon in das HTML der index.tpl der Einkaufswelt bringen, in der erst nach dem Laden dieser per AJAX der Einkaufswelt Content „hinein geladen“ wird.
Da ich Facebook im allgemeinem nicht die Wahl des Bildes und des Beschreibungstextes lassen will, habe ich einfach in der Feitextverwaltung ein Feld in s_emotion_attributes für das fb Bild (seo_image) erstellt.
In der Boostrap des Plugins
public function onControllerActionPostDispatchSecureFrontendCampaign(Enlight_Event_EventArgs $args) {
$view = $subject->View();
$landingPage = $view->GetAssign("landingPage");
$emotionId = $landingPage["emotions"][0]["id"];
$sql = "SELECT * FROM s_emotion_attributes WHERE emotionID = ?";
$emotionsAttributes = Shopware()->Db()->fetchRow($sql, array($emotionId));
if(strlen($emotionsAttributes["seo_image"]) > 0) {
$view->Assign("seo_image",$emotionsAttributes["seo_image"]);
}
}
Ich hole mir das Freitextfeld „seo_image“ und bringe es in den view controller.
In meinem Template schaut dann die entsprechende header.tpl so aus
og:type muss man an seine Bedürfnisse anpassen und vorallem checken wie die eigene header.tpl aussieht da ich hier den kompleten Block frontend_index_header_meta_tags_opengraph überschreibe. Also entsprechend anpassen. Auch MY_DEFAULT_IMAGE auf einen richtigen link setzen.
Wenn das alles implementiert bei der Einkaufswelt die URL des Bildes in dem Freitextfeld eintragen, mit Firebug den
Bereich auf das richtige og:image prüfen und dann auf https://developers.facebook.com/tools/debug/sharing/ Facebook nochmals die Seite auslesen lassen. Muss man in manchen Fällen öfters machen, da FB mit den Bilder laden nicht so flott ist. Nicht vergessen das Template neu generieren lassen.