Способы добавления (регистрации) мета-тегов в Yii2 и управления ими.

Первое, что необходимо сделать - проверить, присутствует ли в шаблоне (layout) метод head():

<head>
  <title><?= Html::encode($this->title) ?></title>
  <?php $this->head() ?>
</head>

Установка мета-тегов через экшен контроллера:

$this->view->title = 'Заголовок страницы';
$this->view->registerMetaTag(
  ['name' => 'keywords', 'content' => 'Ключевые слова страницы']
);
$this->view->registerMetaTag(
  ['name' => 'description', 'content' => 'Краткое описание страницы']
);

Способ выше мне больше нравится, но можно и так:

\Yii::$app->view->title = 'Заголовок страница';
\Yii::$app->view->registerMetaTag(
  ['name' => 'keywords', 'content' => 'Ключевые слова страницы']
);
\Yii::$app->view->registerMetaTag(
  ['name' => 'description', 'content' => 'Краткое описание страницы']
);

Установка (регистрация) мета-тегов в виде:

<?php

/* @var $this yii\web\View */
/* @var $post \common\models\Post */
use yii\helpers\Html;

$this->title = 'Заголовок страницы';
$this->registerMetaTag(
  ['name' => 'keywords', 'content' => 'Ключевые слова страницы']
);
$this->registerMetaTag(
  ['name' => 'description', 'content' => 'Краткое описание страницы']
);
$this->params['breadcrumbs'][] = $post->name;
?>

Установка $this->title в виде переопределит значение, установленное в методе контроллера.

Само сабой в базе данных должны присутствовать поля, например: meta_title, meta_keywords, meta_description, значение которых мы подставим в нужные места.