Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CONNAÎTRE LES MOTS CLÉS UTILISÉS SUR GOOGLE POUR TOMBER SUR VOTRE SITE


Information sur la source

Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous : google, mots, clés, recherche, keyword Niveau : Débutant Date de création : 07/06/2006 Vu : 19 611

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


Description

Petit code sans prétention permettant de connaître les mots clés qui ont été utilisés sur Google pour tomber sur votre site.  Je ne mets pas de zip car cette fonction a été codée directement dans le site web.
 

Source

  • 'Déclaration des variables.
  • Dim google As String = ""
  • Dim mot As String = ""
  • google = Request.UrlReferrer.ToString
  • 'on vérifie que le referrer est bien google
  • If Left(google, 17) = "http://www.google" Then
  • Dim longueur As Integer
  • Dim testq As String
  • Dim position As Integer = 0
  • Dim pos2 As Integer
  • longueur = google.Length 'longueur de la string google afin de mettre une limite a notre for...next
  • For position = 0 To longueur - 1
  • 'on teste que le caractère est bien q. Si c'est le cas, les caractères qui suivent sont les mots clés
  • testq = google.Chars(position)
  • If testq = "q" Then
  • For pos2 = position + 2 To longueur - 1 'le + 2 sert à enlever le "=" qui suit le "q"
  • If google.Chars(pos2) <> "&" Then '& signifie que les mots clés sont terminés
  • If google.Chars(pos2) = "+" Then 'séparation des mots clés
  • motcle(mot) 'on passe à un autre mot, donc on appelle la sub motcle pour stocker mot
  • mot = ""
  • Else
  • mot += google.Chars(pos2) 'remplissage de la variable mot
  • End If
  • Else
  • motcle(mot) 'on a rencontré le caractère "&" donc plus de mots clés par la suite
  • Exit For
  • End If
  • Next
  • Exit For
  • End If
  • Next
  • End If
  • 'sub permettant de stocker les mots clés dans la BD
  • Sub motcle(ByVal mot As String)
  • Dim test As String 'le test permet de savoir si on a déjà stocké ce mot clé
  • Dim con As New SqlConnection
  • con.ConnectionString = "whatever"
  • Dim com As New SqlCommand
  • com.Connection = con
  • com.CommandText = "select * from Mots where Mots ='" & mot & "'"
  • Dim dr As SqlDataReader
  • con.Open()
  • dr = com.ExecuteReader
  • While dr.Read
  • test = "ok" '"ok" signifie qu'on a déjà stocké ce mot. On incrémente donc le champ NB au lieu d'insérer
  • End While
  • dr.Close()
  • con.Close()
  • If test = "ok" Then
  • 'incrémentation de NB pour savoir combien de fois le mot a été utilisé
  • con.ConnectionString = "whatever"
  • Dim comU As New SqlCommand
  • comU.CommandText = "update Mots set NB = NB + 1 where Mots ='" & mot & "'"
  • comU.Connection = con
  • con.Open()
  • comU.ExecuteNonQuery()
  • con.Close()
  • Else
  • 'Si ce mot n'a jamais été utilisé, on l'insère dans la BD et on assigne "1" au champ NB
  • con.ConnectionString = "whatever"
  • Dim comI As New SqlCommand
  • comI.CommandText = "insert into Mots(Mots,NB) VALUES('" & mot & "',1)"
  • comI.Connection = con
  • con.Open()
  • comI.ExecuteNonQuery()
  • con.Close()
  • End If
  • End Sub
'Déclaration des variables. 
            Dim google As String = ""
            Dim mot As String = ""
            google = Request.UrlReferrer.ToString
            
            'on vérifie que le referrer est bien google
            If Left(google, 17) = "http://www.google" Then
            
                Dim longueur As Integer 
                Dim testq As String
                Dim position As Integer = 0
                Dim pos2 As Integer
                longueur = google.Length 'longueur de la string google afin de mettre une limite a notre for...next
                For position = 0 To longueur - 1
                    'on teste que le caractère est bien q. Si c'est le cas, les caractères qui suivent sont les mots clés
                    testq = google.Chars(position)
                    If testq = "q" Then
                        For pos2 = position + 2 To longueur - 1 'le + 2 sert à enlever le "=" qui suit le "q"
                            If google.Chars(pos2) <> "&" Then '& signifie que les mots clés sont terminés
                                If google.Chars(pos2) = "+" Then 'séparation des mots clés
                                    motcle(mot) 'on passe à un autre mot, donc on appelle la sub motcle pour stocker mot
                                    mot = "" 

                                Else
                                    mot += google.Chars(pos2) 'remplissage de la variable mot
                                End If
                            Else
                                motcle(mot) 'on a rencontré le caractère "&" donc plus de mots clés par la suite
                                Exit For
                            End If
                        Next
                        Exit For
                    End If

                Next
                
            End If

'sub permettant de stocker les mots clés dans la BD
Sub motcle(ByVal mot As String)
        Dim test As String 'le test permet de savoir si on a déjà stocké ce mot clé
        Dim con As New SqlConnection
        con.ConnectionString = "whatever"

        Dim com As New SqlCommand
        com.Connection = con

        com.CommandText = "select * from Mots where Mots ='" & mot & "'"
        Dim dr As SqlDataReader
        con.Open()
        dr = com.ExecuteReader
        While dr.Read
            test = "ok" '"ok" signifie qu'on a déjà stocké ce mot. On incrémente donc le champ NB au lieu d'insérer
        End While
        dr.Close()
        con.Close()

        If test = "ok" Then
