CMS для организации каталога товаров под партнёрскую программу Aliexpress

Техническая информация

— CMS реализована на фреймворке Codeigniter 2.2.6
— Рекомендованная версия PHP >= 5.3.8
— Необходима поддержка ionCube

* Как правило на любом хостинге есть поддерживает ionCube
Приобрести лицензию Скачать Aliexpress AP 2.0 Обновления для текущей версии

Термины

Продукт – это товар, создаваемый непосредственно на стороне CMS.
Референция – страница товара на сайте Aliexpress.

Основные функции

  1. Создание, управление страницами продуктов, категории.
  2. Привязка к странице продукта референций.
  3. Импорт отзывов покупателей с Aliexpress.
    1. На русском языке
    2. На английском языке
    3. На всех языках
    4. На всех языках с переводом на нужный язык
  4. Обновление информации о референциях (автоматическое).
  5. Поиск референций на Aliexpress со страницы продукта.
  6. Импорт продуктов, парсер для автоматического наполнения каталога.
  7. Работа с партнёрской программой Aliexpress напрямую или через CPA ePN.
  8. Создание, управление произвольными страницами.
  9. Пользовательский поиск по каталогу продуктов с возможностью дополнять результаты поиска по каталогу, результатами поиска на Aliexpress
и другие полезные опции...

Номенклатура

Интерфейс для работы с набором продуктов, даёт следующие возможности:

  • Включать не активные позиции (по отдельности, пакетно).
  • Выключать активные позиции (по отдельности, пакетно).
  • Удалять позиции (по отдельности, пакетно).
  • Делать выборку активных и не активных позиций.
  • Делать выборку по категориям.
  • Выполнять поиск позиций на страницу.
  • Менять категорию позиции.
  • Выполнять переход на страницу продукта для редактирования.
  • Выполнять переход на страницу продукта на сайте.
* Для изменения категории продукта - кликните 2 раза по значку мышки.
* Поиск не чувствителен к регистру, но чувствителен к последовательности набора слов.

Добавление продукта

В меню слева выбираем «Добавить позицию», на открывшейся странице заполняем форму:

  • Наименование – название продукта, заголовок для страницы продукта.
  • ЧПУ (алиас) – URL страницы продукта, формируется автоматически, редактируется.
  • Категория продукта – соответственно категория, к которой продукт будет относиться.
  • Доп. категории – категории в которых будет выводится продукт (помимо основной).
  • Краткое описание (Описание для сниппета и meta тега description).
  • Полное описание, по умолчанию выводится только на странице товара.
  • Изображение продукта (обрезается, сжимается согласно заданным настройкам).

Добавление референций

Добавить референции можно как по заранее известной ссылке, так и с помощью встроенного поиска референций (о поиске референций см. ниже).

  • Добавление референции по ссылке

    На странице продукта присутствует форма с заголовком «Добавить референцию», куда необходимо скопировать ссылку, ведущую на страницу товара Aliexpress, и нажать на соответствующую кнопку справа «Добавить».

Поиск референций

На странице продукта, под изображение расположены кнопки, одна из них «Найти товар на Aliexpress», клик по которой вызовет окно опций поиска.

Поиск выполняется по ключевым словам и/или Id категории товаров Aliexpress, можно отсортировать результат по цене, комиссии, сделать выборку по диапазону цен.
Немного о категориях товаров на Aliexpress - на разных языковых версиях, разные Id категорий, и если использовать Id анг. версии, а указать языковую версию Russian, поиск не даст результатов.
Валюта - в которой будет указана цена в результатах, а так же та, что используется при выборке по диапазону цен - если указали USD, указывайте диапазон в USD.

Результаты поиска отображаются внизу страницы, добавление референции из поиска выполняется нажатием на соответствующую кнопку «Добавить», так же если кликнуть на изображение в результатах поиск - будет предложено установить его в качестве изображения продукта.

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

Добавленные референции

Список привязанных референций отображается под формой добавления референций в виде таблицы, голубым цветом окрашена приоритетная позиция, данные которой отображаются на странице продукта со стороны пользователя (рейтинг, цена, отзывы покупателей), красным оттенком обозначена не актуальная референция (товар не участвует в партнёрской программе, удалён, либо закончился).

Приоритетная позиция определяется автоматически согласно настройкам (в текущей версии: наименьшая цена, наибольшая цена, рейтинг).

Объединение продуктов

