Facebook不会自动抓取我的网站的网址

问题描述 投票:0回答:3

我有类似这样的博客文章网址:

http://www.topluisilanlari.com/blog/goster/48/abc

首先,请更改abc部分(这不会造成页面差异)。当我尝试在Facebook上共享此URL时,它不显示页面图像(代码中存在og:image属性),但是当我在Facebook调试器中输入相同的URL并单击“获取新的抓取信息”按钮时,我的页面图像显示正确以及共享功能。

我该如何解决?

谢谢。

facebook social facebook-sharer
3个回答
2
投票

https://developers.facebook.com/docs/sharing/best-practices#precaching

第一次共享内容时,Facebook搜寻器将从共享的URL中抓取并缓存元数据。抓取工具必须至少看到一次图像才能进行渲染。这意味着共享内容的第一个人将看不到渲染的图像

有两种方法可以避免这种情况,并在第一个“赞”或“共享”操作上渲染图像:

1。使用URL调试器预缓存图像通过URL调试器运行URL以预取页面的元数据。如果您为某个内容更新图像,也应该执行此操作。

2。使用og:image:widthog:image:height打开图表标签使用这些标签会将图像指定给搜寻器,以便它可以立即呈现图像而不必异步进行。

第二个也是如此–通过这些og元标记指定预览图像的尺寸。


0
投票

Facebook不会定期抓取URL:它不是搜索引擎。第一次共享页面时,它会刮擦页面并保存此信息,直到您重新刮擦或重新获取页面为止(如您所尝试的)。

关于打开图的更多信息,以及示例,可以在http://ogp.me上找到,尽管此open graph generator将来可能会对您有所帮助。

[今天,当我查看抓取信息时,它包含错误,并且元标记未以/>结尾(仅以>结尾)。好像我重新抓取页面一样,已经解决了这个问题。现在可以通过添加以下方法来修复唯一的警告:

<meta property="og:url" content="http://www.topluisilanlari.com/blog/goster/48/abc"/> 

您的代码有几个问题,尽管没有引起共享问题,但它有validation errors


0
投票

[如果有人偶然发现有关如何使Facebook以编程方式爬网URL的详细信息,则答案在此页面上:https://developers.facebook.com/docs/sharing/opengraph/using-objects#update

发送带有您要抓取/抓取的URL的POST请求,并将查询参数?scrape=true&scrape=true添加到该URL(相应地)。还要在请求中添加访问令牌。

以下是WordPress中的发帖请求示例,但您可以针对Guzzle,Curl等进行操作。端点为https://graph.facebook.com,正文为包含URL的数组,该URL带有?scrape=true查询参数和访问权限令牌。

$scrape['id'] = $yoururl . '?scrape=true';
$scrape['access_token'] = $access_token;

$response = wp_remote_post(
                'https://graph.facebook.com',
                array(
                    'body' => $scrape,
                    'headers' => array(
                        'Content-Type' => 'application/x-www-form-urlencoded',
                    ),
                    'timeout' => 60,

                )
            );
print_r($response, true); //would echo out the results of the srape
© www.soinside.com 2019 - 2024. All rights reserved.