To paraphrase a famous French criminal case, Relevanssi m’a tuer! (sic). To put it simpler: Relevanssi is a huge piece of crap. A monumental shit, if you prefer. Not only it broke my site and I had to waste a huge amount of time to figure out who the culprit was, but it’s also the proof that some retards should never design the architecture of a software application!

One month ago, I was writing this: WordPress likes to break my site, because such software is just shite. Stupid me, I couldn’t have imagined that a search plugin could break the way HTML is displayed in WordPress! I thought the problem came from one of the following:

  • The export or the import with UpdraftPlus.
  • A WordPress upgrade.
  • A buggy “HTML sanitization” performed by Wordfence.
  • A buggy “Hsanitization” performed by IONOS.
  • PHP 8.0 (previously I was on PHP 7.x).
  • A different database collation (IONOS came with utf8mb3 as default, and I had to change it to utf8mb4_unicode_ci to accommodate some emoticons).

How could I have imagined that a search plugin, while not being invoked by any search, alters the way WordPress displays the posts?

For an example, if a post contained such an HTML:

Please read <code><a href="">man utime</a></code>

…and the Relevanssi plugin was active, this is what the browser was receiving:

Please read <code>&lt;a href=""&gt;man utime&lt;/a&gt;</code>

Therefore, instead of this:

Please read man utime

…this was displayed:

Please read <a href="">man utime</a>

Why on the fucking Earth was Relevanssi changing the HTML code that WordPress was retrieving from post_content, as long as no search results were to be displayed?

And how can anyone design a plugin that alters the normal content in such a pervert way?

Of course, I’m puzzled how nobody seemed to have noticed this bug. If they write such unsophisticated posts, why are they using WordPress, when any CMS that supports Markdown would do?

Regarding the above example, yes, the <code> tag could have been inside the <a> tag instead of outside of it, but this is just an example. I had (and I still have!) blockquote blocks with complex formatting inside, including some portions of monospaced text, and they were severely broken!

I wasted too much time trying to “fix” a bug that wasn’t mine, and I’m still not sure that I recovered the correct version of the database. This bug was breaking my pages in crazy ways, because it’s not only affecting constructs as the one in the above example. I have other things to do in life than to deal with a bug that’s so mentally retarded that I wonder whether the code wasn’t written by ChatGPT.

The first thing I do after I win the lottery, I’ll pay a hired killer to get rid of Mikko Saari.