Перейти к содержимому

Реферальная программа Мегаплана


Опыт создания интернет-магазина на CMS Magento

#1 Renovatio

Renovatio
  • Пользователь
  • 188 сообщений
  • Репутация: 4
2

Отправлено 30 Ноябрь 2012 - 18:16

Доброго времени суток всем.
В данной статье я постараюсь рассказать, как самому или с небольшими капиталовложениями (тратиться на дизайн и раскрутку все равно придется) создать интернет-магазин на CMS Magento. Я постараюсь затронуть как можно больше этапов создания магазина. Приготовьтесь, статья будет очень длинной, но толковой.


Вступительное слово


Для того, чтобы взяться за разработку самому, вам необходимо иметь представление о том, как ставятся CMS на удаленный сервер, что такое CSS, дочерние и родительские элементы XML (да, их Magento также использует), какие-то знания по PHP, JavaScript.
Как пример разработки будет выступать магазин фотоаксессуаров PhotoSale in UA.

Основные стадии разработки и работы интернет-магазина


Подготовительный. Выбор приоритетной ниши, поиск поставщиков и оценка конкуренции на рынке. Важно: планирование открытия магазина с оценкой времени разработки, времени на продвижение и SEO-оптимизацию (возможно сделать через Google trends).
Разработка магазина. Выбор движка CMS по предполагаемому функционалу как из бесплатных решений – Magento, Opencart, Presta Shop, Joomla+virtuemart, так и платных – Битрикс, AMIRO.CMS, Simpla. Наращивание недостающего функционала (модули оплаты, доставки) или их покупка. Заказ оригинального дизайна магазина.
Наполнение магазина товарами (привлекательные, детальные фотографии) и оригинальным описанием (заказ у копирайтеров).
Раскрутка и SEO-оптимизация. Рекламная компания в Google Adwords – создание расширенных, привлекательных объявлений, повышение их CTR через расширенные объявления. Это нужно сделать до того времени, пока сайт не выйдет хотя бы в топ-10. Создание баннеров (возможно, установка их через Rotapost). Анализ конверсии через Google Analytics и Яндекс.Метрика, использование оптимизатора конверсий Adwords после сбора статистики в Adwords.
Продвижение вечными ссылками, заказ написания качественных статей, написания отзывов о магазине.
Создание групп в Контакте и Facebook, Twitter. Добавление кнопок социальных закладок на сайт.
Генерация лидов и сбор контактной информации и e-mail адресов покупателей. Рассылка акций и специальных предложений во время пикового сезона продаж на e-mail через Unisender.
Работа магазина. Анализ цен конкурентов, отдел закупок, обработки заказов. Отдел логистики и адресной доставки (для магазина с более 50-100 заказов в день).



Стоимость разработки интернет-магазина


Веб-мастера смогут сделать вам интернет-магазин от $300 до $1000. Хоть на Wordpress, хоть Joomla или Drupal. Если речь идет о Magento, то создание с нуля – это около $1500-2000. Не так давно у меня появилась потребность исправить работу одного модуля – цену огласили 2 кандидата – 100 и 200 долларов. Пока что это закономерность, потому как специалистов под эту систему не так много, а спрос стремительно растет. Тем более, что система заточена под оплату и доставку на западном рынке. На западе за разработку вполне способны платить такие деньги.
Сама система бесплатна в редакции Community. В редакции Enterprice – от $14 420 в год и Enterprice Premium – от $49 990 в год. На начальных этапах нужно будет потратиться только на тему, коих превеликое множество на Magento Connect с ценой около $100, что вполне приемлемо.
Magento появилась не так давно, как логическое развитие продукта OSCommerce. В данный момент – это одна из самых популярных систем для интернет-магазинов. В 2011 году она была куплена компанией eBay Inc. Логичным развитием стало появление Magento Go – облачной платформы для магазинов, этокого SaaS (Software as a service) с минимальной абонплатой в $15 в месяц, чего хватит для того, чтобы собрать небольную витрину магазина. Нечто похожее от отечественных разработчиков – платформа Gollos.
Я советую использовать все же скачиваемый вариант Magento. Подробнее о различиях Go и Community читайте тут.
На Magento работают многие крупные магазины, как то – Алло, Pandawill, zumiez, Мобилочка.


Установка Magento


