contact form7のお問い合わせフォームから海外のスパムメールが増えたので対策

wordpressでメールフォームを設置する際に便利なプラグイン「contact form7」。
本当にお世話になっているんですよね。
設置も簡単だし、カスタマイズも出来るし、プログラマーではないデザイナーの私にとってはwordpress様様で、contactform7様様なのです。

そんなメールフォームから最近ちょくちょく海外からのスパムメールが来まして。
スパムメールの対策を調べてやってみたところ、あまりに簡単だったのでメモとして残します。

プラグイン「akismet」を追加

akismet:author

送信者の名前を入力する項目にこのオプションを追加する。
例: [text* your-name akismet:author]

akismet:author_email

送信者のメールアドレスを入力する項目にこのオプションを追加する。
例: [email* your-email akismet:author_email]

akismet:author_url

送信者の URL を入力する項目にこのオプションを追加する。
例: [text your-url akismet:author_url]

この赤文字のテキストを既存のフォームに追加するだけでバッタリスパムメールが来なくなります。

たまにチェックボックスを追加してスパムを弾く方法とか出てますけど、やってみたら普通にスパムきてました(笑)
contact form7であればAkismetと連携した、このテキスト追加で結果が変わります。効果があります。

ぜひご参考までに~!

2018 wordpressひとまずこれ入れておこう!なプラグインリスト

久しぶりに一からwordpressを導入したサイトを作ることにしたので、個人的にこのプラグイン入れておけばいいやろ、と思うリストを作ってみました。
あとは随時必要に応じてプラスマイナスしておけばいいと思います。

初期値で必ず必要

WP Multibyte Patch

本家版、日本語版 WordPress のマルチバイト文字の取り扱いに関する不具合の累積的修正と強化を行うプラグインです。英語圏で作られた WordPress を日本語環境で正しく動作させるために必要となる機能を網羅していますので、なんらかの対策を行っていない場合は導入をおすすめします。

セキュリティ関係

Akismet Anti-Spam (アンチスパム)

ある程度アクセスを集めるとスパムコメントも比例して増えてきます。Akismetは、そういったスパムと思われるものを自動判定して分類してくれる便利なプラグインです。
また、WordPressをインストールするとデフォルトで入っています。

SEO関係

Google XML Sitemaps

Google XML Sitemapsは、 WordPressで構築されたサイトの サイトマップを自動で作成・通知できる便利な プラグインです。

All In One SEO Pack

All in One SEO Packはインストールするだけで簡単にWordPressでのSEO設定を可能にしてくれる優れたプラグインです。
特にwordpressの初期値ではdescripctionが設定されていなかったりするのでこのプラグインは自分の中ではかなり優先度が高いです。
各ページのタイトル設定、Googleアナリティクスとサーチコンソールの設定、各アーカイブページのnoindexの設定、キーワード設定、記事にSEO用のタイトルやキーワードを設定することが出来ます。
私の中で一番有難い機能としてはOPG設定が出来ることです。

お問い合わせ

Contact Form 7

お問い合わせフォームやアンケートフォーム、採用応募フォームなどフォーム設定するならこのプラグイン。Akismetとも連動してスパムを弾いたり、自動返信設定も出来て優秀で有名。

補助

PS Auto Sitemap

自動でページにサイトマップを出力してくれるプラグインです。ページ数が多いサイトや更新が多いサイトでは自動で生成してくれるこのプラグインが手間がかからず時短目的で入れています。
逆にそこまで更新やページが多くない企業サイトでは入れません。

Scroll Back to Top

「上にも戻る」系の中でもそこそこ設定の幅があるプラグイン。便利ですがマストではありません。お好みで。

容量軽く

Better Delete Revision

記事やページを保存、編集するたびに履歴としてデータが保存されていくリビジョン機能。
途中でブラウザがクラッシュしたり、間違ってページを閉じてしまってもリビジョンがあれば容易に復活が可能となる分、記事を書くたびにデータベースに不要なデータが蓄積されていくことになります。
そんなリビジョン削除ができるプラグインです。

