diff --git a/Classes/Controller/ListByCategoryController.php b/Classes/Controller/ListByCategoryController.php
index 2a1c9619255b8ee6dee8a1e990475adf98afad87..d4547f514ed26d96f9b0e05c707065975d3db6b4 100644
--- a/Classes/Controller/ListByCategoryController.php
+++ b/Classes/Controller/ListByCategoryController.php
@@ -120,6 +120,9 @@ class ListByCategoryController extends AbstractController {
 		$filterByCategories = FALSE;
 		$categoryUids = GeneralUtility::intExplode(',', $this->settings['categories']);
 		$tagUids = GeneralUtility::intExplode(',', $this->settings['tags'], TRUE);
+
+		HeaderMetaDataService::addPageNumberToCanonical($currentPageBrowserPage);
+
 		foreach ($categoryUids as $categoryUid) {
 			if ($categoryUid > 0) {
 				$filterByCategories = TRUE;
diff --git a/Classes/Controller/OverviewController.php b/Classes/Controller/OverviewController.php
index 5b002811c71f32d22e80395f42762c173c3515bd..93a0d0b702c6e8799ae3b336a15f0bf349cc9eda 100644
--- a/Classes/Controller/OverviewController.php
+++ b/Classes/Controller/OverviewController.php
@@ -34,6 +34,7 @@ use SGalinski\SgNews\Domain\Repository\TagRepository;
 use SGalinski\SgNews\Domain\Service\NewsService;
 use SGalinski\SgNews\Service\ConfigurationService;
 use SGalinski\SgNews\Service\HeaderMetaDataService;
+use SGalinski\SgSeo\Service\HeadTagService;
 use TYPO3\CMS\Core\Http\ImmediateResponseException;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -137,6 +138,8 @@ class OverviewController extends AbstractController {
 		$isCategoryFiltered = $useAllFilters || (int) $this->settings['groupBy'] === 1;
 		$isTagFiltered = $useAllFilters || (int) $this->settings['groupBy'] === 2;
 
+		HeaderMetaDataService::addPageNumberToCanonical($currentPageBrowserPage);
+
 		// Get tag pid
 		$tagPid = (int) $this->settings['tagPid'];
 		if (!$tagPid) {
@@ -418,6 +421,8 @@ class OverviewController extends AbstractController {
 		$newsPerPage = (int) $this->settings['newsLimit'];
 		$offset = $this->calculatePaginationOffset($currentPageBrowserPage, $newsPerPage);
 
+		HeaderMetaDataService::addPageNumberToCanonical($currentPageBrowserPage);
+
 		$newsCount = 0;
 		$categoryIds = NULL;
 		$categoriesById = [];
diff --git a/Classes/Service/HeaderMetaDataService.php b/Classes/Service/HeaderMetaDataService.php
index 807a64f57207d5cfde84145731bd6692c26d01e5..aa686892aa0dd5eda059acb9dfb9e2429c1aba5a 100644
--- a/Classes/Service/HeaderMetaDataService.php
+++ b/Classes/Service/HeaderMetaDataService.php
@@ -26,7 +26,11 @@ namespace SGalinski\SgNews\Service;
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
 
+use SGalinski\SgSeo\Service\HeadTagService;
+use TYPO3\CMS\Core\Package\Exception;
 use TYPO3\CMS\Core\Resource\FileReference;
+use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
 
 /**
@@ -44,4 +48,31 @@ class HeaderMetaDataService {
 		$typoScriptController = $GLOBALS['TSFE'];
 		$typoScriptController->page['og_image_path_by_extension'] = $path;
 	}
+
+	/**
+	 * Adds the page number to the canonical
+	 *
+	 * @param int $currentPage
+	 * @return void
+	 * @throws Exception
+	 */
+	public static function addPageNumberToCanonical(int $currentPage): void {
+		if ($currentPage < 1) {
+			return;
+		}
+
+		if (version_compare(ExtensionManagementUtility::getExtensionVersion('sg_seo'), '5.0.0', '>=')) {
+			$headTagService = GeneralUtility::makeInstance(
+				HeadTagService::class,
+				FALSE,
+				'',
+				'',
+				'&tx_sgnews_pagebrowser[currentPage]=' . $currentPage
+			);
+			$headTagService->execute();
+		} else {
+			$GLOBALS['TSFE']->page['extensionArgumentsForCanonicalAndHrefLang'] =
+				'&tx_sgnews_pagebrowser[currentPage]=' . $currentPage;
+		}
+	}
 }
diff --git a/Configuration/Routes/config.yaml b/Configuration/Routes/config.yaml
index 63f43e4a9b2c56279a5b009f1e89375e7e3e747e..05af95b4700be97a346a39868557812c1d5426b8 100644
--- a/Configuration/Routes/config.yaml
+++ b/Configuration/Routes/config.yaml
@@ -3,7 +3,13 @@ routeEnhancers:
     type: Plugin
     namespace: tx_sgnews_pagebrowser
     routePath: '/{localizedSegment}/{currentPage}'
+    defaults:
+      currentPage: '0'
     aspects:
+      currentPage:
+        type: StaticRangeMapper
+        start: '1'
+        end: '1000'
       localizedSegment:
         type: LocaleModifier
         default: page
diff --git a/README.md b/README.md
index d4a25ba0780ea166aee0998e5b5a0b7b9c731da0..09323fcaa0349055ac13b4b94239da470a30c5ef 100644
--- a/README.md
+++ b/README.md
@@ -307,6 +307,30 @@ pagebrowser.settings {
 }
 ```
 
+Example route enhancers with a static range for the page number to be able to generate URLs without additional cHash parameter
+
+```YAML
+routeEnhancers:
+  PageBrowserNews:
+    type: Plugin
+    namespace: tx_sgnews_pagebrowser
+    routePath: '/{localizedSegment}/{currentPage}'
+    defaults:
+      currentPage: '0'
+    aspects:
+      currentPage:
+        type: StaticRangeMapper
+        start: '1'
+        end: '1000'
+      localizedSegment:
+        type: LocaleModifier
+        default: page
+        localeMap:
+          -
+            locale: 'de_DE.*'
+            value: page
+```
+
 ---
 
 ###### addLike