Корпоративные сайты

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

Начать проект

или напишите нам на sales@wwi.dev

Рендеринг

Статический HTML, без сервера в рантайме

Доставка

Глобальная edge-сеть Cloudflare

Доступность

WCAG 2.2 AA, проверено на каждой странице

Языки

По числу ваших рынков

Трекинг

Без сторонних скриптов

Владение

Ваш репозиторий, ваш домен

Результаты

Что входит в сайт Whitewater

У каждого проекта одна и та же основа. Дизайн и текст меняются от клиента к клиенту, а инженерная база остаётся неизменной.

01

Дизайн-система, а не шаблон

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

Тёмную цветовую схему мы проектируем вместе со светлой, а не получаем её инверсией в конце, поэтому посетитель с тёмным режимом на телефоне видит продуманную страницу, а не выцветшую копию.

02

Страницы, написанные под реальные запросы покупателей

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

03

Форма связи, которая реально доставляет письма

Форма построена на обычном HTML и отправляет данные на serverless-эндпоинт того же домена. Её защищают проверка Cloudflare Turnstile, скрытое honeypot-поле и проверка времени заполнения, а письма отправляются с подтверждённого домена, поэтому заявка попадает во входящие, а не в спам.

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

04

Каждая страница на каждом языке, на котором вы продаёте

У каждого языка свои настоящие адреса и свой текст, а hreflang-кластер, canonical-ссылка на саму себя и направление текста настроены на уровне каждой страницы. Этот сайт сам служит доказательством: он работает на восьми языках.

05

Изображения и шрифты обрабатываются при сборке

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

06

Репозиторий, который принадлежит вам, со своими тестами

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

Инженерия

Как это устроено

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

Сначала статика

Страницы компилируются в HTML ещё до прихода первого посетителя. На пути запроса нет сервера приложений и нет запроса к базе данных, который бы задерживал первую отрисовку. Контент, навигация и метаданные живут прямо в HTML, поэтому поисковый робот и человек на слабом мобильном соединении получают одну и ту же страницу.

Улучшение, а не зависимость

JavaScript добавляется только там, где он действительно нужен, и только для того компонента, которому он нужен. Отключите его, и страница всё равно читается, навигация работает, а форма отправляется.

Ресурсы обрабатываются один раз

Изображения, шрифты и стили обрабатываются при сборке и отдаются с неизменяемыми заголовками кеша под хешем содержимого. При повторном визите почти ничего не загружается заново, а новый деплой никогда не отдаёт устаревший файл.

Деплои, которые можно откатить

Каждое изменение фиксируется коммитом. Continuous integration собирает сайт, прогоняет полный набор тестов и только потом публикует его на edge-сети. Если что-то не так, предыдущая версия восстанавливается одним откатом.

Рис. 1. Страница как чертёж: область просмотра, заголовок, главное действие, контрастная цель.

Поиск

Создано, чтобы вас находили

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

  • Сначала структура. Одна страница на один поисковый запрос, заголовки отвечают на вопрос, который ввёл человек, а внутренние ссылки делают иерархию понятной.
  • Порядок в head на каждой странице. Уникальные title и meta description, ровно один canonical-адрес и социальные карточки, которые корректно отображаются, когда кто-то вставляет ссылку в чат.
  • Структурированные данные из видимого контента. Разметка Organization, Service и хлебных крошек создаётся из того же источника, что и сама страница, поэтому данные для поисковика никогда не расходятся с тем, что видит человек.
  • Индекс, понятный машинам. Sitemap-индекс на все локали, robots-файл, который на него указывает, и llms.txt для роботов, которые теперь пересказывают сайты людям.
  • Мгновенная индексация. Каждый деплой в продакшен отправляет изменённые адреса в IndexNow, поэтому поддерживающие его поисковики узнают об изменениях за минуты, а не при следующем обходе.
  • Core Web Vitals заложены изначально. Статическая раздача, хешированные неизменяемые файлы и отсутствие сторонних скриптов дают кратчайший путь к хорошим полевым метрикам, которые сами по себе влияют на ранжирование.
  • Чего мы не обещаем. Никто не может продать вам место в топе. Мы создаём техническую и редакционную основу, которая даёт сильному контенту шанс конкурировать, измеряем результат после запуска и честно говорим, что именно вне нашего контроля.

