Facile, il n’y a qu’à installer l’extension
dd_googlesitemap.
Vous pouvez maintenant enregistrer la page correspondant à
http://www.domain.tld/?eID=dd_googlesitemap dans la partie Google Webmaster Tools.
Pour éviter de devoir enregistrer votre sitemap, vous pouvez créer un fichier robots.txt à la racine avec le contenu suivant :
Sitemap:http://www.domain.tld/?eID=dd_googlesitemap
Vous avez un site multilingue ? Alors il faudra enregistrer autant de sitemaps qu’il y a de langues configurées pour votre site. Les URLs sont :
Si comme moi vous trouvez que ça demande trop de travail d’enregistrer toutes ces entrées, vous pouvez créer un fichier sitemap qui contient toutes les langues à l’aide du script suivant (sitemap.php) enregistré à la racine de votre installation TYPO3. Votre fichier sitemap complet sera donc désormais accessible à l’URL
http://www.domain.tld/sitemap.php.
Remarques : Ce script part du principe que toutes les URLs sont générées avec la langue, y compris pour la langue par défaut (si la langue par défaut est le français, « fr », alors toutes les URL sont préfixées par « /fr/ ») [1]. Pensez à mettre à jour la liste des langues selon votre configuration et à mettre à jour le fichier robots.txt si vous l’avez configuré ;-)
<?php $languages = array( 'default' => '0', 'de' => '1', 'fr' => '2', 'it' => '3', 'en' => '4', ); $url = 'http:'.'//' . $_SERVER['HTTP_HOST'] . '/?eID=dd_googlesitemap&L='; header('Content-type: text/xml'); echo '<?xml version="1.0" encoding="UTF-8"?>' . chr(10) . '<urlset xmlns="http'.'://www.sitemaps.org/schemas/sitemap/0.9">' . chr(10); $defaultLanguage = ''; $l = 0; foreach ($languages as $language => $uid) { if ($language == $defaultLanguage) continue; $c = 0; $fh = fopen($url . $uid, 'r'); while (!feof($fh)) { $buffer = fread($fh, 1024); if ($c == 0) { // Remove start tags $buffer = substr($buffer, strpos($buffer, '<url>')); } if ($l == 0) { // Extract the default language if (preg_match('|http://.*?/(..)|', $buffer, $matches)) { $defaultLanguage = $matches[1]; } } // Remove end tag if (substr($buffer, -9) == '</urlset>') { $buffer = substr($buffer, 0, -9); } echo $buffer; $l++; $c++; } fclose($fh); } echo '</urlset>'; ?>
