{}const=>[]async()letfn</>var
WebПрактикаОсновы

Как бесплатно опубликовать HTML-сайт на GitHub Pages

Подготовим index.html, загрузим проект в GitHub, включим Pages из ветки main и получим публичную ссылку. В конце исправим 404 и пропавшие стили.

К

Кодик

Автор

6 мин чтения

Чтобы бесплатно опубликовать HTML-сайт, загрузите файлы в публичный репозиторий GitHub, откройте Settings, Pages и выберите Deploy from a branch, main и /(root). Ниже соберём минимальный сайт, получим публичную ссылку и разберём 404, пропавшие стили и задержку обновления.

Для первого сайта не нужен платный сервер. GitHub Pages берёт статические файлы из репозитория и раздаёт их как обычную веб-страницу. Такой способ подходит для портфолио, учебного лендинга, документации и небольшого проекта на HTML, CSS и JavaScript.

1Подготовить файлы

Положить index.html, style.css и изображения в понятные папки.

2Загрузить в GitHub

Создать публичный репозиторий и добавить в него весь проект.

3Включить Pages

Выбрать ветку main и папку /(root), затем открыть готовую ссылку.

Что именно публикует GitHub Pages

GitHub Pages работает со статическими файлами. Браузер получает готовые HTML, CSS, JavaScript, изображения и шрифты. Серверного кода, базы данных и секретного хранилища здесь нет. Поэтому токены, пароли и ключи API нельзя добавлять в репозиторий или JavaScript: посетитель сможет их увидеть.

ПроектПодойдёт PagesПочему
Портфолио на HTML и CSSДаВсе файлы можно отдать браузеру как есть
Лендинг с кнопками на JavaScriptДаКлиентский JavaScript выполняется в браузере
Сайт на React или VueДа, после сборкиНужно публиковать готовую папку build или dist
PHP, Node.js или база данныхНетPages не запускает серверные процессы
Форма с секретным ключомНет напрямуюСекрет нельзя безопасно хранить в коде страницы
Что получится

Для репозитория my-site страница обычно открывается по адресу https://USERNAME.github.io/my-site/. Вместо USERNAME будет ваш логин GitHub.

Схема публикации сайта от локальных файлов через репозиторий GitHub к публичной ссылке GitHub Pages
GitHub хранит исходные файлы, а Pages превращает выбранную ветку и папку в публичный сайт.

🔥 100 000+ учеников уже с нами

Устал читать теорию?
Пора кодить!

Кодик — приложение, где ты учишься программировать через практику. AI-наставник, интерактивные уроки, реальные проекты.

🤖 AI 24/7
🎓 Сертификаты
💰 Бесплатно
🚀 Начать учиться
Присоединились сегодня

Как подготовить файлы сайта

GitHub Pages ищет входной файл в верхнем уровне выбранной папки публикации. Для обычного HTML-проекта назовите его index.html. Имя пишется маленькими буквами, без пробелов. Рядом можно держать таблицу стилей, скрипт и папку с изображениями.

Соберите минимальный проект
  1. Создайте пустую папку my-site на компьютере.
  2. Внутри создайте файл index.html. Проверьте, что система не добавила скрытое расширение .txt.
  3. Вставьте код ниже, сохраните файл и откройте его двойным кликом в браузере.
  4. Убедитесь, что появился заголовок, текст и синяя кнопка. Только после этого переходите к GitHub.
<!doctype html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Мой первый сайт</title>
  <style>
    body {
      max-width: 720px;
      margin: 80px auto;
      padding: 0 24px;
      font-family: Arial, sans-serif;
      color: #171a3f;
    }

    a {
      display: inline-block;
      padding: 12px 18px;
      border-radius: 12px;
      color: white;
      background: #5362ee;
      text-decoration: none;
    }
  </style>
</head>
<body>
  <h1>Сайт опубликован</h1>
  <p>GitHub Pages работает.</p>
  <a href="https://github.com">Открыть GitHub</a>
</body>
</html>
Локальная проверка
  • В адресной строке браузера открыт локальный файл index.html.
  • Русский текст отображается без странных символов благодаря UTF-8.
  • На узком окне страница не выходит за экран благодаря тегу viewport.

Сравнение правильной структуры репозитория с index.html в корне и ошибочной структурой с лишней вложенной папкой
Если источником выбран /(root), файл index.html должен лежать прямо в корне репозитория, а не внутри второй папки my-site.

Этап пройден. Файл называется ровно index.html, открывается локально и лежит рядом с остальными файлами проекта.

Как создать репозиторий и загрузить сайт

Войдите в GitHub, нажмите New repository и придумайте имя, например my-site. На бесплатном тарифе для этого сценария выберите Public. Не загружайте в репозиторий пароли, токены, файл .env и личные данные. После создания откройте Add file, Upload files и перетащите содержимое папки проекта.

