Исправляем ошибки в оптимизации на Opencart
Opencart одна из самых популярных CMS для разработки интернет-магазинов. У каждого магазина на Opencart, вне зависимости от версии и сборки, существует определенный ряд проблем в оптимизации.
В статье раcскажем о том, какие есть основные SEO-ошибки на Opencart и каким образом их можно исправить.
- Простые виды редиректов (склейка зеркал, /index.php, /index.php/, index.php?route=common/home).
- Закрытие страниц от индекса.
- Внедрение микроразметки на сайт.
Перед тем как сделать какие-либо правки на сайте необходимо сделать бэкап файлов, которые вы будете редактировать.
1. Чтобы сделать простые редиректы (с www без www , /index.php, /index.php/, index.php?route=common/home) вам необходимо зайти на ftp. В корне сайта есть файл index.php :
Мы открываем файл index.php и в самом начале файла вставляем код:
1 2 3 4 5 6 7 8 9 10 11 12 | // Редирект с www -> без www //------------------------------------------------------------------------------ $rurl=$_SERVER['REQUEST_URI']; $rhost = $_SERVER['HTTP_HOST']; if ((strpos($rhost,'ww.')) && empty($_POST)) { $nhost = str_replace('www.','',$rhost); header("HTTP/1.1 301 Moved Permanently"); header("Location: http://".$nhost.$rurl); exit(); } //------------------------------------------------------------------------------ |
Данный код склеивает зеркала на сайте. В данном случае основное зеркало будет https://site.ru/.
1 2 3 4 5 6 7 8 9 | // Убираем /index.php //------------------------------------------------------------------------------ $rurl = $_SERVER['REQUEST_URI']; if (($rurl=='/index.php') && (empty($_POST))){ header("HTTP/1.1 301 Moved Permanently"); header("Location: /"); exit(); } //------------------------------------------------------------------------------ |
Данный код убирает дубль главной страницы сайта, т. е. будет прописан 301 редирект со страницы http://site.ru/index.php на страницу https://site.ru/
1 2 3 4 5 6 7 8 9 | // Убираем /index.php?route=common/home //------------------------------------------------------------------------------ $rurl = $_SERVER['REQUEST_URI']; if (($rurl=='/index.php?route=common/home') && (empty($_POST))){ header("HTTP/1.1 301 Moved Permanently"); header("Location: /"); exit(); } //------------------------------------------------------------------------------ |
/index.php?route=common/home — это еще один дубль главной страницы сайта.
Прописываем 301 редирект с этой страницы на главную
1 2 3 4 5 6 7 8 9 | // Убираем /index.php/ //------------------------------------------------------------------------------ $rurl = $_SERVER['REQUEST_URI']; if ((strpos($rurl,'/index.php/')!==False) && (empty($_POST))){ header("HTTP/1.1 301 Moved Permanently"); header("Location: ".str_replace('/index.php/','/',$rurl)); exit(); } //------------------------------------------------------------------------------ |
Данный код убирает дубли на всех страницах категорий, подкатегорий, товаров, производителей.
Пример:
http://site.ru/index.php/noski -> http://site.ru/noski
После всех этих манипуляций файл index.php будет выглядеть так :
2. Для того чтоб нам закрыть ненужные страницы от индексации, необходимо отредактировать файл header.tpl нашего шаблона.
Файл header.tpl находится catalog/view/theme/ваша тема/template/common
Открываем файл и после строки
1 | <!--?php } ?--> |
вставляем такой код:
1 2 3 4 5 6 7 8 9 | $bad_patch = array('vyazanie-bikini', 'vyazanie-razdelnye-kupalniki', 'vyazanie-ananasiki', 'vyazanie-monokini', 'vyazanie-slitnye-kupalniki', 'vyazanye-tankini', 'kupalnik-plate', 'extrimalnye-kupalniki', 'exclusive-avtorskie-kupalniki'); foreach ($bad_patch as $k => $v) { if(substr_count($_SERVER['REQUEST_URI'], $v)) { echo ''; break; } } |
После всех этих манипуляций файл header.tpl будет выглядеть так:
Это не единственный метод закрыть страницы от индекса вот еще один :
1 2 | <!--?php if(isset($this->request->get['page']) || isset($this->request->get['limit']) || isset($this->request->get['sort'])) { ?--> <!--?php } ?--> |
3. Внедрение микроразметки. Используя микроразметку, вы можете улучшить представление сниппета вашего сайта в результатах поиска. Более подробно о микроразметке и её видах вы сможете узнать в статье. Вот например:
название сайта #rubricator»;rel=»v:url» property=»v:title»>Анкор ссылки должен быть такой же как и тег
на странице
Для того что внедрить микроразметку на сайт нам нужно будет править файлы контролера (продукта, категорий, контакты, главная).
a)файла product.php ( catalog/controller/product )
Открываем файл и в строке 237
1 | $this->data['heading_title'] = $product_info['name']; |
создаем глобальную переменную и передаем ей значение $product_info['name'];
1 2 | global $jenka_heading_title; $jenka_heading_title = $product_info['name']; |
После редактирования файл product.php будет выглядеть так:
б)файла category.php ( catalog/controller/product )
Открываем файл и в строке 103
1 | $this->data['heading_title'] = $category_info['name']; |
создаем глобальную переменную и передаем ей значение $category_info['name'];
1 2 | global $jenka_heading_title; $jenka_heading_title = $category_info['name']; |
После всех этих манипуляций файл category.php будет выглядеть так:
в)файла home.php ( catalog/controller/common )
Открываем файл и в строке 16
1 | $this->template = 'default/template/common/home.tpl'; |
создаем глобальную переменную, для которой мы напишем свое значение.
1 2 | global $jenka_heading_title; $jenka_heading_title = 'например название магазина'; |
После всех этих манипуляций файл home.php будет выглядеть так:
г)файла contact.php ( catalog/controller/information )
Открываем файл и в строке 31
1 | $this->redirect($this->url->link('information/contact/success')); |
создаем глобальную переменную, для которой мы напишем свое значение.
1 2 | global $jenka_heading_title; $jenka_heading_title = 'Контакты сайта..'; |
После всех этих манипуляций файл contact.php будет выглядеть так:
После того как мы это сделали нам необходимо наш код
merengues.ru->#rubricator»; rel=»v:url» property=»v:title»>
а там где (Анкор ссылки должен быть такой же как и тег h1) мы вставляем вот такой код
Благодаря данной статье вы сможете себе сэкономить деньги. И не будете тратить их на программиста.
Развитие технологий и программ способствует автоматизации, которая добралась и до SEO-правок на сайты OpenCart. Если в статье выше мы все внедряли с помощью кода, то ниже я хочу описать новый метод внедрения правок — с помощью установки и настройки модуля.
- Модуль 301 редиректовМенеджер редиректов позволит создавать 301 редиректы на Opencart просто из админки сайта. Настройка модуля очень простая:
- Модуль для закрытия страниц от индексацииМодуль Noindex, Follow, Noindex-Nofollow позволяет добавлять meta name=»robots» на страницы категорий, продуктов, информации и производителей. Настройка модуля очень простая:
- Модуль для внедрения метатегов на сайтеМодуль обеспечивает автоматическую SEO-оптимизацию метатегов всех категорий и товаров, что имеет большое значение для SEO-продвижения интернет-магазинов. Настройка модуля очень простая и понятная. Преимущество модуля — можно использовать очень много переменных. Пример:
- Модуль внедрение микроразметки на сайтВ модуле используется новейший формат микроразметки application/ld+json и более консервативный microdata. Это позволит «понравиться» всем поисковым системам (способ разметки можно выбрать в админке). Пример:
Важный модуль, который должен быть на сайте — модуль фильтрации товаров. Рекомендую использовать такие модули: Mega Filter PLUS и FilterVier_SEO. Более функциональный — модуль FilterVier_SEO.
Модуль FilterVier_SEO — фильтр товаров на страницах сайта в категориях, брендах, акциях для версий OpenCart 2.x.x и 3.0.x, с полным управлением под SEO. У модуля очень крутые настройки:
Благодаря данным модулям вы сможете максимально быстро и просто оптимизировать свой сайт. Если вы хотите дополнительные модули, то рекомендую почитать эту статью.