diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py
index 5cd2891d868..fa2145dc77d 100644
--- a/addons/website/controllers/main.py
+++ b/addons/website/controllers/main.py
@@ -271,4 +271,12 @@ class Website(openerp.addons.web.controllers.main.Home):
def kanban(self, **post):
return request.website.kanban_col(**post)
+ @website.route(['/robots.txt'], type='http', auth="public")
+ def robots(self):
+ return request.website.render('website.robots', {'url_root': request.httprequest.url_root})
+
+ @website.route(['/sitemap.xml'], type='http', auth="public")
+ def sitemap(self):
+ return request.website.render('website.sitemap', {'pages': request.website.list_pages()})
+
# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/website/views/views.xml b/addons/website/views/views.xml
index ebc788104a8..a5466e38dca 100644
--- a/addons/website/views/views.xml
+++ b/addons/website/views/views.xml
@@ -386,5 +386,17 @@
+
+# robotstxt.org/
+User-agent: *
+Sitemap: sitemap.xml
+
+
+
+
+
+
+
+
diff --git a/addons/website/website.py b/addons/website/website.py
index 018e89a5f4b..0957054ed8f 100644
--- a/addons/website/website.py
+++ b/addons/website/website.py
@@ -172,7 +172,7 @@ class website(osv.osv):
]
}
- def list_pages(self, cr, uid, context=None):
+ def list_pages(self, cr, uid, ids, context=None):
""" Available pages in the website/CMS. This is mostly used for links
generation and can be overridden by modules setting up new HTML
controllers for dynamic pages (e.g. blog).