[Meta Tag] Utiliser les description du mod post description.

Forum consacré aux codes conseillés ou mis à disposition sur phpBB SEO. Support, téléchargements, conseils ...

Modérateur: Modérateurs

[Meta Tag] Utiliser les description du mod post description.

Messagede freezbee » Lun Fév 11, 2008 11:16 am

Bonjour,

J'aimerais que dans les topics, le mod Méta Tags Dynamiques 0.2.0 m'affiche dans les metas description, non pas le titre de la page (donc le titre du sujet) mais la description du sujet que l'on peut mettre garce au mod Post Description 1.1.3 de reddog.


J'ai donc essayé de faire ça dans viewtopic.php :
J'ai modifié ce code :
Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN - META
$phpbb_seo->seo_meta['meta_desc'] = $phpbb_seo->meta_filter_txt($board_config['sitename'] . " : $page_title");
$m_kewrd = '';
$sql = "SELECT w.word_text
      FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
      WHERE t.topic_id = $topic_id
         AND t.topic_first_post_id = m.post_id
         AND m.word_id = w.word_id LIMIT 15";
if( ($result = $db->sql_query($sql)) ) {

   while ( $meta_row = $db->sql_fetchrow($result) ) {
      $m_kewrd .= " " . $meta_row['word_text'];
   }
}
$phpbb_seo->seo_meta['keywords'] = $phpbb_seo->make_keywords("$m_kewrd " . $phpbb_seo->seo_meta['meta_desc']);
// www.phpBB-SEO.com SEO TOOLKIT END - META



Comme ça :
Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN - META
$m_kewrd = '';
$m_subtl = '';
$sql = "SELECT w.word_text, pt.post_sub_title
      FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w, " . POSTS_TEXT_TABLE . " pt
      WHERE t.topic_id = $topic_id
         AND t.topic_first_post_id = m.post_id
         AND m.word_id = w.word_id LIMIT 15";
if( ($result = $db->sql_query($sql)) ) {

   while ( $meta_row = $db->sql_fetchrow($result) ) {
      $m_kewrd .= " " . $meta_row['word_text'];
      $m_subtl .= $meta_row['post_sub_title'];
   }
}
$phpbb_seo->seo_meta['meta_desc'] = $phpbb_seo->meta_filter_txt($m_subtl);
$phpbb_seo->seo_meta['keywords'] = $phpbb_seo->make_keywords("$m_kewrd " . $phpbb_seo->seo_meta['meta_desc']);
// www.phpBB-SEO.com SEO TOOLKIT END - META



Mais voilà ça ne fonctionne pas. :cry:


Merci d'avance pour votre aide.
freezbee
PR0
PR0
 
Messages: 69
Inscription: Lun Déc 10, 2007 3:20 pm

Publicité

Messagede freezbee » Mar Fév 12, 2008 5:46 pm

Bonjour,

Ca ne devrais pas fonctionner normalement comme j'ai fait ?
freezbee
PR0
PR0
 
Messages: 69
Inscription: Lun Déc 10, 2007 3:20 pm

Messagede freezbee » Jeu Fév 14, 2008 6:58 am

Bon j'ai réussit à faire ce que je voulais.
C'est à dire :

