dev-master
9999999-dev http://github.com/mapshub/sitemapsLibrary that provides generating of sitemap files used by yandex, google etc
MIT
The Requires
- php >=5.3.0
by Gertsiy Dmitriy
google sitemap yandex site map
Wallogit.com
2017 © Pedro Peláez
Library that provides generating of sitemap files used by yandex, google etc
Генеатор файлов sitemap, (*1)
Для правильной генерации файлов sitemap, как этого требует яндекс: - с разбивкой на файлы размером не более 10Mb - количеством url в каждом файле не более 50000, (*2)
Установка, (*3)
Для установки добавьте sitemaps/sitemap в файл composer.json в вашем проекте., (*4)
Например:, (*5)
{
"require": {
"sitemaps/sitemap": "dev-master"
}
}
Принцип работы, (*6)
URL-ы нужно добавлять во временное хранилище до создания полного списка, а потом запустить генератор файлов. Генератор создаст файл типа "sitemapindex" и столько файлов типа "urlset" сколько потребуется, в соответствии с указанными выше требованиями. Генератору для работы требуется указать путь к папке, в которую сохранять сгенерированные файлы, и URL этой папки чтобы формировать url-ы для скачивания файлов sitemap по http., (*7)
outputDir - папка для хранения, (*8)
baseUrl - базовый url для скачивания, (*9)
Примеры, (*10)
Пример с хранением временных данных в массиве PHP, (*11)
public function testBuilderWithArrayStorage()
{
//для каждoго сайта свой Id
$site_id = "com_example_array_storage";
$sm = new \Sitemaps\Sitemap($site_id);
$arrayStorage = new \Sitemaps\Storage\ArrayStorage\Storage();
$sm->setStorage($arrayStorage);
$builder = new \Sitemaps\Builder\XMLWriter\Builder();
$builder->setOutputDir(__DIR__ . "/" . self::test_output_dir);
$builder->setBaseUrl("http://example.com/sitemap/");
$sm->setBuilder($builder);
$total = 2000;
for ($i = 0; $i < $total; $i++) {
$sm->addLocation("http://example.com/catalog/pages/{$i}/", new \DateTime("now"));
}
$sm->getBuilder()->build();
}
Данный тип используется по-умолчанию, поэтому можно явно setStorage не делать., (*12)
public function testBuilderWithArrayStorage()
{
//для каждoго сайта свой Id
$site_id = "com_example_array_storage";
$sm = new \Sitemaps\Sitemap($site_id);
$builder = new \Sitemaps\Builder\XMLWriter\Builder();
$builder->setOutputDir(__DIR__ . "/" . self::test_output_dir);
$builder->setBaseUrl("http://example.com/sitemap/");
$sm->setBuilder($builder);
$total = 2000;
for ($i = 0; $i < $total; $i++) {
$sm->addLocation("http://example.com/catalog/pages/{$i}/", new \DateTime("now"));
}
$sm->getBuilder()->build();
}
Пример с хранением временных данных в MongoDB, (*13)
public function testBuilderWithMongoDBStorage()
{
//для каждoго сайта свой Id
$site_id = "example_mongo_storage";
$sm = new \Sitemaps\Sitemap($site_id);
$mongoStorage = new \Sitemaps\Storage\Mongo\Storage();
$sm->setStorage($mongoStorage);
$builder = new \Sitemaps\Builder\XMLWriter\Builder();
$builder->setOutputDir(__DIR__ . "/" . self::test_output_dir);
$builder->setBaseUrl("http://example.com/sitemap/");
$sm->setBuilder($builder);
$sm->clear();
$total = 2000;
for ($i = 0; $i < $total; $i++) {
$sm->addLocation("http://example.com/catalog/pages/{$i}/", new \DateTime("now"));
}
$sm->getBuilder()->build();
$sm->clear();
}
Library that provides generating of sitemap files used by yandex, google etc
MIT
google sitemap yandex site map