Проблема автоматического наполнения – для каждого товара Aliexpress, т.е. для каждой референции создаётся отдельная страница продукта, и что вполне естественно многие из них однотипные, т.е. по-хорошему должны быть лишь референциями одного продукта.

Для решения данной проблемы на странице продукта доступны две похожих по принципу опции «Привязать к товару» и «Привязать товары», первая привяжет текущий продукт к другому, а вторая позволяет привязать выбранные продукты к текущему. В результате привязываемый продукт удаляется (страница), а привязанные к нему референции наследует продукт, к которому он был привязан.

Обо окна опций содержат выпадающий список продуктов с поиском по названию (не чувствителен к регистру, чувствителен к последовательности нескольких слов), единственная разница в них – возможность выбрать один и несколько продуктов.

Обо окна опций так же содержат галочку «Создать перенаправление», т.е. при обращении к странице продукта со стороны пользователя будет выполняться корректный 301 редирект на страницу товара, к которому он был привязан, иначе ошибка 404 и последующий редирект на главную страницу.

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

Категории продуктов

Путь на страницу управления категориями можно найти в левом меню, в соответствующем пункте «Категории»

Категории многоуровневые, сложенность не ограничена, выводятся на сайте группами (родитель -> прямые потомки).

Первое, что необходимо – создать категорию верхнего уровня, для этого в верхней части используем кнопку «Новая категория», сохраняем, далее ту же процедуру, но в качестве родителя указываем нужную категорию:

  1. Название – будет использоваться для меню.
  2. Заголовок – будет использоваться для тега title.
  3. Алиас – ЧПУ URL-адрес страницы категории.
  4. Описание – как правило, для мета тега description.
  5. Родительская категория – соответственно родитель данной категории.

В дальнейшем категории можно удалить/полностью отредактировать.

Для вывода категорий в шаблоне используется простой шорт-код, который вернёт список в виде ссылок на страницы категорий прямых потомков указанной категории: {[category id="id-категории"]}

Если есть необходимость обернуть каждую ссылку тегом, например <li>, это можно сделать таким образом: {[category id="id-категории" open="<li>" close="</li>"]}

Категории Aliexpress

На странице категорий вы не могли не заметить оранжевую кнопку «Категории Aliexpress», она вызывает окно, в котором вы можете добавить категории Aliexpress, с которыми вам приходится работать в рамках развёрнутого проекта.

После того как категории добавлены – поля, где необходимо указывать Id категорий приобретут возможность разворачиваться для выбора категории из набора (при этом возможность ручного ввода остаётся).

Настройки

Путь на страницу настроек можно найти в левом меню, в соответствующем пункте «Настройки»

Вкладка «Общее»
  • Содержимое тега Title на главной странице каталога
  • Количество товаров на странице
  • Количество похожих товаров на странице товара
  • Как определять похожие товары
  • Выводить похожие товары в случайном порядке
  • Если пользовательский поиск дал менее указанного количесва результатов - дополнить их поиском на Aliexpress
  • Язык сайта – c какой денежной единицей работает сайт
  • Ключ API Yandex.Translate
  • Валюта сайта – c какой денежной единицей работает сайт
  • Email для уведомлений (откл/вкл в cron) – уведомлений о наличии проблем с референциями, продуктами (их отключение из-за невозможности обновления).
  • Принцип выбора приоритетной позиции.
Вкладка «URL»
  • Строение ссылки на продукт
  • Строение ссылки на категорию
  • Строение ссылки на произвольную страницу
Вкладка «Изображения»
  • Папка загрузки изображений товара.
  • Папка загрузки изображений к комментариям.
  • Библиотека для работы с изображениями - Поддерживается GD2 и ImageMagick.
  • Исключения - возможность указать форматы изображений которые не должны обрабатываться.
  • Пропорции сохраняемого изображения товара.
  • Пропорции сохраняемого изображения к комментарию - размер большой копии, так же ещё будет создана копия 64х64px.
Вкладка «Парсер»
  • Aliexpress API Key - Ключ доступа к API Aliexpress (Есть по умолчанию, подходит, если работаете через CPA ePN).
  • Частота обновлений референций (дней) - Количество дней, через которое инициируется обновление референции.
  • Лимит времени на выполнение рекурсивных функций - позволит выжать максимум из функции-задания даже на хостинге с ограничением на время выполнения php
