diff --git a/addons/web_editor/static/src/js/editor/snippets.editor.js b/addons/web_editor/static/src/js/editor/snippets.editor.js
index 0c565dcbc60..62daaa37b41 100644
--- a/addons/web_editor/static/src/js/editor/snippets.editor.js
+++ b/addons/web_editor/static/src/js/editor/snippets.editor.js
@@ -2308,9 +2308,20 @@ var SnippetsMenu = Widget.extend({
self.options.wysiwyg.odooEditor.automaticStepSkipStack();
$toInsert.removeClass('oe_snippet_body');
self.draggableComponent.$scrollTarget.off('scroll.scrolling_element');
-
if (!dropped && ui.position.top > 3 && ui.position.left + ui.helper.outerHeight() < self.el.getBoundingClientRect().left) {
- var $el = $.nearest({x: ui.position.left, y: ui.position.top}, '.oe_drop_zone', {container: document.body}).first();
+ const point = {x: ui.position.left, y: ui.position.top};
+ const container = {container: document.body};
+ let droppedOnNotNearest = $.touching(
+ point, '.oe_structure_not_nearest', container
+ ).first();
+ // If dropped outside of a dropzone with class oe_structure_not_nearest,
+ // move the snippet to the nearest dropzone without it
+ const selector = droppedOnNotNearest.length
+ ? '.oe_drop_zone'
+ : ':not(.oe_structure_not_nearest) > .oe_drop_zone';
+ let $el = $.nearest(
+ point, selector, container
+ ).first();
if ($el.length) {
$el.after($toInsert);
dropped = true;
diff --git a/addons/website/static/src/scss/website.edit_mode.scss b/addons/website/static/src/scss/website.edit_mode.scss
index 989b3816209..eb52198612e 100644
--- a/addons/website/static/src/scss/website.edit_mode.scss
+++ b/addons/website/static/src/scss/website.edit_mode.scss
@@ -27,6 +27,13 @@ $-editor-messages-margin-x: 2%;
}
}
+.oe_structure_not_nearest .oe_drop_zone {
+ &:before {
+ opacity: 0.5;
+ line-height: 35px !important;
+ }
+}
+
.o_editable {
&:not(:empty), &[data-oe-type] {
&:not([data-oe-model="ir.ui.view"]):not([data-oe-type="html"]):not(.o_editable_no_shadow):not([data-oe-type="image"]):hover,
diff --git a/addons/website_blog/views/website_blog_templates.xml b/addons/website_blog/views/website_blog_templates.xml
index 32cc797c8ce..e5a9897351e 100644
--- a/addons/website_blog/views/website_blog_templates.xml
+++ b/addons/website_blog/views/website_blog_templates.xml
@@ -10,7 +10,7 @@