blog sur le développement web, jquery,css3, Magento, Symphony, php et bien d'autres choses

Archives de la catégorie ‘SEO & référencement’

La gestion d’un projet web

voici un article qui m’a fait bien rigoler, je l’ai trouvé sur ce site

gestion de projet web

  • Case départ 1 : Vous obtenez votre premier rendez-vous. Avancez en case 3
  • Case 2 : Re définition du périmètre du site dans le cadre de la nouvelle orientation stratégique. Allez en case 11
  • Case 3 : Rendez-vous chez le client. Compréhension de l’activité, définition des cibles du site et du périmètre du projet, recueil des attentes. Avancez en case 5
  • Case 4 : Explication sur la différence entre un vrai site sur mesure bien référencé et sécurisé fait par un professionnel et un CMS mal conçu bidouillé par bricoleur travaillant chez lui, le week-end, après le repas du dimanche midi chez belle-maman. Avancez en case 8
  • Case 5 : Rédaction d’un cahier des charges simplifié, estimation horaire du travail des intervenants, définition du prix. Rédaction et envoi du devis. Avancez en case 6
  • Case 6 : Appel du client. Votre concurrent me propose une boutique en ligne bien référencée pour 390,00 euros, soit 50 fois moins cher que vous ! Reculez en case 4
  • Case 7 : Explications. Le père Noël n’existe pas, le chef de projet, directeur artistique, graphiste, développeur, référenceur qui vont travailler sur le projet préfèrent recevoir un salaire ce mois-ci et la société doit aussi payer les charges et le matériel, ainsi que les logiciels, la formation continue, etc. Si vous souhaitez qu’elle soit encore là dans 1 an pour continuer à vous accompagner, avancez en case 10
  • Case 8 : Je souhaiterai payer 5% à la commande, 10% à la livraison et le solde sur 10 ans. Reculez en case 7
  • Case 9 : Monsieur le client, après vos décisions prises sans nous consulter, tout est à refaire, allez en case 30
  • Case 10 : Signature du contrat, 50 % d’acompte, solde à la livraison. Prise de rendez-vous de travail. Avancez en case 14
  • Case 11 : Négociation sur le budget nécessaire pour refaire les maquettes. Allez en case 19
  • Case 12 : Réunion technique avec tous les acteurs du projet chez le client, on répète ce que l’on a dit il y a 3 mois. Oui d’accord, tout le monde à compris. Allez en case 46
  • Case 13 : Incompréhension totale, tout a pourtant été fait dans les règles, fouillez encore et allez en case 20
  • Case 14 : Définition des expressions-clés pour le référencement, choix d’arborescence prévisionnelle du site, échange sur les attentes graphique. Avancez en case 15
  • Case 15 : Réunion de travail interne. Analyse concurrence, affinage expressions-clés, définition arborescence définitive, rédaction du cahier des charges définitif. Avancez en case 16
  • Case 16 : Proposition de maquette graphique au client. Avancez en case 21
  • Case 17 : Cher client, le noir clair, c’est du gris. On ne peut pas faire moins d’un pixel. Cette police n’est installée que sur 1% des ordinateurs, un menu en flash ruinera le référencement. Avancez en case 21 bis.
  • Case 18 : Proposition de nouveau logo. Avancez en case 22 (si c’est votre 77ème passage, allez directement en case 23)
  • Case 19 : Accord sur le budget, vous recommencez tout le travail et allez directement en case 40
  • Case 20 : Vous découvrez un duplicate content énorme de dizaines de pages avec le site du plus gros concurrent et 600 BL viennent d’apparaître dans Yahoositeexplorer, allez en case 26
  • Case 21 : J’aimerai du noir, mais plus clair. Les bordures d’un pixel, je voudrais qu’elles soient plus fines.  Je préfère que la police du site soit le « Warnock pro lght 2 bidule unknow ». Je préfère que le menu soit en flash. Reculez en case 17.
  • Case 21bis : Appel client. Nous venons d’être rachetés par un groupe étranger, il faudrait refaire notre logo et modifier la charte graphique globale en reprenant les couleurs bleue et jaune, reculez en case 18
  • Case 22 : C’est super, vraiment super, nous aimerions juste avoir quelques autres propositions. Retournez en case 18
  • Case 23 : On garde le premier logo proposé qui convenait parfaitement aux directives fournies (après avoir réalisé 60 versions supplémentaires). Allez en case 24
  • Case 24 : Refonte de la maquette graphique pour l’adapter aux nouvelles couleurs de l’entreprise. Allez en case 25
  • Case 25 : Validation du graphisme par le client, débouchez le champagne et allez en case 27
  • Case 26 : Client : Oui, nous avons trouvé que cela n’allait pas assez vite, alors nous avons souscrit à une offre d’inscription dans 3 milliards de moteurs de recherche… ARRRGH ! Allez en case 33.
  • Case 27 : Développement (codage) du site. Allez en case 28
  • Case 28 : Arrêt maladie du développeur pour crise de nerfs, après qu’il ait réussi, au bout de 3 jours, à afficher le panier dynamique sous Internet Explorer 6 (il est installé à la maison chez le client et il ne peut pas upgrader avec son XP piraté) . Avancez en case 29
  • Case 29 : Organisation d’une cérémonie vaudou pour maudire Bill Gates, son père, sa mère et tous ses descendants. Avancez en case 32
  • Case 30 : Négociation tarifaire sur les coûts relatifs au changement de domaine + recommencer les inscriptions annuaires, recontacter les sites partenaires, etc. Aller en case 49
  • Case 31 : Cher client, IE 6 date de 2001, depuis, il y a eu la version 7 , 8 et la 9 sort dans quelques jours… Allez en case 35
  • Case 32 : Livraison d’une maquette HTML des pages principales au client, allez en case 34
  • Case 33 : Disparition complète du site sur Google, même sur son nom de domaine, allez en case 43
  • Case 34 : Appel client. Les images n’apparaissent pas sous IE6,  le site ne s’affiche pas en entier sur l’ordinateur de mon père (résolution 640 X 580). Retournez en case 31
  • Case 35 : Appel client. Pour les cartes de visite, le fichier que vous m’avez adressé n’est pas du même bleu que le Pantone que je vous ai donné. Allez en case 37
  • Case 36 : Explication très longue sur le calibrage des écrans. Allez en case 39
  • Case 37 : Monsieur le client, un Pantone ne peut pas s’afficher sur un écran d’ordinateur, c’est techniquement impossible. Allez en case 38.
  • Case 38 : Appel client. Le bleu de la charte graphique n’est pas le même sur mon ordinateur et sur celui de ma collègue, pourquoi ? Retournez en case 36
  • Case 39 : Appel client. Suite au rachat de notre société, le directeur marketing à changé, il souhaite revoir la stratégie de communication. Retournez en case 2.
  • Case 40 : Livraison du module d’administration du site, formation du client. Allez en case 42
  • Case 41 : C’est normal, regardez le mode d’emploi, les navigateurs n’acceptent de lire que les .jpg, .gif et .png. Allez en case 44
  • Case 42 : Appel client. Les images au format .tif  ou .eps que me donne le service communication ne s’affichent pas sur le site lorsque j’utilise votre outil pour insérer les produits dans la boutique. Retournez en case 41
  • Case 43 : Après la sandbox, le blaklistage est confirmé, retournez en case 9
  • Case 44 : Appel client. Maintenant le site est tout petit sur mon nouvel écran 30 pouces en 2560pixels de large, pourquoi ?  Retournez en case 12
  • Case 45 : Validation du site sur DMOZ…(pfiou…2 ans)  retournez en case 1 tout de même
  • Case 46 : Transfert du nom de domaine, foirage systématique du zonecheck (.fr) arrachage de cheveux, ça marche enfin, allez en case 47
  • Case 47 : Explication de la configuration d’un mail sur Outlook, pétage de plomb, envie de meurtre, re-cérémonie Vaudou pour maudire Bill Gates sur 2000 générations, ça marche enfin, passez en case 50
  • Case 48 : On vous l’a expliqué 1000 fois, on ne positionne pas un site en 1 semaine, cela prendra au moins 3 mois, si vous voulez être présent demain matin, faites de l’Adword. Allez en case 55.
  • Case 49 : Tout le travail à été refait (5 mois de perdus en terme de référencement…) allez en case 61
  • Case 50 : Mise en ligne définitive, champagne, facture du solde du site. Allez en case 51
  • Case 51 : Inscription du site sur DMOZ, patientez… et allez en case 52
  • Case 52 : Approche de sites à thématique similaire, tractations de marchand de tapis pour les échanges de liens, allez en case 53
  • Case 53 : Inscription dans 10 annuaires de qualité par semaine + CP + buzz + conseil sur les articles du blog du client. Aide à la rédaction des pages produits supplémentaires. Allez en case 54
  • Case 54 : Appel du client, mon site n’est pas encore premier sur mon expression-clé principale, retournez en case 48
  • Case 55 : Oui mais Google me demande 100 fois plus cher que vous pour votre référencement naturel, et en plus ce n’est pas durable. Allez en case 56
  • Case 56 : Explications. Le père Noël n’existe toujours pas et Google c’est tout sauf le père Noel, allez en case 57
  • Case 57 : Positionnement du site sur une cinquantaine de requêtes majeures après 1 mois, vous êtes content, pas le client.  3 heures d’explications. Allez en case 58
  • Case 58 : Positionnement du site sur les 4 requêtes les plus concurrentielles + effet de longue traine très efficace, vous êtes content, pas le client, cela ne va pas assez vite à son goût (3 mois c’est trop long). Allez en case 60
  • Case 59 : Cette case ne s’affiche pas sous IE6, changez de navigateur bordel !
  • Case 60 : Disparition du site de Google !!! On ne le trouve plus que sur des phrases de 4 lignes, retournez en case  13
  • Case 61 : Relance pour le règlement du solde du site et des prestations complémentaires, allez en case 62
  • Case 62 : Règlement de vos factures après coupure du site et de tous les mails du client qui allait perdre chaque mois 30 fois le montant de votre facture, allez en case 63
  • Case 63 : Deux ans passent, le site tourne à plein tube, le CA du site a quintuplé, vous avez fait un boulot formidable, Allez en case 64
  • Case 64 : Appel du stagiaire marketing (fils du PDG). Papa n’aime plus le nom de domaine !!! Suicidez-vous ou retournez en case 1 ou case 45

