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

С чего начать создание сайта: цель, аудитория и границы проекта
Самая дорогая ошибка новичка — начинать с выбора шаблона. До конструктора и редактора нужно ответить на три вопроса: какую задачу решает сайт, кто должен получить ответ и какое действие должно быть доступно после чтения. Сайт-визитка, блог, каталог, интернет-магазин, личный кабинет и веб-сервис выглядят как «страницы в браузере», но требуют разной структуры, хранения данных, прав доступа и поддержки. Поэтому запрос «как создать сайт» сначала переводится в короткое описание результата: «посетитель должен понять предложение и написать», «читатель должен найти инструкцию», «клиент должен выбрать товар и оформить заказ» или «пользователь должен выполнить операцию в защищённом кабинете».
Полезно набросать одну страницу брифа. Запишите название проекта, регион и язык, предполагаемые устройства, тип контента, форму обратной связи, владельца домена, бюджет на запуск и время, которое реально можно тратить на обновления. Отдельно отметьте ограничения: нужны ли платежи, авторизация, загрузка файлов, поиск, личные данные, несколько редакторов или интеграции. Такой список не заменяет техническое задание, но не даёт купить слишком сложную платформу для простого лендинга или, наоборот, превратить небольшой сайт в самописную систему без ответственного разработчика.
Затем определите минимальную полезную версию. Для сайта услуг это может быть главная страница, несколько страниц предложений, контакты и понятная форма. Для блога — рубрики, статья, поиск или навигация, сведения об авторе и политика обработки данных там, где она требуется. Для магазина к этому добавятся каталог, карточка, корзина, заказ, уведомления и интеграции. Чем точнее первый сценарий, тем проще выбрать инструмент и проверить его. Не добавляйте личный кабинет, сложные анимации и десятки виджетов только потому, что они есть в шаблоне: каждая функция станет частью тестирования, обновления и зоны ответственности.
До начала сборки зафиксируйте критерии запуска. Страница должна открываться по выбранному адресу, ключевые ссылки должны вести туда, куда обещают, форма должна либо отправлять данные в согласованный канал, либо честно сообщать, что пока не подключена. Текст должен отвечать на намерение пользователя, изображения — иметь понятное назначение и альтернативное описание, а мобильный сценарий — не быть второстепенной копией десктопа. Внутренняя карта сайта, меню и хлебные крошки помогают человеку и роботу ориентироваться, но не превращают слабый материал в полезный.
Сразу назначьте владельцев. Владелец домена отвечает за регистрацию и продление, технический ответственный — за размещение, резервные копии и обновления, редактор — за содержание, а человек, принимающий обращения, — за формы и сроки ответа. Если всё записано «на аккаунт подрядчика», перенос и восстановление могут оказаться сложнее самого запуска. Не храните пароли, ключи и резервные коды в исходниках, скриншотах или открытом документе. Доступы выдаются по необходимости, а не всем участникам проекта сразу.
Как выбрать способ создания сайта: конструктор, CMS или код
Для большинства первых проектов есть три маршрута. Конструктор даёт визуальные блоки, хостинг и часть служебных настроек внутри одного сервиса. CMS предоставляет админ-панель, темы и расширения, но обычно требует отдельного хостинга, домена, обновлений и контроля совместимости. Самостоятельная разработка на HTML, CSS, JavaScript или фреймворке даёт больше контроля над логикой и данными, зато переносит на владельца сборку, тестирование, доступы и сопровождение. Сильный выбор определяется не модой и не количеством шаблонов, а тем, какой риск проект способен обслуживать.
| Вариант | Когда подходит | Цена свободы | Что проверить до оплаты |
|---|---|---|---|
| Конструктор | Лендинг, визитка, небольшой сайт услуг, быстрый прототип | Зависимость от тарифа, шаблонов и правил платформы | Свой домен, экспорт, формы, резервные копии, аналитика, доступ редакторов |
| CMS | Блог, каталог, контентный сайт, проект с повторяемыми сущностями | Обновления ядра, тем и плагинов, хостинг и защита | Совместимость версий, права, бэкапы, миграция, обновление без простоя |
| Код или фреймворк | Уникальная логика, интеграции, высокие требования к данным | Нужны разработка, тесты, инфраструктура и владелец кода | Репозиторий, сборка, окружения, мониторинг, откат, документация |
Конструктор часто выигрывает для первого сайта, когда важнее проверить предложение и контент, чем владеть всей реализацией. Но проверьте, можно ли подключить домен, получить HTML-метаданные, настроить редиректы, robots.txt и карту сайта, выгрузить данные и сменить исполнителя. «Бесплатно» может означать адрес третьего уровня, ограничение форм, рекламный блок или отсутствие экспорта. Сравнивайте не только цену первого месяца, но и стоимость продления, переноса и работы человека, который будет поддерживать проект.
CMS удобна, когда публикации должны жить долго и обновляться через понятную панель. Однако плагин — не бесплатная функция без последствий: он добавляет код, права, запросы, обновления и возможную точку отказа. Включите автоматические обновления только после проверки политики платформы и резервного копирования; для важных сайтов безопаснее сначала проверить обновление в копии. Следите, чтобы админ-панель, расширения и тема получали исправления, а лишние компоненты были удалены или отключены. Официальное руководство WordPress рассматривает базовые шаги создания сайта, а экран Site Health помогает заметить часть технических проблем, но не заменяет полноценный аудит.
Самописный сайт оправдан, если требования нельзя честно закрыть блоками или расширениями и есть владелец, который будет поддерживать код. Не начинайте с фреймворка ради резюме: для простой страницы статический HTML может быть надёжнее сложной цепочки сборки. Для приложения заранее определите хранилище, миграции, авторизацию, логирование, резервное копирование, тестовые окружения и процедуру отката. Закрепите версии runtime и зависимостей, оставьте инструкцию запуска и не смешивайте секреты с репозиторием. Веб-сайт — это не только видимая разметка, но и путь от исходников до работающего ответа сервера.

