googlebot crawle des pages inexistantes

WRInaute accro
Bonjour

Sur des pages de types :
https://phpsources.net/code/php/maths/569_elever-x-elepuissance-y

Il y a 1 JS qui va récupérer (pour afficher les fonctions PHP) les datas dans un rép :
https://phpsources.net/Manuel-PHP-Janv-2019/function.bcpow.html

Pour que cela fonctionne j'ai mis une base
Code:
<base href="https://phpsources.net/Manuel-PHP-Janv-2019/">

et le bot crawle ce type de page en mode no stop :
https://phpsources.net:443/function.bcpow.php

Une solution pour qu'il arrête de crawler ces pages qui n'existent pas ?
 
WRInaute impliqué
Ce que tu écris est pour le moins incomplet pour comprendre ce qui se passe, mais bon, à priori, ton bot se fiche du base href, ce qui ne me semble pas surprenant.

Sinon, quelques conseils (t'en fais ce que tu veux, hein, surtout pour ceux qui sont des opinions et pas des recommandations purement techniques) :
— Les compteurs animés attirent l'oeil pendant de longues secondes sur chaque page et ça n'est pas agréable, pas plus qu'une pub qui clignote (Github ne le fait pas, pas plus que Google Analytics... à mon avis, il y a une bonne raison).
—Augmente la durée de mise en cache de tes ressources. 15 minutes c'est beaucoup trop court.
—Fais la chasse au code inutile.
—Optimise tes images.
—Vérifie tes liens : il y en a plein qui redirigent vers l'accueil (tous les noms de logiciels sur l'accueil, par exemple)
—Vire les animations "État du crawl" qui tournent indéfiniment sans qu'on sache s'il est en train de se passer quelque chose et si ça va s'arrêter. À moins que ce soit un bug ?
—Dans le bloc "Etat du crawl et des mises à jour" de l'accueil, rend les noms de logiciels cliquables.
—Dans ce même bloc, vire les doubles numéros de version "phpsources / éditeur". De toute façon, s'il y a une nouvelle version tu la récupères immédiatement, j'imagine ? Si tu tiens à mettre deux infos, met plutôt depuis combien de temps date la version en question ("il y a 3 jours", ou "16 aout 2019", ou ce que tu veux).
—En général, on s'attend à ce que les images d'illustration soient cliquables (logo de logiciel, logo de Twitter...). Quand tu es sur Amazon (ou autre), tu cliques toujours, toujours sur le nom du produit, ou (au moins) parfois sur l'image ?
 
WRInaute accro
— Les compteurs animés attirent l'oeil pendant de longues secondes sur chaque page et ça n'est pas agréable, pas plus qu'une pub qui clignote (Github ne le fait pas, pas plus que Google Analytics... à mon avis, il y a une bonne raison).

je vais accéderez la vitesse

—Augmente la durée de mise en cache de tes ressources. 15 minutes c'est beaucoup trop court.

d'ou as tu ce chiffre ? j'ai 0 cache sur ce site

—Fais la chasse au code inutile.

c'est en train, j'en suis a 30% de vérif depuis 10 jours

—Optimise tes images.

ta des sous pour m’offrir un graphiste :)

—Vérifie tes liens : il y en a plein qui redirigent vers l'accueil (tous les noms de logiciels sur l'accueil, par exemple)

tu es tombé au mauvais moment, je fais la chasse aux 400 et j'avais ramasser trop large au moment ou tu est passé

—Vire les animations "État du crawl" qui tournent indéfiniment sans qu'on sache s'il est en train de se passer quelque chose et si ça va s'arrêter. À moins que ce soit un bug ?

tu as raison, je vais le faire

—Dans le bloc "Etat du crawl et des mises à jour" de l'accueil, rend les noms de logiciels cliquables
—Dans ce même bloc, vire les doubles numéros de version "phpsources / éditeur". De toute façon, s'il y a une nouvelle version tu la récupères immédiatement, j'imagine ? Si tu tiens à mettre deux infos, met plutôt depuis combien de temps date la version en question ("il y a 3 jours", ou "16 aout 2019", ou ce que tu veux).

je pensais a élargir le bloc et donner plus d'infos
- date last maj
- nombre de version
- total téléchargement
..

—En général, on s'attend à ce que les images d'illustration soient cliquables (logo de logiciel, logo de Twitter...). Quand tu es sur Amazon (ou autre), tu cliques toujours, toujours sur le nom du produit, ou (au moins) parfois sur l'image ?

