WordPressの定番のスパム対策プラグイン「Akismet」の無料版は、商用利用できないってことで、Googleが無料で提供している「Google Invisible reCAPTCHA」を導入してみました!
- AkismetとreCaptchaの違いは?どっちが良いの?
- reCAPTCHAにあるv2とかv3の違いってなに?
- Google Invisible reCAPTCHAの導入手順
- reCapechaの負荷状況はやっぱり重いの?
商用利用じゃなくてアフィリもダメなの?
WordPressを運営するなら、絶対必須なのがスパム対策プラグインですよね。
これが無いとコメントはスパムコメントだらけ、お問い合わせからはスパムメールだらけ、、で対処するのが面倒です。。
元々スパム対策といえばWordPressの純正プラグインの「Akismet」一強で、これだけ入れておけば良かったのですが、
知ってました?Akismetってアフィリエイトで利用できないってことを・・・・
これはやばいってことでいろいろと探したら、
さらに強力で、しかも簡単に導入できる「Google Invisible reCAPTCHA」を見つけました!
すごく良さそうなので早速ご紹介します。
「Akismet 無料版」はアフィリエイトサイトなど商用利用は不可×
こんにちは、マメボーです。
いや~知りませんでした、、Akismetって商用利用ができないんですね。。
WordPressでスパム対策と言えば「Akismet」一強で、これだけ入れておけば良かったのですが、何気なく他のブログを見て知ってしまいました。。
これって昔からでしたか?ここ最近なんだろうか~・・?
英語過ぎて気が付きませんでした。。
最初は、商用って言っても物販とかの販売サイトのことでしょ?って思って調べてみたのですが、これは、思いっきりアフィリも不可ですね。
これがAkismetの登録画面ですが、無料版で申し込むと上記3つにチェックが現れます。
で、これを和訳してみると・・・・・
- 私のサイトには広告がありません。
- 私は自分のサイトで製品/サービスを販売していません。
- 私は自分のサイトでビジネスを宣言していません。
って、思いっきり広告ダメって書いてます!!
だいたい他って法人とか商用とか、個人に対して曖昧な表現が多いですが、ここには完全に「広告」と「製品販売」を分けているので、
アフィリエイト(アドセンスを含む)がダメってことですね。
Akismetについては、かれこれ10年ぐらい使っていますし、いっそお金を払おうって思って料金確認したのですが、、
月額625円で、しかも1サイトのみって高っか、、
ん~無理、、さよなら・・・
今まで使っていて怒られたことは無いのですが、アフィリ不可って知った以上、このまま使えないですしね。。
で、どうしよかな~って思ったときに出会ったのが、
今回紹介する「reCAPTCHA」なんです。
これはGoogle純正だし、強力スパム対策だし、完全無料だし!
もう最強だろ~ってことでご紹介していきます。
- Akismetの無料版は、アフィリエイトサイトなど商用利用が不可
- Akismetの有料版は、1サイト月額625円で高すぎ
- 今後は、Googleの純正で無料の「reCAPTCHA」が支流になる
Google純正のreCaptchaってなに?
さて、このreCaptchaですが、Googleが提供している無料サービスの1つで、Google技術を結集し、人間かスパムかを判定してくれるツールです。
説明より下記の画像を見れば、「あ~知っている」って理解すると思います。
これって、よくGoogle系サービスのログイン画面とかに出てきますよね!
画像の中から自動車を選んだり標識を全部選んだりするセキュリティ機能がreCaptchaです。
細かい技術はわかりませんが、reCaptchaは、利用者を「人間」か「スパム(ボット)」かを判断することが可能で、
人間だけはそのまま通し、スパムにだけ画像認証を表示させることができます。
何でもかんでも画像認証させず、スパムにだけ画像認証を出すのがミソで、
一般利用者のユーザビリティを損なわないのが、一番の特徴になってます。
さすがGoogleって感じですね!
「reCaptcha」と「Akismet」の違いは?
- Akismetは、コメントを受けてから内部でスパム判定を行う
- reCAPTCHAは、コメントを受ける前にスパム判定を行う
今までは何も考えずにAkismetを入れていましたが、reCAPTCHAを調べるとAkismetの機能そのものに疑問を持ち始めました。
Akismetの機能って、スパムを除去するのではなく、一度受け入れた状態で内部でスパムを振り分けるプラグインです。
しっかりスパムフォルダに移動してくれるので便利ですが、結局、削除するときに普通のコメントがスパム側に混じっていないか確認する必要があります。
またスパムコメントを削除しても、サーバー内部のデータベースに記録されるので、リソースくって重くなるし、定期的にキャッシュ削除する必要があります。
スパムコメントが来れば来るほど重たくなるし、そもそもスパムを一度中に入れてるって考えるとイヤですよね。。
その点、reCAPTCHAは、スパムを事前に察知して中に入れないので、優秀ですしサーバー負荷が少なくて済みます。
「reCaptcha」と「Akismet」の比較
reCAPTCHA | Akismet | |
---|---|---|
コメントフォーム | ○ | ○ |
問い合わせフォーム | ○ | △(要設定) |
ログイン画面 | ○ | × |
ユーザ新規登録 | ○ | × |
パスワード再発行 | ○ | × |
一応、「reCaptcha」と「Akismet」の機能面でも比較してみました。
基本的には、Akismetはコメント機能が中心ですが、reCaptchaはコメントの他に問い合わせやログインフォームなどもスパム対応しており、
WordPress自体のセキュリティ強化も可能です。
reCAPTCHAのv2、v3の違いは?
さて「reCaptcha」導入手順をご紹介する前に、私自身が迷った部分があったのでご紹介します。
現在、reCaptchaには、v2、v3の2つのバージョンがあり、どちらが良いのか迷いますが、
基本的には、新バージョンの「v3」でOKです。
- v2の機能:チェックボックスと画像認証機能
- v3の機能:v2の機能に加え自動判定が加わった。
まだv3が出始めは、不安定だったのでv2を推薦しているブログもありますが、
現在は、v3は安定しているので問題はありません。
次にv4が出たら、しばらくはv3を使って、安定してからv4を使うってイメージで良いでしょう。
Google Invisible reCAPTCHAの導入手順
それでは、reCAPTCHAの導入方法をご紹介します。
まず1点注意ですが、reCAPTCHAを利用するために「Googleアカウント」が必要になります。
持っていない場合は、先に作成してログインしておきましょう。
1.reCAPTCHAで2つのキーを取得しましょう。
Googleアカウントにログインしたら、reCAPTCHA登録サイトでサイトキーとシークレットキーを取得していきます。
reCAPTCHAの公式サイトは最初英語で戸惑いますが、登録画面は日本語なので安心して進みましょう。
reCAPTCHAのトップページが開いたら赤枠①の「Admin Console」をクリックします。
登録画面が表示されるので、必要な情報を入力して「送信」をクリックします。
- ラベル⇒好きな名前
- タイプ⇒v3にチェック
- ドメイン⇒例:siyo.org(https://などは省く)、複数ドメインの登録が可能
- 同意、送信にチェックを入れる
サイトが登録されたら「サイトキー」と「シークレットキー」をコピーして「設定に移動」をクリックします。
次に確認画面が表示されるので、登録ドメインがAMP対応ならチェックして保存しましょう。
※AMPとはサイトの一部が検索エンジンに直接表示される機能です。
管理画面が表示されますので、お気に入りなどに登録しておきましょう。ここからスパムデータや再設定が可能です。
これで、reCAPTCHAでのキーの取得は終了です。
2.Invisible reCAPTCHAのインストール方法
次にWordPressで「Invisible reCaptcha」プラグインをインストールしていきます。
WordPressダッシュボードから「①プラグイン」⇒「②新規追加」⇒「Invisible reCAPTCHA」を検索⇒「今すぐインストール」をクリックします。
POINT
「Invisible reCaptcha for WordPress」※似た名前のプラグインが多いので注意!
インストールが終わったら忘れずに「有効化」しておきましょう。
ダッシュボードの「設定」の中に「Invisible reCaptcha」が追加されます。
3.Invisible reCAPTCHAの設定方法
続いて、reCAPTCHAの設定方法です。
「設定」の中に「Invisible reCaptcha」が追加されているので、クリックします。
Settingの設定
先程作った「サイトキー」と「シークレットキー」を入力し、「Language」と「Badge Position」を選択します。
Badge Positionとは?
Badge Positionとは、reCaptchaバッチの表示場所になります。
- Inlineは、各保護フォームの真下に配置
- Bottom Rightは、ブラウザの右下に配置
- Bottom Leftは、ブラウザの左下に配置
reCaptchaバッチの設置場所は好きな場所で良いですが、テンプレートによって右下に「トップに戻る」ボタンがあり重なってしまうので、
その場合は、各フォームに直接埋め込む「Inline」がオススメです。
WordPressの設定
次にWordPressタブをクリックして、保護が必要な場所にチェックを入れ、「変更を保存」をクリックします。
- ログインフォームの保護
- 登録フォーム保護
- コメントフォームの保護
- パスワード忘れた場合の保護
Contact Formの設定
最後に「Contact Form7」でお問い合わせフォームを作っている場合は、こちらにチェックを入れることで問い合せフォームも保護することが可能です。
reCAPTCHAの解除方法
念の為、reCAPTCHAの解除方法もご紹介しておきます。
基本的には、プラグインの停止のみでOKですが、Google reCAPTCHAの管理画面から登録ドメインを削除しましょう。
Google reCAPTCHAの管理画面にログインして「設定」(歯車マーク)をクリックします。
登録しているドメインを削除しましょう。
これで、登録ドメインの解除が可能です。
Invisible reCaptchaの負荷は?どれぐらい重いのか?
ここ最近は、SEO面でブログの表示速度も重視されているので、どれぐらいの負荷があるかも重要です。
- プラグイン負荷は、「P3 – Plugin Performance Profilerのプラグイン」でチェック
- ブログの読み込み速度は、「PageSpeed Insights」でチェック
こちらの2つを使って、それぞれの負荷を調べてみました。
P3 (Plugin Performance Profiler)のプラグイン負荷テスト
- Invisible reCaptcha⇒0.0085
- Akismet⇒0.0041
- SiteGuard WP Plugin⇒0.0276
P3でそれぞれのプラグイン自体の負荷をチェックしてみました。
測定するとreCAPTCHAが0.0085、Akismetが0.0041とAkismetの方が軽いですが、
このブログで最も重いJetpackが0.1とかのレベルなので、どちらもそれほど大差はない感じです。
むしろ「SiteGuard」が0.0276あり、同じセキュリティプラグインの中で一番重いです。
PageSpeed Insightsで表示速度テスト
続いて「PageSpeed Insights」でブログのコメント部分がある記事部分のモバイル表示速度をチェックしてみました。
Akismetの結果
AkismetのみをONにして、何度か測定してみましたが、モバイルスコアは、おおよそ45~55の間でした。
Invisible reCaptchaの結果
今度は、reCAPTCHAのみをONにして測定しましたが、モバイルスコアは、40~50と1割程度、遅くなった感じです。
ちなみに「第三者コード」で原因を確認しましたが、「Google CDN」「Other Google APIs/SDKs」が主な原因で、さらに「Google Fonts」のGoogleフォントが負荷を加えていました。
そもそも「reCaptchaバッチ」自体が重いので、Bottomで左右に表示してしまうとサイト全体が遅くなります。
やはり設置は「Inline」でページごと埋め込むのが一番軽く使えます。
Akismetと比較して差は5ポイントぐらいなので、大きく落ちた感じはしませんが、それでも速度ダウンはするので、この差をどう見るかですね。
SiteGuardの結果
ちなみにいろいろいじっている中で発見したのですが、「SiteGuard」のみをONにして、コメント部分に画像認証の表示すると速度が一気に58に上がりました。
SiteGuardもreCaptcha同様に手前でブロックしてくれるので優秀ですが、お問い合わせフォームへの対応ができないので、その点では悩みものですね。。。
結果として織り交ぜて行くことになると思います。
強力スパム対策 reCAPTCHAの簡単導入方法のまとめ
Akismetには非常にお世話になりましたが、商用有料と考えると・・・
すいません、、reCaptchaに移行します。
ただし気になるのは、reCaptcha自体の負荷ですね。
Akismetも相当重いプラグインの1つでしたが、reCaptchaもけして軽くはないです。
そして、新しい選択肢としてSiteGuardも出てきました。
Akismetは商用×なので使わない方向で考えて、reCaptchaは機能は優秀ですが、バッチが表示されている部分が重い。。。
SiteGuardがバランス良いが、お問い合わせフォームに対応できない。。
これをまとめると、下記が良さそうですね。
- 記事部分は極力軽くするためにSiteGuardの画像認証を使う
- お問い合わせフォームは、reCaptchaで強力ガード
- ログインなどの内部は、reCaptchaかSiteGuardでガード
スコアに余裕があれば、「reCaptcha」が最強ですが、余裕が無い方はSiteGuard との併用が良さそうです。
以上、「強力スパム対策 reCAPTCHAの簡単導入方法!Akismetは不要か?」でした。
最後まで読んでいただきありがとうございます。