I am using the standard demos, like this. So, the main options (little changes) can be flagged at config.js
.
Example when edit by source-code-HTML (button
At config.js
you can add something like,
CKEDITOR.config.allowedContent=true;
see "Advanced Content Filter" (ACF) and how to enable/disable it.
We ran into this problem recently, 2017, version 5.5 developing a file load / save plugin and a speech recognition plugin for CKEditor (in progress). The above solutions helped, but also we had to use editor1.setData() to load the content into the editor.
Using select all and insertHTML() or insertText() methods was disrupting tags.