web-dev-qa-db-fra.com

Comment arrêter une erreur 500 sur le dossier du thème WordPress

La console de recherche Google se plaint que mon dossier de thème WordPress renvoie une erreur 500.

Vous pouvez le voir ici https://www.dailywritingtips.com/wp-content/themes/dailywritingtips/

Curieusement, de nombreux sites WordPress ont ce problème, même des sites très populaires tels que TechCrunch https://techcrunch.com/wp-content/themes/techcrunch-2017/

Je suppose que le retour correct devrait être 404 ou 403.

Je ne suis pas capable de simplement jeter un fichier index.php vide dans le dossier car il y en a déjà un de mon thème WordPress.

L'erreur 500 apparaît probablement car le fichier index.php de ce dossier appelle des fonctions WordPress qui n'existent pas lorsque vous accédez directement au dossier.

Quel serait le moyen le plus simple de résoudre ce problème?

1
Daniel Scocco

Ajouter ce code en haut du fichier index.php de votre thème retournera un 403 si le répertoire du thème est accédé directement:

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

Cependant, vous ne voyez jamais ce code dans le fichier index.php d'aucun thème, car il est inutile. Je l'inclue seulement pour que cette réponse contienne une solution réelle avant d'essayer de vous convaincre que vous n'avez réellement besoin de rien résoudre:

cela n'a aucun sens de renvoyer une erreur 500 quand il ne s'agit pas d'un problème de serveur

is un problème de serveur si vous essayez d’accéder à un fichier PHP, index.php, auquel on ne doit pas accéder directement.

Il y a des dizaines et des dizaines de fichiers dans WP qui généreront une erreur si vous essayez de le faire, comme ceci:

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

La seule raison pour laquelle vous n'obtenez pas d'erreurs d'analyse sur ces erreurs, c'est parce qu'il n'existe aucun lien menant à ces adresses et que Google n'essaye pas de les analyser (ne vous inquiétez pas, les liens sur ce site ne permettent plus de suivre).

Donc, votre problème actual est Google qui tente d'indexer cette URL, ce qui se produirait s'il existe un lien vers cette URL quelque part que Google a exploré.

La solution à cela est de savoir pourquoi Google explore d'abord cette URL et supprime le lien responsable, mais franchement, si vous ne le trouvez pas, je ne passerais plus de temps dessus.

Google voit un code de réponse d'erreur sur une URL que vous n'avez même pas voulez indexé, et les utilisateurs ne devraient pas y avoir accès de toute façon, ce qui ne crée donc aucun problème. Comme vous l'avez dit, cela se produit sur des sites très populaires, même ceux de WordPress VIP comme TechCrunch, et tout se passe bien.

2
Jacob Peattie