web-dev-qa-db-fra.com

Comment réparer l'erreur d'analyse 404 d'un site Web

J'ai un liens de navigation dans une page php nav.php, qui est inclus dans toutes les pages de mon site Web. J'ai la structure de dossier comme ci-dessous

+top_folder
     -config.php 
     +includes_folder
       -nav.php  (conatins links to all pages in my website)
     +courses_folder
       -course1.php
       -course2.php
       -nav.php

config.php

<?php 
    $main_url = "http://www.myapp.com/";
?>

fichier nav.php

 <ul>
      <li><a href="<?=$main_url?>courses_folder/course1.php">Course 1</li>
      <li><a href="<?=$main_url?>courses_folder/course2.php">Course 2</li>
  </ul>

Donc, j'inclus le fichier top_folder/includes_folder/nav.php dans toutes les pages. Mais j'ai aussi placé nav.php à un autre emplacement: top_folder/courses_folder/nav.php et je n'inclus ce fichier dans aucun fichier de mon site Web.

$main_url n'est défini que dans config.php, que j'inclus dans tous les fichiers, pas dans nav.php. Ainsi, le $main_url est affiché en blanc dans la page explorée, à savoir top_folder/courses_folder/nav.php

Google a également exploré la page top_folder/courses_folder/nav.php. Les liens ne sont pas corrects bacause $ main_url est null dans ce cas.

Donc ça fait 7 mois que j'ai fait ça change.

Est-ce une bonne idée d'inclure simplement le config.php dans le fichier top_folder/courses_folder/nav.php

OU

Dois-je créer les fichiers et les dossiers (en tant que liens dans le fichier top_folder/courses_folder/nav.php)?.

OU

Dois-je interdire les liens (robots.txt) dans le fichier top_folder/courses_folder/nav.php

Parmi ce qui précède, quelle est la solution recommandée pour résoudre les problèmes 404 sans affecter le référencement.

2
n92

Google a également exploré la page top_folder/courses_folder/nav.php. Les liens ne sont pas corrects bacause $ main_url est null dans ce cas.

Si je comprends bien, les 404 résultent de l'exploration par Google d'une page qu'elle n'aurait pas dû. Et vous voyez les 404 dans Google Webmaster Tools? Les personnes ne lient pas à ces URL incorrectes et celles-ci n'apparaissent pas dans la recherche Google (elles ne peuvent pas car elles n'existent pas).

Dans ce cas, il n'y a rien que vous ayez vraiment besoin de faire à mon avis. Les 404 ne sont pas mauvais et n'affectent pas le classement de votre moteur de recherche. Un 404 est une réponse correcte.

Cependant, vous devez empêcher Google d'explorer votre /includes_folder à l'aide de robots.txt. Cela résoudra, à terme, vos 404, car Google ne pourra plus analyser votre fichier nav.php.

Vous semblez vous concentrer trop sur les 404 elles-mêmes, plutôt que sur ce qui les cause.

1
MrWhite

Premièrement, il semble qu'il y ait rien à craindre, à part l'encombrement de vos rapports. Donc, le référencement n’est probablement pas affecté, mais il serait bien de nettoyer après vous-même.

Ce que vous auriez dû faire et que vous pouvez toujours faire, c’est tilisez / au lieu de <?=$main_url?> dans nav.php. En outre, il n’aurait jamais dû être exploré, car il ne s’agit pas d’une page DPA. Si vous l'incluez dans un iframe, ce qui expliquerait comment Google l'a trouvé, vous pouvez probablement le remplacer par un PHP include.

Cela ne supprimera pas les erreurs de Google Webmaster Tools, car Google pense déjà que nav.php est une page et enregistre les liens qui s'y trouvent. Ils finiront par disparaître mais cela peut prendre des mois. Pour accélérer les choses, bloquez les URL incorrectes à l'aide de robots.txt afin que Google cesse de les demander.

Il y a plusieurs jours, un réflexe (désolé pour le terme technique) a créé 16 000 faux liens vers une page inexistante sur mon site. Ils ont été signalés pendant 11 jours consécutifs dans GWMT. J'ai utilisé robots.txt pour empêcher Google de demander une page qui n'y est pas et le nombre de 404 signalés a diminué d'environ 1 000 par jour depuis, ce qui me permet de garantir qu'il fonctionne au moins dans un cas.

0
Itai