Как сделать 301 редирект в opencart

Практически каждый день сталкиваюсь с проблемами пользователей после вмешательств в htaccess. Не говоря уже о создаваемых постоянно темах на форуме с просьбами о помощи.

Порой из-за какой то ерунды типа изменения адреса одного товара происходит несколько страниц писанины бреда и конструированию огромных полотен правил.

Что НЕЛЬЗЯ делать через htaccess

В интернете десятки тысяч инструкций просто копируемых друг у друга десятилетиями. Очень многие из них вредны, т.к. были актуальны для сайтов на голом HTML без формирователя ЧПУ. Современные CMS самостоятельно строят формат адресации на сайте и нельзя вмешиваться в это через htaccess.

Наиболее распространенные вредные правила:

Что не нужно делать через htaccess

Множество единичных редиректов

Распространенные последcтвия вмешательства в htaccess

Часто ошибки всплывают со временем, когда обнаруживается выпадение страниц из поиска и идет разбор причин.

Когда нужно делать редиректы через htaccess

В глобальных правилах: за счет работы на более низком уровне, apache позволяет снизить расход ресурсов, т.к. их не много и требуется применение ко всем страницам.

Редирект с www на без оного, или наоборот

Редирект на https

Глобальные редиректы по маске

Пример как убрать product/ из адреса:

⚠ При наличии внешней ссылочной массы, желательно не менять адресацию на сайте, а перестроить формирователь ЧПУ и обойтись без редиректов.

⚠ Все глобальные правила дoлжны идти перед правилами CMS.

⚠ Правило WWW должно идти раньше чем https для исключения лишнего звена редиректа

Когда делать редиректы силами php (не CMS)

В случаях когда требуется настроить редиректы с адресов вида /product_info.php?products_id=123, /product/?id=345, и т.д., а именно когда есть возможность обратиться напрямую к php-файлу без инициализации CMS.

Разберем на примере site.com/product_info.php?products_id=XXX.

Создаем файл product_info.php в корне, где будет список редиректов и мини скрипт

не забываем в htaccess добавить в исключения путь /product_info.php* дабы избежать цепочек редиректов

Требование к менеджеру редиректов в CMS

Поиск/Проверка/Перебор не должен подключаться при каждом обращении к сайту, а только если страница не существует.

Разделение правил на части

Грамотное разделение правил на части позволяет сэкономить ресурсы. Нет необходимости перебирать правила там где они заведомо не сработают.

Возможность использования дополнительных данных

Менеджер редиректов может использовать функционал CMS для получения ряда данных, которые затем могут использоваться в механизме автоматизации.

Когда делать редиректы силами CMS в менеджере редиректов

Нет опыта и квалификации в работе с htaccess

Последствия деятельности шаловливыми ручками описал выше. Даже имея опыт, часто можно допустить ошибку/опечатку случайно.

Множество правил

Использование инструмента CMS не приводит к засорению htaccess и ряду сопутствующих проблем.

Да и банально намного удобнее добавлять/удалять/следить/редактировать.

Правила не являются глобальными

Если взять средний сайт с 500 уникальными посетителями в день и средней глубиной 3. Это минимум 1500 обращений в день, на самом деле в разы больше. В неделю же минимум 10 тыс. Плюс боты. И если повезет одно обращение будет к искомой странице с редиректом, ради него будет 10 тыс раз читаться правило из htaccess.

Дополнительный функционал

Источник

Редирект для интернет-магазина на Opencart: через плагин или htaccess

Редиректы для интернет-магазина на CMS Opencart можно выполнить добавив записи в файл htaccess, ознакомится с чем можно в статье ниже.

Как сделать редирект через файл htaccess для интернет-магазина на Opencart

Для того, чтобы перенаправить пользователя с одной страницы на другую требуется использовать следующую комбинацию:

Redirect 301 site.ru/page1/ site.ru/page2/

Важно! Можно записывать адреса в относительном виде, например, /page1/ и /page2/.

Также допускается использование конструкции:

Redirect permanent site.ru/page1/ site.ru/page2/

Для того, чтобы выполнить правило, потребуется посетить административную панель хостинга (или же зайти через FTP), где в корневой папке сайта на Opencart (public_html) лежит файл htaccess :

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Как сделать перенаправление на другой домен?

В этом случае необходимо автоматически перекидывать всех пользователей с домена domain1.ru на domain2.ru при помощи функции:

RewriteRule ^(.*)$ http://www.domain2/$1 [R=301,L]

