Refresh auto sur Erreur 503

Nouveau WRInaute
Bonjour à tous,

j'ai actuellement un gros problème avec les erreurs 503 sur l'un de mes outils de recherche (style tag cloud).
L'outil recherche sur ma base de données des mots clés ou combinaisons de mots clés; Le temps de chargement peut alors être très long.
Pour remédier à ce problème, j'ai installé un Varnish qui me met les recherches déjà demandées en cache.

Problème : si la page recherchée n'a jamais été consultée, son premier chargement est très long; Et google enregistre toujours des erreurs 503 pour les pages n'ayant jamais été recherchée.
Il faudrait donc que j'inclue dans mon htaccess une ligne qui dirait : refresh si erreur 503 (car la page existe forcément et qu'au deuxième chargement cela afficherait la page cache).

Voici donc ce que j'ai dans mon htaccess :
Code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /recherche.php?q=$1		[L,QSA]
NB : $1 est ma combinaison de mots recherchés séparés par des "-"

Et j'y ai ajouté ceci (mais je ne sais pas si cela fonctionne...) afin de demander la redirection vers la même page :
Code:
ErrorDocument 503 /recherche.php?q=$1

- Pourriez vous me dire si c'est bon? L'objectif étant de faire un refresh de la page recherchée si le temps de chargement est trop long et que Google enregistre finalement une erreur 503...

- Comment vérifier que le refresh est bien effectué? Comment tester une erreur 503 (ou forcer la génération d'un erreur 503) ?

Merci d'avance et vive WRI !
 
Nouveau WRInaute
NB : sur le net j'ai trouvé ceci à ajouter sur la page de recherche :
<script>
var time = 3000;

(function ()
{
if (document.title == '502 Bad Gateway' )
{setTimeout(function() {window.location.reload(true);}, time);}
else if (document.title == '504 Gateway Time-out' )
{setTimeout(function() {window.location.reload(true);}, time);}
else if (document.title == 'Problem loading page' )
{setTimeout(function() {window.location.reload(true);}, time);}
else if (document.title == '503 Service Temporarily Unavailable' )
{setTimeout(function() {window.location.reload(true);}, time);}
else if (document.title == 'Service Unavailable' )
{setTimeout(function() {window.location.reload(true);}, time);}
else if (document.title == '500 Internal Server Error' )
{setTimeout(function() {window.location.reload(true);}, time);}
else if (document.title == 'Database error' )
{setTimeout(function() {window.location.reload(true);}, time);}
else if (document.title == 'FastCGI Error' )
{setTimeout(function() {window.location.reload(true);}, time);}
else if (document.title == 'The connection has timed out' )
{setTimeout(function() {window.location.reload(true);}, time);}
})();
</script>

On ne passe donc pas par le htaccess... Pensez vous que cela fonctionne?
(NB: je ne sais toujours pas comment vérifier que cela fonctionne... Pour le moment seul google identifie la page en erreur 503 au 1er chargement. De mon côté, le navigateur attend plus longtemps et me charge finalement bien la page... Comment forcer une erreur 503 ?...)
 
WRInaute accro
Pourquoi ne pas corriger le problème de lenteur de la recherche ?
Y'a des millions d'enregistrements ou c'est mal codé pr que ça lag ?
 
WRInaute passionné
D'un autre coté, GG sais qu'une 503, c'est temporaire.
Il repassera et indexera la page mise en cache.

C'est juste une question de patience.
Y a toujours des moyens pour le faire revenir visiter ces nouvelles pages plus vite.


Maintenant pour régler le problème, tu peux aussi directement interdire à GG d'indexer les résultats de ton moteur de recherche interne.
Ca n'en sera que meilleur pour les SERPs et les utilisateurs.
 
Discussions similaires
Haut