【问题标题】:Dynamic sitemap generation for GWT based appengine website基于 GWT 的 appengine 网站的动态站点地图生成
【发布时间】:2013-04-26 04:56:08
【问题描述】:
我们知道与将文件写入磁盘相关的 appengine 限制。因此,通过 i/o 获得动态站点地图的想法对于 AppEngine 来说似乎有点困难。所以这里有一些我们希望验证的想法:
- 我们能否有一个 servlet 动态生成与 google 站点地图兼容的 xml?
- 如果可以,有人可以分享一个例子吗?
- 这样的站点地图能否反过来包含返回适合索引的原始文本数据的动态链接?
- 如果上述情况属实,我们看到的唯一问题是,此类仅用于索引内容的动态 URL 将在搜索结果中可用。相反,我们希望用户直接登陆网站的主页。
- 关于 SEO,鉴于网站是纯 GWT,是否有更好的方法来索引内容?
【问题讨论】:
标签:
google-app-engine
gwt
seo
search-engine
sitemap
【解决方案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>");
}
}
对于其余问题,请确保您了解 sitemaps 的工作原理以及它们的用途。