PHP, top des recherches : Savez-vous ?

Discussion dans 'Problèmes de référencement spécifiques à vos sites' créé par babou, 29 Août 2005.

  1. babou
    babou Nouveau WRInaute
    Inscrit:
    19 Juillet 2005
    Messages:
    40
    J'aime reçus:
    0
    Bonjour à tous,

    J'aimerais faire un top des recherches sur mon site.

    Le problème, c'est que je ne sais pas comment m'y prendre.

    Je peux ajouter une table "search_words" et y mettre tous les mots recherchés.

    Mais comment procèder ensuite ?

    Savez-vous s'il existe une requête qui extrait les mots les plus utilisés dans le champ de la table ?
     
  2. TOMHTML
    TOMHTML WRInaute accro
    Inscrit:
    25 Août 2004
    Messages:
    2 502
    J'aime reçus:
    0
    moi je suis Old School alors je ferai ça à la main. Parce que sinon tu va vite te retrouver avec des trucs de cul ou des spams en tête des recherches... :S
     
  3. M.o.n.d.i.a.n.i
    M.o.n.d.i.a.n.i WRInaute occasionnel
    Inscrit:
    9 Juillet 2005
    Messages:
    272
    J'aime reçus:
    0
    Connais tu SQL? Si oui ca ne devrait pas poser de problemes. Sinon documentes toi la dessus ca s'apprends tres vite et c'est tres interessant.
     
  4. babou
    babou Nouveau WRInaute
    Inscrit:
    19 Juillet 2005
    Messages:
    40
    J'aime reçus:
    0
    Je connais très bien mysql mais je ne sais pas comment procéder...
     
  5. yeca
    yeca WRInaute impliqué
    Inscrit:
    2 Septembre 2003
    Messages:
    567
    J'aime reçus:
    0
    Code:
    SELECT recherche, COUNT(recherche) AS nb FROM `search_words` GROUP BY recherche ORDER BY nb DESC
    si tu connais si bien mysql, ça devrait pas te poser problème...
     
  6. CaYuS
    CaYuS WRInaute occasionnel
    Inscrit:
    14 Juillet 2005
    Messages:
    485
    J'aime reçus:
    0
    Une petite proposition du comment procéder, il y en a plein d'autres.

    Tu peux ajouter une table search_words qui contiendra tes words et tes hits.
    A chaque nouvelle recherche sur ton site, tu incrémentes la valeurs de hits du mot associé, s'il existe dans la table, sinon tu l'insère avec la valeur hits à 1.

    Ensuite, supposons que tu veuilles connaître le top 10 de tes mots les plus recherchés, tu peux utiliser la requête suivante :

    Code:
    SELECT *
    FROM `search_words`
    ORDER BY `hits` DESC
    LIMIT 0 , 10
    Edit : Oups, j'ai été précédé ;)
    Edit 2: Requette corigée, cf ci dessous.
     
  7. yeca
    yeca WRInaute impliqué
    Inscrit:
    2 Septembre 2003
    Messages:
    567
    J'aime reçus:
    0
    ce n'est pas la même technique.

    moi ça n'impose que de faire un INSERT à chaque recherche.

    Mais par contre tu te retrouves vite avec une table avec 50000 entrées.

    par contre pour ta requête ce serait pas plutôt :

    Code:
    SELECT *
    FROM `search_words`
    ORDER BY `hits` DESC
    LIMIT 0 , 10
    ;)
     
  8. CaYuS
    CaYuS WRInaute occasionnel
    Inscrit:
    14 Juillet 2005
    Messages:
    485
    J'aime reçus:
    0
    Oui tu as raison pour la requête ... quoi qu'avoir les stats des dix mots les moins recherchés ça pourrait être marant aussi 8)
    Merci pour la correction !
     
  9. Nikos38
    Nikos38 Nouveau WRInaute
    Inscrit:
    23 Juin 2005
    Messages:
    35
    J'aime reçus:
    0
    Oui c'est pour ça que l'autre solution est plus adaptée.
     
  10. doic
    doic WRInaute impliqué
    Inscrit:
    7 Novembre 2003
    Messages:
    950
    J'aime reçus:
    0
    Ce que demande Babou, c'est peut-être, comment récupérer les mot-clés depuis le referrer???
    Dans ce cas, il faudrait traiter cas par cas les différents sites que tu qualifierais de "moteur", et récupérer la chaine qui se trouve après le query? / q? / requete? <- là c'est aussi à faire au cas par cas, selon le moteur...

    sinon, tu as des logiciels de stats qui le font.
     
  11. yeca
    yeca WRInaute impliqué
    Inscrit:
    2 Septembre 2003
    Messages:
    567
    J'aime reçus:
    0
    bah non, parce que ça te force aussi à récupérer la valeur de chaque mot clé à chaque fois.

    et avec cette méthode, tu ne peux pas insérer aussi l'IP pour vérification d'un flood, ou la date et l'heure si jamais tu veux suivre dans le temps ;)
     
  12. TOMHTML
    TOMHTML WRInaute accro
    Inscrit:
    25 Août 2004
    Messages:
    2 502
    J'aime reçus:
    0
    Il parrait qu'on peut trier par nombre d'apparition d'occurences avec Excel mais j'ai pas compris comment il fallait faire
    si quelqu'un sait...
    ça peut être utile plutôt que de soliciter la BdD
     
  13. babou
    babou Nouveau WRInaute
    Inscrit:
    19 Juillet 2005
    Messages:
    40
    J'aime reçus:
    0
    Merci beaucoup pour vos réponses, c'est exactement cela que je voulais faire.

    Code:
    SELECT recherche, COUNT(recherche) AS nb FROM `search_words` GROUP BY recherche ORDER BY nb DESC
    Si j'ai bien compris :

    - Tu selectionnes toutes les lignes du champ "recherche", tu les comptes (ça devient "nb").
    - Ensuite tu fais un GROUP BY sur le champ "recherche". Quel effet ça a ?
    - Puis tu tris par "nb", ça je comprends.
     
  14. M.o.n.d.i.a.n.i
    M.o.n.d.i.a.n.i WRInaute occasionnel
    Inscrit:
    9 Juillet 2005
    Messages:
    272
    J'aime reçus:
    0
    Tu fais group by pour compter combien de fois un meme mot revient.
    En fait tu devrais plutot ajouter une colonne que tu incrementes à chaque fois qu'un mot est demandé
     
  15. babou
    babou Nouveau WRInaute
    Inscrit:
    19 Juillet 2005
    Messages:
    40
    J'aime reçus:
    0
    C'est vrai.
    Avec le méthode de "hits" je ne peux plus faire ça :( (ou alors avec une autre table...)
     
  16. medium69
    medium69 WRInaute passionné
    Inscrit:
    7 Mai 2005
    Messages:
    1 940
    J'aime reçus:
    3
    C'est clair !

    Cependant il te suffit de bannir ce genre de mot-clé avant l'insertion dans la BDD.
     
  17. TOMHTML
    TOMHTML WRInaute accro
    Inscrit:
    25 Août 2004
    Messages:
    2 502
    J'aime reçus:
    0
    oui mais bon c'est complexe et long (gros fichier en plus)...
    (moi en fait j'utilise un fichier TXT dans lequel j'enregistre les requetes tapées.)
     
Chargement...
Similar Threads - PHP top recherches Forum Date
Récupérer balise topic_title dans un formulaire php Développement d'un site Web ou d'une appli mobile 27 Février 2015
Top clics de Rewrite YourPHPAnnuaire Développement d'un site Web ou d'une appli mobile 12 Septembre 2008
Phpbb3 : Recherche mod rss, et derniers topics Développement d'un site Web ou d'une appli mobile 10 Février 2008
Question sur le Script du TOP 10 de MyPHPannuaire Développement d'un site Web ou d'une appli mobile 26 Octobre 2007
Cherche un script php avec top 100 Développement d'un site Web ou d'une appli mobile 1 Mai 2007
[RESOLU] Google desktop - fichiers php Google : l'entreprise, les sites web, les services 2 Janvier 2007
Top Site PHP? Développement d'un site Web ou d'une appli mobile 26 Décembre 2006
Topic phpBB sur ma page de news Développement d'un site Web ou d'une appli mobile 7 Février 2006
Phpbb:last topics avec "déjà consulté" (cf WRI)? Développement d'un site Web ou d'une appli mobile 21 Janvier 2006
Un topic en php dans Google ? Référencement Google 27 Octobre 2005
[phpbb] script pour afficher les derniers topic sur l'indexe URL Rewriting et .htaccess 7 Octobre 2005
Topphp et myphpannuaire Administration d'un site Web 30 Août 2005
Phpbb : Le meilleur moyen pour indexer les gros topics ? Référencement Google 17 Août 2005
Phpbb - Recuperer les 10 derniers topics Administration d'un site Web 8 Juin 2005
Rewriting phpbb indexation des topics :( URL Rewriting et .htaccess 4 Juin 2005
Topics_anywhere phpbb? Administration d'un site Web 4 Mai 2005
(phpbb) Debut du topic dans la meta description Administration d'un site Web 13 Avril 2005
Phpbb et le nom des topics . URL Rewriting et .htaccess 13 Octobre 2004
Recherche script top list PHP qui ne nuie pas au réf Administration d'un site Web 9 Septembre 2004
PhpBB : Prob de rewriting sur les topics de plusieurs pages URL Rewriting et .htaccess 25 Mai 2004