Wget

WRInaute accro
Sur un site ayant un cache qui se constitue a la première lecture d'une page et pouvant être vidé ponctuellement j'ai pour habitude d'aspirer le site avec wget pour reconstituer le cache une fois la purge du cache faite (ça peut être par exemple a cause d'une modification importante sur les pages)

la commande que j'utilise est :

wget -S -w3 -r http://www.example.com/

-S pour voir passer les entêtes sur ma console
-w3 pour attendre 3 secondes entre chaque appel (histoire de pas surcharger le serveur pour pas grand chose)
-r (récursivité) pour que wget suive les liens et donc reconstitue une grosse partie du cache tranquillement.

Mon souci est que cette commande download aussi les images, les javascripts, les CSS etc et je ne voie pas comment les exclure ou comment forcer juste les urls du type ".php" ou "/"

J'ai lu la man page mais j'ai un mal de chien a trouver une solution si vous avez une idée je suis preneur.
 
WRInaute accro
-A/--accept (ou éventuellement -R/--reject) devrait faire l'affaire, non? Alternativement, tu peux utiliser --follow-tags ou --ignore-tags.

Jacques.
 
WRInaute accro
sauf qu'à créer le cache de cette façon, tu charges le serveur durant le crawl en plus, ça ne fait pas beaucoup de différence de temps entre la version cache et la normale
 
WRInaute accro
Leonick a dit:
pourquoi ne pas laisser le cache se faire tout seul, à l'aide du crawl des internautes et des bots ?
En fait c'est surtout qu'entre une page calculée et construite en live on a une grosse différence de temps. Disons que la page visitée pour la première fois peut atteindre (en fonction du type et du contenu) jusqu'a 4/5 secondes avant d'être fabriquée. la page en cache en revanche est servie en une demi seconde environ donc c'est le jour et la nuit.

De plus les bots google qui passent sur une page non calculée doivent attendre pas mal de temps et si google tiens effectivement compte du temps de chargement des pages dans son algo de positionnement ça me met dans les choux pour pas grand chose.

le confort utilisateur est de plus sans commune mesure mais c'est pas forcement ce qui me dérange le plus car lui, il ne viens pas forcement comme un inquisiteur et son comportement fait qu'il constate vite que le site répond bien dans pas mal de cas.

Leonick a dit:
sauf qu'à créer le cache de cette façon, tu charges le serveur durant le crawl en plus
pas forcement c'est pourquoi je temporise a 3s, de plus en partant de la home, je recrée rapidement les pages principales du site (celles qui sont le plus consultées) donc si je laisse travailler un certains temps ça me permet d'avoir environ 50% du trafic naturel dans de bonne conditions et le temps fait le reste (je ne crawl pas tout le site ça prendrait trop de temps)

@ Jcaron -> je vais regarder de ce coté et je donnerai mon retour d'info merci.
 
WRInaute accro
Bon alors pour finir ça semble bien tourner avec :

--exclude-directories=list
Spécifie une liste de répertoires séparés par des virgules que vous voulez exclure du téléchargement. Les éléments de list peuvent contenir des caractères génériques.

la structure du site fait que certains truc comme les javascript, les images, les formulaires (qui eux ne bénéficient pas du cache) ... sont inclus dans des répertoires particuliers que la commande peu ignorer.

Sinon bien évidement je fais cette manipe de nuit quand le trafic est beaucoup plus calme (site francophone)
 
WRInaute accro
Pas mal ton script, je vois que je ne suis pas le seul a régénérer artificiellement le cache :D . Sinon concrètement j'ai pas de sitemap (ça me file des boutons de me dire qu'en plus faut aider GG a faire son travail), donc ça colle pas mais l'idée reste bonne pour ceux qui en ont un.
 
WRInaute accro
Je rejoins l'avis de Leonick pr la création du cache à la demande. Je trouve pas ça terrible de générer ça avec un faux crawl du site.

@Zeb: Tu enregistres quel type de cache ? Cache de données ou cache de l'output (HTML) ? Il faut pouvoir conjuguer les 2 quand c'est de gros traitements.
 
WRInaute accro
zeb a dit:
Pas mal ton script, je vois que je ne suis pas le seul a régénérer artificiellement le cache :D . Sinon concrètement j'ai pas de sitemap (ça me file des boutons de me dire qu'en plus faut aider GG a faire son travail), donc ça colle pas mais l'idée reste bonne pour ceux qui en ont un.
le sitemap n'aide pas gg à crawler ton site, en fait, un peu, mais si ton architecture de liens est mal faite, même avec le lien dans le sitemap il n'apparaitra pas (ou très loin) dans les serp.
Moi, le sitemap me sert juste à connaitre le nombre de pages indexées par gg (on a cette info dans le GWT)
 
WRInaute accro
spout a dit:
@Zeb: Tu enregistres quel type de cache ? Cache de données ou cache de l'output (HTML) ? Il faut pouvoir conjuguer les 2 quand c'est de gros traitements.
cache de l'output (HTML) -> c'est celui là qui produit le plus gros effet rapidité, il est mis dans une variable d'un script php commun a plusieurs pages, mais sinon j'ai d'autres caches liés a des traitements objet récursifs (mais ceux là ne nécessitent pas de purge), plus des bricoles comme des gros menus utilisés sur plusieurs pages (toujours du html ici), des fichier contenant des droits utilisateurs (pour éviter un re-calcul a chaque page visité), etc ...

En fait c'est une opération très exceptionnelle, car a chaque modif de page le cache est grillé individuellement (au pire ça grille 3/4 pages qui partagent le même fichier), c'est quand je fais de gros changements que ça a de l'importance. Là j'ai eu une refonte du design qui imposait des changements HTML au niveau du template donc j'ai du tout griller.
Pour les pages devant rester "dynamique" (comme la home qui change tous les jours par exemple) j'ai un CRON qui fait le travail et cela ne provoque pas de gros ralentissements.
Pour les pages du blog qui changent a chaque commentaire, c'est pareil, le cache est grillé individuellement si le message est validé.
De même quand je change un contenu de page depuis le back ou front office ça reset le cache.

mais si ton architecture de liens est mal faite
Pas de souci (je pense) a ce niveau. Aucune page orpheline (menu dynamique) plus toutes les nouveautés répercutées d'une façon ou d'un autre à la home (annuaire, blog, maj de pages, articles de fonds). J'ai aussi quelques page du style "les derniers ...".
Le jus semble d'ailleurs bien passer puisque j'ai une centaine de sous dossiers (home PR 4 / sous dossiers PR3) qui eux mêmes possèdent des sous dossiers qui sont presque tous avec un PR 1/2 (ce qui me fait penser que le liage interne est bon l'histoire du PR n'est que là pour illustrer la communication des pages).
 
Olivier Duffez (admin)
Membre du personnel
moi je force la regénération du cache uniquement quand je sais qu'une page vient d'être modifiée et que ça a un impact sur d'autres pages. Par exemple dans l'annuaire, quand une fiche est mise à jour, ça regénère directement le cas de tout un tas d'autres pages, sans attendre que googlebot ou un internaute vienne déclencher le truc.

mais faut pas faire un crawl massif pour regénérer le cache, car ça risque de saturer ton serveur, ce qui n'est justement pas le but
 
Haut