Загрузка без терминала
  1. Создайте репозиторий my-site с видимостью Public.
  2. Нажмите Add file, затем Upload files.
  3. Перетащите сам index.html и остальные файлы, а не внешнюю папку целиком.
  4. В поле сообщения напишите Add first site и нажмите Commit changes.
  5. Вернитесь на вкладку Code и убедитесь, что index.html виден в первом уровне списка.

Если Git уже знаком, тот же результат можно получить из терминала. Команды ниже создают локальный репозиторий, связывают его с GitHub и отправляют ветку main. Замените USERNAME и адрес репозитория своими значениями.

git init
git add .
git commit -m "Add first site"
git branch -M main
git remote add origin https://github.com/USERNAME/my-site.git
git push -u origin main
Оба способа равноправны

Pages публикует содержимое репозитория. Неважно, загрузили вы файлы через браузер или отправили командой git push. Для следующих обновлений удобнее Git, потому что он сохраняет историю изменений.

Если команды пока незнакомы, начните с курса Git в Кодике. А структуру самой страницы можно закрепить в курсе HTML: эти две темы вместе покрывают весь путь от файла до публичной ссылки.

Как включить GitHub Pages и получить ссылку

Теперь укажем GitHub, откуда брать сайт. Откройте репозиторий, перейдите в Settings и выберите Pages в боковом меню. В блоке Build and deployment оставьте простой режим публикации из ветки. Он не требует отдельного workflow и подходит для готовых статических файлов.

Настройте источник публикации
  1. В поле Source выберите Deploy from a branch.
  2. В списке веток выберите main.
  3. В списке папок выберите /(root) и нажмите Save.
  4. Подождите завершения запуска на вкладке Actions или вернитесь в Settings, Pages.
  5. Нажмите Visit site. Первая публикация и последующие изменения могут появиться не мгновенно.

Последовательность настройки GitHub Pages: Settings, Pages, Deploy from a branch, main, root и готовый сайт
После каждого commit в выбранную ветку GitHub запускает новое развёртывание и обновляет публичную версию.

Проверьте правильный адрес

Для проекта используется путь с именем репозитория: USERNAME.github.io/my-site/. Адрес без /my-site/ относится к отдельному пользовательскому сайту, чей репозиторий должен называться USERNAME.github.io.

Почему сайт не открывается или выглядит сломанным

Сначала откройте Settings, Pages и вкладку Actions. Если развёртывание ещё выполняется, дождитесь зелёной отметки. Если оно завершилось, но страница показывает 404 или стили пропали, проверьте входной файл и пути. На сервере регистр букв важен: Logo.png и logo.png считаются разными файлами.

404 на главной

В выбранном источнике нет index.html верхнего уровня. Переместите файл в корень или поменяйте папку публикации.

Нет CSS или картинок

Путь начинается с / и ведёт от домена, а сайт живёт внутри /my-site/. Для файлов проекта используйте относительные пути вроде ./style.css и ./images/logo.png.

Изменения не появились

Commit отправлен не в ветку main, развёртывание ещё идёт или браузер показывает кеш. Проверьте Actions и обновите страницу без кеша.

Settings не видно

Нужны права администратора или maintainer на репозиторий. В чужом проекте раздел Pages может быть недоступен.

Чек-лист готового сайта. Репозиторий публичный, index.html лежит в корне, Pages смотрит на main и /(root), запуск Actions зелёный, а ссылка открывается в режиме инкогнито.
Короткие ответы
Можно ли бесплатно разместить сайт на GitHub Pages?

Да. На GitHub Free Pages доступен для публичных репозиториев. Этого достаточно для учебного статического сайта на HTML, CSS и JavaScript.

Какой файл открывает GitHub Pages первым?

Для обычного HTML-сайта используйте index.html в верхнем уровне выбранной папки публикации, например в /(root).

Почему адрес содержит имя репозитория?

Это project site. Его стандартный адрес выглядит как USERNAME.github.io/REPOSITORY/. Адрес без имени проекта получают через отдельный репозиторий USERNAME.github.io.

Можно ли запустить PHP или Node.js на GitHub Pages?

Нет. GitHub Pages раздаёт статические файлы и не запускает серверный процесс. Для PHP, Node.js и базы данных нужен другой хостинг.

Сколько ждать публикацию GitHub Pages?

Обычно сайт появляется быстрее, но официальная документация предупреждает, что изменения могут публиковаться до 10 минут. Статус лучше смотреть на вкладке Actions.

Что сделать после первой публикации

Разберите первый сайт на HTML, CSS и JavaScript, затем приведите в порядок профиль GitHub начинающего разработчика. Если хотите обновлять проект без ручной загрузки, пригодятся первые команды Git.

Следующий практический шаг: вынести стили в style.css, подключить JavaScript и отправить новый commit. В Кодике можно пройти короткие задания по HTML и Git, чтобы повторить этот путь уже на собственном проекте.

🎯Хватит откладывать

Понравилась статья?
Пора применять на практике!

В Кодик ты не просто читаешь — ты сразу пишешь код. Теория + практика = реальный скилл.

Мгновенная практика
🧠AI объяснит код
🏆Сертификат

Без регистрации • Без карты