diff --git a/addons/default/visiosoft/cats-module/resources/views/sitemap/categories.twig b/addons/default/visiosoft/cats-module/resources/views/sitemap/categories.twig
new file mode 100644
index 000000000..3cf9a85c2
--- /dev/null
+++ b/addons/default/visiosoft/cats-module/resources/views/sitemap/categories.twig
@@ -0,0 +1,10 @@
+
+
+ {% for category in categories %}
+
+ {{ url_route('adv_list_seo', [category.slug]) }}
+ {{ category.created_at.tz('UTC').toAtomString() }}
+ weekly
+
+ {% endfor %}
+
\ No newline at end of file
diff --git a/addons/default/visiosoft/cats-module/resources/views/sitemap/index.twig b/addons/default/visiosoft/cats-module/resources/views/sitemap/index.twig
new file mode 100644
index 000000000..ff98d2ea1
--- /dev/null
+++ b/addons/default/visiosoft/cats-module/resources/views/sitemap/index.twig
@@ -0,0 +1,9 @@
+
+
+
+ {% for i in 1..pagesCount %}
+
+ {{ url('sitemap.xml/categories') }}?page={{ i }}
+
+ {% endfor %}
+
\ No newline at end of file
diff --git a/addons/default/visiosoft/cats-module/src/CatsModuleServiceProvider.php b/addons/default/visiosoft/cats-module/src/CatsModuleServiceProvider.php
index 659543e1e..9a7ecebf9 100644
--- a/addons/default/visiosoft/cats-module/src/CatsModuleServiceProvider.php
+++ b/addons/default/visiosoft/cats-module/src/CatsModuleServiceProvider.php
@@ -58,6 +58,10 @@ class CatsModuleServiceProvider extends AddonServiceProvider
'admin/cats/create' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@create',
'admin/cats/edit/{id}' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@edit',
'admin/cats/category/delete/{id}' => 'Visiosoft\CatsModule\Http\Controller\Admin\CategoryController@delete',
+
+ // Sitemap
+ 'sitemap.xml' => 'Visiosoft\CatsModule\Http\Controller\SitemapController@index',
+ 'sitemap.xml/categories' => 'Visiosoft\CatsModule\Http\Controller\SitemapController@categories',
];
/**
diff --git a/addons/default/visiosoft/cats-module/src/Http/Controller/SitemapController.php b/addons/default/visiosoft/cats-module/src/Http/Controller/SitemapController.php
new file mode 100644
index 000000000..b7aa34d9a
--- /dev/null
+++ b/addons/default/visiosoft/cats-module/src/Http/Controller/SitemapController.php
@@ -0,0 +1,38 @@
+categoryRepository = $categoryRepository;
+ }
+
+ public function index()
+ {
+ $categoriesCount = $this->categoryRepository->count();
+ $pagesCount = ceil($categoriesCount / 5000);
+
+ return response()->view('visiosoft.module.cats::sitemap.index', [
+ 'pagesCount' => $pagesCount,
+ ])->header('Content-Type', 'text/xml');
+ }
+
+ public function categories()
+ {
+ $page = request()->page ?: 1;
+ $skip = $page - 1;
+
+ $categories = $this->categoryRepository->newQuery()->skip(5000 * $skip)->take(5000)->get();
+
+ return response()->view('visiosoft.module.cats::sitemap.categories', [
+ 'categories' => $categories,
+ ])->header('Content-Type', 'text/xml');
+ }
+}