Практическое правило выбора выглядит так: сначала минимальный сценарий, затем способ, который можно проверить и обслуживать. Если вы не умеете ответить, как сделать резервную копию, обновить платформу и вернуть рабочую версию после ошибки, проект ещё не готов к усложнению. Если конструктор не даёт нужной семантической разметки, формы или контроля над адресами, это ограничение следует зафиксировать до публикации, а не обнаруживать после рекламной кампании.
Как выбрать домен, хостинг и связать их через DNS
Домен — читаемый адрес, по которому человек находит сайт; хостинг или сервер — место, где приложение, файлы и данные обслуживают запрос. Это связанные, но разные сущности: домен можно оставить у одного регистратора, а сайт разместить у другого провайдера. DNS сопоставляет имя с нужной инфраструктурой, поэтому ошибка в записи или забытый срок регистрации может сделать ресурс недоступным даже при исправном коде.
Имя выбирайте с учётом произношения, написания, товарных знаков и будущего масштаба. Короткий адрес не обязан содержать все ключевые слова; важнее, чтобы его можно было продиктовать, набрать с телефона и не перепутать с похожим доменом. Проверьте свободность имени у аккредитованного регистратора, условия продления, данные администратора и возможность переноса. Для проекта, где важна русскоязычная аудитория, зона .ru может быть понятнее, но решение зависит от бренда и юридической ситуации. Не объявляйте домен «своим» только после добавления в корзину: регистрация завершается по правилам регистратора и требует контроля срока.
С хостингом сравнивайте не рекламное слово «быстрый», а границы услуги. Нужны поддерживаемая версия runtime или CMS, объём диска, база данных, резервные копии, доступ к логам, SSL, перенос, ограничения по CPU и памяти, способ восстановления и правила технической поддержки. Виртуальный хостинг подходит для простых сайтов, VPS или облачный сервер — когда нужен больший контроль, но вместе с ним появляется работа администратора. Выбирайте запас под реальную нагрузку и наблюдаемость, а не «самый мощный» тариф на будущее.
Связывание проходит в два логических шага: сайт создают на хостинге и настраивают DNS так, чтобы имя указывало на нужную точку входа. Провайдер может предложить смену NS-серверов или добавление A/AAAA-записей; точный вариант зависит от того, кто обслуживает DNS. После изменения проверяйте корневой домен и `www`, если оба адреса должны работать, затем выберите один канонический вариант и настройте редирект. DNS-кэширование означает, что разные сети могут увидеть изменение не одновременно; это не повод бесконечно менять записи.
Перед передачей трафика включите HTTPS и проверьте цепочку сертификата на реальном домене. Сертификат подтверждает защищённое соединение с конкретным именем, но не делает сайт автоматически безопасным: ошибки в авторизации, хранении данных, загрузке файлов и правах остаются ошибками приложения. Let's Encrypt описывает автоматизированную выдачу сертификатов и challenge-типы; срок действия и обновление нужно контролировать механизмом провайдера или своим мониторингом. HSTS, CSP и другие заголовки вводите после проверки ресурсов и поддоменов, потому что неверная политика может заблокировать собственный интерфейс.

