dolyalexey Опубліковано: 11 квітня Share Опубліковано: 11 квітня Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 11 квітня Share Опубліковано: 11 квітня та ні як не віправити можна спробувати через консоль видалити такі url можна, спробувати через апі видаляти https://opencartforum.com/ru/files/file/8960-google-indexing-api/?utm_source=opencartforum&utm_medium=categorypage&utm_campaign=category 1 Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня В 11.04.2024 в 20:08, dolyalexey сказав: гугл вказав сторінку 26, а їх в категорії може тільки 25 Можна у контролері категорії робити редирект зі сторінок, на яких немає товарів. Наприклад, якщо гугл піде на сторінку 26, як у вашому випадку, то буде переадресований на першу сторінку категорії. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 2 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня на двойке работает, на тройке не проверял Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, PaulKravchenko сказал: або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Так то ваше право куда редирект + можно поставить 301, а не как по старью стоит 302. Задача удалить страницу из индекса. Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня Просто варіант, я не проти і 404)) 1 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:32, ibond сказал: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> добавлю уже сюда в тему к производителям <file path="catalog/controller/product/manufacturer.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page == 1 && !$results) { $this->response->redirect($this->url->link('product/manufacturer', '', true), 301); } else if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 1 Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня В 11.04.2024 в 20:08, dolyalexey сказав: гугл вказав сторінку 26, а їх в категорії може тільки 25 Можна у контролері категорії робити редирект зі сторінок, на яких немає товарів. Наприклад, якщо гугл піде на сторінку 26, як у вашому випадку, то буде переадресований на першу сторінку категорії. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 2 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня на двойке работает, на тройке не проверял Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, PaulKravchenko сказал: або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Так то ваше право куда редирект + можно поставить 301, а не как по старью стоит 302. Задача удалить страницу из индекса. Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня Просто варіант, я не проти і 404)) 1 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:32, ibond сказал: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> добавлю уже сюда в тему к производителям <file path="catalog/controller/product/manufacturer.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page == 1 && !$results) { $this->response->redirect($this->url->link('product/manufacturer', '', true), 301); } else if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 1 Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 2 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня на двойке работает, на тройке не проверял Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, PaulKravchenko сказал: або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Так то ваше право куда редирект + можно поставить 301, а не как по старью стоит 302. Задача удалить страницу из индекса. Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня Просто варіант, я не проти і 404)) 1 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:32, ibond сказал: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> добавлю уже сюда в тему к производителям <file path="catalog/controller/product/manufacturer.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page == 1 && !$results) { $this->response->redirect($this->url->link('product/manufacturer', '', true), 301); } else if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 1 Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня на двойке работает, на тройке не проверял Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, PaulKravchenko сказал: або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Так то ваше право куда редирект + можно поставить 301, а не как по старью стоит 302. Задача удалить страницу из индекса. Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня Просто варіант, я не проти і 404)) 1 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:32, ibond сказал: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> добавлю уже сюда в тему к производителям <file path="catalog/controller/product/manufacturer.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page == 1 && !$results) { $this->response->redirect($this->url->link('product/manufacturer', '', true), 301); } else if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 1 Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, PaulKravchenko сказал: або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Так то ваше право куда редирект + можно поставить 301, а не как по старью стоит 302. Задача удалить страницу из индекса. Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня Просто варіант, я не проти і 404)) 1 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:32, ibond сказал: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> добавлю уже сюда в тему к производителям <file path="catalog/controller/product/manufacturer.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page == 1 && !$results) { $this->response->redirect($this->url->link('product/manufacturer', '', true), 301); } else if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 1 Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, PaulKravchenko сказал: або в контролері категорії, в пагінацію: if (($product_total > 0 ) && $limit && ceil($product_total / $limit) < $page) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'], true)); } буде редирект на першу сторінку категорії, тип редиректу у відповідній функції у бібліотеці response Так то ваше право куда редирект + можно поставить 301, а не как по старью стоит 302. Задача удалить страницу из индекса. Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня Просто варіант, я не проти і 404)) 1 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:32, ibond сказал: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> добавлю уже сюда в тему к производителям <file path="catalog/controller/product/manufacturer.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page == 1 && !$results) { $this->response->redirect($this->url->link('product/manufacturer', '', true), 301); } else if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 1 Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
PaulKravchenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня Просто варіант, я не проти і 404)) 1 Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:32, ibond сказал: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> добавлю уже сюда в тему к производителям <file path="catalog/controller/product/manufacturer.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page == 1 && !$results) { $this->response->redirect($this->url->link('product/manufacturer', '', true), 301); } else if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 1 Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:32, ibond сказал: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> добавлю уже сюда в тему к производителям <file path="catalog/controller/product/manufacturer.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page == 1 && !$results) { $this->response->redirect($this->url->link('product/manufacturer', '', true), 301); } else if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> 1 Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 20:08, dolyalexey сказал: Доброго дня. Гугл в serch console добавим декілька десятків сторінок з таким статусом "Вариант страницы с тегом canonical", а саме: домен/категорія/?page=21 домен/категорія2/?page=6 і т.д. На цих сторінках присутній тег <link href="домен/категорія/" rel="canonical" /> При чому деякі сторінки відкриваються з товарами, а на інших сторінках - Товари відсутні, бо гугл вказав сторінку 26, а їх в категорії може тільки 25. На скільки це критично для сео? Як правильно виправити це? Дякую. вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Надіслати Поділитися на інших сайтах More sharing options...
ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:40, kulinenko сказал: вообще не критично, можно не исправлять. Как раз хорошо что Гугл пагинацию не индексит и правильно обрабатывает канон. А насчет 26 - так она будет в 404 уходить, что тоже не является проблемой Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 Надіслати Поділитися на інших сайтах More sharing options... dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
dolyalexey Опубліковано: 11 квітня Автор Share Опубліковано: 11 квітня В 11.04.2024 в 22:32, ibond сказав: <file path="catalog/controller/product/category.php"> <operation> <search><![CDATA[ $results = $this->model_catalog_product->getProducts($filter_data); ]]></search> <add position="after"><![CDATA[ //# is_empty_to_redirect.ocmod.xml if ($page > 1 && !$results) { $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found'); } //# is_empty_to_redirect.ocmod.xml ]]></add> </operation> </file> Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Надіслати Поділитися на інших сайтах More sharing options...
ibond Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 23:47, dolyalexey сказал: Добавив код, нажаль не спрацював. Модифікатори звісно оновив, кеш почистив. Это не полный модификатор, это кусок модификатора. Думаю дальше надо подумать Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options... PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
kulinenko Опубліковано: 11 квітня Share Опубліковано: 11 квітня 11.04.2024 в 22:41, ibond сказал: Вы уверены? https://www.ukraine.com.ua/uk/info/tools/redirect/?url=https%3A%2F%2Fdemo23.ocstore.com%2Fdesktops%2Fmac%2F%3Fpage%3D26 в чем именно ? если страницы нету - отдает 404, если есть - то канон обрабатывает. Если проблемы с каноном - метатег ноиндекс. в вашем указанном случае канон: <link href="https://demo23.ocstore.com/desktops/mac/" rel="canonical" /> или речь шла про что-то другое? Надіслати Поділитися на інших сайтах More sharing options...
PaulKravchenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 11.04.2024 в 23:41, kulinenko сказал: если страницы нету - отдает 404 Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
spectre Опубліковано: 12 квітня Share Опубліковано: 12 квітня Я бы делал редирект на последнюю доступную страницу Надіслати Поділитися на інших сайтах More sharing options... kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options... Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options... 5 months later... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
kulinenko Опубліковано: 12 квітня Share Опубліковано: 12 квітня 12.04.2024 в 05:52, PaulKravchenko сказал: Сторінки пагінації категорій, виробників, результатів пошуку тощо формуються незалежно від того є там товари чи ні, тому і page=100500 теж буде сформована при заході і ніякої 404 не буде ну значит надо проследить что бы нигде в коде не было ссылок на такие страницы и гуглбот их никогда не найдет. Либо подпилить что бы отдавало 404. Как это сделать - вопрос не для этого раздела. Надіслати Поділитися на інших сайтах More sharing options...
Parallax Опубліковано: 12 квітня Share Опубліковано: 12 квітня Ось кому потрібно варіант в додачу з переадресацією на першу сторінку (перевірено лише на другій гілці опенкарта) <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect page</name> <code>13223</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/category', 'path=' . $this->request->get['path'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/manufacturer.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'])); } ]]></add> </operation> </file> <file path="catalog/controller/product/search.php"> <operation error="skip"> <search><![CDATA[foreach ($results as $result) ]]></search> <add position="before"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/search')); } ]]></add> </operation> </file> <file path="catalog/controller/product/special.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProductSpecials($filter_data);]]></search> <add position="after"><![CDATA[ if($results === array() && $page != 1) { $this->response->redirect($this->url->link('product/special')); } ]]></add> </operation> </file> </modification> 1 Надіслати Поділитися на інших сайтах More sharing options...
IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 18:03, IHOR1989 сказал: Для опенкарт 3 если нужен редирект на последнюю страницу <?xml version="1.0" encoding="utf-8"?> <modification> <name>Redirect category last page</name> <code>redirect_category_last_page</code> <version>1.0</version> <author>#</author> <link>#</link> <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProducts($filter_data);]]></search> <add position="after"><![CDATA[ $limit = $this->config->get('theme_' . $this->config->get('config_theme') . '_product_limit'); $max_page = ceil($product_total / $limit); if ($page > $max_page && $max_page > 0) { $this->response->redirect($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page=' . $max_page)); } ]]></add> </operation> </file> </modification> не работает: $filter_data = array( 'filter_category_id' => $category_id, 'filter_filter' => $filter, 'sort' => $sort, 'order' => $order, 'start' => ($page - 1) * $limit, 'limit' => $limit ); //$product_total = $this->model_catalog_product->getTotalProducts($filter_data); /*$results = $this->model_catalog_product->getProducts($filter_data);*//*start FilterVier*/foreach($this->model_extension_module_filter_vier->getProductsByFilterVier($filter_data) as $k=>$v){${$k}=$v;}/*end FilterVier*/ Надіслати Поділитися на інших сайтах More sharing options... IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
IHOR1989 Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня @ibond да, Вы правы. Забыл про сортировки и лимиты. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня <file path="system/library/pagination.php"> <operation> <search><![CDATA[$num_pages = ceil($total / $limit);]]></search> <add position="after"><![CDATA[ if ($num_pages) { if ($page > $num_pages) { $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } } else { if ($this->page>1){; $link = str_replace(['&page={page}', '?page={page}', '&page={page}'], '', $this->url); header('Location: ' . str_replace(['&', "\n", "\r"], ['&', '', ''], $link), true, 302); exit(); } }]]></add> </operation> </file> тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:36, chukcha сказал: if ($this->page>1){; 07.10.2024 в 20:36, chukcha сказал: тут редирект на першу сторінку (на розетці зроблен 301) Це працює там де є pagination много вопросов, но я пока чуть не в теме, другие темы в приоритете Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Реклама і просування SEO-питання (оптимізація та просування магазину) Вариант страницы с тегом canonical
chukcha Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:49, ibond сказал: много вопросов, хм, яких ))) Надіслати Поділитися на інших сайтах More sharing options... ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
ibond Опубліковано: 7 жовтня Share Опубліковано: 7 жовтня 07.10.2024 в 20:52, chukcha сказал: хм, яких ))) спрошу позже в ЛС Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 5
Recommended Posts