From 1647bea71e4a5d523a7b29dcc23e3115c133a1c1 Mon Sep 17 00:00:00 2001 From: Chiffa Date: Tue, 4 Apr 2017 02:00:38 +0500 Subject: [PATCH] sitemap config --- application/classes/hooks/HookMain.class.php | 6 ++++-- .../classes/modules/blog/Blog.class.php | 6 +++++- .../classes/modules/topic/Topic.class.php | 3 ++- .../classes/modules/user/User.class.php | 8 +++++-- application/config/config.php | 21 +++++++++++++++++++ 5 files changed, 38 insertions(+), 6 deletions(-) diff --git a/application/classes/hooks/HookMain.class.php b/application/classes/hooks/HookMain.class.php index 2f8368cf..d482183f 100644 --- a/application/classes/hooks/HookMain.class.php +++ b/application/classes/hooks/HookMain.class.php @@ -67,8 +67,10 @@ class HookMain extends Hook }, 'callback_data' => function () { return array( - $this->Sitemap_GetDataForSitemapRow(Router::GetPath('/'), time(), '1', 'hourly'), - $this->Sitemap_GetDataForSitemapRow(Router::GetPath('stream/all'), time(), '0.7', 'hourly'), + $this->Sitemap_GetDataForSitemapRow(Router::GetPath('/'), time(), Config::Get('module.sitemap.index.priority'), + Config::Get('module.sitemap.index.changefreq')), + $this->Sitemap_GetDataForSitemapRow(Router::GetPath('stream/all'), time(), Config::Get('module.sitemap.stream.priority'), + Config::Get('module.sitemap.stream.changefreq')), ); } )); diff --git a/application/classes/modules/blog/Blog.class.php b/application/classes/modules/blog/Blog.class.php index cd3b77df..2a549f14 100644 --- a/application/classes/modules/blog/Blog.class.php +++ b/application/classes/modules/blog/Blog.class.php @@ -1211,7 +1211,11 @@ class ModuleBlog extends Module $aBlogs = $this->GetBlogsByFilter($aFilter, array('blog_id' => 'asc'), $iPage, 500, array()); $aData = array(); foreach ($aBlogs['collection'] as $oBlog) { - $aData[] = $this->Sitemap_GetDataForSitemapRow($oBlog->getUrlFull(), null, '0.8', 'weekly'); + $aData[] = $this->Sitemap_GetDataForSitemapRow( + $oBlog->getUrlFull(), null, + Config::Get('module.sitemap.blog.priority'), + Config::Get('module.sitemap.blog.changefreq') + ); } return $aData; }, diff --git a/application/classes/modules/topic/Topic.class.php b/application/classes/modules/topic/Topic.class.php index e04a37e3..45c821b1 100644 --- a/application/classes/modules/topic/Topic.class.php +++ b/application/classes/modules/topic/Topic.class.php @@ -2024,7 +2024,8 @@ class ModuleTopic extends Module $aData[] = $this->Sitemap_GetDataForSitemapRow( $oTopic->getUrl(), is_null($oTopic->getDateEdit()) ? $oTopic->getDatePublish() : $oTopic->getDateEdit(), - '0.9', 'weekly' + Config::Get('module.sitemap.topic.priority'), + Config::Get('module.sitemap.topic.changefreq') ); } return $aData; diff --git a/application/classes/modules/user/User.class.php b/application/classes/modules/user/User.class.php index f158def7..c35772c0 100644 --- a/application/classes/modules/user/User.class.php +++ b/application/classes/modules/user/User.class.php @@ -1999,8 +1999,12 @@ class ModuleUser extends Module $aUsers = $this->GetUsersByFilter($aFilter, array('user_id' => 'asc'), $iPage, 500, array()); $aData = array(); foreach ($aUsers['collection'] as $oUser) { - $aData[] = $this->Sitemap_GetDataForSitemapRow($oUser->getUserWebPath(), - is_null($oUser->getProfileDate()) ? $oUser->getDateRegister() : $oUser->getProfileDate(), '0.5', 'weekly'); + $aData[] = $this->Sitemap_GetDataForSitemapRow( + $oUser->getUserWebPath(), + is_null($oUser->getProfileDate()) ? $oUser->getDateRegister() : $oUser->getProfileDate(), + Config::Get('module.sitemap.user.priority'), + Config::Get('module.sitemap.user.changefreq') + ); } return $aData; }, diff --git a/application/config/config.php b/application/config/config.php index e5d5ff55..e44ddbf2 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -269,6 +269,27 @@ $config['module']['wall']['count_last_reply'] = 3; // Число послед $config['module']['wall']['per_page'] = 10; // Число сообщений на стене на одну страницу $config['module']['wall']['text_max'] = 250; // Ограничение на максимальное количество символов в одном сообщении на стене $config['module']['wall']['text_min'] = 1; // Ограничение на минимальное количество символов в одном сообщении на стене +// Модуль Sitemap +$config['module']['sitemap']['index'] = array( // Главная страница + 'priority' => '1', + 'changefreq' => 'hourly' // Вероятная частота изменения этой страницы (https://www.sitemaps.org/ru/protocol.html#changefreqdef) +); +$config['module']['sitemap']['stream'] = array( // Вся активность + 'priority' => '0.7', + 'changefreq' => 'hourly' +); +$config['module']['sitemap']['topic'] = array( // Топики + 'priority' => '0.9', + 'changefreq' => 'weekly' +); +$config['module']['sitemap']['blog'] = array( // Блоги + 'priority' => '0.8', + 'changefreq' => 'weekly' +); +$config['module']['sitemap']['user'] = array( // Пользователи + 'priority' => '0.5', + 'changefreq' => 'weekly' +); /** * Модуль опросов (Poll)