13/12/2017

Mon site est hacké, que faire pour désindexer les mauvaises url ? #SEO

Comment corriger le hack japonais ?


Tout site peut être la cible de pirate, ne croyez pas que c'est obligatoirement par wordpress, mais c'est un des cas que l'on rencontre souvent parcque c'est l'une des solutions numéro 1 dans le monde.

Pourquoi les japonais veulent hacker mon site ?

Pour gagner des sous en affiliation, pour vous demander une rançon, parcqu'un script kiddy a un script qui détecte votre version de wordpress et sait qu'il y a une faille spécifique, pour plomber votre ranking si c'est un concurent qui vous le fait. Bref y'a pleins de raisons, et ça peut arriver à tout le monde.

Comment limiter les hacks sur son site ?

Le site est hacké, pas faute d'avoir mis à jour le core de wordpress, mais il faut aussi le faire pour le plugin, et si vous avez un thème, il faut s'assurer que le thème n'ai pas de faille, et surtout que lorsque vous mettez à jour, le thème enfant ne soit pas copié collé en entier pour prendre en compte les modifications du thème parent.

Le thème enfant se retrouverait alors avec des fichiers qui ne sont pas patché pour ladite faille de sécurité. Je ne vais pas vous parler des techniques de hacking, mais de quoi faire une fois que vous avez nettoyé ou fait nettoyé.

Cette technique s'applique a wordpress, mais également à magento (même si j'ai arrêter de faire du magento) le système d'héritage c'est bien pour éviter que le site soit planté lors d'une mise à jour, mais si des fichiers sont vulnérable dans votre thème enfant, c'est aussi une porte d'entrée.


Google et le hacking quelles ressources ?


Je remercie Vincent Courson que je place vraiment au dessus de Muller chez google parcqu'il va plus loin que l'info de base et il y a du tech derrièr, et en plus il m'a répondu à 1h du matin.

Quelques technique de hacking sur votre wordpress

Donc le site se fait hacker par un japonais, il s'en fout de savoir si vous avez un wordpress. Il va vous injecter un en-tête dans le header encodé base64 pour faire des 301 vers une autre url qui sera chargée dynamiquement en lisant différents fichier txt disséminé sur d'autres sites hacké via des short url.

Il aura sûrement pris soin d'uploader un loader ftp qui va lui permettre d'injecter un fichier à la racine ou aller modifier des fichiers en les faisant réécrire avec les droits apache, et il peut même faire ça par une injection sql en allant faire chercher des fichiers externes à installer sur le site. Et pour couronner le tout, il va se créer un fichier de validation pour accéder à la google console où il pourra faire ce qu'il veut si vous n'y faite pas gaffe, comme vous virer de la propriété, et soumettre son sitemap.

Donc vous vous retrouvez avec une mini boutique et si vous étiez japonais vous changeriez complètement l'objet du site pour vendre ce qu'il vendait en contrefaçon directement avec la marque parcque vous seriez sûrement 1er dans google sur la plupart des requêtes.

Oui mais non, vous avez une entité, c'est votre fierté, donc vous avez identifié d'où venait le hack, mais lorsque vous faite site:monsite.com vous avez toutes les urls qui certes sont en 404 mais apparaissent toujours dans google.

En prime vous aurez le petit messsage indiquant que votre site a été hacké, et une petite pénalité manuelle. Le petit malin a même installé à la racine un sitemap à la racine et créé pleins d'url aspx à la volée. Total : 200 000 résultat lorsque je fais site:lesite.com

Comment savoir si vous avez été hacké ?

La commande "site:" permet de voir les url que google connaît de votre site.

site:votresite.com

Si vous voyez des url bizarres, ou des contenus qui ne sont pas de votre site, c'est que vous êtes probablement hacké. Si google s'en aperçois, vous aurez un message dans la google console, et un message indiquant aux internautes que vous avez été hacké ou que le site est pas sécurisé. Google vous donnera la procédure pour déclarer que le site n'est plus hacké.

Comment nettoyer le site d'un hacking ?

1ère étape : Supprimer le hack du site
2ème étape : Envoyer un message indiquant que vous avez bien nettoyé le site, et faire les check nécessaire pour le prouver
3ème étape : supprimer les urls indésirables

1ère étape : supprimer le hack du site

Checker si votre site est hacké

VirusTotal, Aw-snap.info, Sucuri Site Check et Quttera


Faites appel à un professionnel si vous n'y connaissez rien au code, une fois nettoyé, installez wordfence pur savoir quand des fichiers sont modifiés sur votre site et voir les utilisateurs qui s'y connectent à partir de quel endoit.  Vérifier les fichier php principaux, dans wordpress :
index.php, wp-load.php, 404.php et view.php, header.php. Si vous avez du code php qui commence par eval, c'est pas bon, si vous avez dedans le mot clé base64 aussi, essayez de décodere avec des outils en ligne qui permettent de décoder le base64, vous verrez quelle est l'url renvoyée à google.

