Articles taggés avec ‘titre’

Peaufinez les titres de vos billets si vous désirez être lus!

Monday 20 August 2007

Bon je l’avoue, c’est ma manière de fonctionner mais je pense bien que d’autres humains ou robots fonctionnent pareil, alors autant le dire haut et fort.

Je ne lis plus que les titres des billets dans mon aggrégateur. Pour pouvoir chaque jour “vider” mon petit Google Reader de ses messages et éviter ainsi d’être envahi de milliers de news. Avec plus de 300 fils à suivre, il m’est devenu impossible de lire l’ensemble de chaque billet. J’ai donc demandé à mon oeil de ne scanner plus que les titres. Dès qu’un titre m’allèche, je lis le billet et découvre bien souvent des perles.

Mais autant dire que les titres à la noix, olé olé ou vague comme un terrain, je ne les vois même plus. Donc si vous voulez être lu, soyez explicites et donnez envie.

;)

Tags: , , , ,

Tour d’horizon des titres qui marchent

Thursday 12 April 2007

Le billet Les titres… question de genre « écrire pour le web liste différentes manières de pondre des titres pour son blog mais pas seulement. Intéressant mais il me manque la conclusion suivante: est-ce que les titres directs sont moins bons que les titres indirects?

Je dirais les titres indirects sont meilleurs puisqu’ils titillent la curiosité. Mais en termes de référencement (et donc d’optimisation de la manière dont les visiteurs pourraient tomber sur un de nos billets) je dirais plutôt les titres directs contenant tous les mots-clés nécessaires.

Et vous, vous êtes plutôt direct ou indirect?

Tags: ,

Problème de réécriture des titres de billets

Monday 16 August 2004

Deuxième déception: après avoir créé un fichier .htaccess pour réécrire les URL de mon blog, je m’aperçois que les titres de mes billets comportant des accents se réécrivent mal…

Par exemple, le titre suivant: “Réécriture des URL du blog” devient “http://www.davidtouvet.com/blog/archives/2004/08/16/rcriture-des-url-du-blog/”. On remarque vite fait bien fait que les deux “é” ont disparu purement et simplement. De la magie, non, il ne semble pas, comme vous allez le comprendre.

En fouinant sur le support de WordPress, je suis tombé sur les messages suivants: “Trouble with permalinks and special caracters“. On y apprend avec stupéfaction qu’une fonction php (”remove_accents”) qui servait justement à gérer ce genre de situations n’est plus présente dans la dernière version de WordPress. Et là, je me suis posé la même question que “Marcos Vinicius”: “Why this function are deleted from newer version?”.

J’ai alors tenté une recherche sur Google pour trouver des informations relatives à cette fonction. C’est là que je suis tombé sur un site proprement hallucinant puisqu’il liste l’ensemble des fonctions de la prochaine version, la 1.3. J’ai donc retrouvé la fonction dans “wp-include/functions-formatting.php” que j’ai insérée dans mon fichier du même nom. Pour l’instant cela semble fonctionner, on verra si d’autres problèmes surviennent.

Voici les fonctions que j’ai ajoutées. La première étant appelée par la deuxième, j’ai jugé important de la prendre aussi:

function seems_utf8($Str) { # by bmorel at ssi dot fr
 for ($i=0; $i   if (ord($Str[$i]) < 0x80) continue; # 0bbbbbbb
   elseif ((ord($Str[$i]) & 0xE0) == 0xC0) $n=1; # 110bbbbb
   elseif ((ord($Str[$i]) & 0xF0) == 0xE0) $n=2; # 1110bbbb
   elseif ((ord($Str[$i]) & 0xF8) == 0xF0) $n=3; # 11110bbb
   elseif ((ord($Str[$i]) & 0xFC) == 0xF8) $n=4; # 111110bb
   elseif ((ord($Str[$i]) & 0xFE) == 0xFC) $n=5; # 1111110b
   else return false; # Does not match any model
   for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
    if ((++$i == strlen($Str)) || ((ord($Str[$i]) & 0xC0) != 0x80))
    return false;
   }
 }
 return true;
}

Puis, la fameuse fonction pour les accents:

function remove_accents($string) {
 $chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
 .chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
 .chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
 .chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
 .chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
 .chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
 .chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
 .chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
 .chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
 .chr(252).chr(253).chr(255);
 $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
 if (seems_utf8($string)) {
  $invalid_latin_chars = array(chr(197).chr(146) => ‘OE’, chr(197).chr(147) => ‘oe’, chr(197).chr(160) => ‘S’, chr(197).chr(189) => ‘Z’, chr(197).chr(161) => ’s’, chr(197).chr(190) => ‘z’, chr(226).chr(130).chr(172) => ‘E’);
  $string = utf8_decode(strtr($string, $invalid_latin_chars));
 }
 $string = strtr($string, $chars[’in’], $chars[’out’]);
 $double_chars[’in’] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
 $double_chars[’out’] = array(’OE’, ‘oe’, ‘AE’, ‘DH’, ‘TH’, ’ss’, ‘ae’, ‘dh’, ‘th’);
 $string = str_replace($double_chars[’in’], $double_chars[’out’], $string);
 return $string;
}

Puis vient la fonction “sanitize_title” que je n’ai pas touchée et enfin la fonction “sanitize_title_with_dashes” auquel j’ai dû rajouté une première ligne qui est justement celle qui nous intéresse puisqu’elle appelle la fonction “remove_accents”.

function sanitize_title_with_dashes($title) {
 $title = remove_accents($title);
 $title = strtolower($title);
 $title = preg_replace(’/&.+?;/’, ”, $title); // kill entities
 $title = preg_replace(’/[^a-z0-9 _-]/’, ”, $title);
 $title = preg_replace(’/s+/’, ‘ ‘, $title);
 $title = str_replace(’ ‘, ‘-’, $title);
 $title = preg_replace(’|-+|’, ‘-’, $title);
 $title = trim($title, ‘-’);
 return $title;
}

Tags: , ,