您可以将 OpenGraph 对象链接到不同的 URL 吗?
因此,您需要一个带有元标记的公共 URL 来表示 OpenGraph 中的对象,而所需的元标记之一就是 URL 属性。发布操作后,它会链接到此 URL 属性。
假设我在 http://mysite.com/A。看来我不能这样做:
<meta property="og:url" content="http://mysite.com/B"></meta>
因为 Facebook 会尝试查看元标记的根 url。有没有办法从给定的 OpenGraph 对象 URL (mysite.com/A) 链接到不同的 URL (mysite.com/B)?
So you need a public URL with meta tags to represent an object in the OpenGraph, and one of the required meta tags is a URL property. When the action gets published, it links to this URL property.
Let's say I'm on http://mysite.com/A. It seems like I can't then do this:
<meta property="og:url" content="http://mysite.com/B"></meta>
Because Facebook will try to look at the root url for the meta tags. Is there any way to link to a different URL (mysite.com/B) from a given OpenGraph object URL (mysite.com/A)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该能够链接到另一个 URL。但
og:url
的全部含义是“转到该 URL 并使用那里的标签”。您可以1) 将所有标签放在
A
上,然后通过 JavaScript 或用户代理检测将用户重定向到B
;2) 将您的内容放在
A
上,然后对B
执行og:url
。You should be able to link to another URL. But all an
og:url
means is "go over to that URL and use the tags from there instead". You can either1) put all your tags on
A
and then redirect users toB
with JavaScript or User-Agent detection;2) put your content on
A
and do anog:url
toB
.@Paul,直到现在我才完全理解或欣赏你的评论 - 抱歉和感谢。
我从更多的修补中学到的是,在帖子中带有对象项 url 的 FB 初始帖子中,FB 然后抓取该页面,获取 META 标签,如果您定义了 og:url ,它将抓取再来一次。它爬行了两次。
就我而言,我传递了一个确实被解析的查询字符串,但我没有在 og:url 中再次设置它,因此当它第二次抓取我的页面时,它没有获取我需要的查询字符串变量。
对我来说这是一件愚蠢的事情。感谢您的精彩回答。
吉姆
@Paul, I didn't fully understand or appreciate your comment until now - apologies and thanks.
What I learned from a little more tinkering is that on the initial post to FB with the object item url in the post, is that FB then crawls that page, gets the META tags and if you've got og:url defined it will crawl it again. It crawls it twice.
In my case, I am passing a querystring that does get parsed, but I was not setting it again in the og:url, so when it crawled my page the second time, it was not picking up the querystring variable I needed it to.
That was a dumb thing on my part. Thanks for the great answer.
Jim