PHPackages                             yurcrm/yandex-turbo-pages - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. yurcrm/yandex-turbo-pages

ActiveLibrary[API Development](/categories/api)

yurcrm/yandex-turbo-pages
=========================

API client for Yandex turbo pages

v2.2(1y ago)11361PHPPHP ^7.4 || ^8.0

Since Sep 26Pushed 1y agoCompare

[ Source](https://github.com/Sunsetboy/yandex-turbo-pages)[ Packagist](https://packagist.org/packages/yurcrm/yandex-turbo-pages)[ RSS](/packages/yurcrm-yandex-turbo-pages/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (4)DependenciesVersions (4)Used By (0)

Клиент для API турбостраниц Яндекса
===================================

[](#клиент-для-api-турбостраниц-яндекса)

Отправляет в API произвольное количество страниц в виде XML-документов

Для использования API вам необходимо зарегистрироваться в сервисе Яндекс.Вебмастер и получить API-ключ для загрузки турбо-страниц.

Подробно о турбостраницах можно прочитать, например, здесь:

### Установка

[](#установка)

Установить пакет вы можете через Composer

```
composer require yurcrm/yandex-turbo-pages

```

### Пример использования

[](#пример-использования)

```
// Инициализируем клиент в режиме отладки. Для боевого режима укажите третьим параметром TurboApi::MODE_PRODUCTION
$turboApi = new TurboApi\TurboApi('адрес сайта', 'ваш токен', TurboApi::MODE_DEBUG);

// Получаем у Яндекса необходимые данные для отправки турбостраниц
$turboApi->requestUserId();
$turboApi->requestHost();
$turboApi->requestUploadAddress();

// лимит числа страниц в рамках одной задачи. В режиме дебага это число ограничено, см. документацию от Яндекса
$tasksLimit = 30;

$turboPack = new TurboApi\TurboPack('Заголовок сайта', 'URL сайта', 'Краткое описание сайта', 'Код языка сайта');

/*
  Предположим, у вас есть страницы категорий, у каждой - заголовок и описание
*/
foreach ($categories as $category) {
    $link = 'URL страницы категории';
    $taskItem = new TurboApi\TurboItem();

    $taskXML = '' . $link . '';
    $taskXML .= '
               ' . $category->seoH1 . '
           ';
    $taskXML .= $category->description;
    $taskXML .= ']]>' . PHP_EOL;

    $taskItem->setXml($taskXML);
    $turboPack->addItem($taskItem);
}

// разбиваем массив турбостраниц на задачи
$tasks = $turboPack->getTasks($tasksLimit);

// В этом массиве будем хранить id задач, чтобы потом получать информацию по ним
$taskIds = [];

// отправляем задачи в Яндекс
foreach ($tasks as $task) {
    $taskIds[] = $turboApi->uploadRss($task);
}

```

### Как получить статус обработки задачи

[](#как-получить-статус-обработки-задачи)

Предположим, в предыдущем примере вы получили массив id задач от Яндекса. Получим статус по задаче $taskId

```
// Инициализируем клиент в режиме отладки. Для боевого режима укажите третьим параметром TurboApi::MODE_PRODUCTION
$turboApi = new TurboApi\TurboApi('адрес сайта', 'ваш токен', TurboApi::MODE_DEBUG);

// Получаем у Яндекса необходимые данные для отправки турбостраниц
$turboApi->requestUserId();
$turboApi->requestHost();
$turboApi->requestUploadAddress();
$status = $turboApi->getTask($taskId);
```

### Как получить список задач

[](#как-получить-список-задач)

```
// Инициализируем клиент в режиме отладки. Для боевого режима укажите третьим параметром TurboApi::MODE_PRODUCTION
$turboApi = new TurboApi\TurboApi('адрес сайта', 'ваш токен', TurboApi::MODE_DEBUG);

// Получаем у Яндекса необходимые данные
$turboApi->requestUserId();
$turboApi->requestHost();

$offset = 0; // Смещение в списке. Минимальное значение — 0
$limit = 5; // Ограничение на количество элементов в списке. Минимальное значение — 1; максимальное значение — 100.
$taskTypeFilter = TurboApi::TASK_TYPE_FILTER_DEBUG; // Фильтрация по режиму загрузки RSS-канала. Возможные значения: DEBUG, PRODUCTION, ALL.
$loadStatusFilter = TurboApi::LOAD_STATUS_FILTER_PROCESSING; // Фильтрация по статусу загрузки RSS-канала. Возможные значения: PROCESSING, OK, WARNING, ERROR.
$status = $turboApi->getTasks($offset, $limit, $taskTypeFilter, $loadStatusFilter);
```

### Как задать данные сервера API

[](#как-задать-данные-сервера-api)

Если необходимо задать данные, отличные от данных по умолчанию (актуальны на 26.09.2022), задайте их через конструктор:

```
$turboApi = new TurboApi\TurboApi('адрес сайта', 'ваш токен', TurboApi::MODE_DEBUG, 'https://api.webmaster.yandex.net', 'v4');

```

### Планы развития

[](#планы-развития)

В будущих версиях появится возможность просматривать более детальные ответы от Яндекса, а не только id задач и статусы.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~305 days

Total

3

Last Release

713d ago

PHP version history (2 changes)v2.0PHP ^7.0 || ^8.0

v2.1PHP ^7.4 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/fe40691354fc8874fcf7f3b4a12cc63f320073d928636f0a2b4828e8dbc12151?d=identicon)[100yuristov](/maintainers/100yuristov)

---

Top Contributors

[![Sunsetboy](https://avatars.githubusercontent.com/u/25583746?v=4)](https://github.com/Sunsetboy "Sunsetboy (9 commits)")

### Embed Badge

![Health badge](/badges/yurcrm-yandex-turbo-pages/health.svg)

```
[![Health](https://phpackages.com/badges/yurcrm-yandex-turbo-pages/health.svg)](https://phpackages.com/packages/yurcrm-yandex-turbo-pages)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
