WordPressサイトで「Error establishing a database connection(データベース接続の確立エラー)」というエラーページを見たことがありますか?
このメッセージはさまざまな理由で表示されますが、魅力がなく、訪問者を混乱させる可能性があります。また、サイトを訪問してメッセージを見るまで、サイトがダウンしていることに気づかないでしょう。
この投稿では、WordPressのデータベースエラーページをカスタマイズする方法を紹介します。また、データベースエラーでサイトがダウンするたびに通知を設定する方法も紹介します。
データベース接続の確立エラーの原因は?
Error establishing a database connection(データベース接続の確立エラー)」は、WordPressで最もよく見られるエラーのひとつです。WordPressの設定に間違ったデータベース情報が含まれていたり、データベースが破損していたり、データベースサーバーが応答しなかったりすることが原因です。
このエラーを解決するのは初心者には難しいかもしれません。そこで、WordPressの「Error establishing a database connection(データベース接続の確立エラー)」を修正する方法のガイドで、エラーの解決方法を番号付きリストでご紹介します。
訪問者が一番見たくないのは、WordPressが表示する一般的なエラーメッセージです。エラーページには詳細がなく、魅力的でもなく、あなたのブランディングも含まれていません。あなたのサイトが消えてしまったように見えるだけです。
そこで、WordPressサイトのエラーページをより使いやすくカスタマイズする方法を見てみましょう。
WordPressにカスタムデータベースエラーページを追加する
まず、メモ帳などのテキストエディターで新規ファイルを開き、以下のコンテンツを貼り付ける。
<?php // custom WordPress database error page
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600'); // 1 hour = 3600 seconds
// If you wish to email yourself upon an error
// mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
You got problems.
</body>
</html>
ソースCSSトリック
次に、ファイルを「db-error.php」として保存します。次に、FTPプログラムを使用して、WordPressサイトの/wp-content/ディレクトリにファイルをアップロードする必要があります。詳細については、WordPressでFTPを使用するための初心者ガイドを参照してください。
あなたのサイトがデータベース接続を確立できない場合、下のスクリーンショットのようなエラーメッセージが表示され、ウェブブラウザーのタブに “Database Error “というタイトルが表示されます。
魅力的なエラーメッセージではないが、一歩前進だ。これで、ページのHTMLとCSSを自分のサイトに合ったものに変更することができる。
WordPressのデータベースエラーページのカスタマイズ
データベースエラーページをカスタマイズして、サイトのテーマと一致するようにしましょう。また、ページにブランドロゴとキャッチフレーズを追加してください。
メッセージにちょっとしたユーモアを盛り込むのもいい。訪問者はあなたのサイトを訪れることはできないかもしれないが、少なくとも彼らを楽しませることはできる。
WordPressの404エラーページのデザイン例からインスピレーションを得ることができます。例えば、このEmpty Cupの404ページは、データベースエラーのページとして簡単に修正できます。
エラー404」を「データベースエラー」に、「このページが見つかりません」を「このサイトは一時的に利用できません」に変更する必要があります。また、サイト全体がダウンしている可能性が高いので、’Go Home’ボタンも削除する必要があります。
カスタムデータベースエラーページのデザインを作成する最も簡単な方法は、SeedProdプラグインを使用することです。これは、コードを編集することなくエラーページをカスタマイズするためのドラッグ&ドロップ機能を備えた最も人気のあるランディングページビルダーです。
300以上のプロがデザインしたテンプレートが付属しており、その中にはカスタムデータベースエラーページとして使用できる様々な404エラーページテンプレートも含まれています。
SeedProdには無料版がありますが、ビルトイン404エラーページテンプレートにアクセスするにはPro版が必要です。
SeedProdを使用してカスタムエラーページを作成する方法については、WordPressの404ページテンプレートを改善する方法のガイドをご覧ください。
データベースエラー通知メールの送信
もしサイトがダウンしていたら、そのことを知らせてほしい。
先ほど使用したコード・スニペットには、サイトにデータベース・エラーが発生したときにメール通知を送信するコードが含まれています。この部分はスラッシュ2つでコメントアウトされているため、現在は無効になっています。
// If you wish to email yourself upon an error
// mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
通知を受け取るには、メール機能の前にある2つのスラッシュを削除する必要があります。
// If you wish to email yourself upon an error
mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
また、’your@email.com’ を自分のメール・アドレスに置き換えてください。編集したdb-error.phpファイルを保存し、WordPressサイトの/wp-content/ディレクトリにアップロードすることを忘れないでください。
このチュートリアルで、WordPressでカスタマイザーエラーページを追加する方法を学んでいただけたでしょうか。また、WordPressのブロックエディターでよくある問題とその解決方法について学んだり、サイトを成長させるために必須のWordPressプラグインのリストをチェックしたりすることもできます。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Shyam Chathuranga
Thanks for this article. I’m using this with another piece of code to track how many times visitors to my site see these kinds of DB Errors and PHP Fatal Errors via Google Analytics. For anyone wondering how they can create a custom PHP Fatal Error page, just copy paste the db-error.php and rename it to php-error.php.
I noticed my site monitoring tools some times don’t alert me on these errors maybe because of page caching. I also enabled Email alerts from the code you guys provided. Works great!
Thanks so much!
Shyam
WPBeginner Support
Thanks for sharing and glad our article was helpful!
管理者
Kensley
This tutorial came just when I needed it, and is one of the things we can actually do at the file level when attempting to access the WP dashboard is impossible.
Much appreciated!
Arlen Nagata
Now, is there an action to put this in your theme folder?
David
You know, I never thought about customizing that page. It’s a good idea because if a visitor comes across it at least it’ll fit the theme of your site and while they can’t see any info, maybe they can be amused.
The email seems like a good idea because it could help gauge how often visitors might hit that error. If it happens a lot then Houston we have a problem.
My only question goes back to the email. If a user lands on that page, I get an email. Will I get another email if that user reloads the page? Say the visitor lands, reloads in 10 seconds and continues. I don’t want to be spanned. Also, is the email hidden in the source code?