
最新記事 by ソルティー (全て見る)
- 最初に買って良かったという感想が続出!WordPressテーマを有料にするか無料にするか迷っている方へ - 2020年5月9日
- 本音で語る!SEOに強いWordPressテーマって実際あるの? - 2020年5月7日
- ダメな時ほど試してほしい!WordPressテーマが更新・インストールできない時の解決法 - 2020年5月4日
- 【コピペでOK】FontAwesome4.7を使ってアイコンパネルをCSSカスタマイズで作る方法 - 2020年5月4日
- 【コピペでOK】Table of Contents Plusの追従目次に上下スクロールバーを追加する方法 - 2020年4月29日
どうも、ソルティーです。
今回も質問がきていたので、こちらを解決してみようと思います。
サーバーで内部エラーまたは設定ミスが発生したため、リクエストを完了できませんでした。
このエラーが発生した時刻、およびこのエラーの直前に実行した操作については、support @ sakura.ad.jpでサーバー管理者に連絡してください。
このエラーに関する詳細情報は、サーバーエラーログにあります。
「最近、内部サーバーエラーってのがよく出てくる。対策した方がいい?対策方法はどうしたらいい?」
内部サーバーエラー。つまり、「使っているサーバーでエラーが起こっちゃってますよ」という意味です。
話を詳しく聞いてみると、どうやらさくらインターネットで作ったブログで発生した事案のようです。
原因はなんとGoogleのクローラーだったことが判明しました。
今回はどのように解決したのかを備忘録的にまとめておきます。
目次(クリックで読みたいところへジャンプします)
さくらインターネットで内部サーバーエラーに原因として考えられること
内部サーバーエラーになってしまう原因として考えられるのはこの4つです。
- さくらインターネットサーバー側の問題
- プラグインで競合が起こっている
- .htaccessファイルの記述が間違っていて表示できない
- パーミッションの設定が間違っていてアクセスできない
このような原因になります。
2〜4の場合、確実に内部サーバーエラーになる
ただ、今回の質問で注目したいのは「最近、内部サーバーエラーってのがよく出てくる。」という点です。
プラグインで競合が起こっている、.htaccessファイルの記述が間違っていたり、パーミッションの設定が間違っている場合は確実に表示されません。
ページが表示できたり、表示できなかったりするようないつ内部サーバーエラーになるか分からない場合は、さくらインターネット側に何か予期せぬ異常が起こっているケースしかあり得ません。
サーバーがアクセス過多でパンクしている可能性
さくらインターネットに限らずですが、サーバーというのは一日に転送できる量が決まっています。
サーバーがパンクする原因として考えられるのはこの3つ!
- Googleクローラーに異常が起こり、特定のページにアクセスしまくっている
- 外部の何者かがブルートフォースアタックでログインしようとしている
- アクセス数が増えすぎて転送量を大きく超えてしまっている
このような原因が浮かびます。
ちなみにパンクしているとSEOにも影響大!検索順位が落ちたり、まったく表示されなくなってアクセス数が減るなど良いことがありません。
内部サーバーエラーの原因を切り分けるにはアクセスログを活用する
内部サーバーエラーになってしまう理由はたくさんあるので、どれが原因を切り分けるにはアクセスログを活用します。
ログ機能はレンタルサーバーには必ずついている機能です。
こういうエラー対処は一個ずつ原因となり得る可能性が高いものから順にしらみつぶししていきます。
焦らず確実にやるのがポイントです。
詳細アクセス解析を有効にする
さくらインターネットの場合は、最初カンタンなエラーログしか出てこない状態なので、詳しいアクセスを分析できるアクセス解析を有効にしましょう。
サーバーパネルにログインし、[アクセスログの設定]をクリック。
アクセスログの設定になるので以下のように設定を変えて、[送信]ボタンを押しましょう。
アクセスログの保存設定 | 残す エラーログも残す |
ホスト名の情報 | 残す |
さきほどの設定をすると詳細なアクセス解析ができるWebalizerが有効になります。
24時間以上経過するとアクセス解析の結果が蓄積されているので、アクセス解析を選択して結果を見にいきましょう。
今回はGoogleクローラーから異常なアクセス回数があったことが原因
アクセス解析の結果を見てみるとなぜかトップページに異常なアクセスがあることが分かります。
このアクセスが一体誰のものなのかを見てみると…。
この異常なアクセスの犯人はhttp://www.google.com/bot.html(つまりクローラー)からの異常なアクセスであることが判明しました。
異常なアクセスがあるとサーバーが不安定になる
なぜGoogleクローラーが来るだけで表示が不安定になるのか?というと1日のページ転送量の上限を超えてしまうからです。
ちなみにさくらインターネットの転送量はこんな感じです。
プランごとに想定されている転送量の目安です。
※ お試し期間中はプランに関わらず、目安より低い値で転送量が制限されております。
※ コンテンツダウンロード中にブラウザ側から中断を行った場合は、すべて転送したものとして扱われます。目安値を大きく上回る、または短時間に転送量が大きく増加した場合、「503 Service Temporarily Unavailable」等のエラーが表示されます。
エラーの詳細はこちらをご確認ください。
ライト 40GB/日 スタンダード 80GB/日 プレミアム 120GB/日 ビジネス 160GB/日 ビジネスプロ 200GB/日
クローラーの場合もページを表示し、閲覧しているので、この転送量が消費されます。
例えば1ページ100KBの超軽いページだったとしても、40万回も表示されてたら大体38GBの転送量になります。
Googleのクローラーのアクセスを拒否しちゃおう!って人もいますが、クローラーは検索エンジンにインデックスしてくれる大事な役目を担っているので、アクセスをブロックするのは止めたほうが良いでしょう。(検索に載らなくなっちゃうので)
クロールの頻度を変更し、アクセス回数を制限する
そんなワケなんで、Googleクローラーのクロール頻度をゼロではないが、ちょっとくる程度にして欲しい…くらいに変更しましょう。
まずはGoogleSearchConsoleにアクセスして、問題となっているブログのルートドメインを選択します。
●ルートドメイン
ルートドメインとは、“Root”つまりドメインの”根っこ“となる部分を意味します。 SEOPackの場合、ルートドメインは、http://seopack.jpです。
カンタンに言うと、●●.comのようなドメインのことです。
●●.com/sab のようなサブディレクトリ構造になっているブログのGoogleSearchConsoleではクロール頻度は変更できません。
画面右上の[歯車]を押し、[サイトの設定]を押します。
[Googleの最大クロール頻度を制限する]を選択し、来てほしい頻度に設定しましょう。
今回は1秒で一回くらいにしました。こうすれば1日、86400回まで抑えられます。
これでも足りなかったらさらに頻度を下げて様子を見ます。
それでもアクセス制限を超過するようならキャッシュを有効に
どうしてもクロール頻度を下げてもアクセス制限を超えてくるようならキャッシュを有効にしましょう。
キャッシュは一度作成したページを使い回し、転送の負荷を軽減する方法です。
WordPressの場合はプラグインでカンタンに実装できるのでどうしてもダメなら試してみましょう。
キャッシュの設定で安全なプラグインはWP Fastest Cacheです。
まとめ:まずはアクセスログをしっかり原因を捉えるのが先決
今回はGoogleクローラーがおかしな動作をしていましたが、原因はこればかりとは限りません。
大事なのはアクセスログを見て原因がなんなのか、原因究明をしっかり行うことですね。
この辺りは難しいので、分かる人に聞かないと難しいかもしれませんが、ひとまず今回の件は解決!
- 内部サーバーエラーが表示された場合はどうすれよいのですか
.htaccessでの解決法が書いてあります。 - 解決!さくらのwordpressで500エラー多発の原因
ハッカーによるブルートフォースアタックの解決法が書いてあります。