Agregué abrir metadatos de gráficos a todas las publicaciones de un sitio, sin embargo, cuando intento pegar un enlace de publicación en Facebook, la metainformación de gráficos no se carga.

Luego, cuando inserto la URL en el depurador / linter , funciona, tanto dentro del depurador como cuando se publica normalmente en Facebook (que no funcionó momentos antes).

Este problema parece haber sido abordado en el pasado, en esta pregunta de desbordamiento de pila . Sin embargo, esa pregunta se refiere a un entorno Rails.

En esa pregunta, la aplicación no pudo manejar múltiples solicitudes http al mismo tiempo. El problema se resolvió manejando todas las solicitudes de la API de Facebook en segundo plano usando algo llamado respuesta_de_lasada.

¿Cuál es la forma más sencilla en la que podría lograr esto o algo similar en un entorno PHP que ejecuta WordPress y así (con suerte) resolver mi problema?

** No incluí un enlace de muestra en esta publicación porque tan pronto como un usuario lo ejecute a través del depurador, parecerá que funciona. *

Editar- Muestra de metaetiquetas de una página de publicación:

<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" /> 

El PHP que se inserta en wp_head:

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); } 

Comentarios

  • Cómo ¿Lo había agregado y qué está haciendo precisamente para notificar proactivamente a Facebok al respecto?
  • Tengo una función que escribe en mi encabezado if is_post (). ' editaré mi publicación y agregaré un fragmento de muestra de los metadatos.

Responder

En primer lugar, esta no es «una pregunta específica de WordPress, es una pregunta de Facebook.

En segundo lugar, Facebook almacena páginas en caché, no las rastrea en cada envío. Si tiene un URL que ya se ha enviado a Facebook antes, entonces ya la habrán rastreado en busca de datos OG una vez antes y la habrán guardado en su caché. Si luego cambias los datos OG, no lo notarán de inmediato, porque » están extrayendo de su caché, no de la página.

El depurador de Facebook obliga al rastreador a extraer de la página en tiempo real y, por lo tanto, actualiza su caché.

Tan simple como eso Realmente. Si la URL se ha publicado antes en Facebook, cambiar los datos de OG no tendrá efecto inmediato. Pasarán algunas semanas antes de que FB se dé cuenta. Usar el depurador anula eso.

Comentarios

  • Gracias, yo ' esperaré. Publiqué esta pregunta en WordPress porque me preguntaba si había una mejor manera de manejar las solicitudes de API de Facebook en segundo plano en un entorno de WordPress, dicho esto, su punto es totalmente justo y su La respuesta tiene sentido. Gracias.

Respuesta

Tuve el mismo problema. Lo que necesitas es decir Facebook para raspar tu contenido nuevamente.

Dirígete a este enlace: https://developers.facebook.com/tools/debug/sharing/ y conecta su URL. Después de que el depurador regrese, debería ver un botón que dice «raspar de nuevo». Haga clic en él.

Después de que hice eso, la información apareció normalmente en Facebook.

«Estoy seguro de que hay» una forma más directa de decirle a Facebook que elimine tu contenido de nuevo, pero esto también funciona.

Comentarios

  • ¡Agradable! Esta opción en realidad no estaba ' t allí en el linter de URL de Facebook original, en el momento de publicar esta pregunta. Es bueno saberlo ' ahora.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *