Supprimer massivement les pages 404 du cache (Code)

WRInaute discret
Salut à tous,

Voici pour ceux qui doivent supprimer beaucoup de pages 404 du cache de Google une manière de faire.
Avant toute chose je ne tiens pas à ouvrir le débat du "c'est bien de le faire ou ce n'est pas bien", vous pensez ce que vous voulez et ca vous regarde...

Pour ce qui doivent faire face à cette problématique comme c'était mon cas, voici comment supprimer ces pages à coup de 100 par 100 au lieu de 1 par 1.

Déjà il faut vous logguer sur

http://services.google.com:8882/urlconsole/controller?cmd=reload&lastcmd=login
Bien sur vous devez créer un compte pour ca.

Une fois loggué il vous faut ouvrir une seconde fenetre Google et effectuer correctement une recherche qui va vous lister uniquement les pages en 404 sur votre site.

Par exemple si vous avez supprimé un lot de pages dont le nom est de la forme 'aaaa-XXX.html'

Vous pourriez effectuer la recherche suivante :
Code:
site:www.exemple.com inurl:aaaa

Je vous recommande fortement d'avoir régler les préférences de Google pour afficher 100 résultats par page.

Ensuite il vous faut ajouter &filter=0 dans l'url pour virer les résultats complémentaires également.

Vous devez donc vous trouver devant une liste de 100 urls de pages en 404 présentes sur votre site.

Il ne vous reste plus qu'à enregistrer la page que vous avez sous les yeux sur votre ordi, et à la donner à manger au bout de code php que voici :

Code:
<?

// search.html correspond à la page de résultats de google récupérée
$fd = fopen('search.html', 'r');
$datas = fread($fd, filesize('search.html'));

$i=0;
while($pos = strchr($datas, '<a class="l" ')) {
    $datas = substr($pos, 19);
    $pos = strchr($datas, '">');
    $url = substr($datas, 0, strlen($datas) - strlen($pos));
        echo '<iframe src="http://services.google.com:8882/urlconsole/controller?cmd=authenticateSiteDown&url='.urlencode($url).'&type=noindex"></iframe>';
    $datas = $pos;
    $i++;
}

?>

Ce bout de code doit etre ouvert dans le même navigateur ou vous etes loggué à urlconsole et votre session à urlconsole doit toujours etre valide (elle dure très peu de temps, genre 2 minutes).

Ce la va ouvrir 100 frames dans la fenetre affiché par le code, chaque frame se chargera d'ajouter un des résultats dans la liste des pages à supprimer du cache.

Il suffit ensuite de récupérer la page 2, puis la 3, etc...

Les pages sont supprimées sous un délai de 3 à 5 jours.
Seules les pages en 404 sur votre site seront supprimées.

Vous l'aurez compris, c'est une technique sans prétention destinée à traiter rapidement un problème que l'on ne peut pas traiter manuellement (qui va aller supprimer 3000 ou 4000 pages une par une...).

En espérant que ca puisse vous servir ;)
 
WRInaute discret
ChauffeurDeBuzz a dit:
Ah ah excelent !!!... j'étais en train de me dire : ce topic pourrait intéresser Giviz ;)

Hé hé, tu penses bien que j'allais pas laisser mon site avec toutes ces pages en 404, le pauvre :p

En tout cas cette méthode fonctionne très bien ;)
 
WRInaute occasionnel
ton astuce semble géniale, mais la page donnée m'indique que je dois activer les cookies (alors qu'ils sont actifs :p)
 
WRInaute discret
Même principe pour supprimer à la volée des pages en NOINDEX,NOFOLLOW


Code:
<? 

// search.html correspond à la page de résultats de google récupérée 
$fd = fopen('search.html', 'r'); 
$datas = fread($fd, filesize('search.html')); 

$i=0; 
while($pos = strchr($datas, 'class=l ')) { 
    $datas = substr($pos, 14); 
    $pos = strchr($datas, '" onmousedown'); 
    $url = substr($datas, 0, strlen($datas) - strlen($pos)); 
echo '<iframe src="http://services.google.com:8882/urlconsole/controller?cmd=authenticateMetaTags&metaTagsUrl='.urlencode($url).'"></iframe>'; 
    $datas = $pos; 
    echo "$url<br>";
	$datas = $pos; 
    $i++; 
} 

?>
 
Discussions similaires
Haut