0

假设有两个网站A = http://www.i.am.contentB = http://www.i.am.an.envelopA是国际化的,即用户可以选择不同的语言: http://www.i.am.content &lang=enhttp://www.i.am.content &lang=sw

此外,A通过 iFrame包含在B中:<iframe src=A></iframe>

现在,用户应该能够通过社交媒体(google+、fb、twitter ...)分享B。重要的是,相应社交媒体网站的网络爬虫应从A获取社交媒体流的图像和文本。

但是,至少 fb 爬虫不会在 A 中查找元数据标签(在 facebook 案例中:Open Graph)除非我们也在B中指定:<meta property="og:url" content=A />

这意味着,指向A的链接在B的 html中被硬编码。

我们面临的挑战是:我们如何将元数据(例如用户选择的语言代码)传输到中指定的链接og:url?换句话说,如何确保由社交媒体提供商的网络爬虫自动创建的社交媒体流以正确的语言/元设置接收到A的链接?

非常感谢您对此的任何帮助:)

此外,对于 Google+ 和 Schema.org 或 Twitter 卡的类似问题的任何帮助都会很棒!

4

1 回答 1

1

为什么不执行以下操作:

  • B得到一个额外的参数A_lang=xy(如果它没有固定的语言或者可以转换自己的语言参数)。
  • 更改B的代码(如果可能的话)以包含A via<iframe src="A?lang=xy"></iframe>并且元标记变为<meta property="og:url" content="A?lang=xy" />.
  • 然后A可以将分享按钮中的链接设置为B?A_lang=xyB的链接应该在 HTTP Referrer 标头中,如果这不起作用,您可以始终将其作为and标记中的额外参数传递给A。iframemeta

这当然需要您修改页面B以正确地对A进行语言处理。但在大多数情况下,这应该很容易实现。

于 2015-11-07T22:26:40.037 回答