Updater sa sitemap dynamiquement en php
parArkenle 14.Feb.2009
Pour optimiser son référencement, rien de mieux que de créer une sitemap. Le challenge est ensuite d'arriver à garder sa sitemap en phase avec le contenu de son site...très fastidieux sans automatisation de la tâche, puisqu'il faut alors soit le faire manuellement après chaque mise à jour de votre site (nouveau billet dans le blog, nouvel article, etc...), ou systématiquement faire regénérer la sitemap sur des sites tels que xml-sitemaps.com.
Pour régler ce problème et entièrement automatiser la manip, j'ai pour ma part créé une classe sitemapUtils qui a cette gueule : class sitemapUtils
{ public static function appendPage($url, $priority, $changefreq) { //open xml sitemap $xmlFile = simplexml_load_file(sfConfig::get('sf_web_dir') . '/sitemap.xml'); $xml = new SimpleXMLElement($xmlFile->asXml()); $newURL = $xml->addChild('url'); $newURL->addChild('loc', $url); $newURL->addChild('priority', $priority); $newURL->addChild('changefreq', $changefreq); //save file $handle = fopen(sfConfig::get('sf_web_dir') . '/sitemap.xml', 'w+'); fwrite($handle, $xml->asXml()); fclose($handle); } } Ensuite il suffit de l'appeler au niveau du backend dans les modules nécessitant une modif de la sitemap (module d'ajout de billet, d'ajout d'article, etc...) : .
.. ... $blogEventToAdd->save(); //update sitemap sitemapUtils::appendPage('http://www.example.com/blog/' . $blogEventToAdd->getTitle() . '.html', '0.80', 'weekly'); Simple et efficace. Tags : sitemap référencement optimisation update automatiser |
|