Я НЕ СМОГУ физически охватить все стороны разработки, как то – создание темы заново, написание модулей и прочие вещи, которые потребуют от вас фундаментальных знаний. Сначала вы должны научиться ставить и настраивать Magento, а потом изучать, как в ней что-то исправить, поскольку доработки будут вестись по ходу продвижения и наполнения вашего магазина. В базовом варианте, после доработок, система работать сможет.
Системные требования для установки Magento есть тут. Сразу предупрежу, что Magento очень плохо живется на локальном сервере, так что вам сразу нужно ставить ее на хостинг, даже если просто хотите ее попробовать. Также, перенести на другой домен ее не просто, поэтому подойдите к этому вопросу серьезно. Не гонитесь за дешевым хостингом, особенно забугорным, по типу $4 в месяц и мы вернем вам деньги. Я на такое в свое время также клюнул и обжегся. Если вы внимательно почитаете TOS (terms of servise), то поймете, что популярный и якобы безлимитный Bluehost разрешает размещать на одном аккаунте только 50 000 файлов (это примерно не более 3 инсталляций Magento). На Fatcow система просто не стала с ошибкой Database server does not support InnoDB storage engine. Я советую воспользоваться услугами Хостинга Украина. Аптайм высокий, отключения обычно не более 1-2 часов, админка богатая, саппорт – отзывчивый. В настройках можно включить AWStats, блок доступа в админку по IP, защита файлов по HotLink.
Не смотря на множество отзывов о том, что Magento очень громоздкая, ест очень много памяти – это все имеет место быть, но при умелой настройке и количестве позиций в магазине около 300-500 работает вполне сносно.
Статистика по сайту на сервере

Изображение
Оранжевая линия отображает количество запросов статической информации, такой как картинки, видео, JavaScript, Flash и.т.д. Синяя - количество запросов для получения динамической информации, которая формируется скриптами PHP, Perl, Python.
Как видите, скорость-лимитирующий фактор загрузки – это файлы, а не БД. Как вариант решения этой проблемы можно установить Lazy Image Loader.

Изображение

Для всех аккаунтов виртуального хостинга установлен лимит 100 процессорных минут в сутки.
В данный момент система стоит на тарифном плане Профи с PHP memory_limit – 192 Мб с настройками в .htaccess php_value memory_limit 256M, php_value max_execution_time 18000. То есть максимум, что может дать сервер.
Стата по AWStats


Изображение
Для установки Magento вам нужно будет скачать последнюю версию с сайта в формате zip с тем, чтобы залить все одним файлом на сервер и на распаковать архив на стороне сервера. Потом распаковать ее на ПК, зайти в папку mаgento и снова запаковать. Если вы этого не сделаете, то адрес вашего магазина будет – www.yourstorename.com.ua/magento/

Перед установкой Magento нужно установить права доступа на файлы. У следующих директорий и файлов должен быть атрибут 777:
  • Файл magento/var/.htaccess
  • Директория magento/app/etc
  • Директория magento/var
Все поддиректории magento/media должны быть доступны для записи.
В целом, установка Magento мало чем отличается от установки других php-приложений. Отмечу только то, что если в имени вашего домена будет дефис, то вам обязательно нужно будет поставить галку Skip Base URL Validation…, иначе установка далее не пойдет.
Magento с установленными демо-данными выглядит вот так

Изображение

Запуск Magento


Если вы только установили Magento и нигде не записали ваш логин и пароль, то его всегда можете посмотреть в файле local.xml, который лежит по адресу http://yourstorename.com.ua/app/etc

Изображение

