Shortcodes: Pros and Cons

An alternative you have not mentioned is to customize the shortcode experience, since shortcodes are a UX failure for the end user.

  1. Create a specific shortcode button on the editor so the user can select text and click an actual button.

You can go further and attach some code to error check what the user selects or ask if the selected text is correct.

  1. Customise the shortcode “look” in the editor.

The problem with the button approach is that it still adds the [shortcode] tags and text in the editor, which is ugly, can be easily broken by the client, not to mention confusing. You can however make the shortcode output different than the “regular text” output inside the editor. This creates contrast the user can more easily understand.

How you style this is up to you, you can highlight it, add a small bubble, mouse-over event, etc.