WordpressブログでLinkspamと戦う

私のように、Wordpressエンジンで実行しているブログを持っている人のために。



あなたは奇妙なコメントがしばしば見知らぬ人から来ることに気づきましたか? まったく無邪気なようです。 たとえば、「著者はよくやった、有名に書いた」、「あなたの投稿は非常に興味深いが、プゴブキンが今日亡くなったことを知っていますか?」、またはそのような何か。



これらのコメントでは、送信者の名前がサイトへのリンクとして表示されます。 したがって、読者からの通常の返信として偽装されたブログに同一のコメントの山を送信することにより、スパマーはあなたを自分のサイトの広告プラットフォームとして使用します。インターネット上のリンクが多いほど、検索エンジンでの評価が高くなります。



これらのコメントを削除するのにうんざりしていたので、単純にそれらを無効化することにしました-表示させてください。



Wordpressがインストールされているディレクトリで、wp-includes / comment-template.phpファイルを見つけます。 get_comment_author_link()関数があります。 ファイルの111行目の領域には、次のコードがあります。

     if(empty($ url)|| 'http://' == $ url)
       $ return = $ author;
    他に
       $ return = "<a href='$url' rel='external nofollow'> $ author </a>";


プログラミングに慣れていない場合、このコードは「コメントの作成者が自分のサイトの正しいアドレスを示していない場合は単に名前を表示し、示されている場合はそのサイトへのリンクとして名前を表示する」という意味です。



これら4行から$ return = $ author;のみを残し、残りの3行を削除します。 ファイルを保存して、サーバーにアップロードします。



さらに、コメント送信フォームのURLフィールドが、私のようにOpenIDを使用してログインするために使用されていない場合、それを完全に削除または非表示にすることができます。



これを行うには、ディレクトリwp-content / themes / theme_name / files comments.phpを見つけるか、管理インターフェースの[デザイン]セクションに移動して[テーマの編集]をクリックし、右側のcomments.phpを選択します。



ファイルの終わりに近いのは次のコードです。

 <p> <input type = "text" name = "url" id = "url" value = "<?php echo $ comment_author_url;?>" size = "22" tabindex = "3" />
 <label for = "url"> <small> Webサイト</ small> </ label> </ p>


このテキストを完全に削除するか、コメントアウトします(これを行う方法は説明できません-Habrahabrエンジンでは許可されていません)。 さらにトリッキー-何も削除できませんが、type = "text"をtype = "hidden"に置き換えるだけです。 この入力フィールドはユーザーには表示されませんが、新しいコメントの電子メール通知を受信すると、コメンテーターが彼のサイトのアドレスを示したかどうかがわかります。 指示された場合-100%スパマー。通常のユーザーは入力フィールドが表示されないため、これを実行できないためです。



もちろん、ブログの設定(Wordpress管理インターフェイス→設定→ディスカッション)で、「1つ以上のリンクが含まれている場合はコメントを遅延する」を選択します(まだ行っていない場合)。



以上です。 おそらく、このすべての代わりにcaptchaを使用できますが、毎回数字を入力するのが好きな人はいますか?



All Articles