Переадресация с http на https

При переезде сайта с http на https (установка SSL-сертификата) потребуется код, который не требует дополнительных модификаций:

Второй метод осуществляет перенос с http://domain.ru на https://domain.ru:

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Третий способ выполняет аналогичную функцию, но отключает перенаправление для robots.txt:

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

В 4-й версии конечным пунктом для пользователя станет https://www.domain.ru:

RewriteRule ^(.*)$ https://www.domain.ru/$1 [R=301,L]

Позволяет сделать форвардинг с http://www.poddomen.domain.ru на https://poddomen.domain.ru:

RewriteCond % ^www\.poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://poddomen.domain.ru/$1 [R=301,L]

Последняя версия, дающая возможность сделать связь между http://poddomen.domain.ru на https://www.poddomen.domain.ru:

RewriteCond % ^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://www.poddomain.domain.ru/$1 [R=301,L]

301 редирект с домена без WWW на с WWW

В функции ниже осуществляется переход из www.poddomen.domain.ru на poddomen.domain.ru:

RewriteCond % ^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://www.poddomen.domain.ru/$1 [R=301,L]

Если же первый способ не помог можно использовать данную версию:

С www на без WWW

RewriteCond % ^www\.poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Также имеется второй метод не требующий ввода доменного имени:

RewriteCond % !^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

C https на http

При необходимости сделать обратную интеграцию и перейти на незащищенную версию протокола можно воспользоваться:

301 редирект на http для одной страницы

В этой ситуации подойдет:

Второй метод осуществляет общий переезд на защищенный протокол (https), но одна страница останется на старом протоколе (http). Этот способ подойдет для интеграции 1С Bitrix с 1С Предприятие, так как система не может работать с защищенным протоколом:

Для готовой интеграции с 1С-Битрикс, формула позволяющая исключить директорию bitrix/admin/1c_exchange.php из общего правила:

RewriteCond % !^/bitrix/admin/1c_exchange\.php$ [NC]

Форвардинг на https для конкретной страницы

Для этой цели можно воспользоваться:

RewriteCond % ^/Необходимая директория_страница$

С несуществующего файла

В этом случае можно будет применить:

RewriteRule ^(.*)$ /poddomen/script.php [R=301,L]

Также подойдет второй способ:

RewriteCond % !^poddomen\.domain\.ru$ [NC]

RewriteRule ^(.*)$ http://poddomen.domain.ru/$1 [R=301,L]

Перенаправление на подкаталог

В этом случае возможно пербрасывать пользователей с poddomen.domain.ru на подкаталог poddomen.

RewriteEngine on
RewriteBase /
RewriteCond % !^/poddomen
RewriteCond % ^poddomen.domain.ru$ [NC]
RewriteRule ^index.php(.*)$ /poddomen/$1 [L,QSA]

RewriteEngine on
RewriteBase /
RewriteCond % ^poddomen.domain.ru$
RewriteCond % !/poddomen/
RewriteRule ^(.*)$ /poddomen/$1 [L]

В случае, когда речь идет о www.poddomen.doamin.ru необходимо применить:

RewriteRule ^(.*)$ /poddomen/$1 [L]

С любой страницы на главную

RewriteRule ^(.*)$ index.php [L,QSA]

С поддомена на основной домен

Если требуется выполнить условие для всех поддоменов без исключения:

RewriteCond % ^(.+).domain.ru$
RewriteRule (.*) http://site.ru/$1?region=%1 [L,R=301,QSA]

Когда речь идет о конкретном поддомене следует использовать:

RewriteCond % ^poddomen.domain.ru$ [NC]
RewriteRule (.*) http://site.ru/$1?region=poddomen [L,R=301,QSA]

Как проверить работу 301 редиректа?

Для этого можно использовать инструмент проверки ответа сервера Яндекса:

Здесь вводим адрес первой страницы и видим следующее:

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Как видим правило применилось и работает корректно.

Возможные проблемы с сайтами Opencart (русской сборки OcStore)

При редактировании файла

Так как в русской сборке OcStore после установки файл имеет имя htaccess.txt следует для исправления выполнить следующую посетить корневую папку сайта и найти файл «.htaccess.txt».

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Переименовываем его и удаляем часть «.txt», так, чтобы файл назывался «.htaccess».

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Переходим в «Дополнения»-«Менеджер дополнений» и очищаем Кеш (кнопка в правом-верхнем углу).

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

При работе с HTTPS

