2013-04-26 1 views
1

Мы знаем об ограничении приложения, связанного с записью файлов на диск. Таким образом, идея создания динамической карты сайта с помощью ввода-вывода кажется немного сложной для AppEngine. Итак, вот несколько идей, которые мы хотели бы подтвердить:Динамическое создание карты сайта для веб-сайта appengine на основе GWT

  1. Могу ли мы иметь сервлет, который динамически генерирует XML-файл, совместимый с Google Maps?
  2. Если это возможно, может ли кто-нибудь поделиться примером?
  3. Может ли такая карта сайта содержать динамические ссылки, которые возвращают необработанные текстовые данные, подходящие для индексирования?
  4. Если это верно, единственная проблема, которую мы видим, заключается в том, что такие динамические URL-адреса, которые предназначены только для индексирования контента, станут доступны в результатах поиска. Вместо этого мы хотим, чтобы пользователи попали прямо на домашнюю страницу веб-сайта.
  5. Что касается SEO, учитывая, что сайт является чистым GWT, есть ли лучший способ индексировать контент?

ответ

1

Для динамических URL-адресов вашим единственным решением, поскольку вы используете Java в Google App Engine, является создание сервлета, который создаст этот ответ.

Есть много библиотек, которые можно использовать, что будет убедиться, что ваш 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 и какова их цель.

Смежные вопросы