Récupérer les requêtes du moteur interne d'un site

WRInaute accro
et comment on fait pour que ces resultats de recherche soient indexés par les moteurs de recherche ?
 
WRInaute passionné
herveG a dit:
et comment on fait pour que ces resultats de recherche soient indexés par les moteurs de recherche ?
tu les sauvegardes sur ton disque dur, tu mets un joli ruban autour du disque pour pas qu'il s'abîme et tu l'envoies par FedEx à Redmond (eh oui, seul MSN prend en charge les indexations postales)


:arrow:
 
WRInaute discret
Script PHP ?

Et bien tu les recuperes dans une base de donnée
Tu veux dire que je puis les enregistrer sur ma base mySQL et les récupérer au moyen d'un script PHP ? Désolé si je dis une bêtise :oops: , je ne suis pas programmeur.
 
WRInaute passionné
Re: Script PHP ?

dondiego_paris a dit:
Et bien tu les recuperes dans une base de donnée
Tu veux dire que je puis les enregistrer sur ma base mySQL et les récupérer au moyen d'un script PHP ? Désolé si je dis une bêtise :oops: , je ne suis pas programmeur.
voilà

autre méthode "simple" : si tu es sur un logiciel de statistiques de style xiti qui repère une page par son URL, tu passes ton formulaire de recherche en method=GET et non method=POST

comme ça ton moteur sera appelé par recherche.php?mots=mot1+mot2
si ton logiciel de stats te dit que la page recherche.php?mots=diego+paris a été chargée 200 fois ça veut dire que tes visiteurs ont cherché 200 fois "diego paris" :wink:
 
WRInaute discret
récup de requêtes

Merci Dj_Apx :)
autre méthode "simple" : si tu es sur un logiciel de statistiques de style xiti qui repère une page par son URL, tu passes ton formulaire de recherche en method=GET et non method=POST
Mon logiciel de stats utilise un marqueur javascript en bas des pages : ça marche dans ce cas ? :?:
 
WRInaute discret
bon, c pas top, le mieux c de passer par une base de donnée:
Code:
CREATE TABLE `search` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`keyword` VARCHAR( 255 ) NOT NULL ,
`count` INT( 11 ) NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `keyword` ) 
);

Donc on crée un auto increment id, et un champ keyword index(car utilisé pour la recherche). Le count va permettre d'ajouter +1 à chaque fois.

on considère que tu appelle ta classe de connection mysql par $db;
recherche.php?mots=mot1+mot2
Code:
global $mot, $db;
$mot=strtolower($mot); //on met tout en minuscule
#interrogation de la base de donnée
$result=mysql_query("select id from search where mot=LOWER($mot)", $db); //selection de l'id 
list($searchid)=mysql_fetch_row($result);
if($searchid) mysql_query("update search set count=count+1 where id='$searchid'", $db);//on ajoute 1 à la valeur count si le mot est déjà dans la base
else mysql_query("insert into search values(NULL, '$mot', '1'", $db);//si le mot n'est pas dans la base, on l'ajoute
mysql_close($result);

Voilà c très basique, il manque une fonction pour sécurisé le script.
On peut aussi créer une table supllémentaire pour tracker la date, et voir l'evolution du mot sur 1 mois, 1 semaine etc ...
 
WRInaute passionné
Re: récup de requêtes

la méthode SQL est bien mieux :) mais au cas où :
dondiego_paris a dit:
Merci Dj_Apx :)
autre méthode "simple" : si tu es sur un logiciel de statistiques de style xiti qui repère une page par son URL, tu passes ton formulaire de recherche en method=GET et non method=POST
Mon logiciel de stats utilise un marqueur javascript en bas des pages : ça marche dans ce cas ? :?:
oui, surtout si le script utilise par exemple le titre de la page pour la repérer : si tu as un document.title (je ne suis pas sûr à 100% que c'est comme cela qu'on trouve le titre en javascript, mais il me semble bien) dans le script, pour repérer la page, soit tu remplaces par document.location.href pour avoir l'adresse (pas pratique parce que les autres pages de ton site seraient mieux avec le .title) soit ton moteur de recherche, tu le bidouilles pour avoir dans le titre de la page de résultats les mots-clefs de la recherche :wink:
 
WRInaute discret
dondiego_paris a dit:
Ouh là là, respect là ! J'ai rien compris (je sais pas coder) mais je te fais confiance ! Merci beaucoup !:)

dans ce cas, tu risque d'avoir besoin d'un script pour te connecter à la base de donnée, je suppose que tu n'en avais pas alors j'anticipe ton prochain message d'erreur "could not connect to mysql"

Code:
$hote ="nom d'hote vers mysql";
$user="username mysql";
$passwd="mot de passe mysql";
$tb_name="nom de la base de donnée";
$db = mysql_connect("$hote", "$user", "$passwd");
mysql_select_db('$tb_name');

a placer au debut du script.

Pour ceux qui connaissent, rien de sensas, mais cela suffit pour ce petit script. Si par exemple du devais migrer totalement sous php, il faudra revoir tout ça parceque cela n'encaissera pas des dizines milliers de requetes ( :?: ) par jour.
 
Discussions similaires
Haut