SAV de SUPINFO

9 avril 2009 § 3

Et une petite vidéo humoristique réalisée par des camarades de SUPINFO ! Et une !

http://www.dailymotion.com/videox8wzpe

Et je pense qu’ils ont raison, lorsqu’il n’y a plus d’espoir, il reste l’humour :)

Méthodes pour minimiser le duplicate content de la pagination des commentaires de WordPress 2.7 !

26 mars 2009 § 8

En regardant les erreurs de Google Webmaster Tools sur l’un de mes sites, je me suis rendu compte que j’ai un grand nombre de balises Title en double. En d’autres termes, Google considère que je fais du duplicate content.

En réalité, la source du problème vient de WordPress 2.7, cette nouvelle version a apporté une nouvelle API pour les commentaires, dont la fonctionnalité de pagination. Cette dernière est très pratique lorsqu’on a plus de 1000 commentaires de moyenne sur chaque article… ( ex: Bords de Pistes )

Prenons l’exemple de l’article « Top Chrono » que Lionel a rédigé, le lien de l’article est le suivant:

  • http://www.bordsdepistes.com/2009/03/21/top-chrono/

Vu qu’il y a 10 pages de commentaires, nous nous retrouvons avec 10 liens pour le même article:

  • http://www.bordsdepistes.com/2009/03/21/top-chrono/comment-page-1/
  • http://www.bordsdepistes.com/2009/03/21/top-chrono/comment-page-10/

10 pages où le titre, la description et le contenu sont les mêmes !

Autrement dit, nativement WordPress, qui est pourtant très bien optimisé pour le référencement, créé du duplicate content avec cette fonctionnalité. Un débat a eu lieu sur le mailing de WordPress, et plusieurs hypothèses ont été envisagé, petit résumé de la situation.

Les balises HTML méta

Une première solution aurai été d’ajouter une balise méta « no index, follow » à la page. Bien que cette méthode règle le problème du duplicate content, l’inconvénient est que Google ne référence pas le contenu de tous les commentaires et de ce fait, c’est potentiellement un moins bon positionnement dans Google vu que moins de contenu est référencé !

Utilisation de jQuery

Une autre idée aurait été d’utiliser jQuery pour faire la pagination, avec le plugin Tabs par exemple. L’intérêt est que fonctionnellement on obtient bien une pagination. Cependant, cette technique est peu ou pas accessible, il oblige le chargement de jQuery dans les thèmes WordPress et surtout il force à écrire la totalité des commentaires dans le code HTML. Lorsqu’on a plus de 1800 commentaires, cela peut vite devenir contraignant !

En pratique

Pour résoudre ce problème de façon concrète, j’ai trouvé 2 solutions. Les deux sont d’ailleurs compatibles et fonctionnent mieux ensemble.

Le contenu de l’article

En remplaçant le contenu de l’article par l’extrait et un lien vers le lien de l’article, on retombe dans le schéma classique d’une page listant des articles comme peuvent l’être les catégories ou les tags.

De cette façon, Google ne considère plus le contenu comme du duplicate content et les commentaires sont bien référencés tout en étant liés à l’article avec le permalien et l’extrait !

Pour faire cette modification, vous pouvez utiliser l’extension de Austin Matzko soit en utilisant son extension, soit en faisant un copier/coller de sa fonction directement dans le fichier functions.php de votre thème.

Le titre de la page

Malheureusement, la première méthode ne règle pas complètement le problème, le titre de la page HTML reste toujours le même sur chaque page de commentaires et cela gene Google. C’est là où rentre en jeu l’idée de Christian Schenk d’ajouter un suffixe au titre des pages de commentaires. L’astuce qu’il donne permet d’ajouter un suffixe à ces pages si vous utilisez l’extension All In One SEO Pack.

Pour y parvenir, il suffit de copier les 2 fonctions qu’il propose dans le fichier functions.php de son thème et de modifier le code de All In One SEO Pack pour permettre aux filtres de fonctionner.

On remarquera que la méthode n’est pas trop propre vu qu’on est obligé de hacker le plugin et comme c’est le genre de plugin qui est mis à jour toutes les 2 semaines, cela deviendra très rapidement pénalisant.