Мини-чек-лист домена и размещения перед публикацией:
- имя зарегистрировано на понятного владельца, включено автопродление или поставлено отдельное напоминание;
- есть доступ к регистратору, DNS и хостингу, но секреты не лежат в Git и переписке;
- корневой домен, `www`, HTTPS и редиректы проверены отдельно;
- резервная копия файлов и базы данных существует не только на том же сервере;
- понятно, кто получает уведомление при ошибке и кто может откатить изменение.
Как спроектировать структуру, текст и интерфейс страницы
Начните с карты, а не с красивого экрана. Нарисуйте главную, разделы, страницы услуг или материалов, контакты и служебные документы. У каждого URL должна быть одна роль и понятная ссылка из навигации или контекста. Не создавайте десятки почти одинаковых страниц под каждую вариацию ключевой фразы: это усложняет поддержку и может оставить человека без нового ответа. Структура должна следовать задачам аудитории, а не механическому списку слов из Wordstat.
Содержание пишется до окончательной вёрстки. Для каждой страницы сформулируйте один основной вопрос, короткий ответ в начале, подтверждающие детали, следующий шаг и ограничения. Заголовок должен описывать содержание, а не обещать «идеальный результат». В карточках и списках используйте конкретные названия, сроки и условия, если они действительно известны; не подставляйте придуманные цены, отзывы, рейтинги и кейсы. Если материал создан с AI-ассистированием, редактор должен сверить факты, убрать повторения и сообщить об этом там, где это принято редакционной политикой.
HTML задаёт смысл, CSS — внешний вид, JavaScript — поведение. Не используйте стили и скрипты, чтобы скрыть отсутствие структуры. Один понятный `h1`, последовательные подзаголовки, списки, подписи к таблицам, правильные ссылки и нативные элементы формы помогают и пользователю, и вспомогательным технологиям. У изображения есть причина находиться на странице: информативной картинке нужен честный `alt`, декоративной — пустой альтернативный текст, а подпись не должна выдавать иллюстрацию за доказательство. W3C отдельно подчёркивает, что доступность включает людей с разными способами восприятия и взаимодействия, а не только проверку цвета.
Формы проверяйте как пользователь. У каждого поля должна быть понятная подпись, обязательность должна быть видна до отправки, ошибка — сообщать, что исправить, а успешное действие — объяснять, что произойдёт дальше. Не просите лишние персональные данные. Для пароля используйте подходящий тип поля, не выводите секрет в URL и не записывайте чувствительное содержимое в логи. Если форма отправляет письмо или создаёт запись, защитите её от автоматического спама и повторной отправки, а затем проверьте доставку в реальном канале.
Адаптивность — это не уменьшение десктопного макета. Проверьте, как меняется порядок блоков, меню, таблицы, изображения, кнопки и формы на узком экране. Не делайте важное действие доступным только по наведению мыши, не оставляйте горизонтальный скролл у основного текста и не рассчитывайте, что человек будет увеличивать маленький шрифт. В макете заранее предусмотрите состояния загрузки, пустого результата, ошибки, длинного заголовка и отсутствующего изображения. Хорошая страница сохраняет смысл даже при отключённых картинках или медленном соединении.

