WordPress : un thème enfant pour "Twentyten"

Dans la lignée du précédent article WordPress SEO sans Plugin et comme promis, le chef vous a mijoté, une  bonne petite recette pour réussir un bon petit blog WordPress optimisé SEO aux petits oignons.

Au menu cette semaine encore du code, mais également pour le dessert :
un thème enfant made in AxeNet pour "Twentyten" à télécharger et prêt à déguster.

Suivi et mises à jour du thème "axenet-twentyten" :

05/04/2013  nouvelle version v3.0.2 -  corrections mineures : détail
10/02/2013  nouvelle version v3.0.1 -  corrections mineures : détail

Les inéluctables mises à jour de WordPress

Si votre stratégie en matière de positionnement s'appuie sur une communication véritable de type pyramidale (avec plein de blogs thématiques en guise de pierres), elle se doit de reposer avant tout sur de stables, solides et pérennes fondations.

Assurer régulièrement les mises à jour de vos solutions open-source est par conséquent un fondamental : si vous ne voulez pas vous retrouver à terme avec des "châteaux de cartes" en guise de pyramides.

Chaque mise à jour doit être complète :  j'entends par là que si vous avez codé dans le core (c'est mal) toute mise à jour devient alors impossible, partielle ou trop laborieuse (=> château de cartes). Si votre thème est entièrement recodé de partout : vous passerez à côté des correctifs de failles d'affichage dans le thème (c'est dangereux => château de cartes).
Afin de palier à cette problématique, WordPress, Prestashop et compagnie proposent des techniques dites de surcharge (override) des class, des thèmes, etc. permettant de réduire (en partie) l'éternel dilemme :  customisation / mises à jour.

Faites un enfant au thème parent Twentyten de WordPress

Les mises à jour de WP concernant à la fois l'application elle-même et le thème parent, vous avez tout intérêt à utiliser et customiser un thème enfant.

Nous avons opté pour le parent "Twentyten" que nous laisserons bien évidemment vierge de toute modification, afin de pouvoir en un clic le mettre régulièrement et complètement à jour. Le thème enfant contiendra lui seul toutes les customisations nécessaires.

Notez bien que le thème enfant que nous vous proposons est avant tout bâti pour "la course" (pour des blogs destinés au référencement). Il est volontairement épuré, avec un code très centralisé, ceci afin de réduire les temps de mise en œuvre et de maintenance.

Important : le kit que nous proposons ci-dessous en téléchargement est "brut de pomme". Évitez donc de le tester sur votre blog en production : travaillez de préférence en local ou sur un domaine de test. Nous ne prétendons pas ici fournir un thème "clé en main" et finalisé, mais plutôt une trame destinée à celles et ceux qui souhaitent (avec les connaissances nécessaires) en comprendre le principe, l'utiliser comme base ou pourquoi pas se lancer dans le développement de leur propre thème enfant.

Notez que ce kit optimisé SEO contient quelques astuces WordPress contre la duplication.

  1. Lisez attentivement l'article en entier afin d'avoir une vue complète de ce qui vous attend et prenez vos précautions : sauvegardez wp-config.php, tout le dossier wp-content ainsi que votre base de données, invitez un ami développeur à dîner...
  2. Téléchargez le thème enfant : wp-axenet-twentyten-child-theme-v3.0.2.zip
  3. Une fois dézippé, placez-le dans le dossier wp-content/themes
  4. Activez-le en admin et glissez-déposez quelques widgets (Recherche, Articles récents, Catégories, etc.) dans la "Zone secondaire de widgets".
  5. Ajoutez une page vide en admin "Plan du site" avec le permalien "plan".

Le thème enfant d'AxeNet : il marche comment ?

Nous allons dans ce qui va suivre donner quelques explications sur nos choix et le code des fichiers contenus dans notre thème enfant "wp-axenet-twentyten-child-theme".

Nos amis développeurs sont donc cordialement invités à ouvrir dans leurs éditeurs de code préférés, un par un, les fichiers suivants :

1) style.css :

@import url("../twentyten/style.css");

Après les premiers commentaires de la feuille de style, c'est principalement cette ligne de code qui permet de déclarer Twentyten comme le thème parent de notre thème enfant.

Cette feuille de style contiendra ensuite toutes les spécificités en matière de personnalisation css de notre blog. Elle aura également le rôle de surcharge (override) des css du thème Twentyten que nous souhaitons modifier ou écraser.

