2013-04-26 84 views
1

我們知道與將文件寫入磁盤相關的appengine限制。因此,通過I/O創建動態站點地圖的想法對於AppEngine來說似乎有點困難。因此,下面是我們希望驗證的一些想法:爲基於GWT的appengine網站生成動態站點地圖

  1. 我們可以有一個servlet,可以動態生成谷歌網站地圖兼容xml嗎?
  2. 如果這是可能的,有人可以分享一個例子嗎?
  3. 這樣的站點地圖反過來可以包含動態鏈接,它返回適合索引的原始文本數據?
  4. 如果以上情況屬實,我們看到的唯一問題是,這些僅用於索引內容的動態URL將在搜索結果中可用。相反,我們希望用戶直接登陸網站的主頁。
  5. 關於搜索引擎優化,鑑於網站是純粹的GWT,有沒有更好的方法來索引內容?

回答

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是如何工作的,他們的目的是什麼。