1

我们知道与将文件写入磁盘相关的 appengine 限制。因此,通过 i/o 获得动态站点地图的想法对于 AppEngine 来说似乎有点困难。所以这里有一些我们希望验证的想法:

  1. 我们可以有一个动态生成与谷歌站点地图兼容的 xml 的 servlet 吗?
  2. 如果这是可能的,有人可以分享一个例子吗?
  3. 反过来,这样的站点地图能否包含返回适合索引的原始文本数据的动态链接?
  4. 如果上述情况属实,我们看到的唯一问题是,这种仅用于索引内容的动态 URL 将在搜索结果中可用。相反,我们希望用户直接登陆网站的主页。
  5. 关于 SEO,鉴于网站是纯 GWT,是否有更好的方法来索引内容?
4

1 回答 1

1

对于动态 URL,由于您在 Google App Engine 上使用 Java,因此您唯一的解决方案是创建一个将创建此响应的 servlet。

您可以使用许多库来确保您的 XML 正确无误,但可以帮助您入门的最简单示例如下所示:

public class SitemapsServlet extends HttpServlet {
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        resp.setContentType("application/xml");
        resp.getWriter().println("<?xml version="1.0" encoding="UTF-8"?>");
        resp.getWriter().println("<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">");
        resp.getWriter().println("  <url>");
        resp.getWriter().println("    <loc>http://www.example.com/?id=who</loc>");
        resp.getWriter().println("    <lastmod>2009-09-22</lastmod>");
        resp.getWriter().println("    <changefreq>monthly</changefreq>");
        resp.getWriter().println("    <priority>0.8</priority>");
        resp.getWriter().println("  </url>");
        resp.getWriter().println("</urlset>");
    }
}

对于其余的问题,请确保您了解站点地图的工作原理以及它们的用途。

于 2013-04-26T13:00:20.983 回答