ホームページからの迷惑メール対策
ホームページの問い合わせフォームから大量の迷惑メールが来るので対策をしてみました。
「Contact Form 7」を使っているので「承諾確認」を追加、そしてGoogle Cloudの「reCAPTCHA」を導入しました。
これだけでも翌日から問い合わせフォームからの迷惑メールはほとんど無くなりました。
ついでにプラグインの「Honeypot for Contact Form 7」を導入。
調べてみると、いろいろ他にも高機能なプラグインがありますが、お客様のホームページに導入するとなると、その後のメンテナンスのことも考えなくてはいけません。
また、誤判定のリスクもあるので、しばらく様子を見ます。
また、細かい設定方法については、変化の激しいネットにおいては情報の陳腐化が早いので、随時最新の情報を確認すべきと思います。
Jetpackで技術的な問題重大なエラーが発生
WordPressでJetpackの期限切れバージョン・・・と警告が出ました。
で、「今すぐ更新」をクリックして、プラグインの更新をすると・・・
「Update failed このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。Wordpressのトラブルシューティングについてはこちらをご覧ください。」
メールを確認すると、
件名:サイトで技術的な問題が発生しています
こんにちは。
WordPress 5.2から、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能が追加されました。
今回の場合、WordPress がプラグイン Jetpack でエラーを捉えました。
まずはじめに、ご自分のサイト (https://wp.workdesign.jp/) を開き、目に見える問題がないか確認してください。次に、エラーが発生したページ (https://wp.workdesign.jp/〇〇/〇〇/admin-ajax.php) を開き、同様に問題がないか確認してください。
この問題をさらに調査するにはサーバーホストに連絡してみてください。
とのこと。
admin-ajax.phpを確認すると、[ 0 ]だけ。
ググってみたところ、既知のエラーだそうです。
プラグイン内のファイル構造が変更したことに起因するもので、エラーは1度だけ表示され、その後は表示されないとのこと。
実際にはエラーも生じていないとのことでした。
下記のサイトにお世話になりました(感謝!)。
「サイトで技術的な問題が発生しています」の対処法
データベースの引っ越し
WordPressのバージョンが最新の5.4.2になりましたが、Wordpress5.4系でのデータベースのバージョンは、動作環境5.0以上で、推奨環境は5.6以上です。
データベースがMySQL5.1なので、MySQL5.6にする為に、新規にデータベースを作成して、データを移行しました。
ロリポップを長期間使用していて、昔のデータベースは複数のWordpressで共有しています。この機会に整理して分けることにしました。
レンタルサーバーのデータベース管理画面から、phpMyAdminに接続して、データベースのエクスポート(SQLファイル)。
新しいデータベースを作成。左メニューのデータベースを選択して、SQLファイルをインポート。データの少ないブログで試したので15分位。
WordPressのwp-config.phpを編集して、新しいデータベースの「データベース名」、「ユーザー名」、「パスワード」、「サーバー」を入力。
これでデータベースの引越しができました。
WordPressのデバッグモード
WordPress3.8.34→5.4.2のバージョンアップでこけました。
ホームページも管理画面も
サイトに重大なエラーがありました。
デバッグモードでエラーを確認します。下記のサイトから(感謝!)
WordPressでのデバッグ
下記のコードをファイル wp-config.php に挿入するとすべてのエラー、通知、警告が wp-content ディレクトリ下のファイル debug.log に出力されます。
// WP_DEBUG モードを有効化
define( ‘WP_DEBUG’, true );// /wp-content/debug.log ファイルへのデバッグログの出力を有効化
define( ‘WP_DEBUG_LOG’, true );// エラーと警告の画面への表示を無効化
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );// 「開発版」のコア JavaScript と CSS ファイルを使用 (これらのコアファイルを変更する場合のみ必要)
define( ‘SCRIPT_DEBUG’, true );
debug.logを確認すると、プラグインの「favicon-rotator」と「wp-ban.php」が原因らしいので、FTPでその2つのファイル名をリネームしてみると、ちゃんと起動できました。
とりあえずプラグインを削除して、色々バージョンアップ終わってから、必要だったら最新バージョン等確認します。
あと、wp-config.phpに挿入したコードは、メンテナンスが終わったら忘れずに削除。
PHPのバージョンアップを検証する
PHPのバージョンアップを検証するプラグイン「php compatibility checker」。サイトに入っているプラグインやテーマがPHPのバージョンアップで対応しているかチェックしてくれます。
でも、結果が表示されなかったりします。
解説は日本語訳も用意されていて、チェックが止まる場合は、プラグインの「WP Crontrol」を入れて、「wpephpcompat_start_test_cron」を追加してと、そのとおりにやってみますが、チェックはしていて、結果が表示されない。
いくつかのサイトで試してみると、チェックできるサイトと、結果が出ないサイトがありました。問題のありそうなプラグインを削除してチェックできるようになったこともあります。
どうせアップデート時にはプラグインは全部無効にするし、非対応のプラグインは使えないことに変わりは無い。誤判定もあるようなので、あくまで目安として考えます。ちなみに最近投稿画面が真っ白になったプラグインは、このチェックでは「対応」と出ています。
古いWordPressを最新にする
WordPressのバージョンアップは気が重いです。問題無ければ良いですが、何かあった場合に備えてバックアップを取らなければいけません。バックアップを取っていても、問題があれば対応しなければいけません(当然)。忙しい時は勘弁して欲しいです。そんなこんなで気がつくとかなりバージョンが古くなっていたりします。
WordPressのバージョンを上げるためには、PHPのバージョンも上げなければいけなかったり、PHPのバージョンを上げると、Wordpressの管理画面が表示されなくなったり・・・。自前のサーバーなら途中のバージョンで回避したりできても、レンタルサーバーだと一旦上げたPHPのバージョンは下げられなかったりします。サポート終了ですね。そしてデータベースのバージョンも・・・。
そろそろやばいので、しっかり検証したいと思います。
でも、目が痛いです。
投稿画面が真っ白
WordPress5.4.2のプラグインをアップデートしたところ、投稿画面が真っ白になりました。
プラグインを全部無効にして、投稿画面が出るのを確認。
関係無さそうなプラグインを有効にして、投稿画面が出るのを確認。
他のプラグインも少しづつ有効にして試してみたところ、原因は「p2pConverter」でした。とりあえず今は無くても困らないので削除。
確認したところ、現在は名前が「pTypeConverter」となっていました。
でも、最終更新が8年前。
そして、なぜかプラグイン「Jetpack」の開けなくなっていた設定画面も開けるようになりました。
ブログからWordPressへ引越し
15年続けてきたブログサービスが終了してしまうので、色々悩んだ末にWordpressに引っ越しすることにしました。文章は簡単なのですが、画像が大変です。旧ブログ側で画像のURL一覧を提供していましたが、このブログ途中で仕様変更しており、前の仕様での画像URLが抜けています。メールで問い合わせをしつつ、自力でダウンロードする方法を調べました。
↓こちらの情報を参考に(非常に感謝!)
ライブドアブログからWordPressへ失敗しないで引越しする手順
フリーソフト「巡集」を使います。WindowsXPまでしかサポートされていませんが、とりあえずWindows10で完了できました。
ブログのURLを指定して、詳細設定も参照のブログ主と同じく階層を3までに設定しました。数時間かかりました。URL公開されなかった画像も別フォルダに画像があります。
ブログから記事はMovableType(UTF-8)形式でエクスポートして、Wordpressにインポートする前に画像のURLを移行先のURLに置き換えしておきます。
FTPで画像をアップロードして正常に表示されればOKです。ところが、私の場合、なぜか写真の拡張子が[jpg]だったのが[jpeg]になっているものがあったり、記事のタグが[img src]が[imag src]になってしまったり、久々にWordpressのバージョンを最新にしたら編集画面が変わっていたりで結構手こずりました。
[imag src]を[img src]に書き換える作業は、Wordpressのプラグイン「Search Regex」でできました。長らく更新されていないプラグインですが、他にこれのできるプラグインが無いので、レンタルサーバーで完全にバックアップしてから、最初は数行のみ、次はもっと増やして、大丈夫そうなので全部と実行しました。
Google 404、エラーが発生しました
突然Wordpressのトップページにこんな404エラーが出ました。管理画面やシングルページには出ません。
管理画面に出るのはよくあるトラブルですがそうではない。なんでGoogle?リンクエラーがあるのは認識してて、古いブログから記事を移行して来たので、移行しきれなかった画像へのリンクとか色々あるけど、そんなのは随分前から同じです。色々ググっても特に最近のトラブルでは見当たらず、Wordpressやプラグインを更新したという訳でもない。しばらく設定をいじっていないので、あちらこちら記憶を呼び戻し呼び戻し・・・。
原因は、最初から出ている通りGoogleでした。Google+へのシェアボタンを削除すると404エラーは消えました。Google+は来月(4月)に終了するのでその関係かもしれません。この機会にプラグイン「Jetpack」の記事にSMSボタンを自動挿入する設定からもGoogle+を削除しようとしたところ、削除できないという新たなエラーが発生。これで保存できません。
これは他のサイトでも発生したので、Jetpack側の問題かもしれません。しばらく様子を見ることにして、解決するまでボタンは非表示にしました。
Pタグと連続改行が悩ましい
WordPressを更新したタイミングで、どうも記事投稿時にPタグの自動挿入や改行幅がおかしくなりました。過去の記事を編集してもおかしくなります。いろいろググってもなかなか似たような現象が見つからなかったのですが、やっと見つかりました(感謝!)。
WordPress4.9ではTinyMCE Advancedで連続改行できなくなっている件
WordPressと日本語の問題でもあり、日本語ではもう一行改行幅を広げたいと思う時、改行(Shift+Enter)を連続して入力するのですが、これはWEBでは好ましくない。そこで対応策として使っていたのがプラグインの「TinyMCE Advanced」。でも、最近なんか改行幅が広くなってしまって、調べていたところでした。
プラグイン「Tiny MCE Advanced」のオプションにあるこれでしょうね。
確かにうちのWordpressもバージョン4.9以上になっています。
今までもFunction.phpを書き換えたりプラグインでという策はあったのですが、あまりプラグインを多用するのも好ましくないし、今回のようにWordpressのバージョンアップに対応できないケースも出てきます。
で、2行改行せずに行間を空ける策がこちらにありました(感謝!)。
WordPressでプラグインを使わずPタグで超簡単に複数改行をする方法
なるほど、これが一番筋が通っているように思います。
<p style=”margin-top:3.0em;”></p>
これを辞書登録して簡単に入力することにしました。やれやれ・・・。