PHPackages                             anatoliy700/yii2-robots - 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. anatoliy700/yii2-robots

ActiveYii2-extension

anatoliy700/yii2-robots
=======================

Implements a dynamic robots.txt file

v2.0.0(6y ago)02BSD-3-ClausePHPPHP &gt;=7.2.0

Since Jul 15Pushed 6y agoCompare

[ Source](https://github.com/Anatoliy700/yii2-robots)[ Packagist](https://packagist.org/packages/anatoliy700/yii2-robots)[ RSS](/packages/anatoliy700-yii2-robots/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (4)Versions (3)Used By (0)

Robots расширение для Yii2
--------------------------

[](#robots-расширение-для-yii2)

Генерирует контент robots.txt файла

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

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

Устанвливается через [Composer](http://getcomposer.org/download/)

```
composer require anatoliy700/yii2-robots
```

или добавить

```
"anatoliy700/yii2-robots": "*"
```

в разделе `require` вашего composer.json файла.

Использование
-------------

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

Подключить в конфигурации приложения в разделе модули:

```
'modules' => [
    'robots' => [
         'class' => 'anatoliy700\robots\Module',
    ]
]
```

Для установки правил маршрутизации автоматически добавть в bootstrap

```
'bootstrap' => ['robots']
```

Описать зависимости в контейнере

```
    'container' => [
        'definitions' => [
             'anatoliy700\robots\IRobots' => [
                 'class' => 'anatoliy700\robots\Robots',
                 'directives' => [
                     'User-Agent' => '*',
                     'Disallow' => [
                         '/backend',
                     ],
                 ],
             ],
             'anatoliy700\robots\directives\IDirective' => 'anatoliy700\robots\directives\Directive',
        ],
    ]
```

В свойстве `directives` можно указать директивы, которые будут отдаваться роботу. Если `User-Agent` не будет указан, то будет установлен по умолчанию `User-Agent: *`.

В свойстве `blockResource` можно заблокировать весь ресурс, в этом случае все остальные директивы будут проигнорированы.

Итеграция блокировки сраниц в модули контента
---------------------------------------------

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

Для интеграции необходимо в модель, которая описывает контент страницы в админке, добавить поведение:

```
  'RobotsBehavior' => [
      'class' => 'anatoliy700\robots\behaviors\RobotsModelBehaviors',
      'route' => ['content/default/index', 'alias' => 'alias']
  ]
```

В свойстве `route` необходимо обязательно маршрут и параметры, в значение в массиве параметров указывается имя свойства данной модели из которого надо подставить данные.

В правила модели добавить:

```
[['robotsBlockingFlag'], 'safe'],
```

Так же необходимо добавить в форму `checkbox`:

```
