【问题标题】:Linkedin Open Graph Sharing not workingLinkedin 开放图共享不起作用
【发布时间】:2017-02-15 14:01:46
【问题描述】:

我有一个开放图形协议的页面设置,因为当我们使用 LinkedIn 共享 URL 时,我们的应用程序现在是基于 Angular 1.x 构建的。共享弹出窗口会打开,但有时它不会抓取打开的图形标签,有时它会显示正确的抓取标签,直到上周它都可以正常工作。这是显示预览区域的图像:

分享链接的场景:

  1. 用户访问我们的网站:www.example.com/event/[EVENT_ID] 并点击分享到 LinkedIn。
  2. 弹出窗口使用以下方式打开:https://www.linkedin.com/shareArticle?mini=true&url=https://example.com/event/0u83s43rf6r/4295028179,其中 4295028179 是事件 ID,0u83s43rf6r 是用于共享的随机键,因为缓存无效。
  3. 现在我们正在使用 apache mod_rewrite 将 LinkedIn、Facebook、Twitter 机器人重定向到我们的爬虫页面,在该页面中呈现 Open graph 标签。

.htaccess 文件中的 Apache Mod 重写设置

RewriteCond %{HTTP_USER_AGENT} ^(facebookexternalhit/(.*)|Facebot|Twitter(.*)|Pinterest|LinkedIn(.*)|LinkedInBot)$ [NC]

RewriteRule ^(event)/([_0-9a-zA-Z]+)/([0-9]+)$  https://share.example.com/web/crawler/details/$3 [R=301,L]

所以当爬虫基于 USER AGENT 重定向时,结束 url 变成了开放图形标签呈现的位置:http://share.example.com/web/crwaler/details/4295028179

这里是渲染的 html 标签:

<html>
<head>
  <script type="text/javascript">window.location = 'https://example.com/event/236129271' // if it's a browser then redirect it to website</script>
  <meta property="og:title" content="Event Title" />
  <meta property="og:description" content="Event Description" />
  <meta property="og:image" content="Event Thumbnail" />
  <meta name="title" content="LinkedIn Share Test" />
  <meta name="description" content="Event Description" />
  <meta property="og:image:width" content="188" />
  <meta property="og:image:height" content="71" />
  <!-- Twitter Card Working Fine-->
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Event Title">
  <meta name="twitter:description" content="Event Description">
  <meta name="twitter:image" content="Event Image">
</head>
<body>
</body>

</html>

上周这个逻辑在 Linkedin 上运行良好,但现在不知何故不起作用。

【问题讨论】:

  • 我从来没有得到 OG 属性来处理linkedin。我认为他们只解析来自流行网站的标签。您可以复制另一个页面的源代码,将其作为原始 HTML 粘贴到您自己的服务器上,它们不会解析标签。您的标签没有问题,这是 100% LI 支持问题。
  • 尝试跟踪您的访问日志文件或对 Linked(爬虫 UA)进行 grepping,您可能会发现 LI 甚至没有抓取您的网站。
  • 我已经检查了访问日志,Linkedin bot 即将到来,但它没有在弹出窗口中显示准确的预览。
  • 你的图片可能太小了。 80x150 是报告的最小值,根据:linkedin.com/help/linkedin/answer/46687/…

标签: apache mod-rewrite linkedin facebook-opengraph linkedin-api


【解决方案1】:

你的代码看起来不错,你有正确的og:标签等等。

如果您不确定自己是否在使用 LinkedIn 共享 API,请使用 LinkedIn Post Inspector 查看您的网站,这将告诉您 LinkedIn API 如何查看您的网页。它涵盖了很多东西,从&lt;title&gt;标签,到og:标签,再到oEmbed标签等等……

担心缓存?为什么不测试像 example.com?someFakeParameter=123 这样的 URL?这同样会绕过 LinkedIn Post Inspector 的缓存。

如果您可以发布您要分享的实际网址,我可以给您一个更好的答案,但希望这里有所帮助!

【讨论】:

  • 这种缓存让我发疯了。我已经删除了它从中获取标题的元素,它仍然显示出来。
猜你喜欢
  • 2017-08-23
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
相关资源
最近更新 更多