【问题标题】:Make GWT Crawlable (SEO)使 GWT 可抓取 (SEO)
【发布时间】:2012-12-12 19:24:57
【问题描述】:

我想让我的 GWT-App 可以被 google bot 抓取。我找到了这篇文章 (https://developers.google.com/webmasters/ajax-crawling/)。它指出应该有一个 servlet 过滤器,它为 google bot 提供不同的视图。但这怎么能行呢?例如,如果我使用活动和地点模式,那么页面更改仅在客户端,并且不涉及 servlet -> servlet 过滤器在这里不起作用。

谁能给我一个解释?或者是否有另一个针对gwt量身定制的好教程如何做到这一点?

【问题讨论】:

    标签: java gwt servlets seo


    【解决方案1】:

    如果您使用Activities&Places,您的“页面”将有一个可收藏的URL(通常由HTML 主机页面、# 和一些用! 或其他字符分隔的标记组成)。

    因此,您可以在应用程序中放置链接以使其可抓取。如果链接包含正确的结构(带有 # 和标记的结构),它将导航到正确的位置。

    看看https://developers.google.com/web-toolkit/doc/latest/DevGuideMvpActivitiesAndPlaces

    【讨论】:

    • 我知道那部分,但问题是:google bot 无法执行 javascript。所以我必须检查谷歌机器人是否正在查看该网站。此链接 (developers.google.com/webmasters/ajax-crawling) 建议使用 servlet 过滤器执行此操作。但是如果调用客户端页面,则不会调用 servlet。
    • 正如你所说的谷歌无法执行 javascript,所以你需要为它提供 HTML 静态页面。如果您在客户端放置了过多的应用程序逻辑(包括 HTML 渲染),那么您应该使用无头浏览器方法(在 developers.google.com/webmasters/ajax-crawling/docs/… 中进行了解释)。它基本上包括在您的服务器中呈现 HTML 页面并执行 javascript,然后将最终生成的 HTML 发送给 google bot。
    • 另一种方法是使用不显眼的 javascript(这对于 GWT 来说很困难,因为您必须避免使用它的大部分功能)。这基本上意味着即使没有执行 GWT javascript,您的 HTML 也可以工作,因此 Google bot 可以抓取它。这就是 Activities&Places URL 方案适合的地方。
    • 是的,我知道无头浏览器的事情等等,以及如何通过转义识别谷歌机器人等等。但是我不清楚 servlet 过滤器部分。此过滤器仅在调用 servlet 时过滤。但是如果只执行 gwt 代码,则不会调用 servlet
    • 第一次进入应用程序时,将使用 URL= 调用 servlet。如果您检测到它是 Google bot 请求,则运行您的无头浏览器,该浏览器执行您的 GWT javascript,并创建一个 HTML(带有指向其他地方的链接,使用 #! 方案编码)。然后机器人再次询问这些链接,您的过滤器拦截它们,等等......关键是过滤器还不够,您的应用程序必须设计为只能通过以下链接进行抓取。例如:如果您需要双击列表导航到某个地方,那么...
    【解决方案2】:

    所以这是实际问题的解决方案:

    我想让我的 GWT(在 Google App Engine 上运行)可以被 google 机器人抓取并遵循以下文档:“https://developers.google.com/webmasters/ajax-crawling/”。我试图应用一个 servlet 过滤器来过滤对我的应用程序的每个请求,并检查 google bot 添加的转义 url 中的特殊片段,并使用无头浏览器向 bot 呈现特殊视图。

    但是 servlet 不适用于“MyApp.html”文件。然后我发现,所有文件都被视为静态文件,不受过滤器的影响。我不得不从这些静态文件中排除“.html”文件。我通过在“appengine-web.xml”中的静态文件中添加“”行来做到这一点。

    我希望这将帮助一些有同样问题的人节省一些时间:)

    谢谢和最好的问候 一月

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-03
      • 2014-01-05
      • 1970-01-01
      • 2015-02-19
      • 2023-04-09
      • 2022-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多