Не копируйте дизайн автоматически с чужого сайта и не заказывайте случайно сгенерированную визуальную систему. Зафиксируйте наблюдаемые референсы проекта, их порядок и логику, затем проверьте, что предложенный интерфейс реализуем и не ломает контент. Стили должны обслуживать читабельность, иерархию и действие, а не маскировать пустой экран. Для Imbach это означает сохранять порядок и логику утверждённых референсов, не добавляя новую CSS-направленность только ради «эффекта».
Как собрать и опубликовать сайт без потери контроля
На локальном этапе закрепите версии инструментов и создайте воспроизводимый путь сборки. Для CMS запишите версию ядра, темы и расширений; для кода — Node/PHP или другого runtime, менеджер пакетов, lock-файл и команду сборки. Не обновляйте всё одновременно перед релизом: одно изменение должно иметь понятный источник, результат проверки и обратный путь. В документации проекта оставьте, где лежат исходники, как запустить сайт, где хранятся переменные окружения и как получить безопасную копию данных.
Секреты отделяйте от исходников. Пароли базы, ключи API, токены почты и приватные сертификаты передаются через защищённое хранилище или переменные окружения, а не через `.env`, который попал в Git. В публичный репозиторий не должны уходить дампы базы, персональные данные, приватные ключи, логи с заголовками авторизации и резервные копии. Проверьте `.gitignore` и историю репозитория: удалить файл из рабочей папки недостаточно, если секрет уже попал в историю.
Для статического сайта публикация может быть простой: сборка превращает исходники в HTML, CSS, JavaScript и медиа, а сервер отдаёт готовые файлы. Для приложения добавляются серверный runtime, база данных, миграции, очереди, фоновые задачи и права доступа. Официальные документы GitHub Pages, Vercel, Netlify и Next.js показывают разные модели размещения; нельзя переносить их команды и предположения на другой провайдер без проверки. Особенно осторожно относитесь к миграциям: сначала снимите резервную копию, проверьте совместимость и только потом меняйте схему.
После сборки проверьте именно тот артефакт, который будет опубликован. Зафиксируйте контрольную сумму исходного пакета и сборки, перечень файлов, версию конфигурации и время проверки. Локальная зелёная сборка подтверждает только сборку; она не подтверждает, что домен ведёт в правильное место, форма доставляет данные, картинки доступны, а база восстановима. Если деплой выполняется по SSH, сначала проверяйте точный удалённый каталог и владельца, затем передавайте пакет, сверяйте хеши на сервере и сохраняйте вывод команды. Не перезапускайте соседние сервисы без необходимости.
Публикация должна иметь обратный путь. Для файлов храните предыдущий рабочий пакет, для базы — согласованный дамп с понятной датой и способом восстановления. Перед миграцией прочитайте текущую схему, после миграции проверьте количество записей, основные маршруты и логи. Откат приложения не всегда откатывает данные, поэтому опасные изменения таблиц проектируют отдельно. Если подтверждение операции потеряно, сначала сверяйте фактическое состояние и журналы, а не запускайте публикацию повторно вслепую.

