Tags Posts tagged with "tutorial"

tutorial

Fervent lecteur des articles de l’agence SEOmoz, spécialisé dans le marketing et le référencement de sites. J’ai découvert il y a peu de temps leur vidéos très intéressantes qui traitent des sujets de SEO.

Ces vidéos sont destinées à tout public, mais je dirais que des notions sont nécessaires afin de comprendre les différents sujets traités. Tout dépend bien sur des vidéos traités :) Pour info, SEOmoz est une agence américaine et donc toutes les vidéos sont en anglais.

Lien direct vers les vidéos.
Lien vers le blog avec un descriptif de toutes les vidéos.

Pour ceux qui ne connaissent pas encore l’agence SEOmoz, voici une petite explication par le CEO, sur lui, son agences, et quelques exemples:


Rand Fishkin CEO of SEOMOZ: The dark side has it’s benefits

Photoshop tout bon designer connait. L’inspiration et la créativité c’est autre chose. Pour vous donner quelques idées et un bon départ, voici une liste de tutoriels (en anglais) pour créer des menus de navigation et de recherche.

Enjoy.

Menu avec de jolies effets navigation1.jpg

Menu avec images et navigation intégré recherche4.jpg

Recherche façon twitter recherche3.jpg

Recherche moderne navigation6.png

Navigation par onglet recherche1.png

Navigation avec effet brillant navigation3.jpg

Navigation inspiré de chez Volkswagen navigation2.jpg

Jusqu’à présent je n’avais pas trop parlé technique. Aspect de ce blog que je souhaite développer à présent.

Aujourd’hui je vais vous montrer une technique que je trouve très efficace et très utile: Empêcher les robots spammeurs de vous prendre votre bande passante et de vous faire ralentir votre site et accessoirement de polluer vos commentaires (je dis accessoirement car il existe par exemple les captcha qui vous permettent d’y remédier). Le concept est très simple et m’a particulièrement séduit.

Si vous ne savez pas ce qu’est un robot d’indexation, plus communément appelé “web crawler”, je vous invite à lire la définition sur wikipédia.

Les basics:

  1. Les robots suivent les liens
  2. Les “bons” robots obéissent au robot.txt
  3. Un “mauvais robot” va suivre un lien qui a été banni par le robot.txt

Vous voyez ou je veux en venir ???

Voila la stratégie à mettre en place:

  1. Attraper le robot et
  2. l’empêcher d’accéder au site.

Oui mais comment faire ?

Etape 1: Crée un lien caché

Créer un lien caché vers une page du type monsite.com/avoid.php. Pour une meilleure efficacité inséré ce lien sur toutes les pages de votre site. Je recommande de cacher ce lien en css, car il sera compris facilement par les robots: Exemple:

<a href=”/avoid.php” style=”display:none;”>je vous ai eu</a>

Etape 2: Editer votre robot.txt

Pour ceux qui ne savent pas ce qu’est un robot.txt, faite un tour ici. Nous allons à présent interdire aux robots l’accès à cette page:

User-agent: * Disallow: /avoid.php

Etape 3: Enregistrez l’IP du robot qui accède à votre page

Notre piège est presque prêt. Sur la page avoid.php nous voulons sauvegarder les informations du robot qui accède à cette page.

voila le schéma de notre base de données:

CREATE TABLE `bad_robot` ( `ip` varchar(50) NOT NULL default ”, `useragent` varchar(200) default NULL, `date_ajout` datetime default NULL, `isDisallow` tinyint(4) NOT NULL default ‘0’, PRIMARY KEY (`ip`) )

L’IP du robot est la clé primaire de notre base. Je sauvegarde également le useragent qui me permettra d’avoir un peu plus d’informations sur le robot. La date d’ajout me permet d’avoir un historique et optionnellement un champs “isDisallow” qui m’indique si oui ou non on va interdire le robot. Ce dernier champs n’est pas obligatoire mais vivement conseillé. En effet il est préférable de faire une petite page d’administration qui vous permettra d’autoriser ou non l’accès au site. Il arrive que certains “bon” robot analyse quand même la page ou qu’un internaute y accède (cela voudrait dire qu’il est allé triffouiller dans le code :( pas bien). Libre à vous de faire comme moi.

Une fois la table crée il faut écrire le code (PHP en ce qui me concerne) qui va enregistrer ce robot dans la base. J’utilise la bibliothèque pear, très utiles pour vos développements PHP (mais cela n’est bien sur pas obligatoire).

< ?php require_once(”DB.php”); $db = DB::connect(”mysql://user:pass@localhost/database”); if (PEAR::isError($db)) die(”Could not connect to database”); $db->query(”insert into badrobots set ip=?, useragent=?, datetime=!”, array($_SERVER[’REMOTE_ADDR’], $_SERVER[’HTTP_USER_AGENT’], “now()”)); echo “Vous vous êtes fait avoir !!!! ”; ?>

Etape 4: Bannir les robots

La dernière étape va permettre d’empêcher les robots, qui ont été enregistré, à accéder au site. On peut l’interdire de différente manières:

  1. Interdire le robot en php
  2. Interdire le robot avec le mod_access de l’htaccess (Allow from.. Deny from..)
  3. Interdire le robot avec des règles de firewall

Je ne vais que parler de l’option 1 dans ce tutorial. L’option 2 vous oblige à éditer les règles manuellement. Et l’option 3 demande des configurations un peu plus poussés. Bien que l’option 1 soit moins performante (accès à la base) elle est toutefois très efficace et très simple à mettre en place.

< ?php // Connection à la db if ($db->getOne(”select count(1) from badrobots where ip=? and isDisallow = 1”, Array($_SERVER[’REMOTE_ADDR’]))) die(“Vous ne pouvez pas accèder à ce site, merci de contacter l’administrateur”); ?>

Voila votre piège est pret à fonctionner. Tout commentaire est bon à prendre. J’attends vos feedbacks et vos suggestions …

SOCIAL

486FansLike
222FollowersFollow