web-dev-qa-db-ja.com

WordPressテーマフォルダで500エラーを止める方法

グーグル検索コンソールは私のWordPressテーマフォルダが500エラーを返すと文句を言っています。

あなたはそれをここで見ることができます https://www.dailywritingtips.com/wp-content/themes/dailywritingtips/

奇妙なことに、TechCrunch https://techcrunch.com/wp-content/themes/techcrunch-2017/ のような非常に人気のあるものでさえ、多くのWordPressサイトがこの問題を抱えています。

私は正しいリターンが404か403であるべきだと思います。

私のWordPressテーマにはすでに空のindex.phpファイルがあるので、フォルダ内に単純に空のindex.phpファイルをスローすることはできません。

500エラーはおそらく、そのフォルダ内のindex.phpファイルが、そのフォルダに直接アクセスしたときには存在しないWordPress関数を呼び出すために発生します。

この問題を解決するための最も簡単な方法は何でしょうか。

1
Daniel Scocco

テーマのindex.phpファイルの先頭にこのコードを追加すると、テーマディレクトリに直接アクセスした場合は403が返されます。

if ( ! defined( 'ABSPATH' ) ) {
    header( 'HTTP/1.0 403 Forbidden' ); 
    die();
}

ただし、テーマのindex.phpファイルにそのコードが表示されることはありません。これは不要なためです。私はあなたが実際に何かを解決する必要はないとあなたが納得するように試みる前にこの答えがそれに実際の解決策を持つようにそれを含めるだけです:

これがサーバーの問題ではない場合、500エラーを返すのは意味がありません。

直接アクセスされることになっていないPHPファイルindex.phpにアクセスしようとすると、サーバーの問題になります。

WPには何十ものファイルがありますが、これを行おうとするとエラーが発生します。

https://www.dailywritingtips.com/wp-content/themes/dailywritingtips/functions.phphttps://www.dailywritingtips.com/wp-settings.php

これらのサイトでクロールエラーが発生しない唯一の理由は、リンクがどこにもなく、Googleがクロールしようとしていないからです(このサイトのリンクは問題ありません)。

だからあなたの actual 問題はGoogleがこのURLに索引を付けようとしている、それはGoogleがクロールした場所にそれへのリンクがあるので起こっているであろう。

その解決策は、Googleが最初にこのURLをクロールして責任のあるリンクを削除する理由を見つけることですが、率直に言って、見つからない場合はこれ以上時間をかけません。

GoogleがURLにエラーレスポンスコードを表示していて、 want とインデックス付けされていないため、ユーザーがアクセスしてはいけないため、実際には問題は発生していません。あなたが言ったように、これはかなり人気のあるサイト、TechCrunchのような WordPress VIP からのものでさえ起こります、そしてそれらはちょうどうまくやっています。

2
Jacob Peattie