générateur d’url rewriting et tutoriel sur comment construire une url rewriting

logo seo url rewriting

Pour ceux qui s’intéresse un peu au SEO, il est primordial d’avoir des urls claires. je m’explique :

prenons l’exemple de l’url dynamique classique suivante :

http://monsite.fr/index.php?param=toto&param2=tata&param3=tutu

afin d’être plus lisible on pourrait la transformer ainsi:

http://monsite.fr/index.php/param/toto/param2/tata/param3/tutu

pour ceux qui ne sont pas très à l’aise avec la réécriture voici un petit outil online d’url rewriting tool : disponible ici

ce site dispose également de nombreux outils SEO  gratuits

et pour ceux qui aiment savoir ce qu’ils sont en train de faire, voici un tutoriel assez bien expliqué sur l’url rewriting

référencement web : optimiser son site pour le nouvel algorythme Google PANDA

logo google panda

Pour ceux qui ne savent pas bien ce qu’est et ce qu’apporte l’algorythme google panda je vous laisse d’abord lire cet article qui vous en dira un peu plus sur cette technologie. présentation google panda

Pour ceux qui connaissent déja Google Panda voici un très bon article SEO qui vous expliquera comment faire en sorte que votre site internet soit PANDA Friendly ^^. bref comment organiser le contenu de votre site internet afin qu’il soit bien référencé et repérer comme site intéressant par l’algorythme Google Panda.

