让Facebook抓取与共享内容不同的URL
Have facebook scrape a different URL than what was shared
我在 ember.js 中内置了一个单页应用程序,我们将其托管在 AWS S3 上,我正在尝试提出一种解决方案,当有人将我们网站的 URL 共享到 facebook 时,让 facebook 能够正确抓取该页面上的内容。
显然,这在目前是行不通的,因为Facebook不像谷歌搜索引擎那样支持索引javascript。所以我看到的一个解决方案是使用 apache .htaccess 将请求从 facebook 重定向到服务器文件,该文件可以制作一个带有必要开放图形标签的准系统 html 页面,如这篇文章所示
https://rck.ms/angular-handlebars-open-graph-facebook-share/
但是,由于我们在 S3 上,我无法执行 apache .htaccess,并且从我能够从稀疏文档中收集到的有关其 S3 重定向规则如何工作以及他们可以做什么的信息中,我不确定是否有办法使用该方法执行此操作。
所以我的问题是,Facebook或Open graph,甚至只是普通的元标记是否允许用户共享URL,让Facebook使用它,但跟随指向服务器生成的文件的链接,然后如果有人点击该链接实际上会让用户指向真正的单页应用程序页面,而不是Facebook将用于抓取数据的服务器文件。
Facebook支持"指针"从不同的URL请求元数据 - 但这可能不会帮助你,因为对提供元数据的URL的引用必须再次成为你想要共享的原始URL的HTML代码的一部分。
相反,您可能会做得更好:让您的用户共享包含正确元数据的服务器生成文档的 URL,并将遵循该链接的人类访问者重定向到应用程序中的实际目标 URL。您可以通过JS(location.href='…'
)或服务器端执行此操作(但在这种情况下,您需要为FB抓取器实现该重定向的异常;它可以被其用户代理识别,请参阅 https://developers.facebook.com/docs/plugins/faqs#scraperinfo)
- 使用php或javascript从facebook相册URL中删除多余的部分
- 如何在不进入无限循环的情况下将网站重定向到Facebook画布URL
- 对auth.logout的Facebook事件订阅仅选择性地将用户重定向到url
- 在分享页面URL时,有没有办法在Facebook上分享高质量的页面截图
- Facebook标签页更改url时不带window.location
- Facebook活动封面URL
- Facebook JavaScript SDK:读取应用程序URL
- Facebook共享按钮/history.pushstate/错误的url
- 无法'共享'Firefox操作系统上Facebook和Twitter本地应用程序上的URL
- Facebook选项卡应用程序动态URL
- 在facebook共享按钮sharer.php中指定url
- iOS在safari中打开URL,而不是在应用浏览器JS、HTML中打开Facebook
- facebook共享按钮的不同url
- Facebook分享没有选择完整的网址&自定义url的元名称
- 获取当前页面的URL并将其附加到Facebook共享链接(使用javascript)
- 在Facebook上共享自定义url的按钮
- 更改Facebook Like Code中的URL
- facebook共享og:url覆盖从og:title获取的数据
- 如何从主页上分享几个帖子,每个帖子都有自己的截图,但都有一个URL?Facebook, Google+, Twitter
- Channel URL Facebook