Также, для нормальной работы нам нужно правильно настроить robots.txt. Можно взять такие настройки
# Crawlers Setup
User-agent: *
Crawl-delay: 10
# Allowable Index
Allow: /*?p=
# Allow: /index.php/blog/
Allow: /catalog/seo_sitemap/category/
Allow:/catalogsearch/result/
# Directories
Disallow: /404/
Disallow: /app/
Disallow: /cgi-bin/
Disallow: /downloader/
Disallow: /includes/
Disallow: /js/
Disallow: /lib/
Disallow: /magento/
# Disallow: /media/ // I would personally allow this folder for google product caching
Disallow: /pkginfo/
Disallow: /report/
Disallow: /skin/
Disallow: /stats/
Disallow: /var/
# Paths (clean URLs)
Disallow: /index.php/
Disallow: /catalog/product_compare/
Disallow: /catalog/category/view/
Disallow: /catalog/product/view/
Disallow: /catalogsearch/
Disallow: /checkout/
Disallow: /control/
Disallow: /contacts/
Disallow: /customer/
Disallow: /customize/
Disallow: /newsletter/
Disallow: /poll/
Disallow: /review/
Disallow: /sendfriend/
Disallow: /tag/
Disallow: /wishlist/
Disallow: /admin.php
# Files
Disallow: /cron.php
Disallow: /cron.sh
Disallow: /error_log
Disallow: /install.php
Disallow: /LICENSE.html
Disallow: /LICENSE.txt
Disallow: /LICENSE_AFL.txt
Disallow: /STATUS.txt
# Paths (no clean URLs)
Disallow: /*.js$
Disallow: /*.css$
Disallow: /*.php$
Disallow: /*?p=*&
Disallow: /*?SID=

Ну и конечно - нужно локализовать магазин на русский язык. Есть много официальных локализаций Magento, но мне посчастливилось откопать одну хорошую неофициальную. Ее нужно поместить по адресу http://yourstorename....ua/app/locale/ предварительно распаковав.

Структура папок Magento и работа с файлами


Magento – очень стройная система. Если знать, где искать, все можно поправить очень быстро.
Важно! Если вы планируете что-либо править, вам нужно отключить и очистить кеш – Система-Управление кешем.
От корня сайта у вас должны располагаться такие важные основные папки:
app – самая главная папка. В ней: файлы установленных расширений (модулей), code – папка с ядром системы, ее не трогаем ни в коем случае. Design – тут у нас лежат темы, каркас тем, потому что css лежат в папке skin с иерархией такой же, как design. Ваши кастомные темы лежат по пути app/design/frontend/default/. Общепринято считать, что если вы хотите изменить вашу тему, то вы обязательно должны сделать это с ее копией, потому что при обновлении темы вы все изменения потеряете. По пути app/design/frontend/base/default/ лежит как бы каркас темы. Даже удалив вашу кастомную тему, у вас все равно останется какой-то каркас.
Так выглядит страница товара с удаленной темой (css оставил)

Изображение

Magento работает на связке xml и php. В папке с темой макеты лежат в директории layout, а шаблоны – template. Хml в layout – это как файл настроек.
catalog.xml отвечает за представление магазина, за каталог. Даже не умея программировать, можно убрать какой-то функционал Magento, просто удалив строки в xml (к примеру, кнопку Добавить к сравнению). Если вы хотите добавить какие-то картинки в макет страницы, то делается это примерно так

<action method="setImgSrc"><src>images/media/col_right_callout.jpg</src></action>

checkout.xml отвечает за страницу оформления заказа. Можно удалить те строки, которые вам не нужны (к примеру, выбор штатов – мы же не в США живем).
page.xml – очень удобно сделано подключение css и библиотек JavaScript. Пути указываются от корня магазина.
Для JS-файла
<action method="addItem"><type>skin_js</type><name>js/file_name.js</name></action>

Для CSS-файла
<action method="addCss"><stylesheet>css/ file_name.css</stylesheet></action>

Я настоятельно советую создать вам свой файл CSS, в котором вы будете определять стили для описания товара в магазине. Очень хорошо было бы создать класс, который дает представление таблице в стиле Zebra-table (есть множество конструкторов для данной задачи в интернете).
Подключение JS мне понадобилось для установки кнопки CallMe (Заказать обратный звонок) на сайте. Правда, изначально, там был конфликт библиотек JS.
Template – тут просто рай для тех, что хочет что-то доработать и подправить дизайн. left_col.phtml и right_col.phtml – левая и правая колонка в трехколоночном дизайне.
В top.phtml можете добавить ссылки в главное меню или боковое в left_menu.phtml.
view.phtml – отвечает за страницу описания товара. Очень удобно, когда нужно одним разом добавить на каждую страницу какой-то текст, скрипт (а можно и через админку), к примеру, через него сделано подключение системы комментирования Disqus и той же кнопки CallMe.
template\page\homepage.phtml – можно настроить главную страницу, но мне удобней было создать через админку CMS-Страницы создать статичную страницу с версткой через таблицы, не div’ами и задать ее как домашнюю.
Директория downloader в корне – отвечает за Magento Connect Manager. Вход в Magento connect manager точно такой же, как и в ваш магазин - логин и пароль должны совпадать. Если у вас не получается войти, то можно попытаться заново залить папку downloader на сервер и установить права на файлы и папки 777. Получить новый пароль к админке можно, указав e-mail, который был указан при установке магазина.
js –тут все библиотеки JS, CSS – в подпапках skin.
var – тут хранится кеш Magento. Обычно чистится папка cache. Session – заходы в админку. Работа системы не нарушится, если эту папку удалить
Файл .htaccess – обязательно устанавливаем редирект на главную страницу магазина.

Options +SymLinksIfOwnerMatch
	RewriteEngine on
			  
				RewriteBase /
		RewriteCond %{HTTPS} !=on
		RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php\ HTTP/ [NC]
		RewriteRule ^.*$ http:// yourstore.com /%1 [R=301,L]

		RewriteCond %{HTTPS} =on
		RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php\ HTTP/ [NC]
		RewriteRule ^.*$ [url="http://yourstore.com/%1"]http://yourstore.com/%1[/url] [R=301,L]

Установка модулей


Можули ставятся просто на ура. Делается централизованно и очень удобно через Magento Connect Manager. Для того, чтобы поставить модуль, вы должны скопировать Extension Key с Magento Connect.
Коротенькое видео лучше объяснит, как это делается.

В Magento по дефолту нет способа установить левое боковое меню категорий. Решается это установкой модуля Codnitive или аналогичного. Платные сейчас растут как грибы после дождя.
Обязательно установка модуля Zopim – живой чат на сайте. Выглядит это так через админку:

Изображение

Вы также можете поставить модули одностраничной покупки, социальных закладок AddThis, модуль оплаты через Webmoney (говорили, что бесплатная версия не достаточно надежна) или модуль Робокассы. К стати, если говорить о масштабируемости и расширяемости, есть модуль интеграции 1С с Magento. В общем, за счет модулей Magento – поистине всесильная система.


Настройка Magento

Я постараюсь затронуть только самые значимые по моему мнению настройки. Остальные могут быть слишком очедидными, чтобы о них говорить.
Настроек очень много. Для настроек зайдите в админке Система-Конфигурация.

Изображение

Ставите в поле Почтовый индекс не обязателен для следующих стран выбираете вашу страну. Это важно, потому что Magento имеет дурной тон спрашивать почтовый индекс – без этого процесс оформления заказа далее не пойдет, а покупатель не поймет, что он делает не правильно и просто уйдет. В свете торговли в Украине все отправки идут через Новую Почту, и индекс просто не нужен. Вообще, как раз для этой цели лучше нанять программиста, который поправит вам оформление заказа, поскольку это как раз то звено, в котором покупатель, не разобравшись, может уйти в другой магазин.
Обязательно указываете название и контактные телефоны – они автоматически будут прописываться в письма, которые будут приходить вашим заказчикам после оформления заказа.
Конфигурация-Интернет. Задаем Базовый URL и CMS главная страница (может быть любая страница).
Конфигурация-Дизайн. Темы меняются прописыванием названий их папок в поля Макет и По умолчанию. Интерес представляет Разнообразные скрипты и Различный HTML. Один из способов убрать текст с выводом о версии Magento в футере – добавить в Различный HTML код
<style>p.bugs {display: none;}
.link-compare{display: none;}
</style>

Конфигурация-Адреса e-mail магазинов. Задаете, на какой адрес будут приходить извещения о новых заказах.
Конфигурация-Каталог. На этой вкладке выбираете, будет ли представление товаров в каталоге в виде списка или сетки и их количество.
Конфигурация-Склад – желательно ставить Уменьшать количество товара в момент оформления заказа на Нет.
Конфигурация-Оформить заказ. Предлагаю такой вариант настроек
Изображение

Настройка оплаты и доставки. Все методы заточены под запад, поэтому это как раз то место, где без помощи программиста вам не обойтись. Интерес еще представляет вкладка Для разработчика, в которой можно поставить Профайлер - Да для дебага и тогда элементы верстки магазина у вас будут показываться с путями к файлам, которые за это отвечают.

Изображение

Наполнение магазина

Самое интересное.

Типы товаров. В Magento можно создать несколько типов товаров:
  • Простой товар (Simple Product)
  • Настраиваемый покупателем товар (Configurable Product)
  • Простой настраиваемый товар (Simple Product with Custom Options)
  • Сборный товар (Bundle Product)
  • Группа простых товаров (Grouped Product)
  • Цифровой товар (Virtual Product)
С простым товаром все понятно - его создание будет рассмотрено ниже.
Сборный товар — это товар из других товаров. Как например, компьютер в сборе. Редко используется.
Настраиваемый покупателем товар - покупатель сам выбирает параметры товара. То есть, есть рубашки, но у них разный размер или цвет. Во многих ли движках вы такое найдете?
Перед созданием нового товара вы должны представлять, какими атрибутами он может обладать. Если они не общие с другими товарами - создавайте наборы атрибутов через Каталог-Атрибуты-Управление наборами атрибутов.

Изображение

Предварительно их нужно создать через Каталог-Атрибуты-Управление атрибутами. Если это вам не нужно - пусть, но рекомендую изменить атрибут weight значение Требуется на Нет. Лично мне постоянно надоело придумывать веса товарам. Но, если вы торгуете чаем, то обязательно нужно оставить и сделать видимым атрибут для покупателя.

Создание категорий. Делается просто через Каталог-Управление категориями. Но помните, что у вас все категории должны быть подкатегориями Default Category и Include in Navigation Menu должно стоять на Да - иначе они просто не будут видны в магазине.

Создание простого товара - через Каталог-Управление товарами кнопка Добавить товар. Набор атрибутов, присвоенный товару, более не может быть изменен. Но атрибуты, входящие в набор атрибутов - могут.
Добавление товара выглядит так

Изображение

Вкладка Общее:
Name - имя товара в магазине
Description и Short Description - полное и неполное описание. Неполное видно в катологе, когда тип отображения - Список.
SKU - индивидульное обозначение товара, у настраиваемых товаров SKU разное.
Status - управляет видимостью в интернет-магазине.
URL key - обязательно в латинице и обязательно с наличием продвигаемого названия товара
Вкладка Prices - Price - обязательный атрибут. Special Price - указывает, что этот товар ранее продавался по Price, а теперь акция по Special Price. Цена Price будет перечеркнута, то есть покупатель увидит, что цена снижена.
Вкладка Meta Information - Meta Title - отвечает за то, как будут видеть заглавие страницы поисковики.
Вкладка Склад. Обязательно ставите Количество более 0 и Наличие на складе - в наличии. Иначе товар или не будет виден или его нельзя будет заказать.
В Категории выбираете где можно будет найти ваш товар.
Остальные параметры настраивать не обязательно.




Продвижение магазина


Продвижение проводилось сначала арендуемыми ссылками через rooke. Потом - вечными, поскольку они и индексируются быстрее и дешевле в перспективе. Для того, чтобы охватить не только целевые запросы вроде Купить товар, Цена Товар, но и информационные - тесты, обзоры, параллельно с магазином ведется блог.
Вся эта работа позволила занять по некоторым, не очень конкурентным запросам первые позиции

Изображение

К стати, ссылочная масса блога растет быстрее и естественней.

Изображение Изображение

Резюме


Общие затраты на создание и продвижение интернет-магазина не превысили $600. Есть желание и смысл в его дальнейшем наполнении и продвижении.

Если вы также задумались о создании интернет-магазина, то для вас главный вопрос - чем его наполнять? На рынке всегда есть ниши. Для популярного товара конкуренция высока, для неходового - низка. Так что вы в любом случае не прогадаете. Но если уже решились, то посмотрите на своих конкурентов - оцените качество их магазинов, обслуживания (даже просто позвонив по телефону магазина и задав любой вопрос) и их цены. Оцените их страницы по ключевым позициям в топе - параметры PR через расширение Yandex TYC + Google PR indicator. Сможете ли вы сделать то же или повторить их путь? В любом случае - мой вам совет - занимайтесь тем, в чем ориентируетесь, в чем разбираетесь. Не стремитесь Срубить бабло. При такой цели вас на долго не хватит. Каждая ваша продажа должна сопровождаться мыслью о том, что вы помогли человеку купить нужный товар, который принес ему радость. При хорошем обслуживании уже через год к вам регулярно будут звонить покупатели, которые будут начинать предложение с "Я у вас покупал раньше" или "Мой знакомый посоветовал мне вас". Люди - социальны. Сопровождение работы интернет-магазина ничуть не легче любой другой работы. Тут есть и радости и "попадание на деньги".

Но если у вас родилась мысль создания магазина, я бы посоветовал вам почитать книгу "Предпринимательский миф" и "Как преуспеть в бизнесе, нарушая все правила". Они помогут вам расставить приоритеты с делать меньше ошибок сначала.

Спасибо, если хватило сил дочитать до конца.


При поддержке: SeoPult - система автоматизированного продвижения сайтов и управления контекстной рекламой. Обсудить на форуме.

Изображение

 

 

  • 1

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Обзор CMS для создания интернет-магазина
  2. Создание интернет-магазина
  3. ImageCMS - CMS для сайта и Интернет Магазина
  4. Интернет магазин с уценкой 50 % - CMS Magento - сумки - Украина
  5. Посоветуйте бесплатную CMS для создания интернет - магазина.


Оформление форума – IPBSkins.ru