Поддержание актуальной информации на большом сайте

Поддержание актуальной информации на большом сайте
разработка wordpress
Обложка Поддержание актуальной информации на большом сайте
Автор:
Руслан Шкарбан — автор статьи Руслан Шкарбан
204
#Кейсы

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

Данный материал не является туториалом по созданию функционала, а демонстрирует один из вариантов автоматизации работы сайта под конкретные потребности бизнеса.

Навигация по материалу:

 

Идеи по оптимизации

Добавление отдельного типа записи. WordPress по-умолчанию предоставляет сразу два типа записи - страницы (page) и записи (post). Изначально этого сайту хватало, в процессе масштабирования клиент понял, что такого функционала ему не достаточно. Оптимальным решением будет завести собственный тип записи - документ (document) почитать о собственном типе записи можно в официальной документации, тип записи страница решили оставить только для статичной информации, например, для страницы контактов. Тип запись продолжать использовать для статей в блоге.

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

Использование шорткодов. Учли, что упоминание цен, расчеты стоимости могут встречаться не только на самих документах, но и, например, на страницах блога. Для таких ситуаций было принято решение использовать шорткоды.

 

Подбор подходящего инструмента

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

У WordPress по-умолчанию нет возможности создавать дополнительные поля, разумеется, это можно сделать собственным кодом, но в данном случае рациональным решением будет внедрить сторонний функционал. Поэтому мы воспользовались одним из популярных плагинов - Carbon Fields (CF). Выбор пал на него по нескольким причинам:

  1. Обладает большим и гибким функционалом. В наших задачах точно не упремся в “технический потолок”.
  2. Хорошая документация. Много информации по работе и масса готовых решений.
  3. Бесплатно. Клиенту не придется покупать лицензию.
 

Добавление отдельного типа записи.

Как и планировалось, мы реализовали создание собственного типа записи - документ (document). Разделение позволило отделить страницы от документов и сделать последние более гибкими, также избавили “page” от ненужных полей и сделали работу с сайтом понятнее.

Для нового типа записей через CF мы добавили необходимые поля.

Общая страница настроек

У гибкого и шаблонного есть одинаковые поля, например, “название документа”, но основная часть состоит из различий, как в полях, так и в дальнейшей “подкапотной” логике. Вот несколько фундаментальных отличий:

  1. Наличие поля количества слов для шаблонного документа, которое будет применяться для расчета полной стоимости перевода.
  2. Возможность указать “вилку” в цене в гибком тарифе.
  3. Вариант выбора перевода носителем в гибком тарифе.
  4. Возможность к стоимости перевода добавить стоимость заверения.
  5. Верстка руками в ручном вводе.
Шаблонные цены
Гибкий тариф для документа
Ручной ввод для документа
 

Создание общей страницы для статичной информации сайта

Создав и настроив тип "document" мы перешли к созданию страницы с общими настройками для всего сайта на CF, как создается такая страница можно почитать в документации.

Используя CF мы добавили отдельную вкладку в админку, в которой будет храниться вся информация актуальная для всего сайта: ставка на перевод, стоимость нотариального заверения и другие поля. Отметим, что стараемся делать функционал максимально удобным для наших клиентов, поэтому для всех полей сделаны пояснения и работа с ними не вызывает сложностей и не требует дополнительных навыков у клиента.

Общая страница настроек
 

Результат

В шаблоне вывода, созданного нами типа "document" мы получаем значения со страницы основных настроек (Настройки English Geeks), и из каждого документа. В зависимости от того, шаблонный тариф или гибкий мы выводим информацию на страницу.

Административная панель документа с шаблонным тарифом

Шаблонный документ админка

Отображение документа с шаблонным тарифом

Шаблонный документ вывод

Административная панель документа с гибким тарифом

Гибкий тариф админка

Отображение документа с гибким тарифом

Гибкий тариф вывод
 

Подгрузка динамической информации в любом месте сайта

Чтобы выводить актуальную информацию на всем сайте, без использования CF мы воспользовались встроенным в WP функционалом - шорткодами.

Для наглядности рассмотрим несколько примеров:

Использование шорткода в стоимости подбора устных переводчиков.

Отображение стоимости устного перевода в админке

Отображение стоимости устного перевода в админке

Отображение стоимости устного перевода на странице

Отображение стоимости устного перевода на странице

Использование шорткода в цитате одного из сотрудников.

Отображение шорткода в административной панели

Отображение шорткода в административной панели

Отображение шорткода на странице

Отображение шорткода на странице
 

Сложности

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

Немного подумав, мы пришли к выводу, что заносить их в качестве отдельной страницы документа не совсем верный подход и решили переделать такие документы в таксономию: “группа документов”. У такого решения основной причиной является автоматизация. До появления такой таксономии клиенту приходилось руками добавлять в каждую группу документ, который к ней относится, это занимало время и был риск забыть внести новый документ в нужную группу. Сейчас все происходит автоматически.

Выбор группы документов в административной панели

Выбор группы документов в административной панели

Отображение документа в списке выбранной группы

Отображение документа в списке выбранной группы

Отметим особенность дизайна админки WP. Кастомные поля, которые мы создали для группы документов (таксономии) в CF выглядят не совсем красиво, но со своей задачей полностью справляются.

Настройка открытой таксономии

Настройка открытой таксономии

Настройка таксономии в общем списке таксономий

Настройка таксономии в общем списке таксономий
 

Заключение и выгоды для клиента

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

Если столкнулись с тем, что ваш сайт “вырос” и поддерживать на нем актуальную информацию стало сложно, то напишите нам, мы изучим особенности вашего бизнеса, предложим оптимальное решение и внедрим его с учетом ваших пожеланий и требований.