WordPress & Référencement naturel
Mes servicesWordPress - Référencement
Hébergement WordPress
Vous êtes ici : SeoMix » WordPress » Hacks, fonctions et snippets WordPress » 21 hacks pour 21 plugins WordPress inutiles

21 hacks pour 21 plugins WordPress inutiles

Wordpress sans plugins

Au mois d'Août dernier, j'ai publié une liste de 21 plugins WordPress inutiles, mal conçus ou pas assez optimisés.

J'ai eu pas mal de retours allant de l'insulte au remerciement, et beaucoup m'ont demandé quelles alternatives je pouvais proposer.

En conséquence, je ne pouvais pas faire l'impasse sur un article avec 21 hacks pour 21 plugins WordPress inutiles. Et comme le montre le sommaire, l'article va être long...^^

Je vais me répéter à plusieurs reprises, puisqu'un des avantages de mes hacks est simple : un élément codé en dur en html sera toujours plus rapide que le même code généré en php et avec une requête en base de données. L'autre élément récurrent, c'est que cela dispense aussi de faire des mises à jour des hacks : pour information, je n'ai eu aucun bug depuis la version 2.7 de WordPress (nous en sommes aujourd'hui à WordPress 3.0.1).

Pour remplacer les plugins de statistiques

Google Analytics et WordPress

» Google Analyticator et Ultimate Google Analytics

Ces plugins servent à installer de manière automatique le code de Google Analytics sur WordPress. Mais on peut faire la même chose directement dans son thème, tout en ajoutant des paramètres supplémentaires pour un meilleur suivi de vos visiteurs.

Voici le code de base de GA, où XXX est l'identifiant de votre profil :

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXX']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

Au passage, on peut même le compresser un peu pour un peu plus de rapidité, ce qui donne :

<script type="text/javascript">var _gaq=_gaq||[];_gaq.push(['_setAccount','UA-XXX']);_gaq.push(['_trackPageview']);(function(){var ga=document.createElement('script');ga.type='text/javascript';ga.async=true;ga.src=('https:'==document.location.protocol?'https://ssl':'http://www')+'.google-analytics.com/ga.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);})();</script>

Je pourrais faire des dizaines d'articles sur comment paramétrer et utiliser GA, mais ce n'est pas l'objectif de cet article. Je vous invite donc à lire le Guide de Google Analytics, qui sera complété au fur et à mesure. En attendant, voici quelques bases :

  • 1 seul code GA par page
  • Le code est placé en haut de page, juste avant </head>

Vous pouvez ajouter des codes supplémentaires pour affiner votre analyse. Pour suivre un évènement, vous pouvez ajouter ce code sur chacun de liens ou boutons

onclick="_gaq.push(['_trackEvent', 'categorie', 'action', valeur]);"

On peut donc classer les actions dans une catégorie, et leur attribuer une valeur. Pour les variables, rien de tel que le guide des variables personnalisées de Google Analytics. Je ferais un jour un guide pour débutant pour GA, pour bien comprendre à quoi cela sert et comment s'en servir.

L'intérêt face au plugin :

  • On peut tout tracker, contrairement aux plugins qui seront forcément limités (même pour les mieux conçus, puisque chaque site est unique)
  • Le code est en dur, et se charge donc un peu plus vite

Source : de très nombreux sites d'aides sur Analytics, et moi-même ^^

Statistiques intégrées à WordPress

» WordPress.com Stats et WP-Stats-Dashboard

Si vous cherchez à avoir une alternative à ces plugins, vous avez tord : ne les remplacez pas, tout simplement. Si vous avez mis en place Google Analytics comme expliqué précédemment, ces outils ne vous servent plus à rien, ils sont inefficaces et incomplets.

Et si vous tenez tant que ça à avoir vos statistiques visibles dans votre admin, utilisez plutôt le plugin Google Analytics Dashboard, qui ne ralentira que l'administration de WP et vous donnera quand même les statistiques de vos visites.

L'intérêt face au plugin : ils ne servent à rien et ne font que ralentir le blog vis-à-vis de Google Analytics

Pour accélérer WordPress sans plugins

Minifiez votre thème

» Wp-minify

Comme expliqué précédemment, WP-Minify va compresser vos fichiers CSS et JS. Comme d'habitude, votre thème pourrait déjà être minifié ce qui éviterait de recourir à ce plugin. La solution est simple : copier/coller le contenu de vos fichiers dans ces deux outils, et le tour est joué :

La seule chose qu'il manque, c'est de pouvoir minifier l'html généré à partir de la base de donnée (pas celui de votre thème). Je sais que W3 Total Cache le fait. Personnellement, j'utilise WP Super Cache et DB Cache Reloaded suite à mon test des plugins de cache WordPress.

L'intérêt face au plugin : plus rapide, toujours plus rapide ^^

Source : Google est ton ami pour trouver les outils dont tu as besoin

Pour ajouter manuellement un aspect social à WordPress

Boutons de partage

» AddToAny, SexyBookmarks, Sociable ou encore Bling This

Un exemple de boutons de partage sur WordPress

Un exemple de boutons de partage sur WordPress

Pour ajouter facilement des fonctions de partages sur les réseaux sociaux, utilisez tout simplement les codes suivants (il ne vous restera que la mise en page à faire) :

Partager sur Facebook

<a href="http://www.facebook.com/share.php?u=<?php the_permalink() ?>" target="blank" rel="nofollow" title="Partagez cet article sur Facebook">Partager sur facebook</a>

Partager sur Twitter

<a href="http://twitter.com/home?status=<?php the_permalink() ?>" target="blank" rel="nofollow" title="Partagez cet article sur Twitter">Partager sur Twitter</a>

Partager par email

<a href="mailto:?subject=Un%20ami%20vous%20fait%20partager%20:%20<?php the_title(); ?>&amp;body=D&eacute;couvrez%20<strong><?php the_title(); ?></strong>%20:%20<a href=<?php the_permalink() ?>><?php the_permalink() ?></a>" rel="nofollow" title="Partagez cet article par Email">Email</a>

Pour le partage par email, cela ouvre le client mail de l'utilisateur, en remplissant par défaut le titre du mail et une partie du contenu. Remplacez le passage après "subject" par votre contenu, sachant que %20 veut dire "espace".

Partager sur BlogMeme

<a href="http://www.blogmemes.fr/post.php?url=<?php the_permalink() ?>" target="blank" rel="nofollow" title="Partagez cet article sur BlogMeme">Partager sur Blogmeme</a>

Il existe bien entendu d'autres DiggLike, mais ils fonctionnent tous de la même façon : url-digglike/?url-de-mon-article. Je vous conseille d'en mettre le moins possible, avec seulement les plus pertinents. Car à chaque fois, c'est un lien de plus (dilution de pagerank), et cela peut perdre vos visiteurs avec des fonctionnalités inutiles.

L'intérêt face au plugin :

  • Une charte graphique que l'on peut créer sur mesure (et qui sera originale)
  • On peut séparer les boutons de partage les uns des autres
  • C'est là aussi plus rapide

Source : moi-même en regardant le code source de boutons de partage quand j'en ai trouvé sur Internet

Installer Feedburner avec WordPress

» FeedBurner FeedSmith

Pourquoi utiliser un plugin qui ralentira l'administration lorsque un copier-coller fait la même chose ? Dans le fichier .htaccess situé à la racine de votre site, copiez/collez ce code en remplaçant l'adresse de votre flux Feedburner.

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://adresse-de-votre-flux [R=302,NC,L]
</IfModule>

L'intérêt face au plugin : un plugin de moins, c'est bien !

Source : inconnue (hack trop répandu sur la toile...)

Un bouton de RT pour WP

» TweetMeme Retweet Button

Pour avoir un bouton de RT d'un article, rien de plus simple. Il suffit de réutiliser le même code que celui donné plus haut pour le partage d'un article sur Twitter...

<a href="http://twitter.com/home?status=<?php the_permalink() ?>" target="blank" rel="nofollow" title="Partagez cet article sur Twitter">Partager sur Twitter</a>

Inconvénient, vous n'avez pas le nombre de RT. Au risque d'en décevoir certains, je ne vais malheureusement pas donner le hack aujourd'hui (ce sera le seul qui manque), car je travaille dessus avec un ami pour avoir un truc tip-top (mise en cache, personnalisation et tout ce qui va avec). A suivre d'ici 2-3 semaine.

L'intérêt face au plugin : je vais encore me répéter : c'est plus rapide, et plus facilement personnalisable, mais c'est encore incomplet.

Vos derniers Tweets sur WordPress

» Twitter for WordPress

Pour afficher vos derniers tweets, c'est un poil plus compliqué. J'ai trouvé plein de solutions différentes sur Internet, mais j'ai été obligé de les mélanger pour avoir le rendu que je voulais, c'est à dire :

  • un nombre X de tweets
  • sans bugs sur les caractères spéciaux
  • avec l'heure du tweet affiché sous la forme "il y a x minutes"
  • compatibles avec php4 et php5
  • le tout mis en cache dans WordPress pendant 10 minutes.

Cela donne ce code à ajouter au fichier functions.php de votre thème. Modifiez uniquement le début avec vos paramètres :

// Mes derniers tweets
function twitterstatut() {
  ob_start();
  //paramètres
    $username = "nomducompte"; //Nom de votre compte
    $limit = "4";//nombre de tweets à afficher
    $tweetprefix = "<li>"; //avant chaque tweet
    $tweetsuffix = "</li>"; //apres chaque tweet
  //Recuperation du flux
  $feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=" . $limit;
    $ch = curl_init();
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_URL, $feed);
      $twitterFeed = curl_exec($ch);
      curl_close($ch);
  //nettoyage du flux
    $twitterFeed = str_replace("&lt;", "<", $twitterFeed);
    $twitterFeed = str_replace("&gt;", ">", $twitterFeed);
    $twitterFeed = str_replace("&quot;", "\"", $twitterFeed);
    $twitterFeed = str_replace("&amp;apos;", "'", $twitterFeed);
    $twitterFeed = str_replace("&amp;", "&", $twitterFeed);
    $clean = explode("<content type=\"html\">", $twitterFeed);
    $cleandate = explode("<published>", $twitterFeed);
    $amount = count($clean) - 1;
    $amount = count($cleandate) - 1;
  //rendu du flux
    for ($i = 1; $i <= $amount; $i++) {
      $cleaner = explode("</content>", $clean[$i]);
      $cleanerbis = explode("</published>", $cleandate[$i]);
      $mydate = strtotime($cleanerbis[0]);
      $time_diff = time() - $mydate;
      if ( $time_diff > 0 )$display = sprintf( __('%s ago'), human_time_diff( $mydate ) );
      $rendu = $tweetprefix.$cleaner[0].'<span class="petit"> ['.$display.']</span>'.$tweetsuffix;
      echo $rendu;}
    return ob_get_clean();}
add_option('cachetwithtml','0','','yes');
add_option('cachetwittimer',mktime() - 10000,'','yes');
function cachetwit() {
  $time3 = mktime();
  if ( $time3 > get_option('cachetwittimer') + 600 ) {
    $myvar = twitterstatut();
    update_option('cachetwittimer', mktime());
    if ( $myvar == '') {}
    else {update_option('cachetwithtml', $myvar);}}
echo get_option('cachetwithtml');}

Le cache est mis à défaut à 10 minutes (600 secondes). Vous pouvez donc le modifier facilement (6ème ligne avant la fin). Ajoutez ensuite ce code là où vous voulez afficher vos tweets.

<?php if (function_exists('cachetwit')) {cachetwit();}?>

L'intérêt face au plugin :

  • Contrairement à tous les plugins que j'ai trouvés, le mien met en cache les données
  • Si Twitter est indisponible, il continue d'utiliser les valeurs mises en cache
  • Il affiche l'heure de tweet de manière relative
  • Aucun javascript

Source : une dizaine de sites au moins, et moi-même (j'ai bien galéré ^^). Désolé de ne pas retrouver mes sources par contre : j'avais fait ce code il y a plusieurs mois...

Pour mieux gérer votre WordPress

Mise à jour automatisée de WP

» WordPress Automatic upgrade

Je ne le dirai jamais assez : ce plugin est trop risqué, puisqu'à chaque mise à jour vous risquez de planter votre site. Donc oubliez-le.

Pour booster la mise en page et ergonomie

Ajouter un fil d'Ariane (Breadcrumb)

» Yoast BreadCrumbs ou NavXt Breadcrumb

Attention : Utilisez le nouveau hack : fil d'ariane et WordPress

Un chemin de navigation est un atout pour l'ergonomie et pour hiérarchiser l'information pour les moteurs. Le code suivant permet donc de remplacer facilement ces plugins.

chemin de navigation WordPress

Le chemin de navigation est un atout en ergonomie web

Dans votre fichier functions.php, ajoutez :

// BreadCrumb
function get_breadcrumbs() {
    global $wp_query;
    if ( is_home ()) {
    echo 'Bienvenue sur NOM-DE-VOTRE-SITE !<ul class="breadcrumbs">';
        echo '<li><span id="breadhome">Nos derniers articles :</span>'; }
  else {
    echo 'Vous &ecirc;tes ici :<ul class="breadcrumbs">';
        echo '<li><a id="breadhome" href="'. get_settings('home') .'">'. get_bloginfo('name') .'</a>';
        if ( is_category() ){
            $catTitle = single_cat_title( "", false );
            $cat = get_cat_ID( $catTitle );
            echo " &raquo; ". get_category_parents( $cat, TRUE, " &raquo; " ) ."</li>";}
    elseif ( is_tag() ) {
            echo " &raquo; Articles sur le Th&egrave;me <span id=\"breadtitle\">&raquo; ";
      echo the_title('','', FALSE) ."</span></li>";}
    elseif ( is_archive() && !is_category() )   {
            echo " &raquo; Archives</li>";}
        elseif ( is_search() ) {
            echo " &raquo; R&eacute;sultats de votre recherche <span id=\"breadtitle\">&raquo; ";
      echo get_search_query() ."</span></li>";}
        elseif ( is_404() ) {
            echo " &raquo; 404 Page non trouv&eacute;e</li>";}
        elseif ( is_single() ){
            $category = get_the_category();
            $category_id = get_cat_ID( $category[0]->cat_name );
            echo ' &raquo; '. get_category_parents( $category_id, TRUE, " &raquo; " );
            echo '<span id="breadtitle">';
      echo the_title('','', FALSE) ."</span></li>";}
        elseif ( is_page() ) {
            $post = $wp_query->get_queried_object();
            if ( $post->post_parent == 0 ){
                echo " &raquo; ".the_title('','', FALSE)."</li>";
            } else {
                $title = the_title('','', FALSE);
                $ancestors = array_reverse( get_post_ancestors( $post->ID ) );
                array_push($ancestors, $post->ID);
                foreach ( $ancestors as $ancestor ){
                    if( $ancestor != end($ancestors) ){
                        echo '<a href="'. get_permalink($ancestor) .'">'. strip_tags( apply_filters( 'single_post_title', get_the_title( $ancestor ) ) ) .'</a></li>';
                    } else {
                        echo ' '. strip_tags( apply_filters( 'single_post_title', get_the_title( $ancestor ) ) ) .'</li>';}}}}
        echo "</ul>";}}

Puis ajoutez ensuite ce code dans votre thème WordPress pour faire apparaître votre chemin de navigation :

<?php if (function_exists('get_breadcrumbs')) get_breadcrumbs();?>

Le tour est joué.

L'intérêt face au plugin :

  • Vous ne créez pas de liens vers la page elle-même (un lien qui pointe sur lui-même ne sert à rien pour l'utilisateur, ni pour les moteurs)
  • Pas de plugin à mettre à jour

Séparer commentaires et trackbaks

» Separate Comments & Pings

Par défaut, les commentaires se mélangent aux trackbacks et pings de WordPress. Un simple hack permet de résoudre le problème.

Nous allons créer deux fonctions dans le fichier functions.php de votre thème, une pour générer vos commentaires, un autre pour vos trackbacks. Commençons par les commentaires :

// Mes commentaires
function mycomment($comment, $args, $depth) {
  $GLOBALS['comment'] = $comment; ?>
    <li id="comment-<?php comment_ID() ?>">
      <div class="comment-author vcard">
    <?php echo get_avatar( $comment, 40 ); ?>
      </div>
      <div class="comment_wrap">
        <?php printf(__('%s'), get_comment_author_link()) ?>
        <span class="comment_date">Le <?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?></span>
        <?php if ($comment->comment_approved == '0') : ?><p class="awaiting">Merci pour votre commentaire.<br />Il est en attente de moderation.</p><?php endif; ?>
        <?php comment_text() ?><a name="#comment-<?php comment_ID() ?>"></a>
            </div>
    </li>
<?php }

Pour les trackbacks :

// Mes trackbacks et Pings
function myping($comment, $args, $depth) {$GLOBALS['comment'] = $comment;?>
  <li id="comment-<?php comment_ID() ?>">
    <div class="comment-author vcard">
      <span class="infocomment">
        <strong><?php printf(__('%s'), get_comment_author()) ?></strong>, le <?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()) ?>
      </span><br />
      <?php $test = get_comment_author_url(); if ($test != '') {?><small><a href="<?php printf(__('%s'), get_comment_author_url())?>" title="<?php the_title(); ?>"><?php the_title(); ?> - trackback de <?php printf(__('%s'), get_comment_author()) ?></a></small><br /> <?php } else {}?>
      <?php comment_text() ?>
    </div>
    </li>
<?php }

Pour afficher vos commentaires, ajoutez ce code dans votre fichier single.php :

<?php wp_list_comments('type=comment&callback=mycomment'); ?>

Pour afficher vos trackbacks :

<?php wp_list_comments('type=pings&callback=myping'); ?>

L'intérêt face au plugin :

  • Le plugin ne faisait qu'enlever les pings, sans donner la possibilité de les afficher ailleurs
  • Le hack permet d'avoir un lien sortant plus pertinent pour les trackbacks, le tout généré de façon automatique

Source : la base du code est sur presque tous les sites dédiés à WordPress. Je l'ai ensuite mis à ma sauce. ^^

Voir les navigateurs et OS de vos commentateurs

» Advanced User Agent Displayer

Non, non, non et non : ce plugin ne sert à rien. Donc je ne donnerais aucun hack en retour (ouh le vilain petit garnement !).

L'intérêt face au plugin :

  • Le plugin n'avait aucun intérêt, l'absence de hack est donc indispensable ^^

Ajouter une font à WordPress

» All-In-One Cufon et WP-Cufon

Ces plugins WordPress remplacent automatiquement vos textes par des polices d'écriture que vous aurez définies dans l'administration. Le souci, c'est que tout passe par un javascript qui ajoute des bouts de code en dur dans votre html. Cela pose deux soucis : c'est un peu plus lent, et le code source n'est plus vraiment propre...

La solution est un code CSS appelé font-face, qui vous permet d'inclure proprement une police d'écriture dans votre thème WordPress. Tout d'abord, vous créez la font dans le fichier style.css :

@font-face{font-family:"Nom de la font";src:url('nom-du-fichier-de-la-font.ttf')}

Puis vous l'assignez aux ids et classes désirées :

.class, #id {font-family:"Nom de la font", "autres font par défaut"}

Attention, veillez à choisir une font qui ne pèse pas trop lourd, ainsi qu'à ne pas en mettre partout pour ne par surcharger votre site.

L'intérêt face au plugin :

  • Plus rapide
  • Un code source plus propre
  • Un site plus beau (enfin, normalement ^^)

Pour bannir des plugins vraiment inutiles

WordPress multilingue

» Global Translator

Je n'ai malheureusement aucun hack à vous proposer, tout simplement car ce type de plugins devrait disparaître de la surface de la terre. Un bon référencement multilingue se fait avec du multi-domaine (1 par langue). Il faut donc des serveurs différents, situés le plus proche possible (ou dans) les pays visés, avec des noms de domaine différents (.fr, .com, .es, ...) et des contenus uniques et ciblés.

L'intérêt face au plugin :

  • des serveurs plus proches des utilisateurs, donc plus rapides
  • des sites avec des contenus propres, donc sans duplication de contenus (si possible avec des chartes graphiques différentes adaptées aux comportement de chaque pays ou langue)
  • des sites beaucoup plus simples à comprendre pour Google (car une seule langue), et donc plus facilement référencés.

Les tags sous WordPress

» WP-Cumulus

Rien de plus simple pour créer un nuage de tags sur WP. Ajoutez le code suivant là où vous voudriez le voir apparaître :

<?php wp_tag_cloud(variables); ?>

Les variables existantes sont les suivantes :

  • taxonomy : d'où récupérer les tags (par défaut, c'est sur tout le site, mais on peut cibler les mots clés d'une catégorie spécifique)
  • smallest : taille de police du plus petit tag
  • largest : taille de police du plus grand tag
  • number  : nombre de mots clés à afficher
  • separator : séparateur (par défaut, c'est un espace)
  • orderby : trier par (name pour un tri par nom et count pour un tri par nombre d'occurrences)
  • order : l'ordre de tri (ASC pour ascendant, DESC pour descendant et RAND pour aléatoire)
  • exclude/include : tags à exlure ou inclure

Il existe des paramètres supplémentaires (regardez ici : wp_tag_cloud). Ce qui donne par exemple:

<?php wp_tag_cloud( array(
    'taxonomy' => 'mycategory',
    'smallest'  => 8,
    'largest'   => 22,
    'number'    => 45,
    'separator' => '\n',
    'orderby'   => 'name',
    'order'     => 'ASC',
    'exclude'   => 5 ); ) ); ?>

L'intérêt face au plugin :

  • Beaucoup plus rapide à charger (car sans flash)
  • Il est donc aussi compatible sur tous les navigateurs
  • Vous pouvez y appliquer plus facilement votre propre feuille de style css

Source : le WordPress Codex bien entendu (en anglais)

Personnaliser le flux RSS

» RSS Footer

RSS footer est un plugin qui permet d'insérer du contenu dans votre flux RSS. Voici le code à ajouter dans votre functions.php pour faire la même chose, mais en mieux. On peut avoir ce rendu par exemple :

Flux RSS WordPress

Un exemple de ce que l'on peut faire avec le flux RSS de WordPress

Code simple :

// personnalisation du flux rss
function insertAds($content) {
global $post;
$content = 'votre contenu'
return $content;}
add_filter('the_excerpt_rss', 'insertAds');
add_filter('the_content_rss', 'insertAds');

Code plus complexe :

  • ajout d'une miniature
  • ajout d'un lien vers l'article complet
  • ajout d'un lien vers les commentaires

// personnalisation du flux rss
function insertAds($content) {
  global $post;
    $thetitle = $post->post_title;
  if(has_post_thumbnail($post->ID)) {
        $content = '<div>' . get_the_post_thumbnail($post->ID,'thumbnail') . '</div>' . $content.'<p></strong><a href="'.get_permalink().'#comments" title="Commenter '.get_the_title().'">Commentez cet article !</a></strong></p><p><strong>Article original :</strong> <a href="'.get_permalink().'">'.get_the_title().'</a>.</p><hr />';}
    else {
        $content = $content.'<p></strong><a href="'.get_permalink().'#comments" title="Commenter '.get_the_title().'">Commentez cet article !</a></strong></p><p><strong>Article original :</strong> <a href="'.get_permalink().'">'.get_the_title().'</a>.</p><hr />';}
  return $content;}
add_filter('the_excerpt_rss', 'insertAds');
add_filter('the_content_rss', 'insertAds');

L'intérêt face au plugin :

  • Plus de choses sont possibles techniquement (comme la miniature)
  • Plus rapide lors de la génération du flux RSS de WordPress
  • Toujours aucune mises à jour de plugin à faire

Conclusion

Comme la dernière fois, la conclusion est sans appel (pour ces plugins-ci du moins) :

Trop de plugins tuent les plugins.

Donc oui, il est vrai que c'est parfois un peu long à mettre en place (enfin, surtout pour trouver une solution viable), mais ca vaut le coup : un site plus rapide et ergonomique. Et quand on a des codes comme ici à copier/coller, c'est tout de suite plus rapide, non ?

PS : c'est en pondant un article de cette taille que je me dis que la charte graphique de SeoMix n'est pas du tout adaptée... :(

PS2 : chacun de ces hacks a été (ou va être) amélioré, mais je préfère faire des articles dédiés à chacun d'eux quand ce sera le cas.

PS3 : si vous ne savez pas quoi faire de votre argent, n'hésitez pas à m'en donner une ^^

Les thèmes relatifs

Voici les thématiques abordées par 21 hacks pour 21 plugins WordPress inutiles:

115 commentaires
  1. Val
    2 messages

    Val - Le 16 septembre 2010, 09:18

    Excellent! C’est exactement ce que j’attendais :) Là au moins on sait pourquoi certain plugins ne doivent pas être installé, et que faire à la place! (surtout pour moi qui ai la fâcheuse habitude d’en installer une cinquantaine et me plaindre après que ça ne marche pas :D )
    Merci pour cet article ;)

  2. planrencontre
    2 messages

    planrencontre - Le 16 septembre 2010, 10:15

    Excellent !

    Un article pareil, ca passe dans mes bookmarks.

    Par contre, je ne suis pas 100% d’accord au niveau du multilingue. Étant belge, j’ai déjà eu a réaliser pas mal de sites bilingues ou trilingues… Pour un seul et même pays :-)

    Et là, je trouve que le plugin de WPML.org fait pas trop mal le boulot…

  3. Dan
    3 messages

    Dan - Le 16 septembre 2010, 15:14

    Moi qui vais changer le thème de mon blog très prochainement, ça tombe très très bien. J’attendais ton billet avec impatience ! et je ne suis pas déçu.

  4. Le juge SEO
    49 messages

    Le juge SEO - Le 16 septembre 2010, 17:36

    Merci pour les tuyaux! J’en ai bien besoin. Au fait tu n’as pas répondu a ma question…

    @++

  5. Daniel Roch
    641 messages

    Daniel Roch - Le 16 septembre 2010, 18:55

    Euh, quelle question déjà ?

  6. BoiteaWeb
    42 messages

    BoiteaWeb - Le 19 septembre 2010, 13:14

    J’avoue que là c’est top de proposer ces alternatives.
    Je viens de toutes les lire et je n’ai rien à redire à la première lecture. bravo !

  7. Lashon
    6 messages

    Lashon - Le 20 septembre 2010, 17:27

    Pas mal du tout. Mais il eût été fairplay de donner tes sources car tous ces hacks sont sur la toile ou proposés par des blogueurs. Merci.

  8. Daniel Roch
    641 messages

    Daniel Roch - Le 21 septembre 2010, 09:22

    @Lashon : sauf ceux où c’est précisé, tous les hacks sont de moi. J’ai à chaque fois recoder tout à la base, notamment pour des améliorations SEO (balises ALT, ajout d’une ancre pour le lien, …

  9. Ced
    1 message

    Ced - Le 21 septembre 2010, 09:50

    Tu as oublié qu’il y a des pays où on parle plusieurs langues. Avoir un site en plusieurs langues sur un .be ou .ch est tout à fait pertinent.

  10. Anthony
    10 messages

    Anthony - Le 22 septembre 2010, 15:17

    Pas mal le script Twitter, il y aurait t-il moyen de récupérer le permalink du ou des tweets ?

  11. Ahoo
    1 message

    Ahoo - Le 22 septembre 2010, 16:47

    Salut,

    Merci pour l’astuce du fil d’Ariane !
    Par contre, il manque un bout de code : ?php et ? au début et à la fin.
    Du moins chez moi ça ne fonctionnait pas sans…
    remarque d’un néophyte hein :p

  12. Daniel Roch
    641 messages

    Daniel Roch - Le 22 septembre 2010, 23:09

    @Anthony : tout est faisable. Je ferais un essai pour ajouter le permalink, et je ferai un petit article dessus.

    @Ahoo : je pars souvent du principe que le fichier functions.php existe déjà, et que ces champs sont déjà présents… Mea culpa.

  13. Anthony
    10 messages

    Anthony - Le 23 septembre 2010, 16:29

    Merci Daniel pour la proposition, dans l’idéal j’aimerai bien que le texte du tweet republié soit lui-même lié à l’URL Twitter, ou alors avoir un « # » permalink après le texte du tweet ; enfin je pense être capable d’adapter ton futur code à mes envies ;)

  14. Michel
    1 message

    Michel - Le 25 septembre 2010, 11:11

    Votre topo se situe au coeur de la question du choix entre l’ajout de fonction qui sont dédiées à un thème (donc dans functions.php) ou partageable avec d’autres thèmes et utilisateurs. Lors du dernier wordcamp, j’ai fait une petite intervention sur la stratégie à suivre pour faire ce choix. Ce choix ne sera pas évidemment le même pour un webmaster qui code et un autre qui ne code pas. En tant qu’auteur de la trilogie xili-language utilisé sur des centaines de sites multilingues et compatible multisite 3.0, je suis évidemment réservé sur votre avis sur le mutilingue. En tout cas cette extension qui respecte le modèle de données WP, demande à être sous forme d’une extension (plugin) pour notamment gérer les mises à jour et enrichir progressivement les automatismes pour les webmasters non-codeur.
    A suivre peut-être sur un autre post !
    Michel de dev.xiligroup.com

  15. facteur-info
    1 message

    facteur-info - Le 25 septembre 2010, 22:33

    Très belle mise en évidence de l’importance de faire de son blogue un outil ‘social’. Permettre le partage de l’information trouvée par le visiteur à son réseaux social à un double intérêt : partager pour l’un, diffuser pour l’autre.

  16. Julien
    30 messages

    Julien - Le 10 octobre 2010, 18:44

    Pour le fil d’ariane, sympa mais au niveau des catégorie cela reprend la page ou nous sommes. ;)

  17. Daniel Roch
    641 messages

    Daniel Roch - Le 11 octobre 2010, 09:20

    @Julien : effectivement, mon code n’est pas parfait. Je corrige ça dès que possible.

  18. Pierre
    4 messages

    Pierre - Le 21 octobre 2010, 18:09

    Bonjour,

    Merci pour votre site et notamment cet article sur comment remplacer nos chers plugins.
    Juste, j’ai l’impression (et c’est en fait la seule chose qui me fait encore un peu hésiter à les tester) que vous mettez un peu de côté l’esthétique de l’intégration (ex : sexy bookmarks est assez joli, idem pour pas mal de choses en lien avec les réseaux sociaux..)

    Par ailleurs, comme vous le dites, je trouve votre colonne un peu étroite pour la lisibilité d’articles de cette qualité mais aussi de cette longueur). Pourquoi du fixed-width ?

    Merchi

  19. Daniel Roch
    641 messages

    Daniel Roch - Le 22 octobre 2010, 09:39

    @Pierre : il est vrai que mon article laisse de côté l’aspect graphique, mais rien n’empêche d’améliorer le rendu visuel de chaque hack avec le fichier css.

    Pour ce qui est du fixed-width de SeoMix, cela vient de deux choses : une volonté de ne pas étirer mes colonnes (qui seraient difficiles à lire en 1680/1050), et que mon thème ne peut s’étirer (images utilisées en haut et en bas de chaque bloc). La prochaine version de SeoMix sera bien meilleure. ;)

  20. Pierre Aulagne
    7 messages

    Pierre Aulagne - Le 22 octobre 2010, 09:58

    Dites pas ça, votre site est super, lisible et tout, juste sur un 22″ comme vous avez beaucoup de commentaires intéressants à lire, ça fait pas mal d’ascenseur c’est tout ce que je voulais dire.
    Par ailleurs, avez-vous des conseils sur l’apprentissage du CSS svp ?

  21. Daniel Roch
    641 messages

    Daniel Roch - Le 22 octobre 2010, 21:07

    Pour les CSS, il faut tester et apprendre par soi-même. J’aime beaucoup Alsacréation comme site sur le sujet.

  22. Trangsene
    4 messages

    Trangsene - Le 23 octobre 2010, 13:39

    Merci. Pleins de super ressources que je suis en train de tester.

    Hélàs je viens de rajouter la fonction pour les Tweets dans mon fichier functions et dès que je l’appelle :

    Fatal error: Call to undefined function curl_init()

    Effectivement cette fonction n’est définie nulle part :-( Une idée ?

  23. Daniel Roch
    641 messages

    Daniel Roch - Le 23 octobre 2010, 14:50

    Curl est une fonction inhérente à PHP, donc elle n’a pas besoin d’être déclarée. Essaie de voir avec ton hébergeur pour voir d’où peut provenir le problème.

  24. Trangsene
    1 message

    Trangsene - Le 23 octobre 2010, 15:23

    Je testais en local d’abord, je n’avais pas pensé à regarder de ce côté là, il a suffit que j’active curl dans le fichier de configuration php.
    Merci beaucoup pour cette réponse rapide. Maintenant ça marche nickel !

  25. Fabien
    34 messages

    Fabien - Le 25 octobre 2010, 21:33

    Je te trouve dur quand tu dis que WP-Stats-Dashboard est incomplet. Il est clairement moins fiable qu’analytics mais coté statistiques il est franchement complet non ?

  26. Daniel Roch
    641 messages

    Daniel Roch - Le 26 octobre 2010, 12:41

    Wp-Stat donne des infos très succinctes. On ne peut faire de suivi ecommerce, ni de suivis d’évènements, ni mettre en place d’objectifs ni de tunnel de conversions. Google Analytics est vraiment plus poussé.

  27. billboc
    11 messages

    billboc - Le 28 octobre 2010, 22:19

    Bonjour, Merci pour ce travail !
    par contre je n’arrive pas a afficher mes derniers tweets ?
    j’ai juste le chiffre 0 qui s’affiche et rien d’autres…
    j’ai inscrit le nom de mon compte twitter dans le code de functions.php pourtant…
    une idée pour me dépanner ? merci beaucoup !

    EDIT : Oups ! ce matin ça fonctionne un peu 8-)
    il n’y a qu’un tweet affiché mais c’est déjà ça ;)

  28. Daniel Roch
    641 messages

    Daniel Roch - Le 29 octobre 2010, 10:14

    Il faut vérifier ces deux élements : $username = Nom de votre compte Twitter & $limit = nombre de tweets à afficher

    Au niveau de $time3, change le chiffre 600 par 1. Cela désactivera le système de cache, et tu pourras donc tester facilement tes modifications.

  29. billboc
    11 messages

    billboc - Le 29 octobre 2010, 12:22

    merci beaucoup ;)

    au fait, comment fais-tu pour afficher la date relative en français ?
    car j’utilise aussi twitter-tools sur mon blog mais la date est en anglais :(

    Merci pour tes lumières :)

    ++

  30. Daniel Roch
    641 messages

    Daniel Roch - Le 30 octobre 2010, 14:41

    Je n’utilise pas twitter Tools, mais tout simplement le hack présenté dans cet article.

  31. billboc
    11 messages

    billboc - Le 30 octobre 2010, 15:21

    étonnant… j’ai beau remplacer 600 par 1 effacer mon cache de navigateur = impossible d’actualiser l’affichage du dernier tweet.

    Je viens de changer de compte, effacer encore le cache, mais c’est le tweet du compte précédent qui s’affiche ???

    quel ligne faut-il enlever pour ne plus avoir la fonction de la mise en cache ?

    merci pour ton aide

    ;)

  32. Trangsene
    4 messages

    Trangsene - Le 31 octobre 2010, 19:01

    A propos de date, c’est très étrange, ton code pour afficher ses tweets marche nickel en local, par contre sur mon hébergement chez OVH il m’affiche que mon dernier tweet date d’il y a 14914 jours, d’où ça peut venir ????? :-(

  33. billboc
    11 messages

    billboc - Le 01 novembre 2010, 01:20

    impossible d’afficher plus d’1 tweet !?!?

    j’ai beau changer le nombre limit de tweet rien n’y fait

    je suis sous wordpress 3.0.1 et PHP à jour…

    une idée ?

  34. Trangsene
    4 messages

    Trangsene - Le 01 novembre 2010, 20:11

    @billboc, je suis aussi sur Worpress 3.0.1 avec PHP5 et en changeant $limit = « 2″; j’ai bien 2 tweets d’affichés !

  35. Daniel Roch
    641 messages

    Daniel Roch - Le 01 novembre 2010, 20:10

    @Trangsene : si cela marche en local, le souci vient forcément de la configuration du serveur. Il faut demander à OVH ce qu’il en est.

    @Billboc : modifie le nom de la variable « cachetwithtml » par ce que tu veux (mais remplace chaque occurrence du terme par ton nouveau nom.

  36. Anthony
    10 messages

    Anthony - Le 03 novembre 2010, 12:38

    Est-il possible d’afficher le slug de l’article dans une colonne admin ?

  37. Daniel Roch
    641 messages

    Daniel Roch - Le 03 novembre 2010, 14:39

    Si par Slug tu veux dire l’url courte de l’article, c’est tout à fait possible. Regarde le guide de l’admin WordPress. Il y a un passage sur l’ajout de colonnes.

  38. Delphine
    1 message

    Delphine - Le 05 novembre 2010, 09:24

    Merci et encore merci, j’ai crée mon blog WordPress depuis peu, j’essaie d’éviter au maximum les plugins, mais on dirait qu’il y a un véritable tabou sur le fait de « divulguer » ce type de codes, difficile de les trouver, alors vraiment merci.

  39. PassioN @Net
    1 message

    PassioN @Net - Le 08 novembre 2010, 20:12

    Merci, le script pour afficher les derniers tweets fonctionne nikel !

  40. Olivier
    5 messages

    Olivier - Le 25 novembre 2010, 00:25

    Merci pour ce très bon article.

    Sais-tu comment faire pour ne pas faire apparaître dans le flux RSS les tags associés à chaque article ? (les balises XML category)

    Par exemple rss.lefigaro.fr/lefigaro/laune

  41. Daniel Roch
    641 messages

    Daniel Roch - Le 25 novembre 2010, 08:35

    La solution est ici : Flux RSS de WordPress et code source XML

  42. Fabien
    34 messages

    Fabien - Le 30 novembre 2010, 15:10

    Désormais WP-Minify minifie aussi le HTML : http://pix-geeks.com/webmasters/accelerer-wordpress-minify

    Alors… toujours inutile selon toi ? ;)

  43. Daniel Roch
    641 messages

    Daniel Roch - Le 30 novembre 2010, 16:11

    Inutile pour la partie CSS et JS, car le faire en dur évitera de recalculer la minification.

    Par contre, très intéressant pour la partie HTMl si cela minifie bien le contenu des articles, et si cela est compatible avec Super Cache.

  44. Anthony
    10 messages

    Anthony - Le 30 novembre 2010, 20:58

    Oui, c’est compatible ! Le gain de temps est assez hallucinant avec cette combinaison. Et la minification est aussi mise en cache, donc le recalcul n’est pas vraiment un soucis.

  45. Fabien
    34 messages

    Fabien - Le 30 novembre 2010, 23:42

    Le seul danger est au niveau des commentaires // dans le code HTML mais du beau code propre doit passer sans souci !

  46. Antoine
    2 messages

    Antoine - Le 01 décembre 2010, 11:41

    Re- ;)

    Concernant le fil d’Ariane, comment changer la couleur de chaque lien? Par exemple:
    Accueil (en bleu) > Catégorie (en vert) > article (normal)
    Via le CSS?
    Novice en la matière, j’ai essayé quelques astuces prises ici où là mais sans réussite. Je me permet dc de vous importuner ici.
    Merci

  47. Daniel Roch
    641 messages

    Daniel Roch - Le 02 décembre 2010, 11:36

    @Antoine : oui, c’est tout à fait faisable ajoutant des balises

    span style="color:red;"

    et

    /span

    autour des éléments à colorer (le mieux reste cependant de mettre ces styles dans le fichier style.css.
    C’est un poil long à expliquer dans les commentaires, donc je ferais un article complet là dessus dans les semaines à venir (relance-moi si j’oublie).

  48. Fabien
    34 messages

    Fabien - Le 02 décembre 2010, 19:30

    Hérésie !!!!!!!!!
    Il faut éviter le plus possible de balancer du CSS en dur dans le HTML c’est pas toi qui dira le contraire ;)
    Mieux vaut une classe ou un ID, puis une belle définition bien propre dans le fichier style.css : .fil1{ color:red;}

    Allez je fais ch*** je sais que c’est pour proposer une solution plus simple à un débutant en CSS ;)

  49. Daniel Roch
    641 messages

    Daniel Roch - Le 02 décembre 2010, 21:08

    Lol, c’est exactement ça ^^

  50. Antoine
    2 messages

    Antoine - Le 06 décembre 2010, 10:49

    Merci Daniel,

    Dans ce cas, je vais attendre ton article. Si ça peut m’appréhender le CSS, c’est pas de refus.
    et vive les pros du Web qui nous viennent en aide ;)

  51. Eric Savina
    1 message

    Eric Savina - Le 22 décembre 2010, 03:47

    Bonjour,

    Je débute avec WordPress et je trouve votre article très intéressant. Il y a toutefois une chose qui m’échappe : que ce passe t’il lorsque l’on fait une mise à jour de WordPress ? Est-ce que toutes ces modifications sont à refaire ?

    Merci d’avance,

    Eric

  52. Daniel Roch
    641 messages

    Daniel Roch - Le 22 décembre 2010, 13:11

    Non, normalement la mise à jour ne modifie pas ces hacks. Je conseille cependant de faire une sauvegarde FTP du site avant. ;)

  53. Anthony
    10 messages

    Anthony - Le 25 décembre 2010, 21:45

    Salut Daniel,

    Pour le hack du dernier tweet, est-il possible de ne pas afficher les réponses @reply ?

    J’ai trouvé ça : // http://yoast.com/display-latest-tweet/
    Mais le script est moins rapide que le tient…

  54. Daniel Roch
    641 messages

    Daniel Roch - Le 26 décembre 2010, 14:58

    C’est beaucoup plus compliqué à mettre en place, car il faut filtrer le résultat, sans incrémenter la boucle du code. Je verrais ce que je peux faire, mais je suis assez pris en ce moment…

  55. Anthony
    10 messages

    Anthony - Le 26 décembre 2010, 15:09

    Le lien que je t’ai mis a un système de filtre pour les @reply, mais il gère mal la mise en cache. Après c’est sûrement compliqué à adapter avec ton code (que j’utilise et qui fonctionne très bien !)

  56. Jean l’Énigme
    2 messages

    Jean l’Énigme - Le 14 janvier 2011, 21:46

    Existe-t-il un hack pour éviter l’autoping ?

    Une précision : par « autoping », j’entends le fait que WP génère un ping quand on fait un lien interne entre articles.

  57. Daniel Roch
    641 messages

    Daniel Roch - Le 15 janvier 2011, 10:54

    Je ne connais pas de hack pour cela, mais un très bon plugin : No Self Ping

  58. Jean l’Énigme
    2 messages

    Jean l’Énigme - Le 15 janvier 2011, 19:31

    Merci ! Visiblement, si dans un article on utilise un lien relatif dans le « a href », ça ne self ping pas.

  59. BoiteaWeb
    42 messages

    BoiteaWeb - Le 09 février 2011, 14:25

    Je propose un code plus simple pour le dernier tweet.

    &#8249;?php
    $searchUrl      = "http://search.twitter.com/search.atom?q=boiteaweb&rpp=1";
    $load           = simplexml_load_file($searchUrl);
    $entry          = $load->entry;
    $published      = $entry->published;
    $content        = $entry->content;
    $link2 = $entry->link[1]['href'];
    echo('&#8249;img src="'.$link2.'" /&#8250;'.$content.'&#8249;br /&#8250;&#8249;em&#8250;'.$published.'&#8249;/em&#8250;');
    ?&#8250;
  60. Jérôme
    2 messages

    Jérôme - Le 28 février 2011, 14:05

    J’aime beaucoup le flux Twitter qui est présent sur LePost.fr
    Penses tu qu’on peut arriver au même résultat avec ton hack ou bien avec un plugin ?

  61. Daniel Roch
    641 messages

    Daniel Roch - Le 28 février 2011, 15:20

    @Jérome : de quel flux Twitter parle-tu ? Je ne le vois pas.

  62. BoiteAWeb
    42 messages

    BoiteAWeb - Le 28 février 2011, 15:23

    Un plugin c’est un hack isolé, activable et désactivable.
    Oui c’est faisable, je viens de regarder le code source de Lepost.fr.
    Ils prennent les 10 derniers twitts, les mettents (en gros) dans un tableau puis ils font tourner le tableau toutes les X secondes.
    On peut croire que ça refresh en temps réel, mais non !
    Disons que ça tourne toutes les 10 secondes, ça fait 110 secondes avant de revoir le premier twitt. A moins de reste 2mn sur la meme page, vous aurez rechargé les derniers twitts s’il y en a eu.
    Pour réaliser le roulement, il faut bien sur du JS/jQuery etc.
    Mais ça reste tout a fait faisable.

  63. Jérôme
    2 messages

    Jérôme - Le 28 février 2011, 16:39

    @BoiteAWeb Cool merci. Par contre je suis une brèle en JS/jQuery etc donc ça risque d’être dûr :s
    Mais merci de l’info :)

  64. patrick
    1 message

    patrick - Le 11 mars 2011, 11:01

    Très bon article merci mais où se copie le code GA ? Merci

  65. Daniel Roch
    641 messages

    Daniel Roch - Le 12 mars 2011, 21:37

    @Patrick : Il faut placer le code Analytics entre les balises head de la page.

  66. Trangsene
    4 messages

    Trangsene - Le 16 mars 2011, 16:28

    Bonjour,

    Je refais un passage sur le site en espérant une mise à jour sur ce point :

    Inconvénient, vous n’avez pas le nombre de RT. Au risque d’en décevoir certains, je ne vais malheureusement pas donner le hack aujourd’hui (ce sera le seul qui manque), car je travaille dessus avec un ami pour avoir un truc tip-top (mise en cache, personnalisation et tout ce qui va avec). A suivre d’ici 2-3 semaine.

    Du nouveau ? :-)

    Merci encore au passage pour ces excellents articles

  67. Silver
    4 messages

    Silver - Le 20 mars 2011, 16:59

    Après insertion du code, j’ai bien les liens pour mener aux commentaires ainsi que le permalien de l’article, en revanche pas de miniature. Y a-t-il quelque chose que j’aurai raté?
    Quoiqu’il en soit, merci beaucoup pour cet article qui prête à réfléchir!

  68. Daniel Roch
    641 messages

    Daniel Roch - Le 21 mars 2011, 12:21

    La miniature doit avoir été activée dans le thème. Il y a pas mal du tutoriel là dessus sur Internet, comme ici : http://lashon.fr/tutoriaux-wordpress/wordpress-2-9-comment-utiliser-nouvelle-gestion-thumbnail-inserer-image/

  69. Silver
    4 messages

    Silver - Le 25 mars 2011, 15:43

    Merci, ce lien m’a été bien utile.

  70. Surferlight
    2 messages

    Surferlight - Le 02 avril 2011, 21:09

    Bonjour Daniel,

    Tout d’abord merci pour tout ces hacks, ils me sont très utile. J’essaye de suivre aussi ton conseil sur le fait de regrouper les fichiers java-script en un seul, mais là j’ai un petit souci. En effet pas moins de 6 fichiers .js sont appelés par la fonction wp-head()de mon header et la je ne sais pas comment faire pour remplacer/supprimer toutes ces lignes contre une seul (qui sera l’appel du fichier .js unique). Je cale donc si une bonne âme pouvait m’aider.

    merci

  71. Daniel Roch
    641 messages

    Daniel Roch - Le 04 avril 2011, 09:58

    @Surferlight : en réalité, ils sont appelé dans le head par des fonctions register. Il faut donc trouvé le nom du script et effectuer l’action inverse dans le fichier functions.php de son thème.

    Par exemple, la ligne suivant enlève le fichier css du plugin Contact Form 7 :
    wp_deregister_style(‘contact-form-7′);

  72. Surferlight
    2 messages

    Surferlight - Le 05 avril 2011, 01:15

    Merci pour ta réponse, en fait apparemment cela ne fonctionne qu’avec les scripts inséré avec la méthode wp_enqueue_script ou wp_enqueue_style. De plus cela ne fonctionne pas toujours. Par ex la ligne qui efface le fichier css du plugin Contact Form 7 ne fonctionne pas chez moi. Je continue mon investigation… ;-)

  73. Weakiz
    3 messages

    Weakiz - Le 28 avril 2011, 12:53

    Merci pour les astuces avec les boutons, ça me permet d’éviter le plugin « Digg-digg », bon plugin mais j’avais peur que son code ne ralentisse mes pages.

  74. Marie-Aude
    3 messages

    Marie-Aude - Le 26 mai 2011, 00:22

    Bonsoir

    une petite inexactitude, c’est </head> et pas </header> (et même en HTML5 ^^)

    Je suis assez d’accord sur le fait d’éviter les plugins inutiles, et de réécrire ceux qui ont trop de fonctionnalités, sous quelques réserves néanmoins …

    - En fonction de ce qui est touché par le plugin, ça peut ne plus marcher – ou pas – avec de nouvelles fonctions de WordPress. Il est dans ce cas nettement plus facile de désactiver un plugin que de partir à la pêche dans le thème en urgence
    - entre rajouter une fonction dans le fichier functions.php du thème ou un plugin, je crains que la différence de performance soit réellement mineure (et encore plus si on utilise un cache).
    - Pour beaucoup d’exemples donnés, comme les boutons sociaux, en « pratique » il vaut mieux isoler ces bouts de code dans des fichiers séparés, et les inclure, ou les appeler via une fonction. On se retrouve donc avec la logique d’un plugin. Pourquoi ça vaut mieux ? Si on fait plus d’un site, on aura tendance à les réutiliser, si le code du réseau social change il vaut mieux changer un fichier que partir à la pêche dans tous les fichiers du thème, si on change de thème on peut avoir envie de remettre certaines choses directement, etc…

    En revanche, oui, un certain nombres de plugin sont totalement inutiles, notamment les plugins de stat.

    Bonne continuation :)

  75. Daniel Roch
    641 messages

    Daniel Roch - Le 26 mai 2011, 10:53

    C’est corrigé Marie-Aude. Je suis relativement d’accord avec toi sur le premier point : il faut faire attention à ce que l’on fait, car les hacks sont plus complexes à installer et à faire évoluer.

    Par contre, cela fait forcément gagner du temps et de la vitesse par rapport à un plugin, car celui-ci fait souvent des filtres sur le contenu, au lieu d’ajouter la fonction en dur dans la thème (et que dans l’administration, le plugin va régulièrement faire des requêtes pour savoir s’il est à jour).

  76. BoiteaWeb
    42 messages

    BoiteaWeb - Le 26 mai 2011, 11:02

    « dans l’administration, le plugin va régulièrement faire des requêtes pour savoir s’il est à jour »
    Ce qui ne ralenti pas la navigation de l’utilisateur !

  77. Daniel Roch
    641 messages

    Daniel Roch - Le 26 mai 2011, 12:13

    En fait, cela ralentira l’utilisateur s’il a beaucoup de plugins, car lorsque les requêtes seront lancées, toute l’administration sera lente (enregistrer une page, aller dans un autre menu, …). Je le sais pas expérience sur des serveur un peu faibles qui n’arrivaient plus à suivre à cause de plugins.

  78. Jaimepasgougueule
    1 message

    Jaimepasgougueule - Le 28 mai 2011, 22:32

    Bonsoir, Merci pour ces contributions, puis-je suggérer ceci pour le breadcrumb : serait-il possible de le mettre en microformat, ce serait génial pour déclarer ce dernier comme rich snippet chez Google ;-)
    merci encore

    EDIT : euh, je devrai d’abord regarder le code avant de parler ! le microformat est en place !
    désolé

  79. Seo F1
    2 messages

    Seo F1 - Le 08 juin 2011, 09:20

    Wahou, super article très complet. Je pense qu’il devrait beaucoup m’aider dans la création d’un template WP. Je pense surtout aux typo ;)

  80. cobolian
    3 messages

    cobolian - Le 08 juin 2011, 09:23

    Et pour simplifier le tout pour que ce soit simple a réutiliser : tout mettre dans un fichier a part : un include dans le header (ou autre), puis un appel de fonction simple.

    Quand tu changes de design c’est plus simple.

  81. planrencontre
    2 messages

    planrencontre - Le 08 juin 2011, 10:09

    @cobolian : C’est pas plus simple de passer par un fichier functions.php ?

  82. Mylène
    1 message

    Mylène - Le 29 juin 2011, 12:39

    Bonjour,

    Je cherche à implémenter votre solution pour séparer les commentaires des Trackbacks, mais après intégration du code, rien ne s’affiche. Auriez-vous une idée du bug? J’ai c/c le code de functions.php tout en bas de la page, donc il n’y a à priori pas de souci de ce côté.

    Merci d’avance !

  83. Daniel Roch
    641 messages

    Daniel Roch - Le 30 juin 2011, 09:28

    Il ne faut pas oublier d’ajouter le code qui correspond au fichier single.php pour avoir une réelle séparation des commentaires.

  84. Tristan
    1 message

    Tristan - Le 07 septembre 2011, 20:02

    Bonjour, je chercher à rajouter une police pour modifier l’aspect du titre. J’avais eu l’idée d’utiliser font-face mais cela ne marche pas sur ma config : j’utilise le thème weaver avec un thème enfant.
    Est-ce à cause du thème, si oui, comment passer outre.
    Merci pour ta réponse, et surtout merci pour cet article et les autres que je vais aller découvrir.

  85. Daniel Roch
    641 messages

    Daniel Roch - Le 08 septembre 2011, 08:07

    Pour que font-face fonctionne, il faut être sûr que la police soit bien placée dans le répertoire du thème. Si jamais cela ne fonctionne pas, tu peux également faire appel à Google Font.

  86. Bloody
    1 message

    Bloody - Le 13 septembre 2011, 23:02

    Très utile cet article, Daniel. ;)
    Ça m’a permis de continuer le ménage dans mes plugins.

    Il reste aussi la possibilité de supprimer les plugins type lightbox pour éviter que le JS et les css soient chargées sur toutes les pages.

    Les plugins « Related Posts » peuvent y passer aussi. :D

    Toujours dans le but d’accélérer la génération des pages,j’ai découvert une astuce, il y a peu : Séparer le fichier functions.php en 2 pour gérer le front-end et le back-end de chaque coté : http://www.screenfeed.fr/blog/accelerer-wordpress-en-divisant-le-fichier-functions-php-0548/

    Merci.

  87. guillaume
    2 messages

    guillaume - Le 02 octobre 2011, 19:40

    hello, pas mal de truc simpatiques, petite question cela dit: quand on privilégie le code au plugin, ça induit aussi une sacré baisse en productivité et des complication de mise à jour non?!

    Le code pour liké facebook doit-il être implémenter à chaque fois pour chaque article ?!

    Idem pour google analytics , a chaque fois qu’une page est créée il faut rajouter manuellement le bout de code?! Ce serait dommage de ne pas pouvoir implémenter le code asynchrone automatiquement sur toute les page présente et future..?!

    merci pour votre site , je vais le plébisciter;

  88. Daniel Roch
    641 messages

    Daniel Roch - Le 03 octobre 2011, 09:29

    Au contraire, c’est en général plus simple pour les mises à jour car on va coder une fonction qui correspond aux besoin du site, sans faire des mises à jour de la part de créateurs de plugins qui rajouteraient des fonctionnalités superflues.

    Que ce soit pour Analytics ou pour le code « Like », on ne les ajoute qu’une fois dans la thème : tous les articles en bénéficie donc automatiquement.

  89. sia
    1 message

    sia - Le 03 octobre 2011, 17:27

    Bonjour Daniel,

    je me suis demandée, en terme d’optimisation du code s’il y avait un moyen, lorsqu’on utilise un plugin sur une seule page, de mettre les scripts pour le faire fonctionner uniquement sur cette page. J’ai cherché en vain.. une idée?
    Merci
    Sia

  90. BoiteaWeb
    42 messages

    BoiteaWeb - Le 04 octobre 2011, 09:58

    @Sia : oui tu peux, voici la procédure général, je ne te donne pas de code là comme ça. Aussi il faut que le plugin soit bien fait sinon tu va devoir le modifier et donc, ces modifs sautent à la prochaine mise à jour.
    1) Repérer dans le code du plugin les wp_register_style (css) et les wp_register_script(js). Ces fonctions « enregistrent » en mémoire de WP les style et JS, sans les afficher/inclure.
    2) Devraient suivre normalement un wp_enqueue_script/style qui lui, ajoute ce(s) fichier(s) dans le head (ou foot selon le choix)
    3) Dans ton fonctions.php du thème ajouter un hack : wp_dequeue_script/style pour supprimer l’ajout de ces fichiers partout où tu ne veux pas.
    4) A toi de faire un wp_enqueue_script/style là où tu le veux, de la façon que tu veux.
    Par exemple dans ton header.php du theme tu peux mettre quelquechose comme :
    « if( $post->ID == 123 ) {
    wp_enqueue_script( ‘monplugin’ );
    } »
    etc tu comprends le système ?

  91. Daniel Roch
    641 messages

    Daniel Roch - Le 04 octobre 2011, 11:37

    C’est tout à fait faisable. Soit il faut créer un fichier single-ID.php ou page-id.php dans le thème (en remplaçant ID par l’ID de l’article), ou alors faire appel dans les fichiers single.php ou page.php à des conditions is_single(ID) ou is_page(ID).

  92. Xt@z
    1 message

    Xt@z - Le 10 novembre 2011, 16:05

    Bonjour,
    J’essaie de ne publier que la 1ère partie des articles de mon site précédés de leur « image à la une ». J’ai donc essayé de mettre ce bout de code dans mon fichier functions.php mais cela ne fait rien, à part générer une erreur sur la partie admin…

    Ne devrait-on pas modifier plutôt les fichiers rss (tous?), c’est ce que je semble lire ici et là…

    En fait, j’aimerais exactement le même aspect que seomix pour mon rss !

    Merci en tt cas pour cet article utile. ;)

  93. Piotr
    1 message

    Piotr - Le 14 novembre 2011, 11:09

    Bonjour,
    Merci pour le fil d’ariane mais la page catégorie boucle sur elle même (le lien est cliquable) à la fin du fil :/
    Avez-vous le correctif à nous proposer ?

    Merci d’avance :)

  94. Daniel Roch
    641 messages

    Daniel Roch - Le 14 novembre 2011, 17:36

    J’ai recodé le hack WordPress du fil d’Ariane, mais il faudrait que je fasse un article complet dessus d’ici quelques semaines. ;)

  95. dafunkystory
    2 messages

    dafunkystory - Le 04 décembre 2011, 18:06

    Très bel article.
    Je reviens sur la problématique des mises à jour evoquées par Guillaume:

    « quand on privilégie le code au plugin, ça induit aussi une sacré baisse en productivité et des complication de mise à jour non?! »

    Je suis la même logique que Daniel pour conserver un maximum de contrôle sur l’évolution des fichiers présents dans mon installation, bonne homogenéité de mon code. De plus, si l’editeur d’un plugin n’adopte pas les standards d’ecriture de WordPress cela peut générer des conflits avec votre installation ou entre vos plugins ou encore les deux^^.
    Toutefois je me permets d’ajouter une chose sur cette pensée:

    1)Lorsque vous mettez WordPress à jour, n’omettez pas ensuite de passer la ligne

    define(‘WP_DEBUG’, false);

    sur la valeur true dans votre fichier wp-config.php pour vous assurer que vos fonctions suivent toujours les standards d’ecriture de WordPress, et effectuer les quelques correctifs si necessaire.
    (puis remettre votre wp_debug sur false une fois que votre vérification est achevée).

  96. guillaume
    2 messages

    guillaume - Le 05 décembre 2011, 09:34

    Salut, depuis j’ai avancé, après avoir « étudié » un peu ce cms, je comprend mieux les implications et nécessité d’éviter les plugin; Cela dit, mon fichier function.php commence à être sacrément remplit,

    J’ai lu ici et la qu’il fonctionnait comme un plugin géant, le fichier function est it chargé a chaque page?! J’en ai l’impression ;

    J’ai pas mal de petites questions auxquelles google ne réponds pas, par ex ,je serais curieux de savoir en combien de temps sont lu 100 ligne de code dans function.php ?!

    Quand on fait un remove action/filter c’est agaçant de savoir que c’est du « cache misère »; C’est un peu annuler quelque chose qui c’est déjà passé ! En terme d’optimisation c’est un peu frustrant;

    Pourquoi wordpress ne donne pas les réglages en admin pour défault-filters.php par exemple de manière à écrire dans le fichier et non gommer une rature?!

    Bon c’est le matin, café! guillaume

  97. Yannick Altuna
    7 messages

    Yannick Altuna - Le 16 décembre 2011, 11:18

    Merci pour cet article et son suivis exemplaire. Je crois que c’est la première fois que je poste ici, je félicite donc le webmaster car je passe régulièrement sur le site.
    J’essais de mettre en place le remplacement du plugin feedburner mais n’y arrive pas du tout. Voici mon .htaccess avant l’ajout des lignes de code :

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    Ou dois-je rajouter le code? Dois-je réécrire les lignes  »
    RewriteEngine On ….  » ou insérer mon code à l’intérieur?

    J’ai testé plusieurs solutions mais la redirection ne se fait pas. Merci d’avance pour vos réponses.

    Cordialement,
    Yannick

  98. Daniel Roch
    641 messages

    Daniel Roch - Le 16 décembre 2011, 16:48

    Le code peut s’ajouter juste au dessus ou juste en dessous. Il faut juste penser à modifier l’adresse du flux dans le code donné dans cette article.

  99. Yannick Altuna
    7 messages

    Yannick Altuna - Le 16 décembre 2011, 17:41

    Merci Daniel pour la réponse,

    J’avais bien changé l’adresse du flux, voici mon code :

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
    RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
    RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/runningonearth [R=302,NC,L]

    Et rien ne se passe. Mon cas n’est pas désespéré car je peux réactiver le plugin que j’utilisais, mais l’idée de gagner quelque kilos de chargement serai super.

    Vous voyez une erreur?

  100. Daniel Roch
    641 messages

    Daniel Roch - Le 17 décembre 2011, 16:45

    Je viens de tester à l’instant sur ton site, et cela fonctionne. Ne serait-ce pas un problème de cache ?

  101. Yannick Altuna
    7 messages

    Yannick Altuna - Le 19 décembre 2011, 11:04

    - retour du weekend -
    Tu as testé sur quels site? Si tu as essayé sur mon site perso visualy-design.fr c’est normal que ça fonctionne, je n’ai pas encore désactivé le plugin, le site sur lequel il ne fonctionne pas c’est runningonearth.fr.
    Je ne pense pas que se soit une histoire de cache, car après tout un weekend, sans cache activé, et testé sur 3 navigateurs différents, chez moi ça ne fonctionne pas.
    Maintenant si tu me confirme que sur le site de running ça fonctionne je laisserai ça comme ça.

  102. Daniel Roch
    641 messages

    Daniel Roch - Le 19 décembre 2011, 11:29

    Attention au code. Il faut bien ajouter tout le bloc donné, ce qui inclut les lignes IfModule mod_rewrite.c et IfModule

  103. Xavier
    1 message

    Xavier - Le 21 janvier 2012, 11:38

    Bonjour et merci Daniel pour ces articles très instructifs.

    J’ai conscience que c’est un article un peu vieux, mais je me posais une question sur l’un de ces hacks.

    Sur le hack des derniers tweets, j’ai bien rajouté la fonction comme il faut dans le functions.php, et je l’appelle depuis un widget sidebar, via un plugin (c’est un comple) : php-code widget.

    Et là, sur la ligne $element->parentNode->removeChild($element); je me reçois l’erreur « Call to a member function removeChild() on a non-object ».

    Tu vois d’où ça pourrait venir ?

    Merci d’avance :)

  104. moodytryme
    2 messages

    moodytryme - Le 27 mars 2012, 11:24

    Merci pour ces hacks ! J’avais installé un plugin pour des réseaux sociaux, et ça installait des scripts qui ralentissaient mon site ; et je me suis débarrassée de Feedburner Smith ainsi que google analytics pour intégrer les codes directement dans mes pages.
    Par contre, compresser les scripts, les pages HTML (PHP plutôt), et le CSS s’est révélé dangereux… mon site ne s’affichait plus en disant qu’il y avait une erreur dans une variable. Bref, je ne me risque plus là dedans.

  105. julien
    1 message

    julien - Le 09 mai 2012, 14:06

    Bonjour, après lecture de cet article très intéressant j’ai déjà une première question de néophyte: Pour google analytics, j’ai un plugin actuellement. Je ne comprends pas bien votre méthode. Où ajouter votre code ? Dans quel fichier du thème ?
    Je poursuis l’article, il y aura peut être d’autres questions ! Merci d’avance

  106. Daniel Roch
    641 messages

    Daniel Roch - Le 10 mai 2012, 09:48

    Pour Google Analytics, il suffit de coller le code dans le thème WordPress que vous utilisez, dans le fichier head.php (ou header.php), et de le coller juste avant le code suivant :

    </head>
  107. Ben
    1 message

    Ben - Le 07 juillet 2012, 01:45

    Bonjour Daniel,
    Une question au sujet du hack concernant le flux twitter: Comment insérer le titre « Twitter » juste au dessus du flux en reprenant la typo et couleur par défaut des widgets du theme utilisé. Etant donné que ce hack remplace un widget il serait utile de le compléter par un titre :)
    Merci !

  108. Daniel Roch
    641 messages

    Daniel Roch - Le 07 juillet 2012, 18:27

    @Ben : cela dépend de ton thème. Il faut regarder comment sont codés les titres par défaut de ton thème (par des h2, des div, …), puis faire pareil pour mon hack.

  109. Florence
    1 message

    Florence - Le 25 août 2012, 07:35

    Bonjour,

    Franchement, j’adore votre site: il est clair, pertinent, et la recherche est facile.

    En ce qui me concerne, je suis novice: j’ai crée mon site il y a 4 mois, et je me déplace parfois à pas de fourmis.
    Pour info, j’utilise le thème pure vision.

    J’ai 2 questions: la première doit vous apparaitre simple, mais pour moi, débutante, je préfère demander que, faire, n’importe quoi: elle concerne le sujet: minifier votre thème:La solution est simple : copier/coller le contenu de vos fichiers dans ces deux outils, et le tour est joué :

    Quels fichiers dois-je ouvrir et où est ce que je vais les chercher ?

    La deuxième concerne l’insertion des hacks dans les functions.php: par 2 fois, j’ai fait cette manipulation, sur mon site directement dans le thème wordpress, mon site a planté (je tiens à préciser , pour ne pas qu’il y est de confusion, que les balises ou codes ne venaiant pas de votre site) et pour rattraper le site, c’est chaud, car il faut que je trouve quelqu’un qui s’y connait.

    Donc, là, je suis très frileuse pour ajouter un hack dans le fonction.php de mon thème wordpress, sauf si il faut l’ajouter au niveau du FTP, je ne suis pas allée voir, et je crois que je vais attendre votre réponse.

    En tout cas, continuez, c’est génial d’avoir un outil comme celui-ci et pour apprendre et surtout pour pouvoir l’utiliser

  110. Daniel Roch
    641 messages

    Daniel Roch - Le 27 août 2012, 10:00

    Pour les fichiers à minifier, il s’agit des fichiers *.js et *.css. Vous pouvez donc en avoir un de chaque tout comme vous pouvez avoir plusieurs fichiers CSS et Javascripts : tout dépend de votre thème.

    Pour les hacks, mieux vaut demander à quelqu’un qui s’y connaît si vous ne maîtrisez pas du tout PHP ou l’HTML.

  111. davidin80
    2 messages

    davidin80 - Le 29 août 2012, 10:00

    Bonjour,

    Je tiens tout d’abord à vous remercier pour votre site où l’on apprend toujours quelque chose.

    Et c’est la cas dans cet article où certains hacks sont indispensables.

    Je souhaiterais simplement savoir s’il est possible de partager la personnalisation que vous avez faites de votre flux rss sur seomix car malgré plusieurs tentatives de modification du hack proposé dans l’article je n’arrive pas à avoir la même visualisation que le vôtre.

    Vous en remerciant par avance, je vous souhaite une bonne journée.

  112. Daniel Roch
    641 messages

    Daniel Roch - Le 29 août 2012, 10:39

    Théoriquement, le hack donné ici donne le même affichage. Mais il est vrai que mon flux est remanié par Feedburner, d’où les éventuels changements.

  113. davidin80
    2 messages

    davidin80 - Le 29 août 2012, 11:46

    @Daniel Roch
    Merci pour votre réponse rapide.

    En effet, il doit être bien remanié car je suis très loin d’obtenir votre résultat.

    En effet, j’ai systématiquement le nom de l’auteur et le nombre de commentaire affiché sans avoir le début du contenu de l’article.

    @ bientôt.

  114. Djib's
    26 messages

    Djib's - Le 07 septembre 2012, 14:11

    Salut,

    Je voulais savoir s’il était possible d’adapter le code qui affiche les derniers tweets mais par rapport à l’Api 1?1 du réseau social.

    EN effet celui ci exige d’avoir crée une application et de s’y connecter avant, plus possible de récupérer les données anonymement.

    merci

  115. Daniel Roch
    641 messages

    Daniel Roch - Le 10 septembre 2012, 09:28

    @Djib’s : dès que j’ai un peu de temps, je regarde ça ;)