je suis pas encore l'amazon du php, ca va venir, en attendant je vais mettre des liens sur les images, c'est une bonne idée!

merci pour tes idées utiles

sinon j'ai résolu mon problème avec une redirection, en définitif ce probleme c'est réglé vite, je suis tombé sur bien plus chaud ensuite. Hyper utile de traquer ce que fait googlebot, surtout sur du dév dédié ou on croit vite avoir tout bon.

Code:
 if ( preg_match('#/function\.([^/]*)\.php#s',$_SERVER["REQUEST_URI"] ) )  {
                                              header('Status: 301 Moved Permanently', false, 301);
                                              header('Location: ' . $url_site);
                                              exit;
                                          }
 
WRInaute impliqué
—Augmente la durée de mise en cache de tes ressources. 15 minutes c'est beaucoup trop court.

d'ou as tu ce chiffre ? j'ai 0 cache sur ce site
Ce sont les headers expires des JS, CSS et images qui disent au navigateur de conserver les fichiers 15 minutes.
Tu peux les voir dans l'inspecteur du navigateur, ou ici :
https://developers.google.com/speed/pagespeed/insights/?url=https://phpsources.net/code/php/maths/569_elever-x-elepuissance-y
Sous Diagnostic, c'est la ligne "Diffusez des éléments statiques grâce à des règles de cache efficaces".

Ça se règle dans la conf d'Apache : https://httpd.apache.org/docs/current/mod/mod_expires.html
Un mois c'est bien MAIS il y a un problème, c'est que tu utilises des noms de fichiers sans numéros de version.

Par exemple, si tu as un fichier core.js, le navigateur le reçoit, et le met en cache pour 1 mois. Si tu changes ce fichier, les personnes qui l'auront téléchargé il y a 10 minutes ne verront pas de changement avant un mois à moins de vider leur cache.
C'est pourquoi on met généralement un numéro de version dans le fichier, souvent le timestamp de la dernière modification (donc filemtime, en PHP) :
Code:
<script src="/js/core.js?<?= filemtime($_SERVER['DOCUMENT_ROOT'] . '/js/core.js') ?>">
ajoutera le timestamp de la dernière modif du fichier. comme paramètre.

Si tu modifies le fichier, ce paramètre changera et forcera le navigateur à le considérer comme un fichier différent et à le retélécharger : tu seras certain que les visiteurs auront toujours bien la dernière version de ce fichier, mais qu'ils ne le téléchargeront plus pendant un mois s'il n'est pas modifié.

—Optimise tes images.

ta des sous pour m’offrir un graphiste :)

Pas besoin, c'est une opération purement technique.

