2017 © Pedro Peláez
 

library sitemap

Library that provides generating of sitemap files used by yandex, google etc

image

sitemaps/sitemap

Library that provides generating of sitemap files used by yandex, google etc

  • Tuesday, January 14, 2014
  • by mapshub
  • Repository
  • 1 Watchers
  • 0 Stars
  • 11 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

Sitemaps

Генеатор файлов 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();
}

The Versions

14/01 2014

dev-master

9999999-dev http://github.com/mapshub/sitemaps

Library that provides generating of sitemap files used by yandex, google etc

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

by Gertsiy Dmitriy

google sitemap yandex site map