Для небольшого проекта полезен короткий релизный журнал: исходный идентификатор, артефакт, хеш, проверенные маршруты, база до и после, результат визуального осмотра, откат и ответственный. Такой журнал не превращает выпуск в бюрократию: он отвечает на практический вопрос «что именно мы выложили и как вернуть рабочее состояние». Публикация считается выполненной только после проверки публичного адреса, а не после копирования файлов в удалённую папку.
Что проверить перед запуском: функции, мобильный экран и безопасность
Начните с функционального прохода в роли обычного посетителя. Откройте главную и несколько внутренних страниц, пройдите меню, хлебные крошки, поиск, карточки, формы и ссылки на документы. Проверьте ответ сервера, редиректы, отсутствие случайного тестового домена, правильность языка и даты. Убедитесь, что сообщение об ошибке не раскрывает стек, SQL-запрос или секрет. Проверьте страницу после очистки кеша и в приватном окне, чтобы не принять локальную авторизацию за публичную доступность.
Повторите проход на телефоне и на широком экране. Измеряйте не только «красиво/некрасиво», а достижимость задачи: можно ли нажать кнопку пальцем, прочитать таблицу, закрыть модальное окно, понять ошибку и вернуться назад. Проверьте ориентацию, длинные названия, медиа, меню и формы. Если сайт рассчитан на русскоязычную аудиторию, проверьте переносы, кавычки, тире, числовые форматы и отсутствие англоязычных служебных сообщений. Состояния должны сохраняться там, где это обещано, и не сохраняться там, где это создаёт риск приватности.
Производительность проверяйте по реальному сценарию и конкретному URL. Слишком тяжёлая картинка, сторонний виджет, блокирующий скрипт и некорректное кеширование могут ухудшить первый экран. Сожмите медиа без потери смысла, задайте размеры, используйте современные форматы там, где это поддерживает окружение, и не загружайте видео до действия пользователя. Core Web Vitals помогают связать загрузку, отзывчивость и визуальную стабильность с пользовательским опытом, но один лабораторный балл не описывает весь сайт. Сравнивайте изменения до и после одной правки и сохраняйте условия теста.
Минимальный security-проход включает HTTPS, безопасные cookie и сессии, защиту форм, ограничения прав, обновление зависимостей и проверку загрузки файлов. SQL-инъекции, XSS и CSRF — не набор страшных слов, а классы ошибок, для которых есть разные меры: параметризованные запросы, экранирование и безопасный вывод, токены запроса и корректная проверка происхождения. CSP и другие заголовки должны соответствовать реальным ресурсам. Не копируйте готовую политику из случайного поста: сначала составьте список доменов и сценариев, затем включайте ограничения в тестовой среде.
Проверьте резервное копирование восстановлением. Файл с названием `backup.sql` ещё не является рабочей копией: нужно понимать, когда он создан, полон ли он, читается ли архив, где лежит, кто имеет доступ и сколько занимает изолированное восстановление. Для сайта с базой возьмите копию, восстановите её в отдельное окружение и откройте ключевой маршрут. Для статического проекта проверьте, что из архива можно собрать или развернуть версию без доступа к исходному серверу. Результат должен иметь дату, состав и ограничение проверки.

Автоматические сканеры полезны, но не выносят окончательный вердикт. Исследования сравнения accessibility-инструментов показывают, что разные средства находят разные наборы проблем, а отсутствие автоматически найденных ошибок не означает полной доступности. Добавьте ручную проверку клавиатурой, масштабом, озвучиванием или реальным пользовательским сценарием, если он важен для аудитории. То же относится к безопасности и SEO: сервис сообщает сигнал, а решение требует контекста, исходников и проверки результата.
Как подготовить SEO, индексацию и аналитику после запуска
SEO начинается с ответа на запрос, а не с повторения ключевой фразы. Сформулируйте заголовок страницы по её содержанию, короткое описание без ложного обещания, понятный URL и один основной интент. Свяжите страницы контекстными ссылками с описательным анкором; не создавайте «облако ключей». Google Search Central описывает полезный контент, title link, сниппет и каноникал как разные элементы, а не как кнопку «поднять сайт». Для русскоязычного проекта дополнительно проверяйте актуальные требования и отчёты Яндекс Вебмастера, когда доступ к ним настроен.
Проверьте техническую доступность для роботов. `robots.txt` задаёт правила обхода, но не является способом скрыть секрет или гарантированно исключить URL. XML Sitemap перечисляет адреса, которые вы считаете достойными обхода, но не обещает индексацию. В карте должны быть канонические публичные страницы с корректными ответами и датами изменения, а не тестовые, закрытые и дублирующие URL. После публикации откройте `robots.txt`, карту сайта, несколько canonical, метатеги и структурированные данные обычным запросом и через инструменты поисковой системы.
Структурированные данные помогают поисковой системе понять тип материала, но не гарантируют расширенный результат. Для статьи, организации, сайта и хлебных крошек используйте только свойства, которые видны на странице и действительно соответствуют содержанию. Не размечайте вымышленные оценки, цены, автора и даты, не дублируйте конфликтующие сущности и проверяйте JSON-LD валидатором. Схема не заменяет заголовок, текст, навигацию и опыт пользователя.
Подключение аналитики — это настройка измерения, а не доказательство роста. Сначала определите событие: отправленная форма, завершённый заказ, переход в нужный раздел или скачивание согласованного файла. Затем проверьте один реальный тестовый сценарий, отсутствие дублей при обновлении и корректность источника, устройства, часового пояса и периода. Тестовые данные не должны портить рабочую отчётность. Храните согласие и политику обработки там, где они необходимы, и не отправляйте в аналитическую систему пароль, полный текст обращения или лишние персональные данные.
После публикации отделяйте состояния: сайт выложен, URL отвечает, робот получил страницу, URL переобошёлся, страница проиндексирована, запросы и конверсии измеряются. Между этими событиями есть задержка, а отчёты используют разные определения и периоды. Запись «страница опубликована» не подтверждает позицию, трафик или продажи. Сохраните дату отправки sitemap и текущий readback, а затем наблюдайте ровно тот показатель, ради которого создавали страницу. Если индексация или сбор данных не подтверждены, так и укажите в отчёте.