» Commentez cet article !
(Merci de donner un vrai prénom)
(Ne sera jamais publié)
(Modèration subjective)
Html accepté <a> <i> <b> [codesyntax]CODE[/codesyntax]
» Prévisualisez votre message

4 sites en parlent :
Par Ménage dans mes plugins de stats Wordpress | Seniorette made in Web le 02/11/2010» 21 hacks pour 21 plugins WordPress inutiles[...] que je voulais faire le ménage là-dedans, surtout depuis que j’ai lu ce billet mi septembre 21 hacks pour 21 plugins WordPress inutiles. C’est un commentaire sur mon billet se rapportant à ma liste de plugins installés qui [...]
Par Ressources pour concepteur de modèle pour Internet le 29/09/2010» 21 hacks pour 21 plugins WordPress inutiles[...] 21 hacks pour 21 plugins WordPress inutiles — Cet article fait suite au précédent et propose d’ajouter quelques lignes de code dans le fichier functions.php ou dans vos templates pour vous passer de certains plugins. [...]
Par 5 astuces simple pour personnaliser WordPress comme vous aimez ! | Le Blog Odomia. le 21/09/2010» 21 hacks pour 21 plugins WordPress inutiles[...] Vu chez SEOMIX [...]
Par L’hebdo WordPress : Interviews – Automattic – Gratuit | WordPress Francophone le 21/09/2010» 21 hacks pour 21 plugins WordPress inutiles[...] SEOmix nous avais parlé il y a quelques semaines de 21 extensions qu’il estimait inutiles dans une installation WordPress. Il nous dévoile aujourd’hui de quelle manière s’en passer réellement. [...]

© 2010-2012 SeoMix : WordPress & Référencement
Propulsé par WordPress et Daniel Roch. Logo créé par Willy-Bahuaud

Indispensable
WordPress
A propos de SeoMix
Mes servicesWordPress - Référencement
Suivez-nous !
  • 1015 abonnés
  • 176 articles
  • 4106 messages
Vous devriez lire
Seo et emarketing
Les amis