Вкладка «Комментарии»
  • Кол-во выводимых комментариев на страницу
  • Комментарии на странице - только от текущей референции, либо от всех, даже не активных (консолидация).
  • Частота обновления комментариев (дней) - Помимо того, что комментарии импортируются сразу, есть возможность периодической проверки появления новых, как правило, 10 вполне достаточно.
  • Глубина первичного сбора комментариев (страниц) - Позволяет ограничить кол-во проходимых страниц в поисках комментариев.
  • Язык комментариев - которые импортируются, Английский или Русский, фильтрация на основе текста, без учёта страны пользователя, либо на всех языках (с возможностью последующего перевода).
  • Направление перевода - код языка на который необходимо выполнять перевод
Вкладка «ePN»
  • Sub для отслеживания переходов с сайта.
  • DeepLink хэш.
  • Домен для редиректа.
  • * Параметры нужны если работаете с CPA ePN, найдёте в аккаунте.
Вкладка «Aliexpress Affiliate»
  • Работать с партнёрской программой Aliexpress напрямую - Да/Нет.
  • Tracking ID - если будите работать напрямую, найдёте в аккаунте.

Произвольные страницы

Путь на страницу управления страницами находится в левом меню, в соответствующем пункте «Страницы»

CMS позволяет создавать обычные произвольные страницы которые по умолчанию нигде не выводятся, только если в sitemap.xml в случаи публикации (для использования в презентации - публиковать не нужно), в остальном ссылки на них необходимо где-то размещать самостоятельно.
Поддерживаемые параметры страницы:

  • Заголовок.
  • Расположение – Категория, на странице которой будет использоваться презентация.
  • Алиас для URL.
  • Описание для meta description.
  • Содержимое, поддерживающее HTML разметку.

Презентации

С помощью презентаций можно дополнить, либо заменить содержимое страницы каталога заданной категории (в том числе всех и главной страницы каталога).

  • Имя – исключительно для ориентации в списке презентаций.
  • Расположение – Категория, на странице которой будет использоваться презентация.
  • Страница содержимого – Ранее созданная произвольная страница (используется только область содержимого).
  • Ниже три варианта использования презентации.
  • Приоритет, для сортировки в случаи использования нескольких презентаций на одной странице.

Cron

Путь на страницу управления планировщиком можно найти в левом меню, в соответствующем пункте «Cron»

При установке CMS достаточно добавить в Cron сервера одну задачу (Cron CMS) на постоянное выполнение (каждую минуту), при её выполнении Cron CMS сам (в соответствии с расписанием) определит какую функцию-задание необходимо выполнять.

Через PHP: /путь_до/index.php cron index
Через Wget: http://адрес-сайта/cron

TinyJPG / PNG

Опция для работы с сервисом оптимизации изображений jpg и png (сжатие без потерь) https://tinyjpg.com, для активации опции необходимо указать ключ доступа к API, получить фришный можно на странице https://tinypng.com/developers - указав имя и мыло.

Фришный ключ позволяет выполнять 500 запросов в месяц, если вам этого недостаточно – можно увеличить лимит за отдельную плату, или получить ещё один и более фришных ключей, в CMS предусмотрено использование неограниченного кол-ва ключей.

* Оптимизируются только изображения продуктов

Импорт

Импорт из подготовленного файла, можно задать параметры:

  • url - URL страницы товара на Aliexpress
  • title - Заголовок продукта
  • snippet - Краткое описание
  • comment - Полное описание
  • image - URL изображения

При этом обязательным является только URL, если остальные данные не указаны – они будут получены со страницы товара на Aliexpress (кроме описания).

Формат строк в файле: url;title;snippet;comment;image

Автонаполнение

Управление автоматизированным наполнение каталога продуктами можно найти в левом меню, пункт «Scavenger»

На странице находится форма создания задания и очередь заданий. Создание задания:

  • Языковая версия сайта Aliexpress - Чтобы получать названия на нужном языке.
  • Валюта цены - В какой валюте будет получена цена.
  • ID категории на Aliexpress - Важно, что в разных языковых версиях ID отличаются!
  • Поиск по ключевому слову - (По необходимости, или если не указана категория).
  • Список сток слов - Позволяет отсеять товары, в названии которых встречаются стоп-слова.
  • Кол-во результатов на странице - Ограничение кол-ва результатов.
  • C какой страницы начать - По умолчанию 1, но если вы создаёте задание продолжение можно указать страницу, на которой остановились.
  • На какой странице остановиться - Позволит ограничить количество страниц.
  • Минимальный рейтинг товара в % - Позволит отсеять товары с меньшим рейтингом
  • Размещать в категории - Можно указать конкретную категорию.
  • Публиковать после завершения - Если вы не планируете подготавливать продукты, объединять дубли и т.д., то можно сразу активировать полученные продукты.