- Injecter la description du sujet (que l'on obtient grâce au mod Post Description 1.1.3 de reddog) dans le meta tag "description", si il y en a une...
- Sinon si il n'y a pas de description, injecter le titre de la page dans le meta Tag "description".


Voilà le code pour faire ça :

Dans viewtopic.php
Rechercher :
Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN - META
$phpbb_seo->seo_meta['meta_desc'] = $phpbb_seo->meta_filter_txt($board_config['sitename'] . " : $page_title");
$m_kewrd = '';
$sql = "SELECT w.word_text
      FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
      WHERE t.topic_id = $topic_id
         AND t.topic_first_post_id = m.post_id
         AND m.word_id = w.word_id LIMIT 15";
if( ($result = $db->sql_query($sql)) ) {

   while ( $meta_row = $db->sql_fetchrow($result) ) {
      $m_kewrd .= " " . $meta_row['word_text'];
   }
}
$phpbb_seo->seo_meta['keywords'] = $phpbb_seo->make_keywords("$m_kewrd " . $phpbb_seo->seo_meta['meta_desc']);
// www.phpBB-SEO.com SEO TOOLKIT END - META




Remplacer par :
Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN - META
$m_kewrd = '';
$m_subtl = '';
$sql = "SELECT w.word_text,  t.topic_sub_title
      FROM " . TOPICS_TABLE . " t, " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
      WHERE t.topic_id = $topic_id
         AND t.topic_first_post_id = m.post_id
         AND m.word_id = w.word_id LIMIT 15";
if( ($result = $db->sql_query($sql)) ) {

   while ( $meta_row = $db->sql_fetchrow($result) ) {
      $m_kewrd .= " " . $meta_row['word_text'];
      $m_subtl = $meta_row['topic_sub_title'];
   }
}
$phpbb_seo->seo_meta['meta_desc'] = $phpbb_seo->meta_filter_txt(($m_subtl != '') ? $m_subtl : $page_title);
$phpbb_seo->seo_meta['keywords'] = $phpbb_seo->make_keywords("$m_kewrd " . $phpbb_seo->seo_meta['meta_desc']);
// www.phpBB-SEO.com SEO TOOLKIT END - META



Et ça fonctionne bien.
Voir exemple sur mon site => http://www.unicornis.org/
freezbee
PR0
PR0
 
Messages: 69
Inscription: Lun Déc 10, 2007 3:20 pm

Messagede SeO » Jeu Fév 14, 2008 11:00 am

Solution un peu lourde, vu que tu demande et récupère la description autant de fois que de mot clés, mais ça a le mérite de se faire sans ajouter de requête SQL, donc, c'est une solution ;)
SeO
Admin
Admin
 
Messages: 6334
Inscription: Mer Mar 15, 2006 9:41 pm

Messagede freezbee » Jeu Fév 14, 2008 11:08 am

Oui en effet. Ici ça le répète 15 fois donc

Mais si je fait ça en rajoutant une nouvelle requête SQL qui récupère juste le topic_sub_title se serait mieux ?
Ou il y a moyen de ne pas le répéter 15 fois dans cette même requête ?
freezbee
PR0
PR0
 
Messages: 69
Inscription: Lun Déc 10, 2007 3:20 pm

Messagede dcz » Lun Fév 25, 2008 9:38 am

SeO a écrit:mais ça a le mérite de se faire sans ajouter de requête SQL, donc, c'est une solution ;)


C'est pas hyper grave ;)

Tu pourrais sortir :

Code: Tout sélectionner
$m_subtl = $meta_row['topic_sub_title'];
=>
Code: Tout sélectionner
   while ( $meta_row = $db->sql_fetchrow($result) ) {
      $m_kewrd .= " " . $meta_row['word_text'];
   }
   $m_subtl = isset($meta_row['topic_sub_title']) ? $meta_row['topic_sub_title'] : '';

De la boucle, vu que la valeur ne change pas, tu peux te contenter de la dernière cellule renvoyée pour économiser 14 exécutions de cette ligne (qui ne coûte pas cher de toutes façons).

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21325
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede freezbee » Lun Fév 25, 2008 9:42 am

Merci dcz. :wink:
freezbee
PR0
PR0
 
Messages: 69
Inscription: Lun Déc 10, 2007 3:20 pm

Messagede freezbee » Lun Fév 25, 2008 9:57 am

Ca ne fonctionne pas, j'ai toujours la variable $meta_row['topic_sub_title'] est toujours vide.

Code: Tout sélectionner
if( ($result = $db->sql_query($sql)) ) {

   while ( $meta_row = $db->sql_fetchrow($result) ) {
      $m_kewrd .= " " . $meta_row['word_text'];
   }
   $m_subtl = isset($meta_row['topic_sub_title']) ? $meta_row['topic_sub_title'] : '';
}
$phpbb_seo->seo_meta['meta_desc'] = $phpbb_seo->meta_filter_txt(($m_subtl != '') ? $m_subtl : $page_title);
$phpbb_seo->seo_meta['keywords'] = $phpbb_seo->make_keywords("$m_kewrd " . $m_desc);


C'est bien ça ?
freezbee
PR0
PR0
 
Messages: 69
Inscription: Lun Déc 10, 2007 3:20 pm

Messagede dcz » Lun Fév 25, 2008 12:44 pm

fichtre, c'est normal en fait, vu que la boucle while se termine quand il n'y plus de valeurs, il faut bien l'assigner 15 fois du coup, mais, les 14 fois en trop sont négligeable, plus léger qu'une requête supplémentaire en tous cas.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21325
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede freezbee » Lun Fév 25, 2008 12:49 pm

Ok Merci, ça restera comme ça alors. :wink:
freezbee
PR0
PR0
 
Messages: 69
Inscription: Lun Déc 10, 2007 3:20 pm


Retourner vers MODS phpBB2 SEO

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 9 invités