Once upon a time, ornaments, dingbats, flourishes, symbols and other embellishments were put in special pi fonts, with the symbols mapped to ordinary letters. For example, in Zapfino Extra Ornaments, you could type a capital letter X and get a nice flourish, which had nothing at all to do with the letter X.
With the advent of Open Type and Unicode, some symbols where put in the Private Use Area of Unicode. For example, Adobe Garamond Pro has three flourishes at the code points U+E09D, U+E09E and U+E09F. That’s a lot betters, since it avoids semantic clashes (don’t confuse search engines and other bots by typing an “X” if you don’t mean “X”), and it also degrades more gracefully if the intended font isn’t available (in which a “can’t print this” symbol is a better choice than the rather misleading letter “X”).
Still, it is far from perfect, since it turns the Private Use Area into some kind of font-vendor-specific swamp devoid of any interoperability and meaning. After all, any information about what U+E09Dmeans is lost, since it could be an ornament, a symbol (with a rather specific meaning), some rare ligature or some other typographical feature like a subscript or a small capital. So an even better approach would be to interpret ornaments as some kind of stylistic variation of a default ornament, like the bullet point U+2022. A search engine or any other kind of bot would see the letter U+2022 and would know (more or less) what it is supposed to mean, and the different ornaments could be accessed as an Open Type feature.