public function actionSitemap() { if (Yii::$app->request->isPost) { $sitemap = new Sitemap(Yii::getAlias('@webroot/sitemap.xml')); $sitemap->addItem(Url::to(['/main/default/index'], true), time(), Sitemap::WEEKLY, 1); $sitemap->addItem(Url::to(['/main/contact/index'], true), time(), Sitemap::MONTHLY, 1); $pages = Page::findAll(['status' => 1]); foreach ($pages as $page) { $sitemap->addItem(Url::to(['/page/node/view', 'slug' => $page->slug], true), $page->updated_at, Sitemap::MONTHLY, 1); } $posts = Post::findAll(['status' => 1]); foreach ($posts as $post) { $sitemap->addItem(Url::to(['/post/node/view', 'slug' => $post->slug], true), $post->updated_at, Sitemap::NEVER, 0.8); } $sitemap->write(); Yii::$app->session->setFlash('success', "Файл sitemap.xml успешно обновлен."); Yii::$app->request->referrer ? $this->redirect(Yii::$app->request->referrer) : $this->goHome(); } else { throw new NotFoundHttpException('Страница не найдена'); } }