Télécharge ImageOptim (macOS : https://imageoptim.com/fr), ou FileOptimizer (Windows : https://sourceforge.net/projects/nikkhokkho/) ou Trimage (Linux : https://trimage.org).
Tu prends tout ton dossier image, tu le colles dans la fenêtre du logiciel, ça optimise et tu réuploades.
Il n'y aura pas un pixel qui change, les fichiers sont juste mieux compressés grâce à une réorganisation des données (il y a aussi des modes pour dégrader la qualité et compresser encore plus).

Après, tu peux aussi optimiser manuellement (là par contre, je ne connais qu'un logiciel pour Mac vraiment pratique : https://pngmini.com).

L'idée, c'est de passer des PNG-24 qui s'y prêtent bien en PNG avec palette de couleur. Le PNG avec palette n'est pas le GIF avec palette : il a un vrai canal alpha et il est possible de réduire le nombre de couleurs tout en ayant un bon antialiasing. Un peu de technique : https://calendar.perfplanet.com/2010/png-that-works/

Un exemple avec une image (sans transparence, tant pis) : le logo du site.
L'image originale fait 41 ko. En la passant dans ImageOptim (sans aucune modification visuelle, donc), elle passe à 36 ko.

Mais c'est une image presque monochrome, donc on peut réduire le nombre de couleurs en étant certain que ça ne se verra pas.
En 256 couleurs, l'image ne fait plus que 14 ko
En 128 couleurs, l'image ne fait plus que 11 ko

Franchement, je n'arrive pas à distinguer de différence entre l'originale et la version 128 couleurs sans zoomer, même en taille réelle (alors que le logo est réduit sur le site)... mais le poids de l'image a été réduit de 73%.

Bon, c'est un cas où j'ai eu de la chance. En même temps, c'est 30 ko de gâchés, et c'est le poids de la version de jQuery que tu utilises. C'est à dire que graphiquement ça ne change rien à moins d'avoir un moniteur de la mort et des yeux bioniques, mais, grossièrement, il est possible de télécharger le logo+jquery dans le même temps qu'il faut actuellement pour ne télécharger que le logo non optimisé.

Le logo actuel (41 ko) :
php_1.png

Le logo optimisé automatiquement, sans aucun pixel qui change (36 ko) :
php_1 - auto.png
Le logo en 256 couleurs (14 ko) :
php_1 - manual 256.png

Le logo en 128 couleurs (11 ko) :
php_1 - manual 128.png

Voilà, en espérant que ça t'aura intéressé ;-)
 
WRInaute accro
Merci pour ton aide

Tu es un expert en imagerie, nul doute la dessus :)

Pour moi ca passe crème vu que j'ai quasi 0 image hormis 500ko sur l'accueil
mais pour les blogs et e-com de mes clients ca le fait bien, tu viens de me faire gagner de sous, je vais leur inclure une maj reduct images dans mes maintenances, love u :p

Pour la partie css/js pour gagner de la place, alors la c'est un langage avec lequel je ne suis pas trop familiariser et puis je n'ai pas la main sur la conf apache, j'ai mis ce site sur un mutu, besoin de 200go, des qu'il va monter, vu la place que j'occupe je vais vite trouver un hébergeur qui va m'offrir un vps de 200go o_O
en attendant j'aurais un refresh cache de 15 mn. Peut-on modifier cette valeur via .htaccess ?
 
WRInaute impliqué
en attendant j'aurais un refresh cache de 15 mn. Peut-on modifier cette valeur via .htaccess ?
Je ne sais pas (ça m'étonnerait, ceci dit), ça fait très longtemps que je n'utilise plus les .htaccess, c'est mauvais pour les perfs :-/

Pour la partie css/js pour gagner de la place, alors la c'est un langage avec lequel je ne suis pas trop familiariser
Si t'as le temps de t'y mettre plus tard, c'est intéressant quand même, mais dans l'immédiat, tant pis.

Un truc que je n'ai pas mis parce que pour ton site, ça ne change rien, mais pour tes clients, ça peut être (très) intéressant : le lazy loading. Ça existe depuis une éternité, mais jusqu'ici c'était de la bidouille Javascript.
Avec la dernière version de Chrome, ça existe en natif.

Je ne dis pas souvent du bien de Google, mais là... leur implémentation a dépassé ce que je pouvais espérer de mieux. C'est ultra simple, il suffit de rajouter loading="lazy" aux tags <img> qui ne s'affichent pas dans la zone visible sans scroller (le "viewport"), et ça charge suffisamment en avance pour que l'utilisateur ne puisse quasiment jamais voir de différence, c'est une vraie réussite !

Dès aujourd'hui, le tiers des utilisateurs ont un navigateur qui le support (mes propres mesure : nombre de gens qui ont déjà une version de Chrome le supportant et parts de marché de Chrome sur les sites que je gère), et je n'ai aucun doute sur le fait que tous les navigateurs vont implémenter ça très rapidement, parce que c'est un avantage concurrentiel énorme quand un site l'utilise (Firefox et Safari sont déjà en train de travailler dessus, du reste).

Annonce/doc : https://web.dev/native-lazy-loading
Démo (à regarder avec l'inspecteur web ouvert sur l'onglet Réseau) : https://mathiasbynens.be/demo/img-loading-lazy
Retour d'expérience pour un sous-site de la BBC : https://medium.com/bbc-design-engineering/native-lazy-loading-has-arrived-c37a165d70a5

... et je n'ai pas écrit de retour d'expérience, mais je l'ai implémenté et d'après ce que je vois sous Google Analytics, ça a un effet positif sur les utilisateurs qui ont Chrome 76.

Si pour tes clients, tu fais des sites avec des pages longues et de grosses images, vas-y à fond sur loading="lazy" : ÇA MARCHE !!!

Et pour que je massacre la ponctuation avec trois points d'exclamation, crois, moi, c'est que je suis très, très, très enthousiaste.
 
Discussions similaires
Haut