Это был интересный проект (ссылка на сайт …), я очень рассчитываю, что он будет иметь продолжение и заказчик попросит меня сделать вторую часть технического задания. Для этого сайта были выставлены жесткие и высокие требования по скорости работы, особенно поиска, поэтому практически сразу мы отказались от покупных тем и я сделал новую с нуля, кроме этого мной был создан небольшой движок поиска, потребовалось добавить в базу данных несколько таблиц и инструменты для их заполнения и поддержки.
Тема сайта должна была быть адаптирована под PC и мобильные устройства. Заказчик предоставил верстку, полагаю, что он сделал ее с помощью ИИ и в итоге пришлось ее изрядно переделать, функционально она была очень сырая и криво работала на мобильных устройствах, в составе темы был слайдер, который оказался с багами, затем пришлось еще приделать пагинацию.
Я использовал в проекте плагин Pods, часть данных о компаниях были помещены в таблицы, поддерживаемые этим плагином, но их оказалось недостаточно и я добавил в базу таблицы для индексации поисковых запросов. Заказчик ограничился трехуровневой структурой каталога, поэтому обслуживать индексные таблицы было несложно. При обновлении таблиц Pods я использовал хуки плагина для перехвата таких событий и обновлял таблицы. Также был реализован небольшой модуль для обслуживания справочников, сброса индексных таблиц и загрузки данных.
В каталоге компаний я добавил таблицы для хранения откликов, сделал пересчет рейтингов и в контроьной панели добавил страницы управления этими сущностями. Функуионал управления таблицами Pods оказался достаточно бедным и мне пришлось реализовать страницу с табличной формой wordpress для обслуживания таблицы компаний.
С другой стороны у Pods оказался довольно гибкий механизм управления дополнительными полями и мне удалось создать систему корректировки дополнительных свойств компаний и пользователь мог сам решать где в интерфейсе размещать то или иное поле и как его отображать.
Для работы с картами я подключил API Яндекса, которое умело парсить адреса, я получал координаты и записывал их в базу данных, что экономило обращения к API.
Заказчик очень много внимания уделял продвижению своего сайта, нами был установлен плагин SeoPress и я использовал ряд его хуков для настройки метаданных. Кроме этого для ключевых сущностей каталога (города, сервисы компаний разного уровня и т.д.) я добавил поля в таблицы базы данных для хранения текстов seo, в панели управления для плагина была создана страница редактирования таких текстов. также был выполнен ряд рекомендаций заказчика по добавлению необходимой информации для поисковиков.
К сожалению вторая часть технического задания осталась не реализованной и на момент, когда я пишу этот пост, сайт еще не работает как коммерческих каталог, пока идет заполнение сведений о компаниях, добавляются новые города и, видимо, заказчик пока не считает целесообразными развитие проекта. Я очень надеюсь, что мне удастся в итоге довести эту работу до логического конца.