Mon extension : Simple SEO for Paged Comments

Afin de faciliter la résolution de ce petit problème, j’ai créé une petite extension qui utilise les 2 techniques données précédemment. A la différence près que le titre des pages de commentaires se verra ajouter un suffixe, et ceux sans nécessairement utiliser All In One SEO Pack (et encore moins le hacker). Théoriquement ma technique doit fonctionner avec tous les plugins SEO de la communauté.

Vous pouvez trouver la fiche de l’extension sur mon blog et prochainement sur WordPress.org.

Sources

Un peu de lecture en anglais ;)

Nouvelle API de Widgets pour WordPress 2.8, et un multi widget pour l’extension WP-Polls !

18 mars 2009 § 2

Alors qu’il n’y a pas encore de changements sur l’UI des Widgets, l’API de développement des Widgets a été revue ! Il est clair que pour les développeurs d’extensions et de Widgets l’ancienne API n’était pas à la hauteur pour la gestion des Widgets multiples…

Eh oui… Entre WordPress 2.3 et WordPress 2.7, l’API des widgets n’a pas bougé d’un pouce alors que l’ergonomie et l’apparence ont complètement changé… L’une des problématiques les plus courantes était dans le cadre de thèmes avec un grand nombre de sidebars… Et oui à part 2-3 Widgets (comme le texte) qui proposaient l’ajout multiple, on était vite coincé…

Par exemple, dans WordPress 2.7, il est impossible de placer un widget « catégories » sur 2 sidebars en même temps… Frustrant lorsqu’on souhaite gérer des sidebars différentes selon la vue (tags, archives, catégories…) où l’on se trouve !

Pour remédier à cela, il fallait créer des widgets multiples, autrement dit que l’on peut ajouter plusieurs fois, la problématique étant que peu d’extensions proposées ce fonctionnement, car plus compliqué à développer.

WP-Polls

C’est le cas par exemple de WP-Polls 2.40, une extension permettant de gérer des sondages, qui par défaut ne possède qu’un seul widget. Cela peut poser problème si vous souhaitez afficher 2 sondages sur 2 sidebars différentes.

Pour mes besoins pros, j’ai dû adapté cette extension afin de la rendre compatible multi widget, et ainsi pouvoir placer autant de sondages que le client souhaitait sur ces sidebars. Je mets par la même occasion à disposition le widget en téléchargement ci-dessous :

WP Polls Widget Multi v2.40 (à renommer en .php et placer dans le dossier « wp-content/plugins »)

Et voici un petit apercu de 4 widget « Poll » en place avec encore la possibilité d’en ajouter :

La version multi widget de l'extension WP-Polls

La version multi widget de l'extension WP-Polls

La difficulté de WordPress 2.7, c’est que l’API pour faire du multi widget est très rudimentaire et de ce fait pas évident à manipuler pour les développeurs d’extensions non confirmés…

Petite comparaison :

  • Mon widget multi de WP-Polls (WP 2.7) fait 240 lignes. (dispo ci-dessus)
  • Le même widget (quasiment) fait par l’auteur de WP-Polls avec l’API 2.8 ne fait plus que 75 lignes.

Évidemment lorsque l’API est optimisée, c’est tout de suite plus simple et plus rapide de créer du multi widget ;)

Contrairement à l’ancienne API qui n’était composée que de fonctions PHP classiques, la nouvelle API va faire plaisir au puriste PHP ! Et oui pour la première fois (ou presque), nous devrons étendre une classe existante de WordPress pour ajouter nos widgets, hop petit exemple :

class WP_Widget_Polls extends WP_Widget {

Sur ce rythme on ne pourra bientôt plus critiquer WordPress pour la qualité de son code ;) Bien entendu, tout cela reste compatible PHP4 ! (ce qui n’est pas un cadeau pour les développeurs de WP)

Je ne détaille pas plus ici l’utilisation de la nouvelle API des widgets, j’en reparlerai avec un cas pratique lors de la sortie de WP 2.8. Pour info, la discussion relative à la nouvelle API est disponible sur le trac de WP.

Traduction française du thème Carrington en version 1.3

17 mars 2009 § 15