'incrémentation de NB pour savoir combien de fois le mot a été utilisé
            con.ConnectionString = "whatever"
            Dim comU As New SqlCommand
            comU.CommandText = "update Mots set NB = NB + 1 where Mots ='" & mot & "'"
            comU.Connection = con

            con.Open()
            comU.ExecuteNonQuery()
            con.Close()
        Else
'Si ce mot n'a jamais été utilisé, on l'insère dans la BD et on assigne "1" au champ NB
            con.ConnectionString = "whatever"
            Dim comI As New SqlCommand
            comI.CommandText = "insert into Mots(Mots,NB) VALUES('" & mot & "',1)"
            comI.Connection = con
            con.Open()
            comI.ExecuteNonQuery()
            con.Close()
        End If


    End Sub

Conclusion

J'utilise une base de données SQL Server pour ce code, mais il peut être utilisé dans le type de BD que vous désirez, il suffit alors de typer les variable con, com et dr correctement selon le cas.

Je sais que déjà plusieurs programmes sont offerts (AWStats, etc) pour connaître les mots clés, mais dans mon cas j'avais besoin de lever un event lorsque certains mots étaient utilisés.

Voilà.
 

Commentaires et avis

signaler à un administrateur
Commentaire de jesusonline le 08/06/2006 13:58:05 administrateur CS

Renseigne toi au niveau des Regexp (Expression réguliere), tu vas pouvoir gagner beaucoup de ligne de code et aussi un petit peu de performance ;)

signaler à un administrateur
Commentaire de ananasvolant le 09/06/2006 22:23:32

Bonjour Jeffwow.
Ton script est sans doute bien, mais moi qui suis débutant, je ne sais pas où le placer et comment l'utiliser.
Pourquoi ne pas joindre un 'read me'?
Cela ne coute rien.
Ananasvolant.

signaler à un administrateur
Commentaire de jeffwow le 09/06/2006 22:30:58

Bonjour Ananasvolant

En fait, je crois avoir bien commenté le code.  Mais ce n'est pas très compliqué en fait.  Le referrer est l'adresse du site où le visiteur a cliqué pour se retrouver sur ton site.  Dans le cas de google, si le visiteur a fait une recherche, l'URL contient "r=blablabla" où le blablabla représente les mots clés utilisés pour te trouver.

Ce que je fait c'est simplement de vérifier si le referrer est bien google, si c'est le cas j'extrait les mots qui suivent le "r=" (donc les mots clés).

Ensuite j'appelle la fonction "Motcle" qui sert simplement à ajouter les mots dans une base de données (en prenant soin de vérifier si ces mots existent déjà, et si c'est le cas, j'incrémente le champ NB pour savoir combien de fois chaque mot a été utilisé.)

Jesusonline:

Tu as tout à fait raison, j'y avais juste pas pensé et comme ça fonctionne, je suis trop paresseux pour refaire.

signaler à un administrateur
Commentaire de jeffwow le 09/06/2006 22:31:44

Correction:  ce n'est pas r= mais bien q=

signaler à un administrateur
Commentaire de htmlchef le 18/10/2006 13:21:15

merci bien jeffwow

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Moteur avec plusieurs MOTS clés !! [ par zeb ] Voila je dispose d'un moteur de recherche en ASP qui marche lorsque je rempli le champ avec 1 seul mot. Comment fairepour mettre plusieurs mots clés à Comment traiter un texte en ne retenant que les mots-clés en utilisant les RegExp?? [ par ben5600 ] Situation: je traite un texte de qq lignes en retirant tous les accents et les espaces et points etc..Les mots restants sont stockés dans une variable recherche comme msn serach ou google mais pas sur le web sur les pages que je choisis [ par astuces_jeux ] je cherche&nbsp;comment faire comme msn search ou google avec les +affiner et tout ou francais ou anglais merci de m'aiderplus pl&#233;ciser :je cherc recherche web avec google comme 01net.com [ par astuces_jeux ] bonjour je cherche comment faire une recherche sur le eb comme 01net.com avec google http://www.01net.com/outils/recherche/Web.phpr Resultat Google [ par kurgan ] Bonjour,Je suis coince, je ne sais meme pas comment commencer...Je voudrais faire un petit code qui va lire dans les resultats d une page google pour moteur de recherche [ par 3bila ] 3bilaBonjour tout le monde,Mon sujet de stage concerne la r&#233;alisation d'un moteur de recherche en plein texte pour le site intranet d'une adminis moteur recherche google [ par dbx99 ] DeepBlueXJ'ai une petit probleme j'ai une page en 3 cadres ... j'aimairais avoir le tex Recherche Match Against sur mots de moins de 4 lettres. [ par orel ] BonjourJ'ai un problème sur une appli en ASP.NET connectée à un Serveur MySQL 5 concernant des recherches de caractères.La requête utilisée est celle- Les fichiers ressources (resx) servirait-il réellement à quelque chose ? [ par scottmat ] Ooui tout est dans le titre, Pourquoi un


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.