optimisation fonction Search phpBB et métas Keywords

Forum consacré à phpBB2. Comment tirer le meilleur de ce puissant forum.

Modérateur: Modérateurs

Messagede gowap » Sam Sep 23, 2006 6:02 pm

En regardant un extrait du code de la fonction clean_words (ce qu'il aurait fallu faire depuis longtemps) :
Code: Tout sélectionner
function clean_words($mode, &$entry, &$stopword_list, &$synonym_list)
{
   static $drop_char_match =   array('^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-', '~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', '\'', ';', '!');
   static $drop_char_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', '',  '',   ' ', ' ', ' ', ' ', '',  ' ', ' ', '',  ' ',  ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', ' ', ' ', ' ',  ' ', ' ');

[...]

   //
   // Filter out strange characters like ^, $, &, change "it's" to "its"
   //
   for($i = 0; $i < count($drop_char_match); $i++)
   {
      $entry =  str_replace($drop_char_match[$i], $drop_char_replace[$i], $entry);
   }

il apparait qu'il suffit simplement de rajouter quelques cas au tableau drop_char pour ne plus avoir de mots comme "lautre", "sorienter", etc.
Au lieu de virer juste l'apostrophe comme le fait le code en place, on peut rajouter " s\'" --> ' ', " l\'" --> ' ' comme ca on vire la lettre qui précède l'apostrophe et on garde donc seulement le mot important (et non pas la contraction brutale "lettre + (nom|verbe)" sans apostrophe.
Evidemment tout cela n'est utile que dans le cadre de l'utilisation des tables de recherche pour créer des meta tags en "vrai" francais. Pour la fonction de recherche pure, cela ne sert a rien de retraiter aussi loin
Avatar de l’utilisateur
gowap
phpBB SEO Team
phpBB SEO Team
 
Messages: 1510
Inscription: Dim Mai 07, 2006 10:56 pm

Publicité

Messagede dcz » Sam Sep 23, 2006 9:47 pm

Bien vu :!:

On touche à la perfection des metas avec ça, merci du retour. Ça comblera les attentes des perfectionnistes ;)

En 1995, nous aurions été les rois avec ça, enfin, sauf que phpBB n'existait pas encore il me semble :lol:


++
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: 21428
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede jcg11290 » Dim Sep 24, 2006 7:08 am

Bonjour dcz, gowab et à tous,

Voilà un topic qui répond à ma question optimisation des meta keywords mais comment fait-on pour faire les modifs... je n'ai pas très bien saisi où il fallait ajouter " s\'" --> ' ', " l\'" --> ' '

:wink:
Avatar de l’utilisateur
jcg11290
phpBB SEO Team
phpBB SEO Team
 
Messages: 902
Inscription: Lun Juin 19, 2006 4:11 pm
Localisation: Carcassonne(11)

Messagede dcz » Dim Sep 24, 2006 9:04 am

Dans le premier tableau tu met la cible dans le deuxième et à la même position (clef du tableau) ce qui doit la remplacer.

Comme il y a pas beaucoup de lettres pouvant précéder une apostrophe, cela donne "l\'" pour reconnaître la lettre l suivit d'une apostrophe et on la remplace par rien ('') dans le deuxieme tableau.

En gros donc on a "s\'", "l\'", "j\'", "t\'" à ajouter en fin de $drop_char_match et ' ', ' ', ' ', ' ' à la fin de $drop_char_replace pour virer tous les s, l, j et t apostrophe (on les remplace par rien ''). Et ainsi de suite, on pourrait ajouter aussi les n et m apostrophe etc ...

++
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: 21428
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede jcg11290 » Dim Sep 24, 2006 9:49 am

dcz a écrit:En gros donc on a "s\'", "l\'", "j\'", "t\'" à ajouter en fin de $drop_char_match

C'est pas 's\', 'l\', 'j\', 't\' au lieu de "s\'", "l\'", "j\'", "t\'" :?:

Je préfère demander plutôt que faire une boulette...

:wink:
Avatar de l’utilisateur
jcg11290
phpBB SEO Team
phpBB SEO Team
 
Messages: 902
Inscription: Lun Juin 19, 2006 4:11 pm
Localisation: Carcassonne(11)

Messagede gowap » Dim Sep 24, 2006 10:18 am

Soit tu te calques sur le moule existant, et tu délimites la chaine de caractères avec des apostrophes, mais dans ce cas, pour distinguer l'apostrophe delimiteur de chaine de l'apostrophe que tu cherches, il faudra faire précéder celle ci d'un \ : 's\'' (apostrophe, s , antislash, apostophe, apostrophe)
Soit tu utilises les guillemets doubles pour encadrer la chaine et donc tu peux mettre a l'intérieur directement l'apostrophe : "s'" (guillemet double, s, apostrophe, guillemet double)

A noter aussi qu'il ne faut pas rajouter les nouvelles substitutions en fin de tableau mais au début, ou du moins avant la substitution deja intégrée dans phpBB qui supprime les apostrophes seules.
Si on met 's\'' --> '' a la fin, la chaine ne sera jamais trouvée car l'apostophe aura été enlevée avant qu'on cherche notre combinaison lettre+apostrophe.

Enfin, on peut aussi rajouter la substitution de l'apostrophe courbe: ’ (alt + 0146) en apostrophe droite ', sinon tous les textes avec ce type d'apostrophe resteront dans les tables et on aura alors des mots comme : s’orienter.

Voila ce que j'ai mis en place :
Code: Tout sélectionner
   static $drop_char_match =   array('’','l\'','s\'','d\'','m\'','n\'','t\'','j\'','^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-', '~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', '\'', ';', '!');
   static $drop_char_replace = array('\'','','','','','','','',' ', ' ', ' ', ' ', ' ', ' ', ' ', '',  '',   ' ', ' ', ' ', ' ', '',  ' ', ' ', '',  ' ',  ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', ' ', ' ', ' ',  ' ', ' ');
Avatar de l’utilisateur
gowap
phpBB SEO Team
phpBB SEO Team
 
Messages: 1510
Inscription: Dim Mai 07, 2006 10:56 pm

Messagede jcg11290 » Dim Sep 24, 2006 10:45 am

Je te remercie pour ces explications et je vais utiliser ton code, ainsi, je suis certain de ne pas faire d'erreurs..

:wink:
Avatar de l’utilisateur
jcg11290
phpBB SEO Team
phpBB SEO Team
 
Messages: 902
Inscription: Lun Juin 19, 2006 4:11 pm
Localisation: Carcassonne(11)

Messagede dcz » Dim Sep 24, 2006 1:12 pm

C'est clair que c'est mieux ainsi ;)

++
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: 21428
Inscription: Ven Avr 28, 2006 9:03 pm

Re: optimisation fonction Search phpBB et métas Keywords

Messagede vee » Jeu Juil 02, 2009 9:38 pm

Bonsoir à tous,

je déterre un vieux sujet qui n'intéressera peut-être plus personne,
mais y a t-il un moyen, quel qu'il soit, de nettoyer les tables search_wordlist et search_wordmatch des entrées genre:

pfffff
mdrrrrrrrrr
arfffff
...


et autres

00057db2cd
017e3cdedd
...


En gros, un truc qui permettrai de nettoyer tout ce qui n'est pas français ?

Merci.
vee
PR0
PR0
 
Messages: 94
Inscription: Mar Nov 07, 2006 7:19 am
Localisation: France

Re: optimisation fonction Search phpBB et métas Keywords

Messagede dcz » Dim Juil 05, 2009 11:02 am

De tout ce qui n'est pas français non, mais de tout ce que tu mettrais dans ton search_stopwords.txt oui, et c'est ici : [Toolkit] Optimisation des méta keywords de phpBB

++
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: 21428
Inscription: Ven Avr 28, 2006 9:03 pm

Précédente

Retourner vers Le Forum phpBB2

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Yahoo [Bot] et 4 invités