Виправляємо помилки в оптимізації на Opencart

Виправляємо помилки в оптимізації на Opencart Opencart одна з найпопулярніших CMS для розробки інтернет-магазинів. У кожного магазину на Opencart, незалежно від версії і збірки, існує певний ряд проблем в оптимізації.

У статті розповімо про те, які є основні SEO-помилки на Opencart і яким чином їх можна виправити.

  1. Прості редіректы (склєювання дзеркал, /index.php, /index.php/, index.php?route=common/home).
  2. Закриття сторінок від індексу.
  3. Впровадження мікророзмітки на сайт.

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

1. Щоб зробити прості види редіректів (с www без www , /index.php, /index.php/, index.php?route=common/home) вам необхідно зайти на ftp. У корені сайту є файл index.php :



Ми відкриваємо файл index.php і напочатку файлу вставляємо код:

// Редірект с 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/.

// Прибираємо /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/

// Прибираємо /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 редирект з цієї сторінки на головну

//  Прибираємо /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



Відкриваємо файл і після рядка


вставляємо такий код:

$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 буде виглядати так:

Изменение кода

Це не єдиний метод закрити сторінки від індексу ось ще один:



3. Внедрение микроразметки. Используя микроразметку, вы можете улучшить представление сниппета вашего сайта в результатах поиска. Более подробно о микроразметке и её видах вы сможете узнать в статті. Ось наприклад:


Улучшенный сниппет

 

Для того щоб впровадити мікророзмітку на сайт нам потрібно буде правити файли контролера (продукту, категорій, контакти, головна).
a)файла product.php ( catalog/controller/product )



Відкриваємо файл і в рядку 237

$this->data['heading_title'] = $product_info['name'];

створюємо глобальну змінну і передаємо їй значення $product_info['name'];

global $jenka_heading_title;
$jenka_heading_title = $product_info['name'];

 

Після редагування файл product.php буде виглядати так:

 



 

б)файла category.php ( catalog/controller/product )

 



 

Відкриваємо файл і в рядку 103

$this->data['heading_title'] = $category_info['name'];

створюємо глобальну змінну і передаємо їй значення $category_info['name'];

global $jenka_heading_title;
$jenka_heading_title = $category_info['name'];

 

Після всіх цих маніпуляцій файл category.php буде виглядати так:

 



 

в)файла home.php ( catalog/controller/common )

 



 

Відкриваємо файл і в рядку 16

 $this->template = 'default/template/common/home.tpl';

створюємо глобальну змінну, для якої ми напишемо своє значення.

global $jenka_heading_title;
$jenka_heading_title = 'приклад назви магазину';

Після всіх цих маніпуляцій файл home.php буде виглядати так:



г)файла contact.php ( catalog/controller/information )



Відкриваємо файл и в строці 31

$this->redirect($this->url->link('information/contact/success'));

створюємо глобальну змінну, для якої ми напишемо своє значення.

global $jenka_heading_title;
$jenka_heading_title = 'Контакти сайту..';

Після всіх цих маніпуляцій файл contact.php буде виглядати так:



Після того як ми це зробили нам необхідно наш код

 

merengues.ru->#rubricator”; rel=”v:url” property=”v:title”>

а там де (анкор посилання повинен бути такий же як і тег h1) ми вставляємо ось такий код

Завдяки даній статті ви зможете собі заощадити гроші. І не будете витрачати їх на програміста.

Розвиток технологій і програм сприяє автоматизації, яка дісталася і до SEO-правок на сайти OpenCart. Якщо в статті вище ми все впроваджували за допомогою коду, то нижче я хочу описати новий метод впровадження правок ¬— за допомогою встановлення та налаштування модуля.

  1. Модуль 301 редиректівМенеджер редиректів дозволить створювати 301 редіректи на Opencart просто з адмінки сайту. Налаштування модуля дуже просте:Модуль 301 редиректов на Opencart
  2. Модуль для закриття сторінок від індексаціїМодуль Noindex, Follow, Noindex-Nofollow дозволяє додавати meta name =”robots” на сторінки категорій, продуктів, інформації і виробників. Налаштування модуля дуже просте:Модуль закрытия страниц от индексации на Opencart
  3. Модуль для впровадження метатегів на сайті Модуль забезпечує автоматичну SEO-оптимізацію метатегів всіх категорій і товарів, що має велике значення для SEO-просування інтернет-магазинів. Налаштування модуля дуже просте і зрозуміле. Перевага модуля — можна використовувати дуже багато змінних. Наприклад:Переменные в модуле для внедрения метатегов на сайте для Opencart пример 2

    Переменные в модуле для внедрения метатегов на сайте для Opencart пример 1

  4. Модуль впровадження мікророзмітки на сайтУ модулі використовується новітній формат мікророзмітки application / ld + json і більш консервативний microdata. Це дозволить «сподобатися» всім пошуковим системам (спосіб розмітки можна вибрати в адмінці). Наприклад:Модуль внедрения микроразметки на сайт на Opencart настройка 1

    Настройка модуля внедрения микроразметки на сайт на Opencart

    Модуль внедрения микроразметки на сайт на Opencart настройка 2

Важливий модуль, який повинен бути на сайті – модуль фільтрації товарів. Рекомендую використовувати такі модулі: Mega Filter PLUS и FilterVier_SEO. Більш функціональний – модуль FilterVier_SEO.
Модуль FilterVier_SEO — фільтр товарів на сторінках сайту в категоріях, брендах, акціях для версій OpenCart 2.x.x і 3.0.x, з повним керуванням під SEO. У модуля дуже круті настройки:
Модуль FilterVier_SEO для фильтрации товаров на страницах сайта на Opencart пример 1

Модуль FilterVier_SEO для фильтрации товаров на страницах сайта на Opencart пример 3

Модуль FilterVier_SEO для фильтрации товаров на страницах сайта на Opencart пример 2

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

Евгений Кравчук
Евгений Кравчук
• SEO Team Lead
Агенція digital-маркетингу Inweb
У 2011 закінчив ОНПУ. У 2012 році став частиною команди відділу SEO в компанії Inweb і багато часу приділяв роботі. Завдяки наполегливості та інтересу до пошукової оптимізації у 2017 став Team lead of SEO IM. Зібрав свою команду, де займаюся і допомагаю кожному її учаснику розкрили свій потенціал і вирости як фахівця. Крім роботи цікавлюся спортом, зокрема кроссфітом, люблю активний відпочинок. З моїх кумедних звичок: в будь-якому місці, країні та місті світу намагаюся випити пива і спробувати кальян.
Більше цікавого