SEO правки для OpenCart: покрокова інструкція від фахівця
Вітаю!
У статті я вам розповім про основні SEO редагування для CMS Opencart. Стаття складається з наступних пунктів:
- Прості редіректи (с www -> без www , /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(); } //------------------------------------------------------------------------------ |
Код склеює дзеркала на сайті. В такому випадку основне дзеркало буде http://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 на сторінці http://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 2 3 |
<!--?php foreach ($links as $link) { ?--> <!--?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. Впровадження мікророзмітки. Використовуючи мікророзмітку, ви можете поліпшити уявлення сніппета вашого сайту в результатах пошуку. Більш докладно про мікророзмітки у її видах ви зможете дізнатися в статті. Наприклад:
1 2 3 4 5 6 7 |
<div class="mikroraz"> <div xmlns:v="http://rdf.data-vocabulary.org/#"> <span typeof="v:Breadcrumb"><a href="урл сайту" rel="v:url">назва сайту</a></span> <span typeof="v:Breadcrumb"><a href="урл сайту<?=htmlspecialchars($_SERVER["REQUEST_URI"]);?>#rubricator";rel="v:url" property="v:title">Анкор посилання повинен бути такий же як і тег <h1>на сторінці </a></span> </div> </div> |
Щоб впровадити мікророзмітки на сайт, нам потрібно буде правити файли контролера (продукту, категорій, контакти, головна).
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 буде виглядати так:
Після того як ми це зробили нам необхідно наш код
1 2 3 4 5 6 |
<div class="mikroraz"> <div xmlns:v="http://rdf.data-vocabulary.org/#"> <span typeof="v:Breadcrumb"><a href="http://merengues.ru/" rel="v:url">merengues.ru-></a></span> <span typeof="v:Breadcrumb"><a href="http://merengues.ru/<?=htmlspecialchars($_SERVER['REQUEST_URI']);?>#rubricator"; rel="v:url" property="v:title"><?=$GLOBALS['jenka_heading_title'];?></a></span> </div> </div> |
вставити в файл footer.tpl ( catalog/view/theme/тема сайту/template/common)
а там де (анкор посилання повинен бути такий самий як і тег < h1> ) ми вставляємо ось такий код
Завдяки цій статті ви зможете собі заощадити гроші. І не будете витрачати їх на програміста.
Дуже дякую Кожевников Олександр (TuTb_ko ) і Єгоров Ілля (pistol).
Аліна Глазиріна
головний редактор блогу Inweb