Vous êtes ici : SeoMix » WordPress » Hacks & fonctions WordPress » Ouvrir les liens de WordPress dans une nouvelle fenêtre

Ouvrir les liens de WordPress dans une nouvelle fenêtre

Le fichier functions.php est une mine d'or pour modifier votre WordPress.

Au niveau de l'ergonomie, rien de plus affligeant que d'avoir des liens externes qui rechargent la page, sans ouvrir une nouvelle fenêtre. Vous perdez ainsi bêtement des visiteurs.

Ouvrez vos liens externes dans une nouvelle fenêtre

Ouvrez vos liens externes dans une nouvelle fenêtre

Voici donc une petite fonction à ajouter pour que chaque lien externe situé dans vos commentaires s'ouvre dans une nouvelle fenêtre, via un target="blank".

Ouvrez le fichier functions.php de votre thème WordPress et collez-le code suivant :

function AddTargetBlankFilteringFunction($text)
  {return preg_replace('/class="external" href=["|\']?(http:\/\/(?!www\.seomix\.fr)([^"\']*))["|\']?/ui', "class="external" href=\"$1\" title=\"Site externe : $1\" target=\"_blank\"", $text);}
  add_filter( 'get_comment_author_link', 'AddTargetBlankFilteringFunction');
  add_filter( 'get_comment_author_url_link', 'AddTargetBlankFilteringFunction');
  add_filter('comment_text', 'AddTargetBlankFilteringFunction');

Pensez à modifier la troisième ligne par l'url de votre site (au niveau du preg_replace). Cela évitera d'ouvrir les liens internes dans une nouvelle fenêtre...

Voilà, c'est désormais chose faite : chaque lien contenu dans un commentaire s'ouvrira automatiquement dans un nouvel onglet, qu'il s'agisse d'une url contenue dans le corps du commentaire, ou dans le nom de l'utilisateur.

Notez également que le filtre peut être adapté pour le contenu de vos articles. Il vous suffira de remplacer ou d'ajouter un add_filter.

add_filter('the_content', 'AddTargetBlankFilteringFunction');

Mais rendons à César ce qui est à César. Le premier extrait de code est directement tiré d'une extension WordPress : Target blank for external sites

Publicité SeoMix
Les thèmes relatifs

Voici les thématiques abordées par Ouvrir les liens de WordPress dans une nouvelle fenêtre:

