Рубрики
Uncategorized

Построить интернет-магазин, не имея дело с неограниченностью WordPress

Пара WordPress и Woocommerce были слишком долго любимое решение для быстрого развертывания … Помечено WordPress, WebDev, микросервисами, Devops.

Пара WordPress и Woocommerce были слишком длинными любимым решением, чтобы быстро развернуть интернет-магазин и начать делать доход. Теперь каждый разработчик, который столкнулся с WordPress, знает много недостатков. В этой статье мы объясним, как мы преодолеем ненадежность WordPress, превратив его в основном в бэкэндскую службу.

Прежде всего, почему WordPress так популярен?

  • WordPress это Легко развернуть , есть много хостингового решения, которое предлагает WordPress напрямую, но и хостинг PHP по-прежнему очень часто имеется, I.E. wordpress.com. , Dreamhost , Bluehost , и т.д.
  • Есть Многие плагины доступны , а вы также можете разработать свой плагин.
  • Есть Многие довольно красивые темы Отказ
  • Это Удобный для пользователя особенно для не технических людей.
  • У этого есть Огромное сообщество и многочисленные учебные ресурсы онлайн.

Тогда в чем проблема с WordPress?

Его популярность также принесла слабые стороны:

  • Его огромное сообщество, в основном состоит из нетехнических пользователей, сгенерировал огромное количество не официального обучения Ресурсы это либо устаревший или плохое качество .

  • Это также привлекло Много злонамеренных и мошеннических разработчиков Сделать свои собственные плагины, загрязняющие рынок плагинов.

  • Многие отверстия безопасности также, потому что пользователи WordPress не часто не технические и, скорее всего, не применяют патчи безопасности в их настройке.

На технической стороне:

  • WordPress это Слишком гибкий В том смысле, что для реализации чего-то может быть сделано на разных слоях: в исходном коде PHP, в редакторе PAGE/PAGE/PAGE WordPress или в конфигурации темы. Он ведет не технические пользователи, чтобы не принять четкие конвенции и позволить им попробовать разные хитрости здесь и в результате чего приведет к очень хакерическому использованию CMS.

  • WordPress также ненадежный Из-за того, как проводятся обновления, плагины и темы просто перезаписывают, тем самым теряя любые локальные изменения (в целом адаптированные изменения сделаны для настройки плагинов и тем). Чтобы быть точным, WordPress имеет детскую тему, которая позволяет определять изменения, которые будут применяться поверх родителя, которые помогают предотвратить перезаписать некоторые из местных изменений. Но это не очень хорошо интегрируется или удобно для пользователя. Для веб-мастеров, особенно любителей, слишком рискованно обновлять плагины, темы и самого WordPress, потому что они боятся потерять изменения и/или даже разбить весь свой сайт. Следовательно, сайты WordPress De Facto никогда не обновляются.

Как преодолеть ненадежность WordPress?

Давайте представим, что мы могли бы использовать WordPress и WoOCommerce для того, что они стоят только, которые представляют собой систему блога и систему онлайн-магазина. Первое, что мы, вероятно, хотим сделать, это удалить риски, которые являются плагинами, и устанавливают только минимум, Woocommerce. Второе, что мы хотим сделать, это слишком избавиться от тем. Для этого мы начали смотреть на безголовую WordPress и узнали о API WordPress и API Woocommerce.

WordPress API.

WordPress, так как его версия 4.7.0 (Выпущено в декабре 2016 года), предлагает спокойный API, который должен сказать 13 лет после его первого выпуска в 2003 году и всего 3 года назад со времен написания этой статьи.

API позволяет взаимодействию WordPress с использованием формата JSON (JavaScript Object Notiator). Пока для запроса данных из него не требуется аутентификация, если вы хотите редактировать, создавать или удалить информацию, вам нужно будет подтвердить подлинность. Стоит отметить, что WordPress поддерживает только аутентификацию Cookie, но некоторые плагины позволяют больше типов.