В первую очередь следует проверить настройки магазина перед перенаправлением на https так как в противном случае сайт может работать некорректно или не работать вовсе.

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Далее переходим в сервер и выбираем.

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Прокручиваем список и во вкладке «Безопасность» ставим «Да» у «Использовать SSL».

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

После этого переходим в на сервер в корневую папку и проверяем файл «config.php».

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

В нем в части про HTTPS проверяем указан ли адрес сайта как «https://site.ru», если нет указываем.

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Аналогично следует проверить корректность отображения административной части, что необходимо сделать перейдя в папку «Admin».

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Теперь открываем еще один файла «config.php».

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Аналогично ищем ссылки на сайт с защищенным протоколом define и при необходимости исправляем на правильные (с https).

Источник

301 Redirect Opencart 2 ЧПУ

Как же сделать правильный 301 редирект страниц с применением внутренних SEO ссылок OpenCart? Можно поискать готовые решения среди модулей Opencart 2, но быстрее это сделать вручную.

На днях появилась задача перенести магазин с малоизвестной cms на OpenCart. Но поскольку магазин работал уже давно и его знали поисковики надо было сохранить ссылки на разделы и товары.

К сожаление ссылки имели вид /ru/раздел/123 и при их подстановке в «SEO Keyword» из-за слешей они выдавали, что страницы не найдена.

Поэтому для сохранения «веса» в поисковиках и работы старых ссылок пришлось применять 301 redirect.

Написания 301 редиректа очень просто

Redirect 301 /старая-страница /новая-страница

Redirect 301 /ru/раздел/123 /index.php?route=product/category&path=59

Но если Вы используете ЧПУ ссылки, то тут становиться все немного сложнее.

Предположим, что ЧПУ ссылка раздела теперь будет выглядеть так new-page.html, то при записи

Redirect 301 /ru/раздел/123 /new-page.html вы получите страницу при редиректе типа http://site.com/new-page.html?_route_= index.php?new-page.html, которая выдаст «запрашиваемая страница не найдена».

Redirect 301 /ru/раздел/123 /index.php?route=product/category&path=59
RewriteCond % ^route=product/category&path=59$
RewriteRule ^index\.php /new-page.html? [R=301,L]

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Заказ в 1 клик Opencart 2

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Менеджер заказов Opencart 2

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Import YML Opencart 2

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Экспорт YML Opencart 2

Модуль экспорта товаров на площадку Яндекс.Маркет, Турбо-страницы и другие сервисы, которые принимаю..

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Горизонтальное мега-меню Opencart 2.x

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Вертикальное мегаменю для Opencart 2.x

Модуль для создания вертикального мега-меню в колонке на Opencart 2.x. Очень многофункциональное доп..

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Opencart Blog для Opencart 2.x

Большим недостатком системы Opencart 2.x является отсутствие нормального блога записей. Ведь почти к..

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Стикеры на товары для Opencart 2

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Скидки для групп покупателей Opencart 2.x

Модуль Скидки для групп покупателей или Total Customer Group Discount для Opencart 2.x позволяет зад..

Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Модуль Отзывы о товарах Opencart 2

Модуль Отзывы о товарах на отдельной странице и в позиции на сайте для Opencart 2.0.Удобный модуль д..

Модуль Мультизагрузка картинок товара на Opencart 2

Модуль позволяет загружать и выбирать одновременно несколько картинок для товара. По умолчанию в O..

Источник

100% правильный редирект в магазине Опенкарт (Opencart / OcStore 2.х и 3.x)

Обычный редирект в магазинах на Opencart CMS не срабатывает и выдает ошибку Internal Server Error (500). Решается эта задача с помощью другого синтаксиса Redirect 301.

Изменились ссылки на статьи, о магазине, товары и категории.

А я согласился, совсем забыв, что в магазинах Opencart эти редиректы делаются через одно место, стандартный синтаксис с Redirect 301 не работает!

В итоге вместо нескольких минут задача заняла у меня целый день, включая поиск в интернете правильного решения, тестирования и создание своего файлика XLS, чтобы больше вручную не делать все эти редиректы в Опернкарте.

Напомню стандартный синтаксис редиректа:

Redirect 301 /smartfony https://newshop.by/smartphone

Попробуйте прежде всего именно этот вариант, но он чаще всего не сработает в Opencart. Не расстраивайтесь, ниже есть и другие варианты редиректов.

Прописываем правильный редирект в Opencart вручную

И где-нибудь в начале файла после директивы RewriteEngine On и Options +FollowSymlinks вставляем редиректы.

