【问题标题】:How show page preview in Google , Facebook ,Twitter and many more social sites when url contain #!当 url 包含 #! 时,如何在 Google、Facebook、Twitter 和更多社交网站中显示页面预览!
【发布时间】:2014-07-28 12:39:02
【问题描述】:

我在 Angula JS 和 Drupal 中工作,当我们将 URL 粘贴到 GoogleFacbookTwitter 以及更多社交网站

我已经通过这个帮助 url(https://developers.google.com/webmasters/ajax-crawling/docs/getting-started) 为 url 中的 _escaped_fragment_ 做了案例

但是当我像这样粘贴我的网址时,挑战就来了

http://example.com/#!/test/a/1235

则不生成预览

我将如何在社交网站上显示预览。

感谢任何帮助。

谢谢

【问题讨论】:

    标签: angularjs url-rewriting seo social-networking socialshare


    【解决方案1】:

    欢迎使用 Javascript 应用程序! :)

    _escaped_fragment_ 不是标准且社交平台不支持它

    Google 开发了 _escaped_fragment_ 系统,但这不是标准。 网络上有很多机器人,其中大多数不理解 _escaped_fragment_ 解决方案,也不理解 Javascript 应用程序作为 AngluarJS 应用程序。

    据我所知(我在很多JS应用网站工作过),社交平台不使用_escaped_fragment_系统。

    另外,some Google services do not support it yet

    网址是标准的,每个机器人都支持

    如果您希望每个机器人都能够抓取您的网站,那么目前唯一的方法就是使用经典网址。

    目前,您需要确保您的内容是通过经典 URL 传送的。这是确保它会被网络上的每个机器人解释的唯一方法

    【讨论】:

    • 但是你能帮我解决#1 url ;)
    • 关于 #1 URL (http://example.com/#!/test/a/1235?),目前,您无法使其在不支持 _escaped_fragment_ 的机器人上运行。这就是我在回答中的意思。
    【解决方案2】:

    这可能有点挑战性,需要两个方面的答案。

    无头浏览器

    大多数爬虫和机器人无法解析单页应用 (SPA) 中的 javascript。因此,您将需要某种无头浏览器来生成这些机器人看到的内容。我用过PhantomJS,它对我很有效。无头浏览器启动并运行后,您可以为 _escaped_fragment_ 创建重写条件。例如在 Apache 中:

    RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$

    我建议您也根据用户代理创建重写条件。这在检测“FaceBot”、Facebook 的预览爬虫等时特别有用。

    社交应用

    解决方案的另一部分是阅读开发者文档,了解如何操作这些预览的生成。这里有一些资源(抱歉我找不到推特):

    在检查您的 Facebook 页面时,他们有一个简洁的小工具可以帮助您解决您的网站/页面以进行预览渲染:https://developers.facebook.com/tools/debug

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2021-01-25
    • 1970-01-01
    • 2014-04-06
    • 2014-11-23
    • 1970-01-01
    相关资源
    最近更新 更多