Комментарии: Генерация Sitemap.XML с помощью DOMDocument http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/ Статьи по SEO, дизайну и программированию. Переводы на веб-тематику. Исследования и наработки в области интернет-технологий. Mon, 14 Jul 2014 11:15:57 +0000 hourly 1 http://wordpress.org/?v=3.5.1 Автор: Виталий Маташ http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-84935 Виталий Маташ Sat, 16 Apr 2011 12:33:48 +0000 http://www.codeisart.ru/?p=347#comment-84935 немножко разширил количество поисковиков


final function generate(){
		.....
		if($this->needPing){
			$this->ping($this->yandexPingUrl);
			$this->ping($this->googlePingUrl);
			$this->ping($this->yahooPingUrl);
			$this->ping($this->askPingUrl);
			$this->ping($this->bingPingUrl);
			
		}

	}
	
	
	final function ping($url){
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		$result = curl_exec($ch);
	}
	
	
	final function __construct(){
		$this->XMLsitemapFile = 'http://'.$_SERVER['HTTP_HOST'].'/sitemap.xml';
		$this->googlePingUrl = 'http://www.google.com/webmasters/sitemaps/ping?sitemap='.urlencode($this->XMLsitemapFile);
		$this->yahooPingUrl = 'http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap='.urlencode($this->XMLsitemapFile);
		$this->yandexPingUrl = 'http://webmaster.yandex.ru/wmconsole/sitemap_list.xml?host='.urlencode($this->XMLsitemapFile);
		$this->askPingUrl = 'http://submissions.ask.com/ping?sitemap='.urlencode($this->XMLsitemapFile);	
		$this->bingPingUrl = 'http://www.bing.com/webmaster/ping.aspx?siteMap='.urlencode($this->XMLsitemapFile);		
		
.....
	}
}

]]>
Автор: Владимир http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-84533 Владимир Thu, 14 Apr 2011 19:15:54 +0000 http://www.codeisart.ru/?p=347#comment-84533 не подскажеш можно ли переписать этот класс class SiteMapUrlGenerator { так чт бы он брал данные из БД таблице Sitemap в которой находяться все пути, приоритеты, дата и т.п.

]]>
Автор: Владимир http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-83946 Владимир Mon, 11 Apr 2011 09:53:41 +0000 http://www.codeisart.ru/?p=347#comment-83946 и еще сикундачку!неподскажеш как сделать скрытую переадресацию с sitemap.xml на sitemap.php

]]>
Автор: Владимир http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-83945 Владимир Mon, 11 Apr 2011 09:46:53 +0000 http://www.codeisart.ru/?p=347#comment-83945 Просто супер,выше всех похвал)))))програмировать на php, mysql только начинаю! я разобрался в этом скрипте,всё получилось, хочу написать подобное!!!неподскажеш можно ли сделать так что бы при обращении на sitemap.php выводилось все то что написано в sitemap.xml. а то когда обращаешся к php-белый экран!

]]>
Автор: Вадим http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-83269 Вадим Fri, 08 Apr 2011 09:52:57 +0000 http://www.codeisart.ru/?p=347#comment-83269 Отличный скрипт, спасибо!
Не придется писать или разбираться самому, все расписано супер!
p.s. что самое главное грамотно составлен.

]]>
Автор: Виталий http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-54611 Виталий Fri, 22 Oct 2010 10:43:51 +0000 http://www.codeisart.ru/?p=347#comment-54611 Можно привязать абсолютно к чему угодно. Главной определить правила выборки в SiteMapUrlGenerator и все, вставляйте в любой проект.

]]>
Автор: privateperson http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-15563 privateperson Sat, 05 Dec 2009 13:29:04 +0000 http://www.codeisart.ru/?p=347#comment-15563 А к сайту на DLE, возможно ли прикрутить этот скрипт?

]]>
Автор: Skaizer http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-9043 Skaizer Sat, 06 Jun 2009 17:59:12 +0000 http://www.codeisart.ru/?p=347#comment-9043 Скрипт создает два файла: sitemap.xml и sitemap.txt. Путь их размещения определен в классе Sitemap:

  // Относительный путь до XML файла карты сайта.
  private $XMLsitemapSaveFile = '../sitemap.xml';

  // Флаг, существует ли файл sitemap.txt или нет
  private $TXTsitemapExist = False;

  // Относительный путь до TXT файла карты сайта.
  private $TXTsitemapSaveFile = '../sitemap.txt';

Так же вам необходимо определить логику выборки URL для вашего проекта, делается это в классе SiteMapUrlGenerator.

