【问题标题】:Facebook sharer should pull images from fetched URL not from canonical URL?Facebook 共享者应该从获取的 URL 而不是规范 URL 中提取图像?
【发布时间】:2015-01-14 07:20:32
【问题描述】:

最近我注意到,如果有人在 facebook 共享器中分享我的网站 URL,那么它会从规范 URL 中提取图像,而不是从获取的 URL 中提取图像,因为我添加了 -

<meta property="og:url" content="http://www.mywebsite.com"/>
<meta property="og:description" content="description related to page/images">

但每次我主页的图片不是获取的 URL 时都会显示

我的网址是这样的-

canonical URL - http://www.mywebsite.com
fetched URL - http://www.mywebsite.com/tags/car

所以我不知道我该怎么做,所以 facebook 共享器总是显示我获取的 URL 的图像。

我知道这可能是以前问过的同样的问题-

Is it possible to extract metadata from fetched url instead of canonical url?

Canonical url being linked on Facebook rather than real URL. Dynamic OpenGraph tags coming up empty

但在这两个问题中都有一个相同的解决方案 -

我需要设置中间 URL 重定向,所以我只是搜索了 301 和 302 重定向,但我不知道如何/在哪里使用它?

我需要为我的 wordpress 和其他网站(在 zend 框架中)执行此操作。

如果有人做过同样的事情,请告诉我。

如有任何帮助,我将不胜感激。

【问题讨论】:

  • 根据您的问题描述,我猜您不是在寻找 301 或 302 重定向。使用这样的重定向总是会将所有试图访问“获取的 URL”的用户重定向到您的索引页面,从而使您的整个网站变得毫无用处(请记住,301 重定向是永久性的,因此它可以并且将被浏览器、代理和搜索缓存引擎)。请参阅我的答案以获取可能的解决方案以及有关规范 URL 的一些见解
  • JHoffmann 给出了答案:但如果您坚持重定向,则需要提供有关触发重定向的更多详细信息。有不同的方法可以做到这一点,这取决于触发器是什么。使用 Wordpress 也可能会使其复杂化,因为您想将其放在正确的位置。 (但仍然正确设置您的规范 URL :))

标签: php facebook facebook-sharer canonical-link facebook-opengraph


【解决方案1】:

您面临的问题是,您将主页网址作为共享网址的规范网址发送。这是错误的,因为规范 url 必须指向与获取的 url 具有相同内容的资源。有关规范 URL 的定义,请查看 RFC6596 或来自 Google 的良好描述。

正如您所做的那样,指向您网站的索引 URL 并不是指向规范(等效)URL。通过设置你对 Facebook 说的那个 URL “你可以去那里看看,你会发现和这里一样的内容。所以从那里拿走所有东西。”但我想这不是你想要的。

如果您仍然想指向您的索引(恕我直言正在滥用系统),那么您也可以尝试添加图像的元数据,这应该会导致您提供的图像用于表示链接:

<meta property="og:image" content="http://www.mywebsite.com/path/to/image.jpg" />

为什么你不应该将你的索引指向规范的原因:如果用户 A 想要分享一些特定的内容,用户 B 在 facebook 中点击链接不会找到预期的内容,而是他会看到索引页面,不知道用户 A 想要分享哪些内容。

使用 og:url 元数据的正确方法是指向一个真正的规范(等效)URL,它将 smae 内容显示为获取的 URL。通常这样的链接被称为永久链接。如果您不能提供这样的网址,只需使用获取的网址本身或将其保留。指向索引是错误的。

对于 wordpress,有一个 plugin,它应该可以正确执行此操作。开放图协议为documented here

【讨论】:

    【解决方案2】:

    Facebook 使用 og:url 标签来整合点赞和分享数量。无论您在 og:url 中提到什么 url,facebook 都会共享该 url 并增加该 url 的共享计数。否则,您的点赞和分享将分布在规范网址中。

    <meta property="og:url" content="http://www.mywebsite.com"/>
    

    如果您设置了 og:image 标签,则 facebook 共享器将选择该图像。但请确保图像尺寸正确。 Facebook 也检查尺寸。我总是使用 600X315。 检查图像大小here

    <meta property="og:image" content="http://www.mywebsite.com/path/to/image.jpg" />
    

    完成后不要忘记清除缓存。 把你的网址here

    获取新的抓取信息以查看更改。

    搜索引擎使用关键字、标题和描述等元标记。 og 标签由 facebook 使用。 和规范的网址是由 rel="canonical"

    对于任何 url,无论您希望 Facebook 获取什么数据,都需要在 og 标签中设置。

    然后调试URL看新的爬取信息就可以看到变化了。

    【讨论】:

      猜你喜欢
      • 2012-04-19
      • 2021-08-22
      • 2013-05-03
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      • 2016-01-04
      • 2014-06-03
      • 1970-01-01
      相关资源
      最近更新 更多