Explications, conseils et recommandations générales:

Le principe : chaque fichier présent dans le thème enfant vient écraser (remplacer) automatiquement le fichier du même nom du parent. Les fichiers style.css et functions.php font exception à cette règle : ils ajoutent ou modifient respectivement seulement certaines class ou fonctions, sans écraser complètement le fichier parent. Cela permet de modifier ou d'ajouter une nouvelle fonction sans toucher à l'ensemble du fichier functions.php du parent.

Tout l'intérêt de cette technique du thème enfant n'a de sens que si vous restez le plus économe possible dans la personnalisation. Si vous allez trop loin en recodant 90% du fichier function.php par exemple : vous vous retrouverez avec le même problème de sécurité/mises à jour que sans thème enfant !
Résistez donc aux sirènes des développeurs de l’extrême, en refusant d'ajouter une fonction sensible à votre thème enfant, pour une modif dont vous pouvez finalement vous passer. Personnellement j'essaie de ne pas toucher aux fonctions relatives à la sécu (formulaires, fonction d'affichage des commentaires, etc.)

En ce qui concerne les css, vous pouvez toutefois ne pas y aller avec le dos de la cuillère, puisqu’ils n'ont pas d'impact sur la sécurité.

Ne modifiez que le strict nécessaire et mieux : supprimez dans les fichiers de votre thème enfant les lignes de code qui ne vous sont pas indispensables. Une ligne de code supprimée ne nécessite aucune veille ni aucune mise à jour (voir l'exemple dans : 2) header.php : l'image du header administrable).

 2) header.php

Nous retrouvons implémentés le code cette fois complet, avec les astuces SEO pour les title et metadescription via les champs personnalisés expliqués dans le précédent article WordPress SEO sans Plugin, le tout mis à jour, mieux organisé et optimisé pour l'occasion.

Des explications importantes de l'article précédent se trouvent ici :
1) title et metadescription avec les champs personnalisés

Vous saisissez directement dans le code de header.php vos title & metadescription pour la homepage et disposez en plus de 2 constantes SEO pour le titre et le petit texte de présentation affichés par sidebar-right.php. Vous bénéficierez ainsi d'un h1 pour la homepage, ce titre passant automatiquement en h2 pour les autres pages. L'usage de constantes vous permettra de déplacer ce petit système où bon vous semble...

En comparant avec le header.php de Twentyten : vous remarquerez que s'il est cette fois "complet", nous avons néanmoins supprimé le code que nous n'utilisons pas (l'image du header administrable par exemple).

 3) 404.php - archive.php - author.php - category.php - index.php - page.php - search.php - single.php - tag.php

Tous ces fichiers contiennent seulement ce code :

<?php
get_template_part('loop');
?>

La stratégie consistant à rediriger toutes ces pages directement vers loop.php nous permet de centraliser sur cette dernière le code pour tous les types d'affichage !

Avant je les supprimais du thème tout simplement. Chose que nous ne pouvons plus faire avec la technique du thème enfant (à moins d'être amené à  les supprimer dans Twentyten à chacune de ses mises à jour).

Une fois encore, il est bon de rappeler que l'objectif que nous nous fixons ici est de réaliser des blogs simples, faciles à maintenir avec le moins de code possible. Si certaines de ces pages vous sont utiles, il vous suffit de les supprimer* ou de les remplacer par les vôtres.

* une page absente du thème enfant est automatiquement "remplacée" par celle du parent.

 4) attachment.php

Bien qu'utiles à certains, nous avons décidé pour nos blogs "spartiates" à vocation principalement textuelle de zapper également les fichiers "attachment" relatifs aux médias. Ayant eu des soucis de duplicate-content dans le passé, nous avons même appliqué une 301 pour être tranquilles.

<?php
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: '.get_permalink($post->post_parent));
?>

5) loop.php

Toujours avec l'objectif de centraliser le code, nous avons transformé loop.php en véritable "couteau suisse" de l'affichage pour notre blog.

De base Twentyten ne contient rien moins que 4 loop et plein de pages à la fois différentes et similaires... Loin de moi l'idée de critiquer cette stratégie des développeurs de WP, elle a bien évidement sa raison d'être sur d'autres projets plus ambitieux en terme de développement qu'un simple blog rendu volontairement basique.