Optimiser son site pour google Panda

détecter le passage d’un bot / robot sur votre site en php

google bot detection with php

voici un début de code qui vous permettra si vous le désirez de savoir quand votre page à été visitée par un bot de moteur de recherche du genre google search bot.

$moteurs = array("bot", "search", "google", "msn", "yahoo", "slirp", "aol");

foreach ($moteurs as $moteur){

if (strstr(strtolower($_SERVER['HTTP_USER_AGENT']), $moteur)){

$refisbot = 1;
break;
}
}
if(isset($refisbot))

{

// enregistrement de la date et l’heure et le nom du bot dans un fichier texte.

}

et le tour est joué

problème entre smarty et le code javascript de google analytics:syntax error: unrecognized tag ‘var’

google analytics

smarty logo

première solution

si vous avez un site fonctionnant avec smarty et que vous essayer d’inclure le code javascript fournit par google pour faire le suivis de ce dernier via google analitycs vous avez peut être le problème suivant:

une grosse erreur smarty qui contient le texte suivant entre autre : syntax error: unrecognized tag ‘var’

Pour éviter cela il suffit de copier le code javascript de google analytics dans un fichier javascript vierge (n’oublier pas de virer les balises script :D) et ensuite dans votre header juste avant la balise fermante</ head> de copier le lien vers ce script js

