CloudFlare probleme ?

Eléphanteau du PHP | 34 Messages

14 juin 2015, 02:37

Bonjour, les amis, avec ma fiancée, on est entrain de crée un site, nous utilisons cloudflare pour assurer le cache et l'optimisation et surtout la sécurité.

Mais j'ai pû m'apercevoir d'un enorme bug ou erreur de la part de CloudFlare, en faite lorsque je fait une recherche du style :
site:notresite.com sur google

Google nous sort notre site mais également des liens du style :

notresite.com/?p=223 et ainsi de suite, plusieurs pages avec des numéros différents, savez vous d'oû vient ce soucis, je cherche mais je trouve pas.

Merci par avance

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7268 Messages

14 juin 2015, 08:40

Bonjour,

Cela ne vient très certainement pas de Cloudflare mais de ton site.
Ça ressemble à un id de page. A toi de regarder dans le CMS que tu utilises pourquoi l'url rewriting (qui permet d'avoir des url "jolies") ne fonctionne pas sur ce type de pages.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 34 Messages

14 juin 2015, 14:17

Merci de ta réponse, impossible je n'utilise pas de CMS c'est sur mesure.
Peut être une galère dans le htaccess ?

Code : Tout sélectionner

Options +FollowSymlinks php_flag apc.cache_by_default On # protect the htaccess file <files .htaccess> order allow,deny deny from all </files> # protection de la lecture des répertoires Options -Indexes # BEGIN Cache-Control Headers <ifmodule mod_headers.c> <filesmatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$"> Header set Cache-Control "max-age=2592000, public" </filesmatch> <filesmatch "\\.(css)$"> Header set Cache-Control "max-age=2592000, public" </filesmatch> <filesmatch "\\.(js)$"> Header set Cache-Control "max-age=2592000, private" </filesmatch> <filesmatch "\\.(html|htm)$"> Header set Cache-Control "max-age=7200, public" </filesmatch> # Disable caching for scripts and other dynamic files <filesmatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </filesmatch> </ifmodule> # END Cache-Control Headers RewriteEngine on #Check to see if browser can accept gzip files. If so and we have it – serve it! ReWriteCond %{HTTP:accept-encoding} gzip RewriteCond %{HTTP_USER_AGENT} !Safari #make sure there’s no trailing .gz on the url ReWriteCond %{REQUEST_FILENAME} !^.+.gz$ #check to see if a .gz version of the file exists. RewriteCond %{REQUEST_FILENAME}.gz -f #All conditions met so add .gz to URL filename (invisibly) RewriteRule ^(.+) $1.gz [QSA,L] <ifmodule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_keep_workfiles No mod_gzip_can_negotiate Yes mod_gzip_add_header_count Yes mod_gzip_send_vary Yes mod_gzip_command_version ‘/mod_gzip_status’ mod_gzip_min_http 1000 mod_gzip_minimum_file_size 300 mod_gzip_maximum_file_size 512000 mod_gzip_maximum_inmem_size 60000 mod_gzip_handle_methods GET POST mod_gzip_temp_dir /tmp mod_gzip_item_include file .html$ mod_gzip_item_include file .php$ mod_gzip_item_include file .pl$ mod_gzip_item_include file .rb$ mod_gzip_item_include file .py$ mod_gzip_item_include file .cgi$ mod_gzip_item_include file .css$ mod_gzip_item_include file .js$ mod_gzip_item_include mime ^application/javascript$ mod_gzip_item_include mime ^application/x-javascript$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^httpd/unix-directory$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include handler ^server-status$ mod_gzip_item_include handler ^server-info$ mod_gzip_item_include handler ^application/x-httpd-php mod_gzip_item_exclude mime ^image/.* </ifmodule> # BEGIN Expire headers <ifmodule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 7200 seconds" ExpiresByType image/jpg "access plus 2592000 seconds" ExpiresByType image/jpeg "access plus 2592000 seconds" ExpiresByType image/png "access plus 2592000 seconds" ExpiresByType image/gif "access plus 2592000 seconds" AddType image/x-icon .ico ExpiresByType image/ico "access plus 2592000 seconds" ExpiresByType image/icon "access plus 2592000 seconds" ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType text/css "access plus 2592000 seconds" ExpiresByType text/javascript "access plus 2592000 seconds" ExpiresByType text/html "access plus 7200 seconds" ExpiresByType application/xhtml+xml "access plus 7200 seconds" ExpiresByType application/javascript A259200 ExpiresByType application/x-javascript "access plus 2592000 seconds" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" </ifmodule> # END Expire headers # KILL THEM ETAGS Header unset ETag FileETag none ###FILTRE CONTRE ROBOTS DES PIRATES ET ASPIRATEURS DE SITE WEB RewriteEngine On ## EXCEPTION: TOUS LES ROBOTS MEMES ANONYMES OU BANNIS PEUVENT ACCEDER A CES FICHIERS RewriteCond %{REQUEST_URI} !^robots.txt RewriteCond %{REQUEST_URI} !^sitemap.xml # compress text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript ## contrôle du cache navigateur - Expire headers <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 7200 seconds" ExpiresByType image/jpg "access plus 1 week" ExpiresByType image/jpeg "access plus 1 week" ExpiresByType image/png "access plus 1 week" ExpiresByType image/gif "access plus 1 week" AddType image/x-icon .ico ExpiresByType image/ico "access plus 1 week" ExpiresByType image/icon "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" ExpiresByType text/css "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType text/html "access plus 7200 seconds" ExpiresByType application/xhtml+xml "access plus 7200 seconds" ExpiresByType application/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType application/x-shockwave-flash "access plus 1 week" </IfModule> ## Mise en cache cache-control <IfModule mod_headers.c> <FilesMatch "\\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "max-age=2592000, public" </FilesMatch> <FilesMatch "\\.(css)$"> Header set Cache-Control "max-age=2592000, public" </FilesMatch> <FilesMatch "\\.(js)$"> Header set Cache-Control "max-age=2592000, private" </FilesMatch> <FilesMatch "\\.(x?html?|php)$"> Header set Cache-Control "max-age=600, private, must-revalidate" </FilesMatch>
si on regarde sur google chaque page du style : notresite.com/?p=223 à un titre : "welcome to notresite.com" et sa renvoie vers l'accueil.
Sachant que j'utilise également plesk.