Nous avons un peu amélioré la partie recherche, laissé de quoi rapidement passer de 2 à 3 colonnes*, inclus un petit sitemap perso, etc.

* un autre avantage de cette organisation (on dé-commente ou  commente quelques lignes, un coup de css et hop c'est prêt !)

Vous constaterez que ce remaniement pas si méchant finalement, ne repose que sur quelques astuces d'aiguillages basées sur les marqueurs conditionnels de WP (avec un peu de customisation perso).

En ce qui concerne l'aspect maintenance, en cas d'évolution majeure de WordPress, quelque soit la stratégie choisie : il nous faudra bien de toute façon un jour où l'autre remettre la main à la patte... Pour ma part, je préfère n'avoir à le faire que sur un minimum de fichiers.

Quelques explications :

Notre unique loop.php gère maintenant quasiment à elle seule tout l'affichage.
On commence par conséquent par inclure le header en finissant bien évidemment par le footer. Entre les deux vous pouvez facilement passer de 2 à 3 colonnes, modifier/ajouter tout ce que vous voulez...

En commentaire vous distinguerez 2 parties principales A et B :

Dans chacune de ces deux parties, "on joue" avec les marqueurs conditionnels pour gérer les différents types d'affichage (Catégorie, Tag ou Search ou Page, etc.)

A) LE CHAPEAU : tout ce qui se passe avant la loop de WP

À titre d’exemple : si vous souhaitez implémenter les "archives" que nous n’utilisons pas (à cause du duplicate), il vous faudra juste ajouter un "else if (is_archive())" dans le chapeau. Si vous les appelez, elles s'afficheront, mais sans "chapeau" (sans h1...) Pensez dans ce cas d'exemple également à adapter header.php (si vous souhaiter l'indexation) car nous avons collé une méchante balise "noindex" ! Cette dernière remarque s'applique à toutes les pages d'archive sauf pour les catégories bien sûr. Au besoin vous trouverez ici quelques : exemples pour gérer l'indexation ou non de vos pages dans le code du header.

B) LA LOOP

Après : "if (is_single()) { //  UN SEUL ARTICLE COMPLET **" par exemple nous souhaitons uniquement pour l'article complet (single) une petite navigation (id=“nav-above”) pour passer d'articles en article. Vous n'en voulez pas ici ? Pas de soucis : supprimez ! Vous voulez autre chose, autrement : ajoutez ou modifiez !

Du code encore du code... et l'humain dans tout ça ?

Pour conclure sur une note plus légère, je vous invite à dépasser le mur des apparences en prenant un peu de hauteur.

Au sens étymologique du terme, communiquer signifie "mettre en commun", "partager". Communiquer n'est donc pas par définition l’apanage des seuls littéraires, journalistes, politiques  et autres Hommes dits "de communication".
Le fait de construire quelque chose comme, par exemple, l'élaboration d'un algorithme est étymologiquement parlant un acte de communication à part entière dès lors qu'il est partagé.

Derrière les apparences, la programmation est bel et bien humaine au service des humains. Même si son langage vous est étranger, un peu comme pour une chanson, vous pouvez tout de même ressentir, vous intéresser à l'artiste, à son œuvre. Ces considérations sont ainsi résumées par l'équipe de WordPress en trois mots  : "CODE IS POETRY".

En ces temps difficiles, où l'on déplore le manque de partage, d'information, de connaissance : le fruit du travail de milliers de gens, directement ou indirectement impliqués dans le développement d'une solution open-source est un bien bel exemple, qui à cet égard dépasse largement le cadre du service proposé.

