diff --git a/addons/website/models/mixins.py b/addons/website/models/mixins.py index 1d46b55c3bd..39a14b6060e 100644 --- a/addons/website/models/mixins.py +++ b/addons/website/models/mixins.py @@ -93,7 +93,8 @@ class SeoMetadata(models.AbstractModel): twitter_meta['twitter:image'] = meta_image return { 'opengraph_meta': opengraph_meta, - 'twitter_meta': twitter_meta + 'twitter_meta': twitter_meta, + 'meta_description': default_meta.get('default_meta_description') } diff --git a/addons/website/static/src/js/menu/seo.js b/addons/website/static/src/js/menu/seo.js index 85d959cb3c6..332fde71a4f 100644 --- a/addons/website/static/src/js/menu/seo.js +++ b/addons/website/static/src/js/menu/seo.js @@ -220,6 +220,8 @@ var HtmlPage = Class.extend(mixins.PropertiesMixin, { init: function () { mixins.PropertiesMixin.init.call(this); this.initTitle = this.title(); + this.defaultTitle = $('meta[name="default_title"]').attr('content'); + this.defaultDescription = $('meta[name="default_description"]').attr('content') || _t("The description will be generated by social media based on page content unless you specify one."); this.initDescription = this.description(); }, url: function () { @@ -230,7 +232,7 @@ var HtmlPage = Class.extend(mixins.PropertiesMixin, { }, changeTitle: function (title) { // TODO create tag if missing - $('title').text(title.trim() || this.initTitle); + $('title').text(title.trim() || this.defaultTitle); this.trigger('title-changed', title); }, description: function () { @@ -348,9 +350,12 @@ var MetaTitleDescription = Widget.extend({ if (!this.canEditDescription) { this.$description.attr('disabled', true); } - - this.$title.val(this.htmlPage.title()); - this.$description.val(this.htmlPage.description()); + if (this.htmlPage.title().trim() !== this.htmlPage.defaultTitle.trim()) { + this.$title.val(this.htmlPage.title()); + } + if (this.htmlPage.description().trim() !== this.htmlPage.defaultDescription.trim()) { + this.$description.val(this.htmlPage.description()); + } this._descriptionOnChange(); }, @@ -358,13 +363,13 @@ var MetaTitleDescription = Widget.extend({ * Get the current title */ getTitle: function () { - return this.$title.val().trim() || this.htmlPage.initTitle; + return this.$title.val().trim() || this.htmlPage.defaultTitle; }, /** * Get the current description */ getDescription: function () { - return this.$description.val(); + return this.$description.val() || this.htmlPage.defaultDescription; }, /** * @private diff --git a/addons/website/static/src/xml/website.seo.xml b/addons/website/static/src/xml/website.seo.xml index bf2de26d4ce..1aac9fc49a7 100644 --- a/addons/website/static/src/xml/website.seo.xml +++ b/addons/website/static/src/xml/website.seo.xml @@ -62,13 +62,13 @@ - +
-