The easiest course of action would be to write manual excerpts instead of having the system generate them.
Second, would be to wrap your “content that isn’t an excerpt” in a shortcode. If you look at the wp_trim_excerpt()
function, which generates excerpts from post content, one of the first thing it does is strip shortcodes. For example, if you had a shortcode like this:
function foocode($atts,$content){
return $content;
}
add_shortcode('foo','foocode');
Anything in the post body such as [foo]Hello[/foo]
would not appear in the generated excerpts. Note that the “exceprt” is not necessarily the chunk of text that displays on the index page. If the the theme uses the_content()
the post content will break on the <!-- more -->
tag, or nothing at all, and your content will still appear.