<script type="text/javascript" src="{$baseurl}/js/analytics.js"></script>

par exemple.

et le tour est joué!

 

seconde solution

très bonne remarque de monsieur Nicolas Vincent ;)

utilisez les balises {litteral}{/litteral} de smarty pour copier votre code directement dedans.

Du nouveau dans la balise meta html

On connaissait les balises meta suivantes:

à mettre entre les balises <head></head>

  1. <title>Titre de votre site</title> pour le titre de votre site
  2. <meta name="publisher" content="nom"> pour spécifier le nom du propriétaire du site
  3. <meta name="keywords" content="Les, mots,  clés, ici">  pour ajouter les mots clefs en lien avec votre site
  4. <meta name="reply-to" content="email"> pour spécifier l’adresse mail principale du site
  5. <meta name="category" content="nom"> permet de spécifier la catégorie à laquelle appartient votre site
  6. <meta name="robots" content="valeurs1,valeurs2"> permet d’autoriser ou non les robots qui crawl votre page content peut prendre plusieurs valeures:
  • index (La page sera indexée par le robot)
  • noindex (La page ne sera pas indexée par le robot.)
  • follow (Les liens contenus dans la page seront indexés.) < super important
  • nofollow (Les liens contenus dans la page ne seront pas indexés.)
  1. <meta name="distribution" content="valeur"> Cette balise META définit la destination (public) de vos documents présents sur votre site Web.elle peut prendre 3 valeures:
  • global :  Accès Web
  • local :    Accès uniquement en local
  • iu :        Accès Intranet
  1. <meta name="Description" content="Description de votre site…"> balise importante, description du site.
  2. <meta name="revisit-after" content="nombre"> Permet de spécifier au spider (robot du moteur) de réindexer votre site suivant l’intervalle en jours donnée.
    – 15 days" ou "30 days" sont les meilleurs compromis.
  3. <meta name="author" lang="fr" content="prénom nom"> pour renseigner l’auteur du site
  4. <meta name="copyright" content="nom"> copyrighter votre site
  5. <meta name="identifier-url" content="url"> spécifie l’url du site, à mettre uniquement sur votre page index

2 nouvelles balise meta viennent d’arriver

<meta name="original-source" content="http://www.example.com/burglary_at_watergate.html""&gt;

permet de spécifier la page source d’ou provient l’article contenu dans la page qui contient cette balise.