Отчёт и SysLog

Отчёт содержит список отключённых товаров и референции.
Референции отключаются если их невозможно обновить (товар на Aliexpress не доступен, пропал из API)
Товары отключаются, если нет активных референций, страница товара остаётся доступной со стороны пользователя с пометкой «Нет в наличии»

SysLog содержит ошибки при работе с cURL.

Sitemap.xml

Карта сайта генерируется автоматически и содержит в себе ссылки на категории и активные продукты, частота обновления sitemap.xml определяется в планировщике заданий (Cron), функция-задание sitemap

Оформление

За оформление пользовательской части отвечают следующие файлы в папке ./application/views

  1. main.php — Шаблон действующий для всех страниц.
  2. product.php — Шаблон страницы продукта.
  3. products.php — Шаблон страниц со списком продуктов.
  4. comments.php — Шаблон комментариев.
  5. page.php — Шаблон произвольных страниц.
  6. alt_product.php — Шаблон похожих продуктов.
  7. products-search.php — Шаблон страницы поиска со списком продуктов.

main.php — Основное тело документа, отвечает за вывод тега title, мета тега description, canonical, категорий и самого контента. Описание переменных ниже.

  • $title - Содержимое для тега title
  • $snippet - Содержимое для мета тега description
  • $canonical - Содержимое для тега canonical
  • $content - Содержимое страницы (шаблон продукта, продуктов).
  • {[category]} - Список ссылок на категории, см. блок «Категории продуктов»

product.php — Шаблон, отвечающий за оформление страницы продукта, выводит такую информацию о продукте как наименование, описание, изображение, цена, рейтинг, партнёрская ссылка, комментарии.

  • $name - Наименование
  • $snippet - Краткое описание (сниппет), как правило для мета тега description
  • $comment - Полное описание.
  • $price - Цена.
  • $rating - Рейтинг.
  • $status - Статус (0 - активный, 1 - отключён).
  • $image - Изображение.
  • $comments - Комментарии.
  • $alt_products - Похожие продукты.
  • $breadcrumb - Хлебные крошки (навигационная цепочка).
  • $item_id - Id референции, необходим для формировании внутренней ссылки вида /catalog/follow/$item_id, которая в свою очередь перенаправит пользователя по партнёрской ссылке на Aliexpress.

products.php — Шаблон, отвечающий за оформление страницы содержащей списки продуктов, т.е. для категорий и по умолчанию для главной странице.

  • $products - Объект содержащий продукты, в шаблоне содержится в конструкции foreach($products as $product): внутри неё и выполняется вывод данных.
  • $product->image - Изображение продукта
  • $product->url - Внутренняя ссылка на страницу продукта
  • $product->name - Наименование
  • $product->snippet - Краткое описание snippet
  • $product->price - Цена

comments.php — Шаблон, отвечающий за оформление комментариев выводимых на странице продукта, выводит такие данные комментария как текст комментария, автора и дату добавления на Aliexpress.

  • $items - Объект содержащий комментарии, в шаблоне содержится в конструкции foreach($items as $item): внутри неё и выполняется вывод данных.
  • $item->text - Текст комментария
  • $item->author - Автор комментария
  • $item->date - Дата добавления на Aliexpress
  • $item->images - Изображения к комментарию (если есть, возвращает html код для изображений:
    <a href="путь-к-оригинару" class="photo" rel="nofollow" title="..."><img src="путь-к-миниатюре-64x64-px" class="img-circle" alt="..."></a>

Установка

  1. Распакуйте скачанный архив
  2. Откройте файл ./application/config/config.php
    Укажите в переменной адрес своего сайта
    $config['base_url'] = 'http://ваш-домен/';
  3. Откройте файл ./application/config/database.php
    Укажите в переменных данные для доступа к базе данных
    $db['default']['hostname'] = 'localhost';
    $db['default']['username'] = 'имя-пользователя';
    $db['default']['password'] = 'пароль';
    $db['default']['database'] = 'имя-базы-данных';
  4. Загрузите файлы в корневой каталог будущего сайта
  5. Загрузите файл-ключ в корневой каталог будущего сайта
  6. Перейдите по url http://ваш-домен/install - если доступ к базе данных присутствует, процесс выполнится.
  7. Если иная проблема - залейте файл cms.sql в созданную базу самостоятельно, либо свяжитесь со мной
* Если, что - бесплатно установлю CMS, отправьте данные доступа к базе данных и ftp на tollun@ya.ru