我们在英国开设了一个博客,并且最近注意到,当文章被喜欢,分享等时,Facebook停止了我们的帖子描述和图片。
运行Facebook对象调试器我收到以下消息:
回复代码:200
必须修复的错误 无法下载:无法从URL检索数据。
(如果您希望自己查看,请参阅以下链接:https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.heruni.com%2F)
以下是我们代码的副本 - 我们做错了什么?
<?php
function is_facebook(){
if(!(stristr($_SERVER["HTTP_USER_AGENT"],'facebook') === FALSE)) {
return true;
}
}
?>
<!DOCTYPE html>
<html dir="ltr" lang="en-US"<?php if(is_facebook()){echo ' xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/"';}?>>
<head>
<title><?php wp_title(''); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="msvalidate.01" content="374D59D3C3F26F6EFC410429D512A98C" />
<?php if(is_facebook()){ ?>
<meta property="og:title" content="<?php single_post_title(''); ?>"/>
<meta property="og:type" content="article"/>
<meta property="og:image" content="<?php echo wp_get_attachment_thumb_url( get_post_thumbnail_id( $post->ID ) ) ?>"/>
<meta property="og:url" content="http://<?php echo $_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];?>"/>
<meta property="og:site_name" content="<?php bloginfo('name'); ?>"/>
<meta property="fb:app_id" content="256997234347344"/>
<?php }?>
答案 0 :(得分:2)
检查您是否在页面中使用gzip,禁用它并重试。这为我解决了。
答案 1 :(得分:1)
这是Facebook为您的网页看到的标记:
https://developers.facebook.com/tools/debug/og/echo?q=http%3A%2F%2Fwww.heruni.com%2F
你不需要在这里做任何is_facebook()有条件的东西 - 标签和命名空间应该只在网络上显示给所有HTTP客户端,而不仅仅是Facebook刮刀。
删除所有这些条件,您的代码应该可以正常工作。