google sitemap

Exemple de plan Sitemap

À propos de Google Sitemaps

Le protocole Sitemap vous permet d'indiquer aux moteurs de recherche les URL à explorer sur vos sites Web. Dans sa forme la plus simple, un plan Sitemap utilisant le protocole Sitemap est un fichier XML qui répertorie les URL d'un site. Ce protocole a été écrit pour être extrêmement évolutif et s'adapter à des sites de toutes tailles. Il permet également aux administrateurs Web d'inclure des informations complémentaires sur chaque URL (date de dernière modification, fréquence de révision, importance relative par rapport aux autres URL du site), de façon à favoriser une exploration plus intelligente du site par les moteurs de recherche.

Les plans Sitemap sont particulièrement utiles lorsque les internautes ne peuvent pas atteindre toutes les zones d'un site Web à l'aide d'une interface de navigation. Cela se produit généralement lorsque les liens proposés ne permettent pas d'atteindre certaines pages ou zones d'un site. Ainsi, vous avez intérêt à créer un plan Sitemap et à l'envoyer aux moteurs de recherche si votre site contient des pages uniquement accessibles par le biais d'un formulaire de recherche.

Ce document décrit les formats de fichiers Sitemap et explique où vous devez placer ces fichiers pour que les moteurs de recherche puissent les exploiter.

Notez que le protocole Sitemap complète, mais ne remplace pas, les mécanismes fondés sur l'exploration que les moteurs de recherche utilisent déjà pour découvrir des URL. En envoyant un plan Sitemap (ou plusieurs) à un moteur de recherche, vous contribuez à optimiser le fonctionnement de ses robots d'exploration.

Le recours à ce protocole ne garantit pas la prise en compte de vos pages Web dans les index de recherche, (Notez que l'utilisation de ce protocole n'influe pas sur le mode de classement de vos pages par un moteur de recherche.)

La version 0.84 du plan Sitemap est offerte dans le cadre d'une license Attribution-ShareAlike Creative Commons License.

Documentation

Un Google Sitemap pour ChuWiki 1.2

sitemap.php

<?php
////////////////////////////////////////////////////////////////////////////////
// ***** BEGIN LICENSE BLOCK *****
// This file is part of ChuWiki.
// Copyright (c) 2004 Vincent Robert and contributors. All rights
// reserved.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//
//
// ***** END LICENSE BLOCK *****
//
//Dimitri A. - sitemap.php - ChuWiki 1.2
//https://www.google.com/webmasters/sitemaps/docs/fr/overview.html
//
////////////////////////////////////////////////////////////////////////////////

require(dirname(__FILE__) . '/sdk/sdk.php');

$maxItem = 150;

////////////////////////////////////////////////////////////////////////////////
function FormatLongIso8601Date($strDate)
{
	$strYear = substr($strDate, 0, 4);
	$strMonth = substr($strDate, 4, 2);
	$strDay = substr($strDate, 6, 2);
	$strHour = substr($strDate, 8, 2);
	$strMinute = substr($strDate, 10, 2);
	$strSecond = substr($strDate, 12, 2);
	$date = mktime($strHour, $strMinute, $strSecond, $strMonth, $strDay, $strYear);
	return date('Y-m-d\TH:i:s', $date);
}

//create GMT
$GMT = date('O');
$GMT = str_replace("00", ":00", $GMT);   

////////////////////////////////////////////////////////////////////////////////

$astrLatestChanges = GetLatestChangePageList();
$strLatestDate = FormatLongIso8601Date(reset($astrLatestChanges));

////////////////////////////////////////////////////////////////////////////////
$strDomain = 'http://' . $_SERVER['SERVER_NAME'];
//$strDomain = str_replace("www.", "", $strDomain);

$strURI = $strDomain . $k_strWikiURI;
$aEntries = array();
foreach($astrLatestChanges as $strPage => $strDate)
{
	$entry = array();
	$entry['link'] = $strDomain . GetScriptURI('Wiki') . rawurlencode($strPage);
	$entry['date'] = $strDate;
	$aEntries[] = $entry;
}

////////////////////////////////////////////////////////////////////////////////
header('Content-Type: application/xml; charset=UTF-8');
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
////////////////////////////////////////////////////////////////////////////////
?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
	<loc><?php echo $strURI ?></loc>
	<lastmod><?php echo $strLatestDate.$GMT ?></lastmod>
	<changefreq>always</changefreq>
	<priority>1.0</priority>
