inreal.studioРазработка сайта для 3D-студии

Кейс разработки сайта для портфолио и услуг 3D-студии. Реализовал фронтенд с анимациями, админ-панель и интегрировал их с использованием ISR

Заказчик обратился за разработкой нового проекта - сайта 3D-студии. Изначально было 2 страницы - главная и портфолио (которое делится на 4 категории), а ещё несколько всплывающих окон.

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

Фронтенд

Поэтому для фронтенда был выбран Next.js, так как он идеально подходит под задачи - во первых, технически это SPA, поэтому все переходы по страницам - это просто изменение одной страницы. Посетитель этого не замечает, но это позволяет, к примеру, делать так, чтобы всплывающее окно было отдельной страницей, а это важно для SEO. Во вторых он умеет делать ISR - страницы будут генерироваться раз в какое-то время, мы снизим нагрузку и на сервер, и на браузер пользователя.

Бекенд

В качестве CMS был выбран WordPress. В целом - это не самая лучшая идея в 2026. Но веб-разработка сложилось так, что только PHP-хостинг стоит копейки, а с WordPress умеют работать абсолютно все. Если писать свой бекенд - это сильно ударит по бюджету разработки, если брать готовые CMS на Node.js - придется арендовать VPS, а это тоже значительно дороже, чем обычный файловый хостинг.

Получается, мы сэкономили и бюджет на разработку, и на хостинг. А WordPress используется как Headless CMS, благодаря чему любое звено можно в любой момент переделать без особых трудностей.

Главная

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

Портфолио

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

Скриншот страницы портфолио сайта inreal.studio

Благодаря app-роутеру Next.js, каждая категория - это отдельная страница, при этом общие элементы загружаются всего один раз, а не несколько, как это было бы при использовании других инструментов.

Кейсы (и новые категории) можно создавать, удалять и менять местами в админ-панели WordPress, затем Next.js генерирует готовую страницу, а не делает запросы каждый раз.

Услуги

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

Скриншот страницы услуги сайта inreal.studio

Заключение

Какие выводы я сделал из этого проекта? На самом деле, их очень много. Из неправильных решений - как я и говорил - было решение делать анимации на чистом JS. Сейчас я бы использовал motion или GSAP. А вот WordPress, хотя и его интеграция не было беспроблемной, по моему мнению вписался сюда отлично - мы сэкономили и бюджет на разработку, и на хостинг.

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