Connaître les mots clés utilisés sur google pour tomber sur votre site

Contenu du snippet

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 / Exemple :


'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à.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.