Accueil Annuaire Articles Flash Liste Smiles War connexion
Navigation
Conseils Prog.
- Images
- Php
-- Astuce PHP/Mysql
-- Faire son Propre Jeu chapitre 1
-- Faire son Propre Jeu chapitre 2 MySql
-- Faire son Propre Jeu chapitre 3 PHP
-- Flash / PHP
-- google sitemap
-- Petite Introduction à PHP
-- PHP et la sécurité
-- ranger ses Referers
- Smiles War
- web 3D
Divers
Inspiration
Jeux Classiques
Jeux de mots
Jeux de Rôle Papier
Jeux Flash
Jeux Gratuits
Jeux Pocket PC
Jeux pour enfants
Jeux pour telephones
Jeux Shareware
Jeux TV
Jeux Video Commerciaux
Jeux Web
Jouer.org
Le Monde du Jeu
Musique

Php :


google sitemap

google à besoin d'aide smile

https://www.google.com/webmasters/sitemaps/login

Pour les aider à visiter nos site de façon optimum, ils ont mis en place un systéme de "plan" de site au format XML que le webmaster peu alors placer sur son site.

L'objectif est pour google d'avoir un seul fichier à télécharger pour obtenir les adresses de toutes les pages, et les dates de mise à jour.

Quelques limites :
50000 par fichier (ou 10 Mo)

Pour la partie qui suit je vais me limiter à 50 000 pages donc un seul fichier (les sites plus gros ont toutes les compétences pour adapter se qui suit)

1


Créer une table qui recevra toutes les infos nécéssaires:

CREATE TABLE `sitemap` (
`id` int(11) NOT NULL auto_increment,
`url` varchar(100) NOT NULL default '',
`date` date NOT NULL default '0000-00-00',
`nb` int(11) NOT NULL default '0',
UNIQUE KEY `id` (`id`),
KEY `url` (`url`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


2
créer un petit fichier PHP qui servira à remplir cette table

<?
$url_ = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

if(ereg(".php",$url_))$url_="none"; // ceci est une option si vous désirez ne pas indexer les fichiers php (pour utilisateurs urlwriting) vous pouvez ajouter d'autres filtres ici


if($url_<>"none")
{
mysql_query("update `sitemap` set nb=nb+1 where url='$url_';");
if(mysql_affected_rows()==0)
{
$date_=date("Y-m-d",time());
mysql_query("INSERT INTO `sitemap` ( `id` , `url` , `date` )
VALUES ('', '$url_', '$date_' ) ; ");
}
}
?>

vous l'aurez remarqué, on en profite pour compter le nombre de visites de la page.

3
Placer un include dans votre script php (index.php par exemple) de maniére à ne l'inclure QUE sir le visiteur n'est pas logué (google ne se connecte pas et n'accéde donc pas aux pages nécéssitant une connexion)

par exemple:
juste avant la déconnection de la base de données:
if($ketespaslogue==1) include("../votrefichier.php");



... voila, les visiteurs font maintenant le boulot à votre place, à chaque page visitée, la page est mise dans la base de données avec la date de "premiére vue".

4
Pour permettre la mise à jour de vos page il vous suffit de mettre au bon endroit un
mysql_query("update `sitemap` set  `date`=".date("Y-m-d",time())." where `url`='$paggemodifiée_';"); 

Chaque site ayant sa propre architecture, là il vous faudra bosser un peu smile.

5
Bien joli tout cela mais pour le moment vous 'navez rien d'autre qu'une liste de page dans votre base de données, nous allons donc créer le joli fichier XML.


<?
// connectez vous avec votre include preféré
echo"<?xml version=\"1.0\"encoding=\"UTF-8\"?>
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">
";
$liste= mysql_query("SELECT url,date FROM `sitemap` order by id limit 0,50000");
while(list($a,$b) = mysql_fetch_array($liste))
{
echo"<url>
<loc>$a</loc>
<lastmod>$b</lastmod>
</url>
";

}


echo"</urlset>";
// déconnectez vous avec votre include preféré
?>



6
Votre fichier est créé.

Vous pouvez maintenant le sauver en sitemap.xml et suivre les inscructions de google.

Je conseil deux choses:
1 - prévoir les petits malins qui vont tenter de charger votre serveur et cacher le fichier n°5 avec un nom de votre choix et un .htaccess
2 - repasser ici, voir si j'ai améliorer l'histoire (je penses ajouter une possibilité de créer le fichier et de le compacter en gz) histoire d'automatiser la mise à jour.

par jouer.org
dernière mise à jour:4/06/2005
Share |

Jeux en ligne jouer.org Site declaré à la CNIL n° 822436 ~ Ajouter un site ~ 21