Pour mes besoins perso, j’ai utilisé le thème Carrington (complexe, mais bien foutu quoi que l’on dise !) et je n’ai pas trouvé de traduction pour la version 1.3 du thème.

De ce fait, j’ai repris la traduction de la version 1.0 faite par l’équipe de l’Atelier Mammouth que j’ai mis à jour (5-6 nouvelles chaines). J’ai également changé certaines traductions (billets -> articles) et quelques fautes d’orthographe.

J’ai également viré le copyright de traduction, que je trouve assez inutile lorsqu’on utilise un fichier Po/Mo. Hop je mets à disposition les 2 fichiers PO et MO, ils sont à placer dans le dossier du thème « carrington-blog ».

WordPress 2.8 sortira en Avril !

13 mars 2009 § 16

Comme on pouvez s’en douter, l’équipe de développement a repoussé la sortie de WordPress 2.8 en avril.

2 raisons à cela, la première est que la version 2.7 à l’air de grandement satisfaire la communauté, la deuxième l’équipe de dev souhaite refondre complètement l’ergonomie de la page de gestion des Widgets.

WordPress Logo

Il est vrai que l’ergonomie actuelle des Widgets laisse à désirer, c’est tout sauf intuitif !
Et comme on parle de Widgets, d’un truc à la base dynamique et ergonomique, on reste un peu sur sa faim :)

Y’a pas que Tidy dans la vie pour nettoyer son code !

13 mars 2009 § 1

Tidy, pour rappel, est une librairie se présentant sous la forme d’une extension pour PHP. Elle permet de nettoyer, sécuriser, valider le code HTML.C’est une librairie très pratique lorsqu’on récupère un contenu HTML en provenance de Word par exemple.

Le problème de Tidy, c’est que généralement l’extension n’est pas activée sur les hébergements mutualisés !

Je suis tombé cet après-midi, en faisant des recherches pour une preg nettoyant le code HTML de MS Word, sur une alternative à Tidy écrit entièrement en PHP, j’ai nommé « htmLawed« . Comme le souligne l’auteur du script, les performances sont certes moins bonnes, mais on gagne en compatibilité vu que le script ne nécessite que PHP 4 !

Le script s’intègre d’ailleurs assez facilement avec WordPress, et il semble possible de remplacer le filtre KSES de WP sans trop de modifications. D’ailleurs, d’après ce que j’ai pu voir sur les forums de support de WordPress.org, un paquet de personnes milite pour le remplacement la vieillissante classe Kses par htmlLawed… On verra ;)

Pour ma part, j’ai rencontré quelques soucis avec les accents et l’encodage UTF-8, donc je reste prudent avec l’usage de htmlLawed !
Des personnes ont déjà essayé ?

Un sélecteur de date JavaScript très impressionnant et très joli

12 mars 2009 § 1

Je viens de tomber sur un script qui m’a l’air très bien foutu, accessible, complet, joli, ergonomique… bref du très beau travail.

Selecteur de date

Pour voir la bête, il suffit d’aller sur la page de l’auteur :
http://www.frequency-decoder.com/2009/02/03/unobtrusive-date-picker-widget-v4

Dommage que le script ne soit pas fait via jQuery, il aurait probablement été plus light, néanmoins il fonctionne sans librairie, ce qui est déjà très sympa en soit !

Je sais déjà où je vais l’utiliser ;)

Mise à jour vers WordPress 2.7.1, Solutions pour la notification de mise à jour récalcitrante !

10 mars 2009 § 6

Lors de la publication de WP 2.7.1, j'ai mis à disposition l'archive comprenant les fichiers modifiés sur WordPress Francophone. Malheureusement, il manque un fichier dans ce pack... ou plutôt il manque une ligne dans le fichier "version.php" !

La ligne à ajouter est la suivante :

$wp_local_package = 'fr_FR';

Elle permet de préciser la langue utilisée pour les mises à jour. Une fois le fichier modifié, vous devrez voir la notification disparaitre lors de la prochaine vérification de version de WordPress !

Si vous ne souhaitez ou ne pouvez pas faire la modification, n'oubliez pas qu'il est possible de masquer les mises à jour, pour cela il faut se rendre sur la page "Outils - Mettre à jour".