Это longread будет друзья и довольно откровенный, но я чего-то не видел подобных статей. Тут масса опытных ребят в части Интернет-магазинов (разработки и продвижения), но что то никто не написал как сделать классный магазин за условно 250$ (а можно и за 70$) который будет отлично выглядеть и отлично работать (продавать!). И все это можно сделать самому без программиста. Ну вообще неплохо иметь программиста рядышком, который будет нежно дышать вам в затылок и поправлять ваши корявые ручки, но т.к. я сам не будучи программистом сделал инет-магазин, то знаю о чем говорю. Еще раз — программист ни разу мне не помог для этого магазина.
Итак, погнали. Магазин вот этот — мы ловко продаем базы для спама. Ага. Для спама. Я напишу отдельную статью, как мы делаем эти базы… мы сами то не спамим, а продаем базы (к слову, если кто то думает, что достаточно просто спарсить 2ГИС и дело в шляпе — разочарую — все на порядок сложнее и у нас работает 3 программиста на этом направлении fulltime между прочим). Статья в работе и будет веселой :). Там еще поделимся итогами спама от наших клиентов — работает, кстати, работает всеми нелюбимый спам.
Что заставило написать эту статью? Сегодня на VC вышла публикация, где ребята сравнивали Битрикс и некие другие среды разработки. Пацанам в комментариях написали, мол чего забыли WordPress? Ответ интересный — ну так там дыр полно как в швейцарском сыре. И привели ссылку на отчет…(там в статье найдите сами). И да, я видел этот отчет от производителя отличного плагина для защиты Wordpress :) они классно напугали, чтобы покупали их плагин. Но если чуть-чуть (слегка, не вспотев) поработать (последняя версия, обновления + бесплатный плагин для защиты типа Wordfence) то вероятность взлома стремиться к минимуму. Дело в том, что 80% сайтов на Wordpress сделаны «на коленках» — их миллионы и конечно же % взлома большой по сравнению с magenta которую внедряют уже более опытные спецы.
Наша задача была сделать Интернет-магазин по продаже баз. Кстати, это чуть сложнее чем продажа физических товаров (хотя там могут быть определенные нюансы из-а калькулятора доставки, здесь я признаюсь не ковырялся). Почему? У нас базы компаний хранятся на Amazon S3 (почему — напишу позже) и пришлось повозится с связкой. Если у вас стоимость доставки одинаковая для всех регионов и товаров (ну или логика очень простая) — то вам будет даже проще запустить все из коробки.
Ну давайте по шагам, так будет проще всем осознать как сделать неплохой Инет-магазин за 200$ (а я приведу вам пример как сделать все тоже самое и за 50$ без потери качества).
Хостинг
Хостинг — у нас hostland.ru. Ссылка не реферальная, я там никого не знаю. Да просто нормальные парни, делают нормальное дело. Ау… если вы там меня слышите — закиньте нам может на баланс пару вкусняшек что ли — реклама то нативная :) Хостинг Wordpress стоит около 300 рублей плюс минут 50 рублей, даже перепроверять не хочу). Личный кабинет простой, все понятно, с первого раза за пару часов сделаете типовой WordPress.
Доменное имя
А забыл друзья мои — доменное имя! :) Это же шаг №1 — ну мы покупали на nic.ru (я вообще рекомендую этих парней), хотя сейчас наш хостер дает нам бесплатные доменные бонусы и мы новые домены у них берем. Можно я не буду считать стоимость покупки домена в зоне RU? Наверное в метро в Москве проехать туда-сюда стоит столько же, только там за год оплата :) Шаг 2 — нужно направить доменное имя на ваш созданный сайт Wordpress у хостера. Ну для этих целей мы используем Yandex.Connect. Честно скажу, нужно повозится, но если голова на плечах есть, то вы сможете сделать связку следующую:
nic.ru -> Яндекс.Коннект -> редактор DNS и там прописать IP адреса -> хостера.
Но а если лень это делать, то — хостер дает бесплатные домены (иногда, я пока не понял всею логику бонусов) в зоне .RU и сам все прописывает, или поддержка поможет.
Ну, что у нас там по балансу? 300 рублей за хостинг (дальше буду в долларах, так проще — около 5$) + 0 рублей (не хочу считать) за регистрацию доменного имени. Ну пока бизнес тянет эти затраты :) скрипим, но тянем.
Тема
Нам нужна тема. Я выбрал тему SAVOY — 50$ стоит. Почему? Ну она такая милая :) и простая, без ущерба функциональности. Есть документация на английском (тоже все понятно). Причем с темой идет сразу woocommerce с демо-контентом. Что такое woocommerce? А это плагин, который позволяет вам сделать Интернет-магазин с нуля. Он бесплатный.
Так, что там у нас — 55$ потратили.
К слову, в покупку темы входит 6 месяцев поддержки. Поверьте — помогают ответами на дурацкие вопросы даже на Pidgin English. Тема ставиться легко и быстро, ставит нужные плагины сама.
После установки можете уже начинать в woocommerce править товары свои. Удалять демо товары, добавлять свои. Тут нечего писать вообще, руководств как это сделать миллион, все просто и понятно.
Спам :) после покупки
Таки дальше? Что говорят умные дяди и тети с высоких трибун конференций по электронной коммерции? Они советуют после покупки «замучать» тебя письмами с напоминаниями. ОК, мы же следуем рекомендациям взрослых? И как это сделать? А у нас есть отличный плагин для этих целей стоит 99$. Если вам вдруг это дорого (я и сам так подумывал, да ладно, один раз живем), то прошу пожаловать сюда, тут он стоит целых 5$! Вы прежде чем писать гневные комментарии, что я пропагандирую ворованный софт, прочитайте ниже суть.
Надо переводить текст на картинке? Если коротко — плагины для WordPress выпускаются под лицензией GPL, что означает что после покупки плагина любой может распространять его как угодно. Что делают эти красавцы? Они покупают плагин за 99$ и потом продают за 5$ всем желающим. И это в правовом поле заметьте. И я там был, пиво-мед пил — скажу так, работает. Минус? Нет поддержки, поэтому если хотите сделать ваш магазин на перспективу — лучше купить у разработчиков официально. А если проверяете гипотезу надо-ненадо-получится-неполучится — можно и здесь. Но, еще раз — это не пропаганда воровства, это данность, которую можно принимать и использовать или нет. Решать вам, но я за официальные источники.
У меня ушло часа 2 чтобы разобраться с плагином follow up и настроить “догоняющие” письма. Ну конечно, там функционал просто огромный, триггеров может быть масса. Выглядит это как на картинках ниже. Видно, что есть два «догоняющих» письма и уже есть запланированные отправки тем, кто скачивал базы. Все понятно и работает четко.
Ну что, сколько мы там уже потратили? Ну давайте считать что 55 + 99 = 150$. Кстати, там многие плагины предлагаю подписку на год — не советую, купили установили и все. Пройдет год, можете купить обновления ну или нет.
Так, что там у нас дальше? А! как письма то слать триггерные? Яндекс.Почта вам в помощь. Она бесплатная, к ней можно по SMTP подключиться и все. Я для этих целей использую плагин (он бесплатный тоже )) WP Mail SMTP. Разберетесь, там все просто.
Мы правда сейчас перешли от Яндекс.Почты на SendGrid, т.к. стали слать по 1000 писем триггерных в день и Яндекс.Почта посчитал что мы спамеры (если что — Яндекс, мы не спамеры, мы делаем базы для спама, но сами ни-ни, это честные триггерные письма). SendGrid’у все равно на далеких Питерских парней, и он за 15$ в месяц дает нам 40 000 писем :) и что удивительно, указанный выше плагин для отправки писем из WordPress просто превосходно с ним дружит (1 касание и работает).
Ну да ладно, почту настроили, 150$ потратили. Поехали дальше?
Оплаты
Нам надо принимать оплаты за базы компаний по кредитным картам? Надо бы. Есть плагин Яндекс.Касса для Woocommerce. Бесплатный. Работает. Что же все бесплатно-то? Чудеса, но это правда.
Партнерка
Мы пошли дальше и сделали реферальную партнерку, т.к. базы дорогие, можно платить много. Я не уверен, что все владельцы Инет-магазинов делают свою партнерскую программу (чаще подключаются к таким сервисам, как admitad), но если вдруг — загляните сюда affiliatewp.com/pricing 99$ и могучий (я не шучу, там можно сделать ВСЕ) инструмент у вас в кармане. Баланс 240$ (гуляем…).
Аналитика
Какой владелец магазина без аналитики? Никакой. Как слепой котенок — это не я сказал, это дяди и тети с трибун. Давайте подключим Google Analitycs + Яндекс.Метрика. Плагинов полно, бесплатные. Даже ничего писать больше не хочу — все работает ИЗ коробки. Но! У нас ведь Интернет-магазин, нам надо отслеживать конверсии, воронки,
SEO
Так, баланс не изменился, погнали дальше. Что говорят SEO — магистры? Картинки надо сжимать, дабы было хорошо, если сжимать не будете — будет хреново. Я вот кстати верю, поэтому ставим БЕСПЛАТНЫЙ (сука) плагин SMUSH. Сами найдете, вам хватит, поверьте.
Чтобы сайт хорошо ранжировался в поиске, он должен работать быстро (это не я сказал). Ну вообще я не знаю как еще можно ускорить мой сайт на хостинге за 300 рублей в месяц (по мне он и так очень быстрый, хотя стоп — это же wordpress, я что то не то говорю?) но как в том анекдоте — (кеширование) нам не помешает. Поэтому ставим плагин для кеширования.
WP Fastest Cache (пара кликов и он находится и ставится). Я не удивлю наверное уже никого, если скажу что он тоже бесплатный. Там много каких-то мутный настроек, я вообще ничего не настраивал, включил его (активировал и включил кеширование) и все. Спецы могут схватиться за умные головы — но мне и так ОК. Вот так:
В нем настройки были по умолчанию какие-то, я их даже не трогал. Дальше я вычитал в одной статье (она была большая, а это значит полезная и умная) что стоит поставить плагин Autoptimize для еще лучшей работы сайта. Ну… сказано сделано, поставил, потыкал галочки и все. Работает. Там, кстати, есть прикольная опция — lazy load для картинок. В чем суть — он картинки подгружает чуть позже после загрузки текста, человеку так приятнее (сам проверил, факт) — то есть уже читаешь, а картинка плавно так появилась. Причем он что то там умеет сжимать — но это уже высшая математика, ну ее нафиг — у нас цель базы для спама продавать, а не вникать глубоко в недра PHP.
Что это дает в итоге? Ну вот смотрите, я без программиста добился в анализаторе Google неплохого результата. Есть мнение что это влияет на ранжирование в поиске, я верю поэтому радуюсь. На десктопе результат близок к 100, а вот мобайл (78) подкачал, подкачал — но тут нужны уже ловкие и слегка волосатые руки программиста, т.к. я не знаю как улучшить. Картинка для доказательства:
Ну что же, баланс затрат у нас не поменялся, а сайт уже работает и выглядит неплохо. Я напомню, это все из коробки, включая дизайн и т.п. Да, у нас в штате компании есть дизайнеры, они помогли и сделали красивые картинки для наших товаров (баз компаний) и баннера. Тут факт, спорить нельзя. Но если у вас физические товары — вы и так найдете картинки.
Доставка
Мы продаем не физические товары, а файлы Excel (их дяди загружают в CRM и спамят, если кто забыл) и поэтому нам эти файлы надо где-то хранить. Кстати, если я не сказал — woocommerce отлично продает как физические товары, так и виртуальные (скачиваемые). Мы решили, что базы будем хранить в облаке, там их обновлять и оттуда люди будут скачивать.
Сказано — не сразу сделано. Нашли плагин который интегрируется с woocommerce и позволяет людям, кто купил базу, получать ее с S3. Целых 29$ стоит, но мы скрипя осилили. И это отлично работает. Вот так хранятся базы (см. картинку ниже). Цена хранения в год близка к чашке кофе тоже, не буду считать даже. Там есть нюансы, которые я узнал побившись головой об стену настроек, но если у вас голова на плечах — справитесь (впрочем, вряд ли тут много тех, кто продает скачиваемые товары — вам это даже не надо будет делать).
Что у нас по балансу? 240 + 29 = 269$.
Резервное копирование
Чуть не забыл резервное копирование сайта – есть плагины, бесплатные, скопирую куда хочешь в облака. Впрочем чего это я – хостер делает резервные копии сам в рамках тарифа. Но если вдруг кому-то нужно — поищите backup плагины для Wordpress. Я настроил в облако DropBox и работает :). И да, это все тоже бесплатно (включая DropBox).
SSL
Для сайта нужен SSL? Ой да ладно – сертификат Let’s encrypt плюс бесплатный плагин Really Simple SSL = все работает. Кстати, разработчики плагина Really Simple SSL не соврали — там нет настроек :). Что касается сертификата, то хостер дает его нам автоматически и продлевает сам каждые 90 дней. Все работает, копейки не заплатили.
Ой ее, забыл я важный плагин Cyr-To-Lat — он автоматом преобразовывает кириллицу в латиницу, включая названия файлов изображений и т.п. Он бесплатный, поклон автору. Не забудьте его поставить.
Яндекс.Маркет
Что то просто у нас все так идет, не находите? Может быть надо помучаться с фидами для Google merchant + Yandex Market? Ну вы ведь хотите как-то рекламировать свои товары на эти площадках? Если да – бесплатный (вот гады, слов нет) плагин Product feed Pro все делает на УРА. Он поддерживает какое-то немыслимое количество разных типов фидов (feeds), включая Яндекс :). Работает из коробки, проверено. Вот как у нас, фид для Яндекса, обновляется ежедневно:
Кто-то может спросить — а зачем вам фид на Яндекс.Маркет, вы ведь продаете виртуальный продукт. Отвечаю картинкой:
Я подумал, не помешает :) и сделал. Вообще забегая вперед отмечу, что базы компаний — это абсолютно легальный продукт. Мы просто анализируем сайты (в РФ или около 9 млн.), чтобы классифицировать компании (Инет-магазины, Мед.центры и т.п.) и собрать контактные данные, хотя звучит “базы для спама” очень агрессивно что ли. Поэтому мы не имеем проблем с Яндексом и Google вообще, т.к. это в правовом поле. Я вот точно категорически против сбора контактов физиков с АВИТО (сотовые телефоны) и т.п. меня самого замучили телефонные спамеры.
Ну так что у нас с балансом? А он не поменялся, 269$ а магазин то уже работает и очень неплох. Что еще? Все ругают безопасность WordPress (точнее ее отсутствие) — БЕСПЛАТНЫЙ плагин WordFence творит чудеса. Вам чего там не хватит? Я уверен, что хватит, настроек масса в бесплатной версии, можно очень сильно затянуть гайки.
Скорость работы
Часто говорят, что при большой количестве товаров (страниц) WordPress начинает работать медленно. Это не так. Проверено моим опытом. Вообще отвлекусь, в моей компании около 10 программистов .NET, мы делаем и крупные порталы и приложения, но мы сами очень активно используем WordPress для проектов, где можно им обойтись, хотя никто не знает PHP. Причина? Из коробки можно сделать очень многое, да, это будет не так «кошерно», как если бы поработал дизайнер, специалист по UI, верстальщик и т.п. — но вы сами то верите, что можно сделать Интернет- магазин который уже работает (!) и приносит прибыль за 269$ “с нуля” без готовых компонентов? Я не верю, т.к. знаю сколько стоит разработка. Если уж WordPress “из коробки” вам станет мал, то поверьте, есть большое количество спецов, которые докрутят вам плагины + тему под ваши нужды.
Ну я отвлекся, в заключение — про производительность. Мы тут ради бизнес- эксперимента делаем сайт один сайт, там подразумевается около 3 млн. записей (страниц). Портал такой смешной. И мы попробовали сделать его на WordPress (точнее еще делаем, вы статью читаете — а мы еще делаем, заливаем контент). Я попросил знакомого DevOps настроить виртуальную машину под управлением Ubuntu чтобы WordPress работал при таком количестве записей быстро. Это стоило 4 000 рублей — работа спеца (там он много мне слов сказал типа redis, memcache, nginx и т.п.) и 300 рублей в месяц за VPS (я взял самую простую — вот здесь). Так вот, мы пока залили в WordPress порядка 15 000 записей, он даже не пукнул — летает (тем кто не верит — siteprofile.ru — туда еще данные заливаются, пока пишу). Я уверен, что 1 млн. он переварит. Собственно если в вашем Интернет- магазине будет условно 500 000 товаров — то поверьте, WordPress будет работать даже на самом дешевом хостинге, ну уж если начнет тупить, вместо 300 рублей в месяц, заплатите 600 рублей в месяц :) и вам подкинут ресурсов.
Как импортировать данные в Wordpress? Есть отличный плагин WP all Import который просто творит чудеса — проверено опытом. Он не дешевый, но я ведь вам подсказал, где найти на 95% дешевле, а? :) (еще раз — это не совсем правильно использовать плагины за 5$, но ресурс очень популярный, оттуда берут если не все, то многие — мы сами разработчики, и я понимаю как это когда твой продукт вместо 100$ продают за 5$ и ничего не поделать). Данный плагин потребуется, если решите залить массово товары, он, к слову, и картинки отлично импортирует.
На этом все. Вывод? Потратили 269$ (а можно и меньше, если покупать плагины по 5$) и запустили Интернет- магазин. Он, кстати, выглядит очень даже прилично и что более важно — стабильно работает. И еще — он красивый, даже сам удивляюсь что «из коробки» получается все очень даже аккуратно.
Комментарии (22)
Applezone
13.09.2019 15:47И да, я понимаю, что не критично, но все же:
240 + 29 = 269$makasin4ik Автор
13.09.2019 16:12я прошу прощения. поправлю, дело в том, что я писал и работал. Хотел поделиться опытом, а т.к. дел за гланды, допускал досадные ошибки, каюсь не вычитывал. Но надеюсь это не критично, в рамках общего количества минусов :)
1x1
13.09.2019 16:32последняя версия, обновления
Это приходится объяснять каждому первому, и хорошо если четверть поймёт и не забудет/не забьёт.
radist2s
14.09.2019 15:34К слову про покупку плагинов для WP и лицензию. Есть такой плагин, Advanced Custom Fields — это золотой стандарт для WP, стоит практически на каждом WP-сайте. Вы можете как и купить на него лицензию за расширенный функционал, либо скачать прямо с гитхаба, куда выкладывает полную версия сам автор плагина(правда, иногда, с запозданием на одну-две минорные версии).
У меня куплена максимальная лицензия ещё много лет назад, но устанавливаю все плагины композером, и тот самый ACF я как раз тяну с гитхаба.
autobusiness
15.09.2019 00:45Мне кажется что слишком много слов в статье для того чтобы понять что можно купить шаблон и развернуть сайт на вп. Кроме как псевдо нативной рекламы каких то спам баз, я для себя ничего не увидел в этой статье. Может быть это кому то полезно, но не очень в этом уверен)
arku
И хотя WP прекрасная вещь для быстрого старта некоего прототипа, когда вообще не понятно, взлетит или не взлетит, говорить о том что он прекрасно переварит 500к товаров скорее ошибочно. Все дело в структуре базы, если вы хотите показать 100 полноценных товаров (с заполненными характеристиками), это будет примерно 30 SQL запросов на каждый товар. Да, они будут простыми, LIMIT 1, но 30 х 100 это весьма много, для одной страницы. Да, можно кешировать и продолжать верить в чудо, но чуда с такой структурой БД не будет.
Еще раз напишу. Прекрасно для старта, но если проект взлетает, от WP надо избавляться как можно быстрее.
Alexufo
Базы для спама и интернет магазины на wp это форма мышления.
makasin4ik Автор
это бизнес, а не форма. У нас штат компании всего около 17 человек, большая часть программистов, но они слишком дорогие чтобы делать сайты простые, которые можно сделать за 260$
Alexufo
бизнес не оправдание деятельности. Он может быть созидательный или деструктивный. Из за последнего ваш пост в минусе
nckma
Мне кажется, что даже 100-200 товаров для очень многих магазинов — это достаточно и больше не нужно. А 500к товаров — это избранные единицы магазинов.
Помню на хабре статья была про человека, который шаманские программистские бубны продавал. Ну сколько у него там моделей бубнов было? И ничего взлетел проект еще как!
arku
На самом деле для проблем будет достаточно 200 разношерстных товаров, с разными аттрибутами, категориями, вариантами (цвета\размеры), наличие и прочие стандартные вещи. Каждая характеристика, помимо post_title, post_content — это два SQL запроса в БД (получить название поля и содержимое поле). Если мы говорим о вложенных параметрах (например динамичный список), то там вообще можно сразу переписывать начинать :)
makasin4ik Автор
Да, 500к товаров это очень много. Но ведь многие продают с чужих складов — там легко импортировать такое количество.
vovasik
Ну в реальности, все запросы агрегируются, а уже после происходит запрос, и если даже нужно 10 раз подучить post_title и 50 post_conten то это один запрос, а не как вы там написали выше. Нет я конечно понимаю что у вас наверняка найдётся аргумент типо «нет» но в реальности работает так как я выше описал, сам проверял. Да и к тому же вы не поверите как много и не как быстро современный MySQL может выполнять запросы, даже неоптимальные.
arku
Все дополнительные параметры хранятся в wp_postmeta, в виде ключ: значение. У каждого товара есть некое свойство, например price.
каждое свойство на самом деле это две записи в таблице wp_postmeta:
1. post_id, 'price', 'field123'
2. post_id, 'field123', 500
Из за того, что для выполнения запроса №2, вам требуется значения из запроса №1, вы не можете полноценно аггрегировать. Почти всегда эти свойства еще и вызывают из шаблона, что мешает заранее все аггрегировать :)
Но полностью согласен с пунктом про post_title/post_content, эта информация хранится в таблице wp_posts, с ней можно адекватно работать. Увы, это всего два поля, в магазинах используют сотни аттрибутов, а вот они как раз в мета полях. Со скоростью работы mysql тоже соглашусь. Тем не менее, моя рекомендация, не заигрываться с интернет магазинами на WP. Как только появилась нагрузка, прокачать VPS и думать об альтернативах.
tempick
Может, меня заминусуют, но я реально не понимаю, зачем использовать вп для магазинов, если для них уже есть готовые движки, которые и задумывались для того, чтобы на них создавали интернет-магазины. Например, CS-cart — мне очень нравится этот движок, но он платный. Но всё же, при наличии финансов его можно брать. Из бесплатных — Opencart («классика» в своём роде). Ну или вообще битрикс (тоже платный, тоже популярный, но я с ним не работал, и ничего конкретно про него сказать не могу). Почему именно Вордпресс — я не знаю. Кто работает с движками — расскажите мне пожалуйста, в чём его преимущества как движка для интернет-магазина.
vovasik
Потому что, работает на самом дешевом хостинге, при этом это не платформа, а твой личный сайтик и ко всему установить wocommerce не сложнее чем скажем браузер в windows далее, далее, далее -готово. Только поэтому наверное.
vovasik
Ну, из того кейса что в статье вроде описывается из метаданных скорее всего будет только цена использоваться, с этим можно жить. Нет ну если конечно завести каждый параметр товара отдельным полем то конечно это будет тяжеловато наверное. Но обычно это не так, тайтл, контент, цена и картинка. Такие магазины вполне нормально хоть на чем делать. А вот что не нормально так это то что woocommerce php сессии использует, и если WordPress можно эффективно кешировать то с этим человеком замечательным плагином уже нельзя. Вот это проблема да. Но это не про количество записей или метаданных, все гораздо печальней, плохо будет при большой посещалке не зависимо от наличия товаров. Остаётся утешать себя тем что посещаемый интернет магазин, быстро сделает его хозяина богатым, а там пусть хоть огнём горит :-D В целом согласен на woo лучше магазин не делать, а есть ли альтернативы чтоб из коробки работали и совсем не стоили денег не знаю, возможно и нет.
Rober
Сессии можно хоть на рамдиск, хоть в memcached складывать — оба варианта данное узкое место убирают. Я таким способом «оживлял» магазины с несколькими десятками тысяч товаров и посещаемостью 10-20 тыс. клиентов в сутки. Более крупным и/или нагруженным магазинам это не особо помогает и нужно кропотливо перелопачивать весь код, избавляться от сторонних плагинов, переходить на более производительное железо и заниматься грамотной регулировкой софта. Ничего невозможного нет, хотя по трудозатратам, пожалуй, сравнимо с созданием проекта с нуля, ибо от WP мало что останется.
Что плохо и о чём следует знать всем, кто хочет себе сайт на WP — общее низкое качество плагинов и шаблонов. WordPress предлагает много полезных возможностей из коробки, позволяющей сделать, в принципе, шустро работающий проект (если не хотеть опять-таки сотни тысяч постов и товаров), но разработчики вечно придумывают крайне неэффективные костыли и в целом не заботятся о том, насколько их решение жизнеспособно.
Например, команда разработки WooCommerce, судя по изменениям в коде, относительно недавно стала задействовать PHP CodeSniffer для обнаружения проблемных мест. До этого приходилось перелопачивать каталог /templates/, экранируя везде вывод переменных, а с 3.4.x (год назад) начались подвижки в лучшую сторону.
На основе того, как авторы плагинов фильтрации-рубрикации (такие обязательно ставят себе владельцы интернет-магазинов) реализуют банальное перечисление рубрик, можно писать сборники «Вредных советов»: от каких-то непостижимых манипуляций с url и именами категорий для вычисления id и соответственно вывода названий до некешируемых прямых запросов к БД. Естественно, с такими утяжелителями магазины с жалкой сотней товаров начинают тормозить.
Ещё есть прослойка плагинов, чьи авторы догадываются, что стандартные таблицы wp_post, wp_postmeta и другие *meta
не совсемоднозначно не подходящее место для хранения сотен тысяч записей и создают отдельные таблицы, но забывают не то что об индексировании, но даже о важности уникальных ключей (горячий привет разрабам платного AdsPlace’r Pro, чьё творение несовместимо с PHP 7.2 и тормозит отдачу страниц на сотни мс из-за прямого перебора базы GeoIP).Бывают и более дикие решения. В одном кастомном шаблоне, разработанном для городского новостного сайта, за который явно отдали немаленькие деньги, свойства погоды (влажность, давление, уровень воды и т.п.) записывались в ячейки отдельных таблиц прямыми SQL-запросами и прочитывались оттуда же в том же .php файле! При этом обновление погоды происходило не через планировщик WP, а неэкранированные POST-запросы, передающие текущую дату вместе с массивом ненужных данных, и сравнение с той, чтобы была в ячейке таблицы БД.
После такого раздрая в плагинах и шаблонах оптимистично говорить о создании крупных магазинов на WordPress сложно. Ибо и WP по структуре своей не подходит для этого, и нормального разработчика не найти.
makasin4ik Автор
ну мне кажется хостинг за 1000 р. вместо 300 р. поможет + опытный devops с кешированием.