Доступность

Удобно для всех, а не только для большинства

Доступность одновременно снижает юридические риски, влияет на поиск и говорит о качестве. Мы считаем уровень WCAG 2.2 AA минимумом и проверяем его механически, а не декларируем в буклете.

  • Проверяется на каждой странице, ширине экрана и цветовой схеме. Автоматический аудит проходит по каждой собранной странице на ширине телефона, планшета и десктопа, в светлой и тёмной теме, и любое нарушение останавливает сборку.
  • Настоящая поддержка клавиатуры. Ссылка для перехода к контенту первой в фокусе, видимое кольцо фокуса везде и порядок табуляции, который следует логике страницы.
  • Контраст в обеих темах. Цвета текста и интерфейса проверяются на реальном фоне, в тёмной теме так же строго, как в светлой.
  • Анимация спрашивает разрешения. Всё, что движется, отключается для посетителя, чья система просит меньше анимации, и вместо этого показывается статичный кадр.
  • Семантическая вёрстка. Ориентиры для скринридеров, заголовки по порядку без пропусков уровней, подписанные поля форм и осмысленный alt-текст у каждого изображения.
  • Удобные зоны нажатия. Каждый интерактивный элемент не меньше 24 пикселей, и это проверяется измерением, а не на глаз.
  • И руками по клавиатуре тоже. Автоматика ловит многое, но не всё, поэтому мы ещё сами проходим сайт с клавиатуры и читаем его на маленьких экранах перед запуском.

Языки

Один сайт на всех языках, на которых вы продаёте

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

  • Свой адрес на каждый язык. Каждая страница существует по своему URL на каждом языке, поэтому её можно индексировать, ссылаться на неё и делиться ею отдельно.
  • Правильные сигналы. Hreflang-кластер с x-default на каждой странице и canonical, который указывает на саму страницу, а не на английский оригинал.
  • Направление справа налево заложено в вёрстку. Стили используют логические свойства повсюду, поэтому арабская версия зеркалит всю композицию целиком, а не отдельными заплатками.
  • Написано людьми, а не машиной. Тексты пишутся под каждый язык в голосе бренда. Машинный перевод звучит как машинный перевод, и покупатели это замечают.
  • Честный вес шрифтов. Начертания обрезаются под нужную письменность, а текст с нелатинскими символами использует системный шрифт вместо мегабайтов, отправленных на телефон.
  • Переключение языка без JavaScript. Обычные ссылки между одной и той же страницей на разных языках, без cookie и без угадывания редиректов.

Безопасность и почта

Защищено, и почта доходит

У маркетингового сайта небольшая поверхность атаки, и её стоит держать небольшой, а форма связи бесполезна, если её письма оседают в спаме.

  • Настоящая Content Security Policy. Без разрешения на inline-скрипты: каждый inline-скрипт закреплён хешем, всё остальное отклоняется, и внедрённый скрипт просто не может выполниться.
  • Заголовки транспорта и браузера с первого дня. Strict Transport Security, запрет угадывания типа контента, политика referrer и защита от фрейминга работают уже при первом деплое.
  • Многослойная защита формы. Проверка Turnstile на человечность, honeypot для наивных ботов, проверка скорости заполнения для быстрых, серверная валидация и ограничения длины у каждого поля.
  • Доставляемость проверяется при деплое. Домен отправки проверяется прямо при публикации, поэтому форму, которая перестала доставлять письма, замечаем мы, а не клиент, который так и не дождался ответа.
  • Без трекеров по умолчанию. Ничего стороннего не загружается, пока вы сами этого не попросите, а единственная аналитика, которую мы ставим, работает без cookie, а значит и без баннера согласия.
  • Секреты не попадают в репозиторий. Ключи хранятся в отдельном хранилище секретов и попадают на работающий сайт как переменные окружения, а не как файл в git.

Передача

Что остаётся у вас в итоге

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

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

Начать проект сайта sales@wwi.dev

Расскажите, что должен делать сайт и кого он должен убедить. Напишите через форму на сайте или на sales@wwi.dev, и вам ответит тот, кто будет это строить.