Как создать сайт WordPress, управляемый данными

Опубликовано: 2023-02-13

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

Разработка веб-сайта, управляемого базой данных, — сложная задача. В любой момент ваша CMS будет переполнена данными, и эффективная обработка этих данных является сложной задачей.

Не волнуйтесь!

Здесь мы объяснили, как вы можете разработать веб-сайт WordPress, управляемый данными. Но перед этим давайте разберемся, что такое сайт, управляемый данными?

Оглавление

  • Что такое сайт, управляемый данными?
  • WordPress как система управления контентом хорошо подходит для веб-сайта, управляемого данными.
  • Данные хранятся в WordPress
  • Общие проблемы, с которыми мы сталкиваемся со структурой базы данных WordPress
  • Ограничения структуры базы данных WordPress
  • Возможные решения

Что такое веб-сайт, управляемый данными?

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

Фактически, единственная цель такого веб-сайта — отображать новейший контент. Таким образом, в отличие от статического сайта, он регулярно и вовремя обновляется.

Это означает, что веб-сайт, управляемый данными, — это не разовый проект. Это непрерывный процесс. Другими словами, ваш веб-сайт должен быть достаточно гибким, чтобы сочетать частые изменения.

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

  • В интернет-магазине база данных веб-сайта постоянно меняется каждый раз, когда размещается новый заказ или регистрируется новый клиент.
  • Многие веб-сайты собирают данные со сторонних платформ. Вы хотели бы сохранить эти данные, затем отфильтровать и отобразить их в удобном для понимания формате. Это делает необходимой оптимизацию базы данных.
  • Другой сценарий — когда база данных вашего веб-сайта обновляется чаще, и вы хотите обработать обновленные данные перед их отображением. Здесь также вступает в действие оптимизация базы данных WordPress.

WordPress как CMS хорошо подходит для веб-сайта, управляемого данными

Для эффективной работы веб-сайта, управляемого данными, требуется система управления контентом (CMS). CMS позволяет легко и структурированно управлять содержимым веб-сайта. И WordPress — самая популярная CMS, которая отвечает всем требованиям.

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

Авторы WordPress проделали достойную работу по оптимизации использования ресурсов и разработали таблицы для хранения практически бесконечных объемов данных.

Данные, хранящиеся в WordPress

WordPress позволяет вам сохранять любую пользовательскую сущность в виде записи, объекта с уникальным идентификатором, именем, содержимым или датой создания/изменения, связанным с конкретным пользователем.

В мета-записях используется пара ключ-значение, связанная с записью. На самом деле, вы можете беспрепятственно манипулировать сущностями как сообщениями и добавлять к ним набор метапараметров. Этот универсальный пост-ориентированный подход является самым простым и быстрым способом хранения и извлечения данных с сервера базы данных.

Общие проблемы, с которыми мы сталкиваемся со структурой базы данных WordPress

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

Когда вы начнете добавлять данные в WordPress, размер метатаблицы поста начнет увеличиваться из-за пары ключ-значение. Все, что вы добавляете через веб-сайт, вероятно, должно хранить информацию в метаданных поста.

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

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

Ограничения структуры базы данных WordPress

Что вызывает эту проблему?

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

Ключ Ценить
номер заказа 1001
имя Джон
фамилия Доу
Дата покупки 01.01.2023
номер заказа 1002
имя Кевин
фамилия Тис
Дата покупки 01.01.2023

Эти проблемы можно было бы решить только в том случае, если бы пары ключ-значение были разработаны, как указано ниже, путем минимизации количества строк и преобразования их в столбцы. К сожалению, это не в наших руках.

Ключ номер заказа имя фамилия фамилия
Ценить 1001 Джон Доу 01.01.2023
Ценить 1002 Кевин Тис 01.01.2023

Он будет занимать меньше места в пост-метатаблице. Но в соответствии со структурой базы данных WordPress метатаблица записей используется глобально, и изменить это невозможно.

Возможные решения

К счастью, чтобы избавить вас от этой неприятности, мы нашли два возможных решения.

Они есть:

1. Решение первое (используйте индивидуальную таблицу заказов)

Вы не можете оптимизировать структуру стандартной таблицы WP post_meta, но вы можете создать таблицу, адаптированную к вашим требованиям, и хранить в ней данные заказа. Вам нужно будет работать с опытным экспертом по WordPress, потому что это требует нескольких изменений в функциональности заказа WooCommerce по умолчанию.

Вот пошаговый процесс.

  • С помощью эксперта WordPress вы можете создать оптимизированную таблицу данных заказа, как показано ниже:

A Custom Order Table

  • Теперь попросите вашего разработчика указать CMS вставлять и извлекать новые заказы из пользовательской таблицы.
  • Затем попросите вашего разработчика перенести ваши старые данные заказа во вновь созданную пользовательскую таблицу заказов.
  • Однако это индивидуальное решение, поэтому оно будет применимо, если вы не используете эти данные заказа с каким-либо другим плагином. Если вы используете плагины, они все равно будут пытаться получить данные из таблицы post_meta.

2. Решение второе

Допустим, вы загружаете базу данных веб-сайта из API или любой сторонней платформы. У вас есть тысячи поступающих записей, и вы хотите детально отфильтровать их при отображении на веб-сайте. Проблема в том, что если вы храните все эти данные в пользовательском типе записи, они будут храниться традиционным способом WP, то есть в таблице post_meta. Опять же, множество данных сохраняется в виде пары ключ-значение. Короче говоря, вы не сможете детально отфильтровать эти данные.

  • Например, предположим, что вы создали веб-сайт рецептов, на котором данные о рецептах поступают из API. Вы настроили страницу со списком рецептов и добавили фильтр. Фильтр содержит различные параметры, такие как тип питания, курс, диета, параметры белка, уровень сложности, методы, другие параметры питательных веществ и многое другое!
  • Если эти данные рецепта хранятся в пользовательском типе записи, атрибуты рецепта также будут храниться как пара ключ-значение в таблице post_meta.

post_meta table

    • Когда пользователь пытается отфильтровать тысячи рецептов с различными параметрами фильтрации, запрос базы данных WordPress по умолчанию начнет перебирать каждую запись, чтобы найти совпадающие результаты. Это будет занимать все больше и больше времени по мере увеличения размера таблицы post_meta. Это может привести к проблемам с доставкой данных в будущем.
    • Вместо создания пользовательских типов записей для хранения этих данных вы можете создать оптимизированную пользовательскую таблицу. Это позволит избежать увеличения размера таблицы post_meta по умолчанию и поможет вам повысить эффективность обработки/фильтрации этих данных по мере необходимости.

Ниже приведен пример хорошо оптимизированной таблицы:

optimized table

  • С таким решением ваши пользователи получат результаты в течение нескольких секунд, когда попытаются отфильтровать эти рецепты.

Заключение:

Потребность в веб-сайте, управляемом данными, неоспорима в этом все более цифровом мире. Конкретные и действенные аналитические данные могут стимулировать увеличение продаж и привлечение потенциальных клиентов. Это в интересах вашего агентства/бренда. И с помощью этих быстрых советов вы можете создать и поддерживать веб-сайт WordPress, в большей степени управляемый данными. Попробуйте их прямо сейчас и дайте нам знать, как они помогли.

Вы боретесь с производительностью вашего сайта WordPress? Обратитесь к нам за индивидуальными решениями.