Контентный сайт стоит развивать сериями, а не десятками похожих страниц. Для каждой новой статьи фиксируйте запрос, аудиторию, источники, дату проверки, внутренние ссылки, изображения и следующий полезный шаг. Wordstat помогает увидеть формулировки спроса, но число показов не является доказательством качества темы и не складывается механически из всех связанных строк. Спрос может измениться, поэтому срез сохраняют вместе с регионом, периодом, устройствами и настройками выборки.
Частые ошибки и понятный маршрут поддержки
Ошибка «сначала дизайн, потом содержание» оставляет красивую оболочку без ответа. Ошибка «сделаем всё нейросетью» добавляет выдуманные факты, повторяющиеся блоки и непроверенную разметку. Ошибка «поставим все плагины» увеличивает поверхность обновлений. Ошибка «домен и резервная копия у подрядчика» лишает владельца контроля. Ошибка «одна проверка на ноутбуке» не обнаруживает проблемы на телефоне, клавиатуре, медленном соединении и в реальной форме. Эти проблемы исправляются не новым шаблоном, а изменением процесса: цель, источник, владелец, проверка, журнал и откат должны быть видны заранее.
Составьте календарь обслуживания. Раз в неделю или по критичному событию проверяйте доступность, ключевую форму, срок домена и сертификата, свободное место, резервную копию и последние ошибки. Перед обновлением делайте копию и записывайте версию; после — проходите smoke-тест по ключевым маршрутам. Раз в месяц пересматривайте лишние аккаунты, расширения, сторонние скрипты и доступы. Периодичность зависит от риска и нагрузки: личный статический сайт и магазин с платежами не должны жить по одному регламенту.
Когда проект растёт, отделяйте контентные изменения от инфраструктурных. Новая статья не должна случайно менять схему базы, версию runtime или глобальные CSS-токены. Большой редизайн не является необходимым следствием публикации материала: сначала проверьте, что текущий интерфейс нарушает конкретную задачу, затем привязывайте изменение к референсу и проверяйте маршруты. Для общего сайта полезно вести список маршрутов, владельцев и зависимостей, чтобы не сломать соседний раздел во время локальной доработки.
Для первого сайта достаточно такого маршрута:
- Опишите задачу, аудиторию, контент и критерии запуска.
- Сравните конструктор, CMS и код по обслуживанию, переносу, данным и ответственности.
- Зарегистрируйте домен на владельца проекта, настройте хостинг, DNS и HTTPS.
- Соберите карту сайта, тексты, семантическую разметку, формы и мобильный сценарий.
- Закрепите версии, отделите секреты, создайте резервную копию и проверяемый артефакт.
- Проведите функциональный, визуальный, accessibility-, performance- и security-проход.
- Опубликуйте, проверьте публичный URL, robots.txt, sitemap, метатеги и аналитику.
- Запишите результат и продолжайте наблюдать только те метрики, которые связаны с задачей.
Если проект не проходит один из шагов, это не повод маскировать пробел словами «сайт уже готов». Отложите необязательную функцию, сохраните работающую версию и исправьте конкретный блокер. Профессиональный запуск — это не максимальное количество технологий, а понятная граница ответственности и возможность доказать, что заявленный пользовательский сценарий действительно работает.

JavaScript, CMS, контейнеры, CDN и AI-инструменты могут ускорить работу, но ни один инструмент не принимает за владельца решения о контенте, доступах, резервных копиях и риске. Используйте автоматизацию для повторяемой операции, а не для отмены проверки. Просматривайте сгенерированный код и текст, сверяйте зависимости с официальными источниками и удаляйте неиспользуемое. Если вам нельзя объяснить, откуда взялся блок и как его удалить, он ещё не готов к публичной странице.





Комментарии
Загружаем обсуждение.