ausgeführt habe, den ich hinzugefügt habe Öffnen Sie Diagramm-Metadaten für alle Beiträge auf einer Website. Wenn ich jedoch versuche, einen Beitragslink auf Facebook einzufügen, werden die Diagramm-Metainformationen nicht geladen.

Wenn ich dann die URL im Debugger / Linter funktioniert sowohl im Debugger als auch beim normalen Posten auf Facebook (was kurz zuvor nicht funktioniert hat).

Dieses Problem wurde anscheinend in der Vergangenheit in dieser Frage zum Stapelüberlauf behoben. Diese Frage bezieht sich jedoch auf eine Rails-Umgebung.

In dieser Frage konnte die Anwendung nicht mehrere http-Anforderungen gleichzeitig verarbeiten. Das Problem wurde behoben, indem alle Facebook-API-Anforderungen im Hintergrund mit einer Funktion namens verzögerte Antwort behandelt wurden.

Was ist die einfachste Art und Weise, wie ich dies oder etwas Ähnliches in einer PHP-Umgebung mit WordPress erreichen und damit (hoffentlich) mein Problem lösen kann?

** Ich habe in diesem Beitrag keinen Beispiellink eingefügt Denn sobald ein Benutzer es durch den Debugger ausführt, scheint es zu funktionieren. *

Bearbeiten – Beispiel für Meta-Tags von einer Post-Seite:

<meta property="og:title" content="Budget proposal good news for Ontario drivers - AdvocateDaily.com" /> <meta property="og:type" content="website" /> <meta property="og:image" content="http://build.advocatedaily.com/wp-content/uploads/2013/04/Stacey-Stevens_Colour_NEW_2012-e1354206636925-150x150.jpg" /> <meta property="og:url" content="http://advocatedaily.com/2013/05/budget-proposal-good-news-for-ontario-drivers/" /> <meta property="og:description" content="A provincial budget proposal to reduce auto insurance premiums by an average of 15 per cent is good news for Ontario drivers, but should not come at the cost of benefits available under the policy, says Toronto personal injury lawyer Stacey L. Stevens. &#8220;In response to this announcement, the Insurance Bureau of Canada (IBC) predicts the [...]" /> <meta property="og:site_name" content="Advocate Daily" /> 

Das in wp_head eingefügte PHP:

add_action("wp_head", "add_fb_open_graph_tags"); function add_fb_open_graph_tags() { if (is_single()) { global $post; if(get_the_post_thumbnail($post->ID, "thumbnail")) { $thumbnail_id = get_post_thumbnail_id($post->ID); $thumbnail_object = get_post($thumbnail_id); $image = $thumbnail_object->guid; } else { $image = get_template_directory_uri()."/images/advocatedaily-avatar.png"; } //$description = get_bloginfo("description"); $description = og_excerpt( $post->post_content, $post->post_excerpt ); $description = strip_tags($description); $description = str_replace("\"", """, $description); ?> <meta property="og:title" content="<?php the_title(); ?> - AdvocateDaily.com" /> <meta property="og:type" content="website" /> <meta property="og:image" content="<?php echo $image; ?>" /> <meta property="og:url" content="<?php the_permalink(); ?>" /> <meta property="og:description" content="<?php echo $description ?>" /> <meta property="og:site_name" content="<?php echo get_bloginfo("name"); ?>" /> <?php } } function og_excerpt($text, $excerpt){ if ($excerpt) return $excerpt; $text = strip_shortcodes( $text ); $text = apply_filters("the_content", $text); $text = str_replace("]]>", "]]>", $text); $text = strip_tags($text); $excerpt_length = apply_filters("excerpt_length", 55); $excerpt_more = apply_filters("excerpt_more", " " . "[...]"); $words = preg_split("/[\n ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY); if ( count($words) > $excerpt_length ) { array_pop($words); $text = implode(" ", $words); $text = $text . $excerpt_more; } else { $text = implode(" ", $words); } return apply_filters("wp_trim_excerpt", $text, $raw_excerpt); } 

Kommentare

  • Wie Hatten Sie es hinzugefügt und was genau tun Sie, um Facebok proaktiv darüber zu benachrichtigen?
  • Ich habe eine Funktion, die in meinen Header schreibt, wenn is_post (). Ich ' werde meinen Beitrag bearbeiten und einen Beispielausschnitt der Metadaten hinzufügen.

Antwort

Erstens ist dies keine WordPress-spezifische Frage, sondern eine Facebook-Frage.

Zweitens werden bei Facebook Seiten zwischengespeichert, die nicht bei jeder Einreichung gecrawlt werden. Wenn Sie eine haben URL, die bereits zuvor an Facebook gesendet wurde, dann haben sie sie bereits einmal für die OG-Daten gecrawlt und in ihrem Cache gespeichert. Wenn Sie die OG-Daten später ändern, werden sie „nicht sofort bemerkt, weil sie“

Der Facebook-Debugger zwingt den Crawler, in Echtzeit von der Seite zu ziehen, und aktualisiert so den Cache.

So einfach ist das Wenn die URL schon einmal auf Facebook gepostet wurde, wird das Ändern der OG-Daten nicht sofort wirksam. Es wird einige Wochen dauern, bis FB dies bemerkt. Die Verwendung des Debuggers überschreibt dies.

Kommentare

  • Danke, ich ' Ich werde es abwarten. Ich habe diese Frage in WordPress gepostet, weil ich mich gefragt habe, ob es eine beste Möglichkeit gibt, Facebook-API-Anfragen im Hintergrund in einer WordPress-Umgebung zu bearbeiten. Allerdings ist Ihr Standpunkt absolut fair und Ihr Standpunkt Antwort macht Sinn. Danke.

Antwort

Ich hatte das gleiche Problem. Sie müssen es nur sagen Facebook, um Ihre Inhalte erneut zu kratzen.

Gehen Sie zu diesem Link: https://developers.facebook.com/tools/debug/sharing/ und stecken Sie ein Ihre URL in. Nachdem der Debugger zurückgekehrt ist, sollte eine Schaltfläche mit der Aufschrift „erneut kratzen“ angezeigt werden. Klicken Sie darauf.

Danach wurden die Informationen auf Facebook wie gewohnt angezeigt.

Ich bin mir sicher, dass es eine direktere Möglichkeit gibt, Facebook anzuweisen, Ihre Inhalte erneut zu kratzen, aber dies funktioniert auch.

Kommentare

  • Schön! Diese Option war zum Zeitpunkt meiner Veröffentlichung dieser Frage im ursprünglichen Facebook-URL-Linter nicht ' vorhanden. Gut zu wissen, dass ' jetzt da ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.