64 réflexions au sujet de « WordPress : un thème enfant pour "Twentyten" »

  1. Eric

    Impressionnant article et un partage que les gens vont apprécier, comme tu le dis
    il faut tester en local et bien lire l'article complètement pour ne pas aller casser un site de prod.
    C'est entre les lignes dans ton article, mais le vrai soucis d'un cms n'est pas la customisation ou l'optimisation, c’est la maintenance qui lors d'une montée de version peut s'avérer catastrophique. Le thème enfant peut limiter cet effet

  2. David

    Merci beaucoup pour cet article qui détaille ce qui est utile dans un thème enfant.

    Vous dites qu'il ne faut pas toucher aux parties sensibles comme l'affichage des commentaires. Hors justement je m’apprête à toucher cette partie, car je veux que le formulaire s'affiche en haut ET en bas de la liste des commentaires...
    Sauriez-vous m'expliquer comment faire sans risquer un problème?

  3. jm Auteur de l’article

    @David :

    Pour votre modification, vous allez être amené probablement, à placer comments.php dans le thème enfant, le "bricoler" et peut-être allez-vous "overrider" une fonction, etc.
    Vous pouvez tout personnaliser, mais si vous le faites vous ne bénéficierez plus des mises à jour de Twentyten, pour les pages et les fonctions que vous "overridez" dans le thème enfant. Il vous faudra faire preuve de plus vigilance et éventuellement mettre à jour manuellement les pages et les fonctions en question... C'est ce qu'on appelle : le revers de la médaille.

  4. David

    Merci jm pour cette réponse, je vais donc encore y réfléchir, parce que je ne sais pas si je serait à la hauteur de tout ce que cela implique. Faut que je soit sûr que le risque en vaut la chandelle... :) Merci.

  5. Simon

    Merci pour ce thème ! Je testerais ça à l'occase sur mes nouveaux ndd ! Je suis sur du .fr en ce moment et j’enrichis mon portefeuille ^^

  6. Pierre

    Un partage bien sympathique pour mes futurs blogs. La problématique des mises à jour est récurrente et cet article va permettre de partir sur de très bonnes bases !

  7. Simon

    J'aime bien aussi le thème de ma signature ^^ ! Par contre je doute que celui ci soit optimisé pour le SEO. Petite question virer les liens footer wordpress et auteur du thème est il nécessaire ?
    PS : Ceci est mon premier BL de ma future société :D

  8. Guillaume

    Merci pour cet article technique dominical. J'avais commencé à mettre en place quelques blogs en utilisant twentyten mais moi j'avais directement touché aux fichiers de celui-ci, et je me doutais-bien que cela allez causer des problèmes lors des mises à jour de ce thème.
    Par exemple dans mon cas si je fais une mise à jour de ce thème est-ce que les fichiers que j'ai modifié vont être écrasés ?

  9. jm Auteur de l’article

    Avant tout, comme stipulé plus haut :
    /!\ Faites vos sauvegardes et de préférence travaillez en local.

    Prenez le temps de bien tout tester avant de mettre en prod.

    @Guillaume

    Si le tien est modifié et possède toujours son nom d'origine (twentyten) la réponse à ta question est donc : oui.
    Le parent Twentyten doit être vierge de toute customisation et à jour.
    Cela veut dire que tu devras appliquer tes propres personnalisations dans le thème enfant. Peut-être est-ce l'occasion d'en abandonner certaines, de faire un peu de ménage ; )

  10. Sylvain F

    Et bien les SEO utilisateurs de WordPress vont être gâtés en ce moment puisque je proposerai également un thème optimisé d'ici peu. Il n'utilisera pas le principe des thèmes enfants cependant.

    Je ne vais quand même pas me gêner et télécharger ton thème =)

  11. Damien

    Merci pour ces détails sur les themes enfant et j'attend avec impatience la reponse a la question précédente de Guillaume car je suis dans le même cas...

  12. Jean-Christophe

    Je comprends ta volonté, pour simplifier les futurs interventions, de tout centraliser l'affichage dans un seule "loop". De mon côté, je préfère séparé les choses sur plusieurs fichiers, question d'optimisation des temps de chargement. Mais sinon, merci pour ce thème enfant :-)

  13. jm Auteur de l’article

    @Jean-Christophe

    Tu as raison de penser en terme de performances : c'est essentiel. Les internautes acceptent de moins en moins les sites trop longs à s'afficher et Google en tient compte de plus en plus. Cela dit, quelques "if" et "else if" associés aux marqueurs conditionnels ne nuisent pas aux performances. Sur WP c'est avant tout un bon système de cache qui fait la différence.

    @Damien : go to commentaire n° 9 ; )

  14. seb

    Merci pour tous ces conseils d’optimisation concernant les templates wordpress et je confirme que si ce n'est pas fait correctement ensuite c'est la galère pour les mises à jour.

  15. GeekPress

    Merci pour le partage.

    Il y a pas mal de petites optimisations à mettre en place. Premièrement, il faut éviter les bloginfo ou les get_bloginfo() au maximum.

    Par exemple :
    -bloginfo('charset') peut être directement remplacer par UTF-8
    -get_bloginfo('name') peut être directement remplacer par le titre du site où ce que l'on souhaite mettre. Etant donné que l'on va mettre les mains dans le code, on écomise une requête SQL pour afficher une valeur que l'on connait d'office.
    - language_attributes() peut être remplacer par lang="fr" si l'on est sûr de ne pas avoir un site multilingue
    - home_url() à la place de bloginfo('url') pour récupérer le lien vers la page d'accueil
    - get_template_directory_uri() . '/style.css' à la place de bloginfo('stylesheet_directory')

    Par contre, le gros défaut que je trouve à ce thème, c'est qu'il n'est pas comptable avec les plugins de SEO. Est-ce que je me trompe ou pas ? Etant donné qu'ils demandant d'avoir uniquement wp_title('') dans la balise title, je suis septique sur la compatibilité avec ces plugins là.

  16. jm Auteur de l’article

    @GeekPress :

    Tu as raison on peut encore aller plus loin dans l'optimisation en remplaçant les variables par leurs valeurs directement. Mais comme rappelé plus haut avec un bon système de cache....
    Quant à la compatibilité avec les plugins SEO, comme nous ne les utilisons pas je ne sais pas, mais je n'ai aucun doute sur ta capacité à adapter le code au cas ou.

  17. GeekPress

    @Jm : Attention, le système de cache ne fait pas tout et comme certaines personnes pourraient te le dire : il n'y a pas de petites économies. Surtout pour les versions où la moindre petite optimisation est appréciée.

    "Quant à la compatibilité avec les plugins SEO, comme nous ne les utilisons pas je ne sais pas, mais je n’ai aucun doute sur ta capacité à adapter le code au cas ou."

    Ce n'était pas vraiment pour moi, mais plus pour éviter une malheureuse perte capillaire aux personnes qui vont prendre ce thème comme Quick Start et qui pourraient rencontrer un conflit avec l'un des plugins SEO :)

  18. Evenstood

    Oh le gros partage que voilà, ça va être bien cool pour faire du blog satellite à la pelle en full opti SEO.

    Un bon kit auquel il ne manque pas grand chose, vraiment Sylvain là tu as mit la barre haute, tu espères du linkbait pour être gentil comme ça :p ;)

    Merci en tout cas !

  19. Martin

    Il est dommage de se priver des pages de contenu issu des fichiers attachés. En effet, en remplissant systématiquement ces informations, on obtient aisément des pages de contenu unique pertinentes. Certes, encore faut-il fournir des informations pertinentes et uniques aux emplacements adéquats, ce qui ne semble pas donné à tous.

  20. Olivier

    Perso j'utilise la même technique qui a le mérite d'être maintenable et adaptable assez facilement pour différents sites.
    Il faut garder à l'esprit qu'un thème c'est en gros 80% des fonctionnalités et de la structure et 20% du graphisme (pour un thème simple). Du coup, avoir un thème bien structuré et réutilisable pour différents sites fait gagner du temps en réalisation et mise à jour.

    J'utilise le système des thèmes enfants mais en me basant sur le "framework" hybrid et un thème squelette que je duplique.
    Côté optimisation SEO, je continue malgré tout à utiliser le plugin Yoast qui permet de faire des réglages fins selon les sites (indexation ou non des tag, catégories, pages auteur, etc.) et qui reste bien entendu 100% compatible avec un thème enfant personnalisé.

  21. Arnaud

    Très bon article, tu as fait un bon boulot en décortiquant le code de cette manière !
    Je vais tester ton thème enfant :)

    Une très bonne optimisation de wordpress.

  22. miu

    Merci pour ce partage! C'est toujours intéressant d'avoir plusieurs thèmes de bases, différemment mais efficacement optimisés pour le SEO. Ca pemet de limiter un peu plus son empreinte.

  23. Bastien

    bonjour,
    j'ai suivi toutes les étapes mentionnée dans l'article, le résulat est très satisfaisant . merci beaucoup pour le partage. d'ailleurs votre blog est super intéressant, bravo pour l'effort.
    Bastien

  24. Arnaud

    Merci pour le thème Sylvain. je lançais justement cet après midi un nouveau satellite pour l'un de mes réseaux et je savais pas trop comment l'habiller ! Ça tombe vraiment bien pour le coup !

  25. Tony

    Le code est plutôt propre et bien conçu. L'astuce concernant le fichier attachment.php est vraiment judicieuse. Dans l'ensemble c'est donc une très bonne source de départ pour un blog WordPress. Merci pour le partage.

  26. jm Auteur de l’article

    @GeekPress / commentaires n° 16 & 18

    En effet c'est bien de le préciser.
    Comme notre stratégie est de ne pas utiliser de plugins SEO, le fait d'en installer va automatiquement créer des soucis.
    Si vous souhaitez tout de même faire usage de plugin SEO, il faudra vous baser sur le header.php d'origine de twentyten.

    @Martin :

    Essayez simplement de supprimer (ou d'adapter) notre attachment.php
    Pensez dans ce cas à la "méchante" balise noindex de notre header.php :
    Il vous suffira ajouter une exception de plus dans la condition soit quelque chose comme :
    if (is_search() || (is_archive() && !(is_category() || is_attachment()))) {

  27. Moielle

    Très bon thème effectivement, simple et SEO ready ou presque. Personnellement je vous conseille platform :)
    Code propre et prêt à accueillir vos modifs onsite...

  28. JB

    Merci pour le thème je vais regarder les optimisations que vous avez faites côté SEO.

    J'ai noté 2 petites coquilles dans l'article :

    "Twentyten à chacune des ses mises à jour"
    "Une fois dézippé, placé-le dans le dossier wp-content/themes"

  29. I-mediapat.com

    Je viens de le tester. En effet, ça change du Twentyten, et il y a des choses sympas, comme le logo cliquable avec le lien vers l'accueil, ou encore les H1 H2 dans la sidebar.
    A personnaliser sans modération !

  30. Le Juge

    Retour du long WE de "Rememberance Day" et que vois-je avant meme mon 2e café du matin .. un theme offert par Sylvain et nos amis d'axenet - fait "pour la course" en plus - si c'est pas beau tout cela - que demande le peuple!

    M'en vais me pencher sur une version dev du muscle avec mon equipe histoire de voir un peu ce qu'elle a dans le ventre la bete! C'est qu'elle pourrait bien devenir la base de la nouvelle version du muscle (qui devait partir sur une base twentyten) - je travaille toute cela et je te fais signe.

  31. Jean-Christophe

    @jm En effet, je confirme qu'avec bon système de cache, on peut obtenir de très bonnes performances sur un WordPress.

  32. Chef de projet web

    Super article et un partage appréciable. Je vais tester en local comme tu le conseil.

    J'ai déjà été plusieurs fois confronté au problème de maintenance qui lors d’une montée de version s’avère souvent problématique. Je pense que Le thème enfant limitera cet effet.

    Merci !

  33. Lorenzo

    Merci pour cet article, j'utilisais très peu WordPress justement parce que j'avais du mal à optimiser le SEO. Surtout avec certains thèmes.

  34. Addict

    twenty ten? mais, wp passe en 3.5 beta 3 avec un nouveau theme... n'aurait il pas été plus opportun de travailler directement avec le futur plutôt que le passé?

    merci toutefois pour le travail accomplit.

  35. jm Auteur de l’article

    @Addict

    Le thème enfant que nous proposons fonctionne très bien avec le Twentyten de la version 3.5 beta3 de WP. Cela confirme une fois de plus que simplicité rime avec compatibilité.

    Quant aux thèmes (Twenty eleven, twelve, etc.) étant plus "compliqués", ils sont à la base et de ce fait aux antipodes des principaux objectifs visés par cet article : faire simple, efficace, fiable et facile à maintenir.

  36. Organisateur Evenementiel

    Un thème WordPress c'est toujours bon à prendre! Je vais m'en servir pour un site de coloriage que je dois relooker... Merci.

  37. Nicolas

    J’ai suivi les étapes mentionnées et le résultat est très satisfaisant ;-)

    Merci beaucoup pour ce partage, et pour votre blog !

    2 questions :

    1. A votre avis faut-il désactiver le plugin "Google XML Sitemaps" ? Voire "PuSHPress" ?

    2. Avec-vous un article avec justement une liste des plugins à installer (voire ceux qui sont une fausse bonne idée) ?

    Merci d'avance

  38. Fassante

    Bonjour,

    J'ai installé votre thème sur mon blog. Néanmoins j'ai détecté un problème de taille que je peine à régler.

    J'aimerai en fait tout simplement activer l'extrait des articles en mettant "lire la suite" mais je n'y arrive pas.

    Si quelqu'un à une piste à ce sujet, je vous en serai vraiment reconnaissant.

    Merci !

  39. Sylvain

    @ Fassante
    Il suffit de mettre la balise "more" dans les articles.
    L'icone est disponible dans la barre d'icone d'origine, nous n'avons touché à rien de ce côté là.
    Mais ce ne sont pas les extraits. Ceux-ci sont aussi disponibles, pensez à le cocher si vous les utilisez, en haut à droite dans "option de l'écran".

  40. Fassante

    Merci Sylvain! Grâce à vous mon problème est réglé! :)
    (même si j'ai l'impression de passer un peu pour un idiot :p )

  41. Jean Phi

    Merci pour le partage :)

    Pourriez vous m'indiquer comment passer a 3 colonnes sur votre thème de compétition séo !

    Merçi beaucoup

  42. jm Auteur de l’article

    Dans loop.php "remontez" la petite étoile (dé-commentez) comme ceci et réglez le width du div id container :

    <?php
    /* sidebar de droite : Zone primaire de widgets */
    ?>
    <div id="primary" style="width:215px;">
     <?php get_sidebar(); ?>
    </div>
    <?php
    
    ?>
    
    <div id="container" style="width:456px;">
        <div id="content">
    
    
    

    Glissez-déposez quelques widgets dans la zone primaire de widgets.

  43. Cours oenologie

    Merci pour ce thème optimisé Sylvain ou jm :) Je suis en train de le tester sur un nouveau ndd.

    J'ai juste un petit pb. Sur le blog que tu vois en signature, la sidebar de droite ne veut pas s'aligner au niveau du menu du haut. En fait elle reste au niveau bas de l'article sur la page single ou après tout les articles sur l'index. J'ai bien essayé de regarder les div si il en manquait ou si il y en avait trop mais sans succès. Idem j'ai rajouté à secondary un valign top mais ça ne marche pas :(

  44. Cours oenologie

    C'est réglé. J'ai bricolé comme j'ai pu, mais j'ai mis au final le container en float left. Je vais voir si ça ne m'apporte pas de bug par la suite...

    Encore merci pour le thème.

  45. Guillaume Cheruy

    Le genre d'article qui me rend fou de ne pas être sur WordPress !!!
    On ne m'avait pas prévenu moi qu'avec Blogger l'on était circonscrit à ce que Google veuille bien vous laisser faire.
    Les possibilités ont l'air innombrables tandis que la plateforme Blogger respire le renfermé. Du vu et revu sans que rien ne bouge depuis des années...
    A quand un applicatif qui permettrait de "transvaser" son contenu Blogger sur un blog WordPress ?

    Merci pour l'article très instructif en tout cas !

  46. Amandine

    Bonjour à tous !

    Je suis tombé sur cet article par hasard en faisant une recherche google et je n'ai pas été déçue ! :p

    Petite question sans rapport avec le sujet : Quel est votre rythme de publication ?

    Merci à vous ! Hop Favoris ! ^^

  47. MatC

    Merci bien pour ce thème de compétition, je l'ai mis en place sur un nouveau blog :)

    Cependant j'aimerais bien en tirer quelques astuces pour mes anciens blogs dont je n'ai pas envie de changer le design. Notamment le trick du changement auto de balise H1/H2.

    Est-ce qu'il y a un risque à appliquer ça sur un blog dont les balises sont fixes?

    De plus, est-ce que la position dans la sidebar joue un rôle dans le référencement? Perso mon texte en H1 homepage est dans le header...

    Merci d'avance pour les réponses :p

  48. jm Auteur de l’article

    @MatC :

    "(...) changement auto de balise H1/H2. Est-ce qu’il y a un risque à appliquer ça sur un blog dont les balises sont fixes?"

    - il est vivement conseillé de n'avoir qu'un seul h1 par page (revoir votre site en lien !).
    Si vous avez un h1 pour la home, lorsque vous passez sur un article ou une autre page : il faut le supprimer ou le remplacer par autre chose (h2, p div, etc.) comme dans notre exemple. Ceci afin que le h1 de l'article (le titre) soit le seul. L'emplacement conseillé est haut dans le code bien sûr. Pour ma part je préfère qu'il soit associé juste au-dessus d'un contenu. Il est aujourd'hui contre-productif de vouloir forcer la main de Google qui connaît toutes les ruses et les sanctionne. Le référencement est désormais plus une affaire de bon sens, de logique en restant naturel dans tous les sens du terme.

    Avec un outil comme "Web developer", je vous conseille d'étudier les sites et blogs des SEO. C'est une excellente source d'apprentissage.

  49. MatC

    Merci, j'ai déjà passé l'astuce sur http://www.maicresse.fr , me reste à faire le site en lien et quelques autres :)

    J'ai justement regardé quelques sites SEO/référencement et blogs qui marchent fort et ils ont plein de h1 :x

  50. Julien

    J’ai aussi déjà remarqué que des gros sites (au sens trafic) ont aussi plusieurs H1 sur la même page et ça ne semble pas leur porter préjudice.

    Est-ce que h1 class="post-title" est pareil que h1 ?

  51. Sprites

    Bonjour,

    fervent lecteur de votre blog je trouve ce theme super bien optimisé, néanmoins je voudrais retirer la fleche ">" a la fin des balises titres des posts ? comment dois je m'y prendre ?

  52. laurent

    Bonjour,
    J'arrive un peu tard, mais vraiment bravo pour ce partage. Et merci.
    J'ai deux petites questions.
    -Pourquoi mettre les widgets dans la zone secondaire et non la principale?
    -Pourquoi mettre une page "plan du site"?
    Je n'ai pas trouvé les explications et ça m'intrigue...

  53. jm Auteur de l’article

    @Sprites :

    Si tu saisis "Le titre du site" dans Admin/Réglages/Général : il s'affichera après la flèche >
    C'est fait pour afficher le nom d'une société en fin de title.
    Sinon on peut toujours commenter (voire supprimer) les lignes concernées dans header.php
    //$sTitle .= ' > '.get_bloginfo('name'); //*Le nom du site en fin de title (à commenter ou non)

  54. jm Auteur de l’article

    @laurent :
    "Pourquoi mettre les widgets dans la zone secondaire et non la principale?
    -Pourquoi mettre une page « plan du site »?"

    Pour passer de 2 à 3 colonnes facilement en décommentant dans loop.php et en ajustant les "width" des "div". Dans ce cas la première est à droite et la deuxième à gauche.

    Regarde dans le code de loop.php if (is_page('plan'))...
    Le permalien doit être "plan" pour que ça fonctionne.

  55. jm Auteur de l’article

    Mise à jour 3.0 > 3.0.1
    functions.php meilleure gestion du lien "Lire l'article" (via les Catégories).
    style.css : positionnement "absolute" pour le lien "Lire l'article".
    Commentaires loop.php sidebar droite et gauche (étaient inversés)

  56. Laurent

    Merci pour tes réponses. J'ai tout capté (quel pédagogue!).
    Une dernière question : si on veut ajouter la date de publication des articles sur la home (la date est présente sur les singles)... comment faire?
    D'ailleurs pourquoi ne pas l'avoir mise par défaut?

  57. jm Auteur de l’article

    @Laurent :

    Nous ne pouvons (faute de temps) répondre à toutes les demandes de customisation perso. Ceci étant dit, dans notre thème : tout se passe dans la loop. C'est donc ici qu'il te faut chercher (nous avons conditionné l'affichage de la date avec un is_single()). À toi de jouer et puis... Google est ton ami.

  58. Laurent

    Non j'ai plus rien à demandé juste à remercier!
    Effectivement j'ai trouvé. J'avais juste votre parti-pris de ne pas afficher la date (sur la home du blog) qui m'intriguait. Quand je lis un blog, la date est l'une des premières choses que je regarde et je suis toujours étonné quand je vois des dates sans l'année par exemple.
    Bref, c'était la minute de ma fixette.

  59. jm Auteur de l’article

    Mise à jour 3.0.2 :
    Suppression du "nofollow" pour la meta robots noindex des pages concernées.

  60. Recuperer

    Je vais m'en servir pour voir ce que ça donne sur un MFA... tu m'en voudra pas j'espère ^^

Partagez sur :

Les commentaires sont fermés.