</url>
<?php
$i=0;
foreach($aEntries as $entry)
{
	echo "<url>\n";
	echo "	<loc>".$entry['link']."</loc>\n";
	echo "	<lastmod>".FormatLongIso8601Date($entry['date']).$GMT."</lastmod>\n";
	echo "	<changefreq>always</changefreq>\n";
	echo "	<priority>0.5</priority>\n";
	echo "</url>\n";
	$i++;
	if($i>=$maxItem)
		break;
}
?>
</urlset>

README

copier-coller le code ci-dessus dans un fichier nommé, par exemple, sitemap.php
renseigner la variable $maxItem avec la valeur de votre choix,
$maxItem étant à 150 par défaut, elle correspond au nombre d'URLs représentées dans votre sitemap.

En cas de nécessité, décommenter la ligne $strDomain = str_replace("www.", "", $strDomain); cette ligne permet de supprimer les "www." de vos adresses si nécessaire ; pour plus de détails

Pour finir : ajouter un plan Sitemap à votre compte

Crédits

la conception de ce sitemap s'inspire fortement du code du latest-change de ChuWiki 1.2 2005-06-07
contribution par Dimitri A.

Un Google Sitemap pour ChuWiki 2.0α ($Rev: 123 $)

<?php
////////////////////////////////////////////////////////////////////////////////
// ***** BEGIN LICENSE BLOCK *****
// This file is part of ChuWiki.
// Copyright (c) 2004 Vincent Robert and contributors. All rights
// reserved.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//
//
// ***** END LICENSE BLOCK *****
//Babgond - sitemap.php - ChuWiki 2.0 beta
//Dimitri A. - sitemap.php - ChuWiki 1.2
//https://www.google.com/webmasters/sitemaps/docs/fr/overview.html
//
////////////////////////////////////////////////////////////////////////////////

require(dirname(__FILE__) . '/sdk/sdk.php');

$maxItem = 150;

////////////////////////////////////////////////////////////////////////////////
function FormatLongIso8601Date($strDate)
{
$strYear = substr($strDate, 0, 4);
$strMonth = substr($strDate, 4, 2);
$strDay = substr($strDate, 6, 2);
$strHour = substr($strDate, 8, 2);
$strMinute = substr($strDate, 10, 2);
$strSecond = substr($strDate, 12, 2);
$date = mktime($strHour, $strMinute, $strSecond, $strMonth, $strDay, $strYear);
return date('Y-m-d\TH:i:s', $date);
}

//create GMT
$GMT = date('O');
$GMT = str_replace("00", ":00", $GMT);

////////////////////////////////////////////////////////////////////////////////

$astrLatestChanges = chuwiki::GetLatestChangePageList();
$strLatestDate = FormatLongIso8601Date(reset($astrLatestChanges));

////////////////////////////////////////////////////////////////////////////////

$strDomain = 'http://' . $_SERVER['SERVER_NAME'];
$strURI = $strDomain . $g_strWikiURI;


$aEntries = array();
foreach($astrLatestChanges as $strPage => $strDate)
{
$entry = array();
$entry['link'] = $strDomain . chuwiki::GetScriptURI('Wiki') . rawurlencode($strPage);
$entry['date'] = $strDate;
$aEntries[] = $entry;
}

////////////////////////////////////////////////////////////////////////////////
header('Content-Type: application/xml; charset=UTF-8');
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
////////////////////////////////////////////////////////////////////////////////
?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc><?php echo $strURI ?></loc>
<lastmod><?php echo $strLatestDate.$GMT ?></lastmod>
<changefreq>hourly</changefreq>
<priority>1.0</priority>
</url>
<?php
$i=0;
foreach($aEntries as $entry)
{
echo "<url>\n";
echo "	<loc>".$entry['link']."</loc>\n";
echo "	<lastmod>".FormatLongIso8601Date($entry['date']).$GMT."</lastmod>\n";
echo "	<changefreq>daily</changefreq>\n";
echo "	<priority>0.5</priority>\n";
echo "</url>\n";
$i++;
if($i>=$maxItem)
break;
}
?>
</urlset>

README

copier-coller le code ci-dessus dans un fichier nommé, par exemple, sitemap.php
renseigner la variable $maxItem avec la valeur de votre choix,
$maxItem étant à 150 par défaut, elle correspond au nombre d'URLs représentées dans votre sitemap.

Pour finir : ajouter un plan Sitemap à votre compte

Crédits

la conception de ce sitemap est une Mise à jour du sitemap proposé par Dimitri A.
contribution par Babgond - 10/01/2009


Le 15 nov 2012, Omanu dit:

Génial fonctionne à merveille