Mammouth du PHP | 671 Messages

14 juin 2015, 14:37

google a trouvé ces liens, soit car il y a un bug dans ton site, qui a généré ces liens, soit un site externe fait des liens vers des urls avec ?p=223

Eléphanteau du PHP | 34 Messages

14 juin 2015, 15:18

Je pense également si quelqu'un aurait utilise mon domaine avant pour héberger un wordpress, google à peut etre cela en caché, y a pas un moyen de demander à google de pas indexer ce genre de liens.

Parqu'il y a des milliers de liens de ce genre : de ?p=1 jusqu'à ?p=3000 et autres.
Il y a egalement des liens en ?page_id= et ?cat=1

ViPHP
ViPHP | 5882 Messages

14 juin 2015, 15:33

Pour cela, pour les TLDs les plus courants (pas le .fr), vous pouvez vérifier sur l'outil suivant l'historique du domaine :
http://www.hosterstats.com/

Cordialement

Eléphanteau du PHP | 34 Messages

14 juin 2015, 16:19

Merci, d'après l'historique mon domaine à voyager beaucoup (de host en host) depuis 2002 (environ 15 changements de registrars)

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7268 Messages

14 juin 2015, 17:03

Je pense également si quelqu'un aurait utilise mon domaine avant pour héberger un wordpress, google à peut etre cela en caché, y a pas un moyen de demander à google de pas indexer ce genre de liens.
Regarde du côté de Google Search Console (nouveau nom de Google Webmaster Tools) : https://www.google.com/webmasters/tools/home?hl=fr
Tu peux y demander la suppression de certaines url.
Sinon une autre solution est de mettre un robots.txt avec la liste des urls concernées.
Dernière possibilité, faire de l'url rewriting avec un code HTTP 301 (redirection permanente) pour dire à Google que l'ancienne url n'existe plus et qu'il doit prendre la nouvelle.
Ou sinon, le plus simple, tu laisses ces url échouer vers des 404 et Google ferra le ménage en supprimant par lui même ces adresses...
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 34 Messages

14 juin 2015, 20:37

j'avais envisager cela mais il y a des milliers :

?p=1
?p=2
....
?p=2000

Comment faire pour les supprimer automatiquement?
Cordialement.

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7268 Messages

14 juin 2015, 23:08

Ça dépend de la solution que tu retiens parmi celles que je t'ai indiquées.
Si c'est de l'url rewriting, tu peux utiliser une expression régulière [0-9]+ pour représenter tous les nombres
Si c'est un fichier robots.txt, il faut effectivement que tu listes les url, à mon avis ça se fait en 3 lignes de codes en PHP pour générer la liste de 1 à 3000 avec une simple boucle for() à défaut, si tu ne veut pas coder une boucle for() pour générer ton fichier, tu peux faire ça dans Excel facilement en mettant 1 dans la première cellule et en étirant jusqu'à la 3000ème ;)
Quand tout le reste a échoué, lisez le mode d'emploi...