<meta name="syndication-source" content="http://www.publisherX.com/wire_story_1.html"&gt;

balise a specifier quand vous prenez du contenu existant sur un site. cette balise doit être présente sur le site source et le site client

redirection et astuces pour votre fichier htaccess apache

Quelques astuces pour votre fichiers .htaccess de votre serveur apache

Paramétrez votre fuseau horaire

SetEnv TZ Europe/Paris

Redirection 301

La redirection 301 est la meilleure technique de redirection quand une page a changé d’adresse et que vous souhaitez que les moteurs de recherche remplace l’ancienne adresse par la nouvelle dans leur index.

Redirect 301 http://www.un-meilleur-referencement.fr/index.php http://www.un-meilleur-referencement.fr/

Désactiver la boite de dialogue pour les téléchargements depuis votre site

En effet si vous mettez en téléchargement des documents sur votre site, il est probable qu’une boite de dialogue s’ouvre pour vous demander si vous voulez ouvrir le fichier ou le télécharger. grace à cette ligne de code, le document sera téléchargé d’office.

AddType application/octet-stream .pdf

AddType application/octet-stream .zip

AddType application/octet-stream .mov

éviter les www

ces lignes permettent de rediriger les adresses qui ne contiennent pas de www vers votre site

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.judo-club-peronnas.fr [NC]
RewriteRule ^(.*)$ http://judo-club-peronnas.fr/$1 [L,R=301]

La classique custom page error ou page d’erreur personnalisée

si vous avez un dossier error a la racine de votre site qui contient vos page d’erreur voici ce qu’il faut inscrire dans le fichier .htaccess

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

Compression des fichiers

optimiser le temps de chargement de votre page en compressant les fichiers qui entrent en jeux dans sa composition.

# 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

Mise en cache des fichiers

encore un moyen d’optimiser le chargement de votre site internet, la mise en cache des fichiers.

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

et pour éviter la mise en cache de certains type de fichiers:

# explicitly disable caching for scripts and other dynamic files
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>

Protection contre le hotlinking

certaines personnes emprunte des images pour leur site web qui sont hébergées sur votre serveur web. cela peut agacer car si tout le monde fait comme ça bonjour les performances voici donc le code pour éviter le hotlinking.

RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?un-meilleur-referencement.fr/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

Prévention contre le hacking

pour prévenir toutes tentatives de hack depuis certaines URL bizard.

RewriteEngine On

# proc/self/environ? no way!
RewriteCond %{QUERY_STRING} proc/self/environ [OR]

# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]

# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]

# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]

# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})

# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]

Bloquer l’accès à votre fichier .htaccess

# secure htaccess file
<Files .htaccess>
order allow,deny
deny from all
</Files>

# prevent viewing of a specific file
<Files secretfile.jpg>
order allow,deny
deny from all
</Files>

# multiple file types
<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Order Allow,Deny
Deny from all
</FilesMatch>

Renommer votre fichier .htaccess pour éviter qu’il soit repéré

AccessFileName htacc.ess

Eviter l’affichage et le listing de vos répertoires sur votre site

# disable directory browsing
Options All -Indexes

# enable directory browsing
Options All +Indexes

Assigner la page d’index par défaut de votre site internet

DirectoryIndex travaux.php

Bloquer certain visiteur en s’appuyant sur leur domaine

# block visitors referred from indicated domains
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR]
RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]
RewriteRule .* – [F]

</ifModule>

Bloquer l’accès à votre site de certains bot en fonction de leur header

# block visitors referred from indicated domains
<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
</ifModule>

Sécuriser l’accès aux dossiers en désactivant l’éxécution de script sur ceux-ci.

# secure directory by disabling script execution
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI

voila en èspérant que cet article aura éclairer votre lanterne pour la confection des fichiers .htaccess ainsi que certains paramètre de celui-ci. vous pourrez par exemple inclure ce genre de fichier htaccess chez ovh.

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 295 autres abonnés