Расход API довольно быстро, и позволяет легко получить любые данные довольно легко. Корневая конечная точка установлена на /wp-json/ Отказ Оттуда вы сможете увидеть все доступные подчастые точки. Но давайте копать в несколько примеров:

  • Чтобы получить список сообщений (статьи) в вашем блоге, вы можете запустить запрос на получение в конечной точке /wp-json/wp/v2/посты/ Затем вы получите первую страницу сообщений в формате JSON. Полный пример детали доступны здесь: https://developer.wordpress.org/rest-api/reference/posts/#list-posts
  • Чтобы получить носитель, который использовался в посте, вы можете запустить запрос на получение на конечной точке /wp-json/wp/v2/media/ заменить по фактическому идентификатору средств массовой информации. Полный пример детали доступны здесь: https://developer.wordpress.org/rest-api/reference/media/#retrieve-a-media-item
  • Для получения дополнительных примеров и деталей официальная документация для API WordPress REST доступна по этому адресу: https://developer.wordpress.org/rest-api/

Woocommerce API

Woocommerce предлагает reзов API для своих пользователей в течение более длительного времени, чем WordPress. Первая API Woocommerce была выпущена с Woocommerce 2.1.0 В феврале 2014 года уже почти за три года до API WordPress ‘Read API.

Это чаще используется. Например, когда вы устанавливаете свою логистику с помощью ShipBOB, они будут использовать API для автоматического восстановления заказов вашего магазина.

Важно отметить, что оригинальная API WoOCommerce после нескольких обновлений была обеснабрена и недооценена устаревшим API. Woocommerce решил полностью переделать их API для расширения API WordPress непосредственно после выпуска последнего.

Мы рекомендуем использовать последнюю версию, которая во время этой статьи — это API WOOCMMERCE V3 (не наследие, а ток).

При использовании API, будь то наследие или текущий, вам необходимо создать первый токен API в настройках шагов WOOCMMERCE, чтобы следовать здесь, описаны здесь: https://docs.woocommerce.com/document/woocommerce-rest-api/

Затем, чтобы узнать, как использовать токены для аутентификации, пожалуйста, перейдите сюда: https://woocommerce.github.io/woocommerce-rest-api-docs/#authentication.

Наконец вот несколько примеров:

Следующий шаг

Теперь, когда мы знаем, как использовать API WordPress API и Woocommerce API, есть две вещи, которые нам нужно учитывать:

  • Woocommerce API нуждается в аутентификации, так как мы собираемся сохранить секрет наших токенов API?
  • И используя только API, мы вырезаемся от процесса оплаты Woocommerce. Это означает, что нам придется обработать выплаты себя за пределами WordPress/Woocommerce.

Вот почему мы пошли с архитектурой ниже:

  • Внутренний интерфейс выполняет угловое приложение, написанное в Teadercript.
  • Middleware — это приложение Node.js, написанное в Teamscript, он содержит токены API и реализует необходимые вещи для обработки платежей, например, мы обычно реализуем Полоса и Globee Отказ
  • Задний и задний офис — наше WordPress.
  • CDN и хранение соответственно работают на AWS Cloudfront и AWS S3.

Это означает, что с этой архитектурой, когда мы хотим:

  • Чтобы опубликовать статью, мы добавляем сообщение в WordPress, и мы извлекаем его через API WordPress через наше промежуточное программное обеспечение,
  • Чтобы провести картинку, мы просто загружаем его в WordPress Media и извлеките его с помощью ссылки CDN,
  • Чтобы выполнить некоторые изменения в некоторых частях нашего веб-сайта, мы редактируем страницу WordPress и динамично извлеките содержимое страницы через API WordPress через наше промежуточное программное обеспечение,
  • Чтобы добавить продукт, мы просто добавляем его в WooCommerce,

Обратите внимание, что для автоматизации загрузки носителя на S3 в WordPress мы установили плагин WP Offload Media Lite Отказ Создание общего количества наших плагинов, установленных в WordPress только к двум: Woocommerce и WP Offload Media Lite Отказ

Возникшие трудности

  • API WordPress Slow: https://stackoverflow.com/questions/45421976/wordpress-rest-api-slow-response-time/45425091#45425091 Хотя плагин, кажется, помогает для этого, кэшируя ответы от API: https://wordpress.org/plugins/wp-rest-cache/ (Мы еще не тестировали его).

  • Чтобы полностью скрыть WordPress за нашу промежуточную программу (и избежать любопытных глаз), нам пришлось фильтровать все ссылки, возвращаемые WordPress, чтобы убедиться, что они либо используют CDN, используйте Vetted домен, либо просто не отображаются в ответах вызовов API Отказ Для этого плагин WP Offload Media Lite Помогает много, потому что он обновляет все медиа-ссылка для использования CDN.

Последние мысли

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

Оригинал: «https://dev.to/sonny_ad/build-an-online-store-without-dealing-with-wordpress-unreliability-1ppm»