diff --git a/frappe/docs/user/en/guides/basics/site_config.md b/frappe/docs/user/en/guides/basics/site_config.md index 322cc1937c..983bf07563 100755 --- a/frappe/docs/user/en/guides/basics/site_config.md +++ b/frappe/docs/user/en/guides/basics/site_config.md @@ -38,3 +38,7 @@ Example: - `developer_mode`: If developer mode is set, DocType changes are automatically updated in files. - `disable_website_cache`: Don't cache website pages. - `logging`: writes logs if **1**, writes queries also if set to **2**. + +### Others + +- `robots_txt`: Path to robots.txt file to be rendered when going to frappe-site.com/robots.txt diff --git a/frappe/docs/user/fr/guides/basics/site_config.md b/frappe/docs/user/fr/guides/basics/site_config.md index 322cc1937c..983bf07563 100644 --- a/frappe/docs/user/fr/guides/basics/site_config.md +++ b/frappe/docs/user/fr/guides/basics/site_config.md @@ -38,3 +38,7 @@ Example: - `developer_mode`: If developer mode is set, DocType changes are automatically updated in files. - `disable_website_cache`: Don't cache website pages. - `logging`: writes logs if **1**, writes queries also if set to **2**. + +### Others + +- `robots_txt`: Path to robots.txt file to be rendered when going to frappe-site.com/robots.txt diff --git a/frappe/templates/pages/__init__.py b/frappe/templates/pages/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/website/doctype/website_settings/website_settings.json b/frappe/website/doctype/website_settings/website_settings.json index 777b68c0c7..798e660141 100644 --- a/frappe/website/doctype/website_settings/website_settings.json +++ b/frappe/website/doctype/website_settings/website_settings.json @@ -713,7 +713,7 @@ "ignore_xss_filter": 0, "in_filter": 0, "in_list_view": 0, - "label": "Links in Head", + "label": "HTML Header & Robots", "length": 0, "no_copy": 0, "permlevel": 0, @@ -753,19 +753,45 @@ "search_index": 0, "set_only_once": 0, "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "fieldname": "robots_txt", + "fieldtype": "Code", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Robots.txt", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 } ], "hide_heading": 0, "hide_toolbar": 0, "icon": "icon-cog", "idx": 1, + "image_view": 0, "in_create": 0, "in_dialog": 0, "is_submittable": 0, "issingle": 1, "istable": 0, "max_attachments": 10, - "modified": "2016-05-20 14:12:40.887550", + "modified": "2016-06-29 03:44:31.762764", "modified_by": "Administrator", "module": "Website", "name": "Website Settings", diff --git a/frappe/www/desk.py b/frappe/www/desk.py index 05c58cfce2..48d328e687 100644 --- a/frappe/www/desk.py +++ b/frappe/www/desk.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals no_sitemap = 1 no_cache = 1 -base_template_path = "templates/pages/desk.html" +base_template_path = "templates/www/desk.html" import os, re import frappe diff --git a/frappe/www/print.py b/frappe/www/print.py index 0843b97dde..e01b48608d 100644 --- a/frappe/www/print.py +++ b/frappe/www/print.py @@ -14,7 +14,7 @@ from frappe.utils.pdf import get_pdf no_cache = 1 no_sitemap = 1 -base_template_path = "templates/pages/print.html" +base_template_path = "templates/www/print.html" standard_format = "templates/print_formats/standard.html" def get_context(context): diff --git a/frappe/www/robots.py b/frappe/www/robots.py new file mode 100644 index 0000000000..a3d67d0063 --- /dev/null +++ b/frappe/www/robots.py @@ -0,0 +1,11 @@ +import frappe + +no_sitemap = 1 +base_template_path = "templates/www/robots.txt" + +def get_context(context): + robots_txt = (frappe.db.get_single_value('Website Settings', 'robots_txt') + or (frappe.local.conf.robots_txt and frappe.read_file(frappe.local.conf.robots_txt)) + or '') + + return { 'robots_txt': robots_txt } diff --git a/frappe/www/robots.txt b/frappe/www/robots.txt new file mode 100644 index 0000000000..6161aee0f3 --- /dev/null +++ b/frappe/www/robots.txt @@ -0,0 +1 @@ +{{ robots_txt }} diff --git a/frappe/www/rss.py b/frappe/www/rss.py index ad1db8f1e2..cffaa5c08a 100644 --- a/frappe/www/rss.py +++ b/frappe/www/rss.py @@ -7,7 +7,7 @@ import urllib from frappe.utils import escape_html, get_request_site_address, now, cstr no_cache = 1 -base_template_path = "templates/pages/rss.xml" +base_template_path = "templates/www/rss.xml" def get_context(context): """generate rss feed""" diff --git a/frappe/www/sitemap.py b/frappe/www/sitemap.py index 495e2d1eea..e6f424eaab 100644 --- a/frappe/www/sitemap.py +++ b/frappe/www/sitemap.py @@ -10,7 +10,7 @@ from frappe.website.router import get_pages, get_all_page_context_from_doctypes no_cache = 1 no_sitemap = 1 -base_template_path = "templates/pages/sitemap.xml" +base_template_path = "templates/www/sitemap.xml" def get_context(context): """generate the sitemap XML""" diff --git a/frappe/www/website_script.py b/frappe/www/website_script.py index 9e2195835c..e927940b1a 100644 --- a/frappe/www/website_script.py +++ b/frappe/www/website_script.py @@ -7,7 +7,7 @@ from frappe.utils import strip from frappe.website.doctype.website_theme.website_theme import get_active_theme no_sitemap = 1 -base_template_path = "templates/pages/website_script.js" +base_template_path = "templates/www/website_script.js" def get_context(context): context.javascript = frappe.db.get_single_value('Website Script', 'javascript') diff --git a/frappe/www/website_theme.py b/frappe/www/website_theme.py index e6538b78c9..ca84a303b7 100644 --- a/frappe/www/website_theme.py +++ b/frappe/www/website_theme.py @@ -8,7 +8,7 @@ from frappe.website.utils import get_shade from frappe.website.doctype.website_theme.website_theme import get_active_theme no_sitemap = 1 -base_template_path = "templates/pages/website_theme.css" +base_template_path = "templates/www/website_theme.css" default_properties = { "background_color": "#ffffff",