Прежде всего, еще раз напомню, что стандартный редирект вида: Redirect 301 /старый адрес https://новый адрес в 99% случаев банально не работает и выдает ошибку.

RewriteCond % ^_route_=адрес_старой_страницы.html$
RewriteRule ^(.*)$ https://ваш_домен.ru/новой_страницы/? [R=301,L]

Адрес старой страницы пишется без префиксов, вот так:

Автоматизировать редирект Opencart

Мне пришло в голову, что млин, каждый раз вручную вставлять правильные адреса в эти 2 строчки довольно утомительно.

Вот что получилось:

Качайте файл с моего сервера.

Прямо сейчас вы можете получить доступ к этому контенту для подписчиков. Достаточно ввести свой правильный емейл, и после подтверждения вам откроется полное содержимое этой страницы.

Получить бесплатно

Все получилось успешно!

Если на ваш емейл после подписки не приходит письмо для подтверждения уведомления (такое бывает иногда в зависимости от типа вашего ящика), то есть такие варианты:

Массовый редирект на новый домен

Конечно, лучше сразу правильно подбирать домен для магазина, но если у вас уже есть необходимость в нескольких именах, то с помощью 301 редиректа вы добьетесь того, что со всех дублей будет загружаться только основной домен сайта.

Простой редирект с другого домена

Редирект сразу с двух доменов

А если нужно сразу с двух доменов (например, английского и кириллистического) сделать редирект?

Редирект с поддомена

Работает, если нужно сделать редирект с поддомена на основной домен. Все страницы ведут туда, куда нужно, на соответствующие страницы основного сайта.

Массовый редирект внутри категории

Часто бывает, что поменялся адрес категории, а чпу для товаров остались прежними.

Нужно обязательно убедиться, что старый товар открывается без проблем. Ну типа такого: http://test1.moytop.com/kategoriya-new/zhenskaya-steganaya-kurtka-scanndi-cw2611

Если будет ошибка 404 (нет такой страницы, обновите кэш в Opencart и браузере и попробуйте еще раз). Опять ошибка? Тогда нужно прописывать редирект, если этого не сделать, то есть риск, что товары вылетят из индекса.

При этом товаров могут быть тыщи, согласитесь, нужно простое решение, не перелопачивать же все товары вручную!

Если у вас установлен Ocstore, то там есть SEO PRO и это дело работает автоматически. НО! Не у всех! И не всегда! И не в во всем контенте! Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Поэтому если по каким-то причинам автоматом не получилось сделать, то нужно вручную массово поменять URL категории и при этом оставить рабочими все товары (автоматически проставить редирект, чтобы не было 404 ошибки).

Вот такой код редиректа у меня работает в Опенкарте, проверял на 2 и 3 версии:

Обязательно обратите внимание на следующее:

Редирект 404 страницы на главную

Я уже выше рассматривал как надо правильно настраивать редиректы на каждый URL, но ведь иногда не хочется заморачиваться и не делать такие точечные редиректы, а просто взять и переадресовать все 404 страницы, например, на главную страницу.

Не хочу разбирать почему это не особо правильный подход, но просто приведу решение как это сделать (проверял на Опенкарт 3, думаю на 2 тоже должно работать):

В этом случае все страницы, которые выдают ошибку 404 станут ссылаться на главную страницу опенкарт.

Редирект на SSL

Я уже ранее разбирал как делается редирект с http на https opencart, поэтому почитайте там.

Если ничего не получилось

Ну бывает, что никакие советы не помогают Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart
Тут может и хостер быть косячный, и шаблон Opencart иметь какие-то хитрые модули на борту, и просто звёзды на сошлись.

В этом случае, не тратьте своё драгоценное время, отправляйтесь на биржу Кворк в раздел редиректы и вам сделают всё, что нужно всего за 500₽ Как сделать 301 редирект в opencart. Смотреть фото Как сделать 301 редирект в opencart. Смотреть картинку Как сделать 301 редирект в opencart. Картинка про Как сделать 301 редирект в opencart. Фото Как сделать 301 редирект в opencart

Успехов в нелегком деле настройки редиректов для Opencart. Хотя это и удачная панелька в целом (читайте выбор движка для магазина), но редиректы в ней отличаются от других CMS.

Полезные цитаты: Сегодня я богат именно благодаря тому, что я сделал в свободное время (Р.Кийосаки)

Источник

Leave a Reply

Your email address will not be published. Required fields are marked *