Google a mis en place des outils pour faire un check (site:, explorer comme google, outils pour webmasters)

https://support.google.com/webmasters/troubleshooter/6155978


2ème étape : Avertir google que vous avez patché le site

Dans la search console au niveau du message qui vous indique que le site est hacké, vous cliquez sur le bouton pour dire à google de virer la mention. N'hésitez pas a détailler tout ce que vous avez fait : mise à jour du core, mise à jour du thème, changé tous les mots de passe, etc. Vérifiez que le hacker n'a pas créé un compte dans la google console. Vérifiez votre fichier htaccess, il peut y avoir du cloaking dedans.

Conseil pour la validation pour la google search console 

Pour la validation du compte, évitez la validation par l'insertion du fichier html a la racine et celle avec l'en-tête dans le header, vu que le hacker y a accès, faite une validation par DNS.

3ème étape : désindexer les url indésirables

Donc j'ai posé la question à Vincent Courson de chez google et je mettrais en avant l'effort d'organiser des hangout mensuel pour répondre à toutes les questions qui lui sont posées.


Je savais qu'il fallait envoyer de la 410 pour que ça ailles plus vite, mais le problème c'est que j'ai 200 000 résultats pour un site qui doit avoir 200 pages.



On a donc pas de sitemap pour répertorier les url qui sont absente pour demander au moins la désindexation temporaire, mais je doute que 200 000 url ce soit bien mangé par google.

Dans mon malheur, j'ai la chance qu'il se soit servi d'un sous-répertoire qu'il a créé. Si c'est à la racine, c'est grosse galère pour vous.

Donc autre solution, renvoyer une 410 pour toutes les url qui sont dans ce sous-répertoire

A mettre dans le htaccess

Redirect gone /nomrepertoire(.*)/


Donc Etape 1







Il y a une doc spécifique pour le hack japonais chez google

https://developers.google.com/webmasters/hacked/docs/fixing_the_japanese_keyword_hack


Passer de Http à https


Ma solution plutôt que de s'embêter avec les url japonaise en attendant, c'est de redonner confiance à google.

Passage de http à https, cela ne va pas vous protéger si un hacker a déja posé un script et qu'il y fait appel de l'extérieur, mais en tout cas les données seront cryptées et si il y a un appel extérieur, vous ne verrez plus le cadenas en vert, et c'est déja un petit signal.

Déclarer les erreurs 404 en 410


Je vous passes les redir du http vers https, par contre il va falloir faire quelque chose pour les 404. A priori les 404 c'est la même chose pour google à un détail près, c'est qu'une erreur 404 google va revenir régulièrement pour voir si la page est revenue, avec une 410 on lui dit que l'url est définitivement supprimer, et parfois il désindexe.





Redirect Gone


Astuce donnée par RaphSEO




Setup 410 Error Pages

The best way to set up the 410 error pages on Apache servers is to call the default 410 HTTP server response. Here is what we added to our .htaccess file in the root of the server.

Redirect gone /path/path/folder/
ErrorDocument 410 default

Note always keep a backup of .htaccess file before editing it as it a avery powerful file and can take your site offline if incorrectly configured. It is important you add the path of the content folder and not the full http:// url.

So now when you visit these pages, you get the default 410 error page from the server

Patch rapide pour supprimer les url japonaises

Déclarer la liste des url a supprimer. Il faudra que vous fassiez un scrap pour récupérer les url. je vous conseille d'afficher les résultats par 100 dans les paramètres google. Ah et voilà comment être en 1ère page contractuellement avec vos clients (ok c'est une blagounette douteuse)

Voilà avec ça on empêche au moins l'affichage des mauvaises url pendant 3 mois



Attention parcque si on disallow pour le robots.txt, il crawl plus. Donc je vais d'abord faire mes 410, faire mon recrawl et ensuite je bloquerais et déclarerais les pages a faire disparaître.

Empêcher l'accès à la page par mot de passe, mettez no Index et permettez le crawl


Pour empêcher définitivement une page de s'afficher dans nos résultats de recherche, supprimez la page de votre site, protégez-la avec un mot de passe ou ajoutez une balise NOINDEX à cette dernière et autorisez Googlebot à l'explorer.




Dans mon cas je dois faire disaraitre tout ce qui est dans un répertoire

Google fera disparaitre l'url plus toutes les variantes avec ou sans "www" et http/https


Voilà j'en ai pour 3 mois de tranquilité, et la suit au prochain épisode pour récupérer ses positions initiales dans google (oui un hack a un impact sur le référencement)

Je teste tout ça et je vous fait un retour bientôt