11 commentaires sur Ouvrir les liens de WordPress dans une nouvelle fenêtre

  1. IBuzzyou
    5 messages

    IBuzzyou - Le 3 mai 2010 à 14 h 48 min

    Le target blank dans les articles est seulement pour les liens externes ?

  2. Laurent B.
    3 messages

    Laurent B. - Le 16 août 2010 à 11 h 50 min

    Alors je ne sais pas si c’est moi, mais ce code fait des liens externes uniquement sur les liens internes justement. Je ne connais pas trop les expressions régulières, mais est-ce qu’il n’y a pas quelque chose pour rajouter le target blank à tous ce qui est un lien, mais dont l’adresse ne contient pas l’url du site ?

  3. Daniel Roch
    449 messages

    Daniel Roch - Le 16 août 2010 à 13 h 26 min

    @Laurent : tu as bien modifié cette partie du code avec ton site ? www\.seomix\.fr

  4. Laurent B.
    3 messages

    Laurent B. - Le 16 août 2010 à 15 h 24 min

    Oui, tout à fait ! Mais quand je lis la regex, bah je vois « remplacer tous les liens qui contiennent seomix.fr par le même lien avec le title site externe [...] et un target blank ». Ou alors peut-être que je ne sais plus lire une regex ^^
    Mais j’ai trouvé l’extension external links qui fonctionne très bien et permet également de rajouter une icône à côté du lien pour préciser que c ‘est un lien externe.

    Que penses-tu de ceux qui disent qu’ouvrir les liens dans de nouvelles fenêtres déroute les utilisateurs en termes d’ergonomie ?

  5. Daniel Roch
    449 messages

    Daniel Roch - Le 16 août 2010 à 16 h 11 min

    Le code fonctionne bien. Regarde au tout début, il y a un « ? » qui indique de tester si c’est un lien interne, et d’appliquer le reste si ce n’est pas le cas.{return preg_replace(‘/class="external" href=["|\']?…
    Pour tout autre question, tout dépend du lien en ce qui me concerne. En ergonomie, je trouve illogique une nouvelle fenêtre quand il s’agit de la suite logique de la page ou de l’article. Mais s’il s’agit d’une source, ou d’un lien de commentaire, je trouve logique le lien dans la nouvelle fenêtre. Question de goût comme on dit. ^^

  6. Laurent B.
    3 messages

    Laurent B. - Le 16 août 2010 à 17 h 08 min

    D’accord pour le code, j’avais mal vu. Il ne fonctionnait pourtant pas, mais je ne comprends pas trop pourquoi. Peut-être une interaction avec un autre plugin, qui sait. Bref ce n’est plus important pour moi ^^

    Merci pour ta réponse sur l’ergonomie : j’ai le même avis que toi (j’ai d’ailleurs pris l’habitude de faire un clic milieu sur les liens externes voire sur les liens internes connexes). Mais je me demande si c’est pareil pour l’internaute lambda (et ça je me doute que tu n’as pas la réponse ^^)

  7. Fabien
    16 messages

    Fabien - Le 20 août 2010 à 10 h 48 min

    Merci !
    Simple et efficace :)

  8. 1 message

    staff - Le 9 février 2011 à 18 h 14 min

    C’est excellent, merci pour le code ;-)

  9. 1 message

    besky - Le 21 juin 2011 à 10 h 59 min

    Bonjour,

    Merci pour l’astuce mais si je ne me trompe, le « target: _blank » est déprécié par la W3C non ?

    Dans ce cas ne serait-il pas plus judicieux d’utiliser du javascript ?

  10. Daniel Roch
    449 messages

    Daniel Roch - Le 23 juin 2011 à 12 h 27 min

    Le javascript alourdit la page, et la dépréciation du W3C n’a aucun impact, ni en référencement ni en rendu visuel et ni en vitesse. Donc autant garder le target _blank pour ouvrir ces liens dans une nouvelle fenêtre.

  11. Jérémy
    2 messages

    Jérémy - Le 12 septembre 2011 à 3 h 25 min

    Il ne faut pas abuser du target blank, qui n’est pas conforme aux recommandations du W3C et aux normes d’accessibilité. Il perturbe la navigation des aveugles, mal voyants, et beaucoup d’internautes sont agacés par ces liens qui s’ouvrent obligatoirement dans un nouvel onglet.

    Lorsque le target blank n’est pas utilisé, l’internaute peut choisir d’ouvrir la page dans le même onglet ou dans un nouvel onglet (en cliquant sur le lien tout en maintenant la touche Ctrl enfoncée par exemple).

    Il vaut mieux utiliser le script Shadowbox qui permet d’ouvrir les pages Web dans une petite fenêtre sans que l’internaute ne quitte le site. Mais là aussi c’est à utiliser avec modération.

Les commentaires sont fermés. Si vous voulez rajouter un élément important à la conversation, utilisez le formulaire de contact de SeoMix.

3 sites en parlent :
Par tapemoi.com le 23/04/2010» Ouvrir les liens de WordPress dans une nouvelle fenêtreOptimisez les liens sortant de Wordpress... Ouvrez les liens externes des commentaires ou de vos articles automatiquement dans une nouvelle fenêtre ou onglet, pour un Wordpress plus ergonomique et plus pratique pour vos visiteurs....
Par www.blogmemes.be le 23/04/2010» Ouvrir les liens de WordPress dans une nouvelle fenêtreOuvrir les liens des commentaires et articles dans une nouvelle fenêtre... - Vous aimez cet article ? Votez pour lui sur Blogmemes.be !Ouvrez les liens externes des commentaires ou de vos articles automatiquement dans une nouvelle fenêtre ou onglet, pour un Wordpress plus ergonomique et plus pratique pour vos visiteurs....
Par www.fuzz.fr le 23/04/2010» Ouvrir les liens de WordPress dans une nouvelle fenêtreOuvrir les liens de Wordpress dans une nouvelle fenêtre... Ouvrez les liens externes des commentaires ou de vos articles automatiquement dans une nouvelle fenêtre ou onglet, pour un Wordpress plus ergonomique et plus pratique pour vos visiteurs....

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

Suivez-nous !

4046 abonnés - 111 articles - 2271 messages

Les tests en cours
Seo et emarketing
WordPress
Mes autres sites

SeoMix, par Daniel Roch sur WordPress - 87 rue du Châtelier 44400 Rezé - Me contacter par Email