Остальное можно ничего не менять.

]]>
Автор: Роман http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-8953 Роман Thu, 04 Jun 2009 12:30:05 +0000 http://www.codeisart.ru/?p=347#comment-8953 Скажите, должен ли создавать скрипт хотябы файлы, если его положить так как он есть без изменения ?

]]>
Автор: Skaizer http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-6629 Skaizer Sat, 18 Apr 2009 20:14:04 +0000 http://www.codeisart.ru/?p=347#comment-6629 Ну я не отрицаю, что скрипт возможно прожорлив. Думаю каждый для своих целей сможет его оптимизировать, как надо :) Данная реализация без проблем справляется с генерацией карты из 2000 страниц, думаю с большим объемом тоже легко будет работать.

]]>
Автор: Юрий http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-6589 Юрий Sat, 18 Apr 2009 09:22:54 +0000 http://www.codeisart.ru/?p=347#comment-6589 Память лишняя занимается скриптом, постоянные переменные лучше добаить перед самой генерацией xml (переменные $_SERVER). Если сайт из 1000 страниц, экономия существенная.

]]>
Автор: Skaizer http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-106 Skaizer Thu, 11 Sep 2008 08:49:01 +0000 http://www.codeisart.ru/?p=347#comment-106 ^______^
точно )) проглядел наверное :-)

]]>
Автор: John http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-105 John Thu, 11 Sep 2008 08:43:20 +0000 http://www.codeisart.ru/?p=347#comment-105 http://www.sitemaps.org/ru/protocol.php Да нет тут вроде написано что не обязательны они ;-)

]]>
Автор: Skaizer http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-104 Skaizer Thu, 11 Sep 2008 08:31:31 +0000 http://www.codeisart.ru/?p=347#comment-104 Да не )) подправим, полезные комменты никогда лишними не бывают :)
Хм, а для чего Вы добавили проверки:

if($this->urlList[$i]->getLastmod())
if($this->urlList[$i]->getChangefreq())
if($this->urlList[$i]->getPriority())

Насколько мне известно данные узлы в Sitemap.XML являются обязательными, их отсутствие может вызвать ошибку у поисковика (предупреждение в разделе веб-мастеров).

]]>
Автор: John http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-103 John Thu, 11 Sep 2008 07:05:39 +0000 http://www.codeisart.ru/?p=347#comment-103 Мдя удалить наверно лучше мой комент а то все разъехолось 8-)

]]>
Автор: John http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-102 John Thu, 11 Sep 2008 06:52:06 +0000 http://www.codeisart.ru/?p=347#comment-102 Разобрался 8-) не увидел просто что он за каталог их выкинул … вот так переделал:

$url = $root->appendChild($this->dom->createElement('url'));
$url->appendChild($this->dom->createElement('loc',$this->urlList[$i]->getLoc()));
if($this->urlList[$i]->getLastmod())$url->appendChild($this->dom->createElement('lastmod',$this->urlList[$i]->getLastmod()));
if($this->urlList[$i]->getChangefreq())$url->appendChild($this->dom->createElement('changefreq',$this->urlList[$i]->getChangefreq()));
if($this->urlList[$i]->getPriority())$url->appendChild($this->dom->createElement('priority',$this->urlList[$i]->getPriority()));
$this->TXTsitemapDump .= $this->urlList[$i]->getLoc()."\n";
]]>
Автор: Skaizer http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-101 Skaizer Thu, 11 Sep 2008 05:47:02 +0000 http://www.codeisart.ru/?p=347#comment-101 John, а Вы переписали класс SiteMapUrlGenerator ?
В вашем случае он будет другой, не такой как в моем примере.

]]>
Автор: John http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-100 John Thu, 11 Sep 2008 05:38:31 +0000 http://www.codeisart.ru/?p=347#comment-100 Что то не работает после запуска ни чего не происходит, хотя это снизу добавил:

$sitemap = new Sitemap;
$sitemap->generate();
]]>
Автор: Skaizer http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-21 Skaizer Wed, 06 Aug 2008 10:16:29 +0000 http://www.codeisart.ru/?p=347#comment-21 сео блоггер, есть, можете скачать его тут.
В нем требуется переписать только получение данных для генератора, а именно класс «SiteMapUrlGenerator».

]]>
Автор: сео блоггер http://www.codeisart.ru/sitemap-xml-generation-using-domdocument-php/comment-page-1/#comment-20 сео блоггер Wed, 06 Aug 2008 08:14:23 +0000 http://www.codeisart.ru/?p=347#comment-20 А готового скрипта пока нет?

]]>