当您在Facebook中键入链接时,您可以看到此链接的标题,网站名称,说明和图像。我所知道的是Facebook使用两种方式获取链接信息:
1 - 使用og
代码
2 - 使用html头标记内的元标记。
但是有一些网站例如没有任何关于描述的og
标签或元标签,而facebook会显示其描述和标题。
我的问题是,如果网站没有任何og
代码或元标记,那么它会从哪里获取描述信息?
当我在Facebook帖子http://php.net/
中发布此链接时,我可以看到描述,尽管我在页面的主页中找不到任何og:description
标签或任何元标签。如果你把这个问题的链接发布到Facebook你可以看到问题本身apear,facebook怎么做呢?
答案 0 :(得分:1)
通过分析网站,显然这是一个不完美的程序,因此Facebook建议使用og标签,以便网站完全按照您的要求显示在帖子中。
答案 1 :(得分:1)
技术上可以嗅探用户代理并检测Facebook是否正在查看该页面,然后有条件地在源中呈现og
标记。
例如,我个人隐藏了所有Facebook相关标签给普通用户。通过嗅探用户代理,我只在Facebook查看我的网站时显示Facebook标签。我选择这条路线的原因是为了防止W3C验证失败(我是这样的肛门)并防止普通访客的HTML膨胀。这只是我想要做的偏好,并不是天生就是对或错。
换句话说,仅仅因为您没有在网站的源代码中看到og
标记并不意味着它们在查看同一网站的来源时不会显示给Facebook。 / p>
答案 2 :(得分:0)
我假设他们在URL处获取页面HTML并解析它以获得通常的嫌疑人:
<title>
<title>
或某些<head>
代码<meta name="description" />
<img>
代码的图片这是您应该关注w3c standards的另一个原因,以便像Facebook这样的第三方网站能够以编程方式阅读您的HTML,而无需向您咨询HTML的结构。
推荐的og标记是另一个standard set by Facebook,它不仅可以帮助他们读取标题和图像等项目的页面,还可以设置开放式图表objects和actions的标准。 / p>