Разрабатываем интернет магазин с нуля под OpenCart (ocStore)

Весь процесс создания интернет магазина под SEO

1. Установили OpenCart (ocStore), натянули тему, сделали необходимые минимальные настройки.

2. Ставим набор необходимы модулей. См. статью про модули.

3.

 

SEO оптимизация

Данный работы является первичной СЕО оптимизацией. Мы проводим все шаблонно и масимально эфективно.

Наименования товаров у нас не оптимизованны, часто из каталога поставщика, не обработаны и не соответствую правилам СЕО.

1. Проверяем гипотезу по формированию tittle. «Запрос» + «купить» + категория/товар/»+ «транслитерация/подсветка» + «в интернет магазине»

Пример формирования тайтла: Tefal EL700 — купить кофеварку Тефаль в интернет магазине

Второй пример при отсутствии транслитерация в подсветки: Tefal EL700 — купить кофеварку капельную в интернет магазине

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

1.1 Пытливый ум решил пойти дальше. Собираем НЧ запросы из wordstat. И подставляем данные запросы в тайтле.

Пример: «Запрос» + «wordstat» + «в интернет магазине»

1.2 Усложняем сбор НЧ семантики в случае наличия большого количества товаров данного бренда. Используем Key Collector.

1. Собираем Wordstat, GA, поисковые подсказки yandex.

Убираем слово «купить», чистим лишнее

Пример: «Запрос» + «wordstat» + «в интернет магазине»+ «транскрипция» + «в Москве»

Пример: Tefal EL700 — купить «кофеврки для дома» (Тефаль) в интернет магазине в Москве

2. Добавляем описания для товара.

Для некоторых товаров есть поисание, где-то нет. Конечно все неуникальное.

1. Вычищаем лишние теги, ссылки.

2. Добавляем шаблонный текст. К примеру: Мы доставляем ТОВАР по всей России…Вы можете купить КАТЕГОРИЯ в нашем интернет магазине.

Можно создать матрицу описаний с привязкой к бренду, категории, но это не сейчас.

3. Индексируем товары.

Магазин новый, нам надо иго проиндексировать.

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

3.1. Размещаем ссылки на все категории на главной.

3.2. Создаем группы в соц. сетях.

3.3. Ставим модуль «vkExport — Экспорт товаров ВКонтакте»

4. Технический аудит

4.1. Правим .htaccess

5. Формирование цепочки URL

Располагаем не глубоко

6.

Разбивка запросов

6.1 Для категории

 

7.1

Технические моменты

 

 

Создание миниатюр на основе первого изображения в посте WordPress

Создание миниатюр на основе первого изображения в посте

Решения подобное проблемы в интернете куча, однако многие плагины не рабочие, а решения с правкой кода не верны.

Вот верное решение для вывода ПЕРВОЙ картинки в качестве привью (thumbnail).

В файле  functions.php в конце но до ?> добавляем:

function catch_that_image() {
global $post, $posts;
$first_img = »;
ob_start();
ob_end_clean();
$output = preg_match_all(‘/<img.+src=[\'»]([^\'»]+)[\'»].*>/U’, $post->post_content, $matches);
$first_img = $matches [1] [0];

if(empty($first_img)){ //Defines a default image
$first_img = «/images/default.jpg»;
}
return $first_img;
}

 

В файле с темой правим вывод картинки:

Вызов осуществляется — <?php echo catch_that_image() ?>

А получиться у нас должно примерно так:

<a href=»<?php the_permalink();?>» class=»hover-image»>
<img src=»<?php echo catch_that_image() ?>» alt=»<?php the_title(); ?>»/>
</a>

Случайная сортировка товаров в категории

Случайная сортировка товаров в категории

Заменяем не одну, а две нижние строчки.

\catalog\model\catalog\product.php
Итого получается:
if (isset($data[‘sort’]) && in_array($data[‘sort’], $sort_data)) {
if ($data[‘sort’] == ‘pd.name’ || $data[‘sort’] == ‘p.model’) {
$sql .= » ORDER BY LCASE(» . $data[‘sort’] . «)»;
} elseif ($data[‘sort’] == ‘p.price’) {
$sql .= » ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)»;
} else {
$sql .= » ORDER BY » . $data[‘sort’];
}
} else {
$sql .= » ORDER BY p.sort_order»;
}

Меняем на:
if (isset($data[‘sort’]) && in_array($data[‘sort’], $sort_data)) {
if ($data[‘sort’] == ‘pd.name’ || $data[‘sort’] == ‘p.model’) {
$sql .= » ORDER BY LCASE(» . $data[‘sort’] . «)»;
} elseif ($data[‘sort’] == ‘p.price’) {
$sql .= » ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)»;
} else {
$sql .= » ORDER BY RAND()»;
}
} else {
$sql .= » ORDER BY RAND()»;
}

Отображение keyword из карточки категории в категории Opencart

В шаблоне добавляем — <?php echo $keyword; ?>

В контроллере после:

$this->document->setDescription($category_info[‘meta_description’]);
$this->document->setKeywords($category_info[‘meta_keyword’]);
$this->document->addScript(‘catalog/view/javascript/jquery/jquery.total-storage.min.js’);

Добавляем:
if ($category_info[‘meta_keyword’]) {
$this->data[‘keyword’] = $category_info[‘meta_keyword’];
} else {
$this->data[‘keyword’] = »;
}

СЕО (SEO) пагинация Opencart

1. /catalog/controller/product/category.php
if ($category_info[‘seo_title’]) {
$this->document->setTitle($category_info[‘seo_title’]);
} else {
$this->document->setTitle($category_info[‘name’]);
}

меняем на

if ($category_info[‘seo_title’]) {
if ($page > 1) {
$this->document->setTitle($category_info[‘seo_title’].’- Страница:’ .$page );
}
else {
$this->document->setTitle($category_info[‘seo_title’]);
}
} else {
$this->document->setTitle($category_info[‘name’]);
}

2. /catalog/controller/product/manufacturer.php

if ($manufacturer_info[‘seo_title’]) {
$this->document->setTitle($manufacturer_info[‘seo_title’]);
} else {
$this->document->setTitle($manufacturer_info[‘name’]);

}

меняем на

if ($manufacturer_info[‘seo_title’]) {
if ($page > 1) {
$this->document->setTitle($manufacturer_info[‘seo_title’].’ — Страница: ‘ .$page );
}
else {
$this->document->setTitle($manufacturer_info[‘seo_title’]);
}
} else {
if ($page > 1) {
$this->document->setTitle($manufacturer_info[‘name’.’ — Страница: ‘ .$page]);
} else {
$this->document->setTitle($manufacturer_info[‘name’]);
}
}

Ускорение Opencart

Избавляем магазин на OpenCart от тормозов

Начинаем с самого простого:

1. Уменьшаем размер изображений, без потери качества поможет программа FileOptimizer. Статья на тему: http://habrahabr.ru/post/168251/

2.