- Statut : non résolu
- Ce sujet contient 8 réponses, 5 participants et a été mis à jour pour la dernière fois par sam05, le il y a 14 années et 10 mois.
-
AuteurMessages
-
23 octobre 2009 à 6 h 32 min #475176
Bonjour à tous
Ma configuration WP actuelle
– Version de WordPress : 2.8.5
– Thème utilisé : le miens
– Extensions en place : na
– Nom de l’hebergeur : na
– Adresse du site : naProblème(s) rencontré(s) : Balise description.
Bonjour je cherche à faire une balise meta description dynamique. J’ai donc cherché sur internet et j’ai trouvé plusieurs sources mais très curieusement cela ne marche pas du tout de la bonne façon !
Voici ce que je veux faire :
<meta name="description" content="<?php if ( is_home() ) { echo bloginfo('description'); } else echo wp_html_excerpt($post->post_content, 170) ?>/>
Et en réalité la description ( slogan wp ) n’est pas du tout mise sur mon index.
Seul les 170 premiers caractères sont appliqué. Alors j’ai pensé que{ ? bloginfo(‘description’); }
était mal syntaxé, mais non si je le met tout seul cela appelle bien mon slogan wp dans la balise.
L’inverse est également vrai :echo wp_html_excerpt($post->post_content, 170)
fonctionne bien tout seul.
Mais lorsque je les met à la suite avec un if ( is_home() ) cela foire et je n’ai à chaque fois que les 170 caractère sur mon index dans ma balise description.
J’ai donc vérifier plusieurs fois les syntaxe ou erreur sans trouver. J’ai même fait le même code sur plusieurs lignes avec
à chaque fois mais cela change rien. Car je n’ai dans l’absolue aucun retour d’erreur php. Alors si quelqu’un connais le soucis? Je veux simplement que ma première page index ai comme description le slogan wp que j’ai renseigner à mon blog via l’interface. Et que toutes les autres pages ai pour description les 170 premiers caractères de la page active.
Merci beaucoup d’avoir lu mon message.
Thomas
2 novembre 2009 à 20 h 26 min #696047sniff personne?
2 novembre 2009 à 21 h 02 min #696048Je ne comprends pas pourquoi tu veux faire un truc aussi tordu, je crois que tu t’emmêles un peu les pinceaux. La fonction dynamique n’est pas dans les méta balises mais dans ton
. C’est là que tu peux coder du conditionnel (genre if home if single etc). Et cela suffira pour que google et autres interprètent correctement. <title></title>
3 novembre 2009 à 1 h 24 min #696051Quant à moi, je me demande pourquoi réinventer la roue ? Il y a un plugin qui s’occupe déjà de cette balise et de bien d’autres choses encore : All in One SEO Pack.
3 novembre 2009 à 1 h 28 min #696049thalasso wrote:Quant à moi, je me demande pourquoi réinventer la roue ? Il y a un plugin qui s’occupe déjà de cette balise et de bien d’autres choses encore : All in One SEO Pack.Ma devise: le moins de plugins possible😇
mais à chacun selon ses besoins3 novembre 2009 à 2 h 18 min #696050Certes, chamomor, mais là, ça ne marche pas, et cela ne peut pas fonctionner.
En effet, il faut être dans la boucle The Loop pour pouvoir utiliser les valeurs de $post. Sauf erreur de ma part, notre ami de All in One SEO Pack a résolu le problème en tamponnant (bufferisant, si vous préférez) la sortie HTML, puis une fois la page générée, en remplaçant l’entête avec ce qu’il a pu récupérer dans l’article ou la page affichés.
Autre qualité de ce plugin (qui est loin d’être parfait) : proposer d’ajouter une description personnalisée à chaque article et page qui soient différents du contenu par ailleurs présent. A quoi bon reprendre un contenu automatiquement ? N’importe quel moteur de recherche peut le faire déjà. C’est en proposant une description pertinente qui résume l’article de manière succincte, mais bourrée de mots-clés utiles que celle-ci sera présentée dans les résultats des moteurs de recherche plutôt qu’un bout quelconque de la page.
Enfin, notons que la meta description ne sert qu’à apparaître dans les résultats de recherche et à fournir à l’Internaute un descriptif pertinent en vue de l’inciter à cliquer sur le lien associé. En aucun cas, elle n’est utilisée par aucun moteur de recherche pour classer ou positionner les résultats.
Bref, ce hack, même s’il fonctionnait, n’apporte aucune valeur ajoutée par rapport à un plugin existant qui, lui, en apporte une. Alors, encore une fois, pourquoi se casser la tête à réinventer la roue ?
3 novembre 2009 à 18 h 14 min #696052Merci beaucoup de vos réponses. En faite je pensai que cela était très simple à faire, en effet 2 ligne de code aurai pu remplir le même effet qu’un module je trouvai ca pratique.
Mais j’ignorai totalement la règle d’utilisation de « if » dans la balise meta. Voyant que cela fonctionnai dans title je pensai naturellement que cela était aussi le cas pour toutes.
Donc au final vous avez répondu à mon problème merci beaucoup. Je pense que cela servira à d’autre parceque c’est vraiment un détail à connaitre.
3 novembre 2009 à 21 h 33 min #696053Bonjour,
Moi, je suis comme Chamomor : je n’utilise que des plugins indispensables, je code en dur : ainsi les requêtes sont moins nombreuses, et le site plus rapide. Trop de plugins tuent les plugins, et leur maintien est un casse-tête, surtout si son développeur est défaillant. Donc autant se donner la peine et cultiver son intelligence. 🙂
J’ai patiemment mis au point ma propre moulinette, rédigée ainsi :
ID, ‘description’, $single = true); ?>
ID, ‘tagspage’, $single = true); ?>
<meta name="description" content="post_excerpt !== ») { echo strip_tags( $post->post_excerpt); } else { echo wp_html_excerpt($post->post_content, 160); } ?> » />
<meta name="description" content="post_excerpt !== ») { echo strip_tags( $post->post_excerpt); } else { echo wp_html_excerpt($post->post_content, 160); } ?> » />
<meta name="keywords" content=" « />
<meta name="description" content=" » />
<meta name="keywords" content=" » />
<?php if(is_home() || is_single() || is_page()) { echo '’; } else { echo »; } ?>Bien sûr, il faut générer les mots-clefs et utiliser une fonction à placer dans functions.php…
name . ‘,’;
}
echo »;
}
?>Après, il suffit d’utiliser un champ personnalié description dans un article, et un champ tags_page pour ajouter des mits-clés à une page.
Ainsi, à la poubelle, le vilain All In Pack Seo. 😆
Cerise sur le gâteau : ma solution est rétro-compatible si on a utilisé All In Pack Seo dans le passé.
Après, ma moulinette semble donner satisfaction à Google, qui référence en un temps bref (10 minutes, c’est déjà trop !) mes articles, même si cette gestion n’est pas le seul facteur déterminant pour l’indexation.
Cordialement,
V.
8 décembre 2009 à 13 h 51 min #696054Désolé de ressortir ce sujet, très vieux, mais j’ai un problème similaire…
Je me suis aperçu que « All in one SEO » ne marchait pas tout à fait correctement.
Les balise description et keyword n’utilisent pas les valeurs données à la rédaction des articles….
Mais utilisent les valeurs standards…Du coup je voudrais faire appel aux valeurs saisies dans ces champs de all in one seo.
J’ai essayé :get_post_meta($post->ID, ‘description’, $single = true)
Mais visiblement cela ne me renvoi rien du tout.
Je n’arrive pas à trouver comment accéder à ces champs…Merci à ceux qui ont la réponse !
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.