Как создать сайт 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 вы можете создать оптимизированную таблицу данных заказа, как показано ниже:
- Теперь попросите вашего разработчика указать CMS вставлять и извлекать новые заказы из пользовательской таблицы.
- Затем попросите вашего разработчика перенести ваши старые данные заказа во вновь созданную пользовательскую таблицу заказов.
- Однако это индивидуальное решение, поэтому оно будет применимо, если вы не используете эти данные заказа с каким-либо другим плагином. Если вы используете плагины, они все равно будут пытаться получить данные из таблицы post_meta.
2. Решение второе
Допустим, вы загружаете базу данных веб-сайта из API или любой сторонней платформы. У вас есть тысячи поступающих записей, и вы хотите детально отфильтровать их при отображении на веб-сайте. Проблема в том, что если вы храните все эти данные в пользовательском типе записи, они будут храниться традиционным способом WP, то есть в таблице post_meta. Опять же, множество данных сохраняется в виде пары ключ-значение. Короче говоря, вы не сможете детально отфильтровать эти данные.
- Например, предположим, что вы создали веб-сайт рецептов, на котором данные о рецептах поступают из API. Вы настроили страницу со списком рецептов и добавили фильтр. Фильтр содержит различные параметры, такие как тип питания, курс, диета, параметры белка, уровень сложности, методы, другие параметры питательных веществ и многое другое!
- Если эти данные рецепта хранятся в пользовательском типе записи, атрибуты рецепта также будут храниться как пара ключ-значение в таблице post_meta.
- Когда пользователь пытается отфильтровать тысячи рецептов с различными параметрами фильтрации, запрос базы данных WordPress по умолчанию начнет перебирать каждую запись, чтобы найти совпадающие результаты. Это будет занимать все больше и больше времени по мере увеличения размера таблицы post_meta. Это может привести к проблемам с доставкой данных в будущем.
- Вместо создания пользовательских типов записей для хранения этих данных вы можете создать оптимизированную пользовательскую таблицу. Это позволит избежать увеличения размера таблицы post_meta по умолчанию и поможет вам повысить эффективность обработки/фильтрации этих данных по мере необходимости.
Ниже приведен пример хорошо оптимизированной таблицы:
- С таким решением ваши пользователи получат результаты в течение нескольких секунд, когда попытаются отфильтровать эти рецепты.
Заключение:
Потребность в веб-сайте, управляемом данными, неоспорима в этом все более цифровом мире. Конкретные и действенные аналитические данные могут стимулировать увеличение продаж и привлечение потенциальных клиентов. Это в интересах вашего агентства/бренда. И с помощью этих быстрых советов вы можете создать и поддерживать веб-сайт WordPress, в большей степени управляемый данными. Попробуйте их прямо сейчас и дайте нам знать, как они помогли.
Вы боретесь с производительностью вашего сайта WordPress? Обратитесь к нам за индивидуальными решениями.