アクセス解析

Google Analytics Dashboard for WP

Google Analytics Dashboard for WPは、Google Analyticsのアクセス解析レポートをWordPressのダッシュボード上に表示できるプラグインです。
なんだかんだでgoogleanalyticsってそこまで毎回確認しないので管理画面ですぐに見れるとありがたいです。

SNS

WP Social Bookmarking Light

WP Social Bookmarking Lightとは、WordPressの投稿記事にソーシャルボタンを設置できるプラグインです。 これだけスマートフォンが普及し、手軽にネットにアクセスできるようになった現在、集客をあげるためにはSNSの活用が必要不可欠です。 Facebook、Twitter、Instagram、LINEなど有名サイトからマイナーサイトまで幅広く設定が可能です。

バックアップ

WP-DBManager

WordPressで使用しているMySQLデータベースのバックアップ管理を行うプラグインです。あらかじめ決めたスケジュールに沿って自動的にバックアップを行ってくれたり、ファイルの圧縮やバックアップファイル数の制限、バックアップファイルをメールにて自動送信する機能などもあります。
案外サーバーまで触れない案件ってあるので保守範囲がどこまでかは分かりませんが何かあったときのためのバックアップは必ず取っておいたほうがいいと思います。

 

いかがでしたか?
ほとんど有名プラグインばかりですが、安定していることが一番条件なので間違いはないと思います。
Let’s enjoy WordPress!

wordpress記事を多く書くサイトなら設定しておきたい更新通知サービス

2017wordpressの設定「投稿設定」に更新情報サービスがあります。
管理画面にはこのように書かれています。

新しい投稿を公開すると、WordPress は次のサイト更新情報サービスに自動的に通知します。詳細は Codex の Update Services を参照してください。複数の URL を入力する場合は改行で区切ります。

http://wpdocs.osdn.jp/%E6%9B%B4%E6%96%B0%E9%80%9A%E7%9F%A5%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9#.E6.97.A5.E6.9C.AC.E8.AA.9E

そこでcodexを確認してみると記入例がありました。

http://api.my.yahoo.co.jp/RPC2
http://bulkfeeds.net/rpc
http://blog.goo.ne.jp/XMLRPC
http://blogsearch.google.co.jp/ping/RPC2
http://coreblog.org/ping/
http://ping.bloggers.jp/rpc/
http://ping.blogmura.jp/rpc/
http://ping.cocolog-nifty.com/xmlrpc
http://ping.exblog.jp/xmlrpc
http://www.blogpeople.net/ping/

これをこのまま貼り付けて完了!

投稿を作成・更新する度にXML-RPC ping を送信することによって、ブログが更新されたことを人気のある更新情報サービスに自動的に通知します。
更新情報サービスは順番にこうした ping を処理し、独自のインデックスを更新します。

Google ブログ検索や Yahoo! ブログ検索のようなサイトから投稿記事への誘導してくれて集客につなげてくれるサービスなのでここは設定しておきましょう!

WordPress Infinite Scrollで次のページが読み込まれない時の対処

なぜ次ページがスクロールで効果ないのか悩みに悩んで、イージーミスだったことに気付いたのでメモ。

まず次ページのURLが存在するかを確認してください。
http://あなたのドメイン/page/2
私の場合はトップページでInfinite Scrollを設置したのでhttp://ドメイン/page/2が次のページにあたりました。

そうすると404エラーでページ自体が存在していないことが判明!
WP-PageNaviのプラグインでページ送りを設定していたのですが、おそらくこのあたりの問題ぽい。
設定→表示設定→1ページに表示する最大投稿数を「1」に設定して、バッチリ表示することが出来ました!
(ちなみに1Pあたりの表示数は数設定してあげてください。ここを設定していないと本当に表示数が1となります)

WordPressメディア画像が多く作られるのを止める方法

