試験的に実装してみました。
comments.php
これを
<?php comment_form(); ?>
こうする。
<script type="text/x-html">
<?php comment_form(); ?>
</script>
<script type="text/javascript">
(function() {
var s = document.getElementsByTagName('script');
document.write(s[s.length-2].text);
}());
</script>
<noscript><p>Turn on JavaScript to comment.</p></noscript>
出力されるフォームのHTMLをまるごとscript要素内に閉じ込めて非HTMLとして出力し、直後にスクリプトでそれをdocument.write()で書き出す、という。
type="text/x-html"については別の記事参照。
スクリプトが使えないUA向けには一応メッセージを表示。スパム送信がどういう方法なのか知らんけど、たぶんスクリプトは動かないだろうしこれでいいかなあと。
スクリプトが動くのなら、さらにユーザーにちょっと操作をしてもらう仕様にする必要があるが、とりあえずこれで試してみようと思ってます。