FFFTPとかで画像を一括で落としてきたとき、画像が大中小たくさん作られていて、こんなに使わないよーと焦った経験が私にはあります。

画像が多いとその分容量を圧迫する原因になるし、ここは初期設定しておきたいところです。

管理画面の設定>メディアより設定します。
初期値では画像サイズが入っています。

それをサイズを0にし、ファイルを年月ベースに整理のチェックを外します(画像を毎月結構アップロードする人はチェックしたままでも問題ありません)

この設定をすることにより無駄に生成される画像を増やしません。

結構大きな画像を使っている人は画像を最適化するプラグイン「EWWW Image Optimizer」を導入すると過去アップロードした画像も含めて反映してくれるのでオススメです。

wordpressの速度を計測して軽量化してみた

計測サイト

PageSpeed Insights
https://developers.google.com/speed/pagespeed/insights/

GTmetrix | Website Speed and Performance Optimization
https://gtmetrix.com/

対応策

  1. AutoptimizeプラグインでHTML、CSSを圧縮。
    javascriptは不具合が出やすいのでチェックは入れません。
  2. 画像を画質低下をそこまでさせずに最適化してくれるEWWW Image Optimizer というプラグインを設定。(過去の分も一括で最適化してくれるので最高)
  3. P3(Plugin Performance Profiler)
    「P3(Plugin Performance Profiler)」を用いると、WordPressにインストールしている他のプラグインが、表示速度の遅滞にどの程度関与しているかを確認してくれます。
    これで同類のプラグインはいくつか試して一番軽量なものに変えたりします。

キャッシュ系のプラグインはたくさんあるんですけど不具合が出やすいので基本的に使いません。
不必要と思うプラグインの数を減らしたほうがいいかなーと。

ちなみにEWWW Image Optimizer はそこまで圧縮してくれないと評判?なので画像数が少ない人は別途画質を圧縮したほうがおすすめです。

オンラインイメージ最適化ツール
https://imagecompressor.com/ja/

こちらで1回で最大20枚までjpg png問わずガシガシ軽量化してくれます一度お試しあれ。

wordpressで勝手に画像を生成しないように設定する

wordpressの初期設定としてメディアサイズをいくつか自動で設定してくれる機能があります。
それは管理画面の設定→メディアよりサイズを変更することが可能です。
全てを0にすることです。

 

大抵の場合はここで終わりですが、それともう一つ設定する場所があります。
http://あなたのドメイン/wp-admin/options.php

ここで768pxの画像を用意するように設定してあるので、この数字を0にして終了です。

結構スクロールするので「medium_large_size_w」と検索をかけたほうがいいかもです。

[エックスサーバー]500エラーで管理画面にもログイン出来ない時の対処

基本的にwordpressで500エラーが起こったときは管理画面に入ってプラグインを無効化して一つ一つ有効化して様子みたりするのですが、今回は管理画面もログイン出来ない全体的な500エラーでした。

もしかして.htaccessが影響しているのかも?と思って確認してみても違う様子・・・。

こんな時こそサーバー側で取ってあるエラーログで原因を確認してみました。

管理画面にログインして該当サイトのTOP→エラーログへ。

エラーログをダウンロードします。

中身を見てみると直近の日時に次のような文章が。

[Sat May 26 22:41:48 2018] [warn] [client 66.249.79.81] mod_fcgid: stderr: PHP Parse error: syntax error, unexpected T_FUNCTION in /home/サイトフォルダ名/サイト名/public_html/cms/wp-content/plugins/wordpress-popular-posts/includes/class-wordpress-popular-posts-rest-controller.php on line 374

これは「WordPress Popular Posts」のプラグインに文章エラーが出てることを指しているので、FFFTPで該当プラグインのフォルダ名を変えて停止させました。

結果、再度サイトを更新してみるとピタッと500エラーが止まり、管理画面にログイン出来ました。
サーバーのエラーログのチェックが原因究明への近道でした。