Пупупу. Возможно, каждый из нас хотел иметь свой сайт (например, блог). Возможно, некоторые даже поднимали свои сайты на бесплатных хостингах по типу InfinityFree. Но, во первых, это слишком подозрительный сайт: он требует включённый javascript и куки. А во вторых - это слишком легко.
На самом деле, это скорее моя история, чем туториал.
Весь интернет - громко сказно, мы лишь добавляем в поисковой вывод
Составные сайта
Для начала нужно понять то, что нам надо для сайта. Каждому сайту для полноценной работы нужно иметь сервер (хостинг). На нём расположены все данные страницы. К серверу можно обратиться по ip. Однако, когда вы заходите на сайт вы пишите не 123.456.789.101, а github.com. Это имя (github.com) является доменным именем (доменом), к которому привязывается IP. За домены ежегодно нужно платить определённую сумму, но нам это не подходит. Мы не такие.
Если хочется красивый домен, а денег нет - на помощь приходит субдомен (домен третьего уровня). Это то, что пишется перед доменным именем:

Некоторые компании (такие как Github) выдают субдомены бесплатно. По моему мнению, .github.io - слишком длинное имя, поэтому мы получим другое. Лично я буду использовать freedomain.one, они имеют красивые имена и достаточно быстро вносят изменения. Регистрация домена у них доступна прямо на главной странице.
Допустим, мы получили доменное имя, что дальше? Сразу после регистрации с ним ничего не происходит: домен никуда не ведёт, ведь он не привязан к конкретному IP cервера.
Получение сервера
Как вы поняли, сайт не может работать без хостинга. Многие сайты предлагают свои усл��ги бесплатно или с пробным периодом, но я выбрал Github. Кроме бесплатного хостинга, они могут сильно помочь с получением SSL-сертификата. SSL-сертификат обеспечивает безопасность вашего сайта от воровства/подмены данных пользователей с помощью шифрования, но об этом как-нибудь в другой раз. Просто нужно запомнить, что оно нам надо.
Чтобы получить хостинг гитхаба нужно:
1. Зарегестировать аккаунт на Github.com
2. Создать новый публичный проект, куда загрузить страницы и данные сайта

3. Перейти в Settings/Pages
4. Нажимаем Publish Site. Если в репозитрии появился CNAME, то вы всё делаете правильно
5. В README.md добавьте запись /ссылка_на_файл (у меня - /index.html)
6. Перейдите по ссылке из Settings/Pages. Если открылся ваш файл, то всё правильно.
Привязываем домен к нашему Github Pages
С доменом разобрались, с хостингом тоже. Теперь нужно связать их воедино.
Заходим на страницу регистратора, где нажимаем Edit DNS. Добавляем следующие IP:
185.199.109.153 185.199.110.153 185.199.111.153 185.199.108.153
Далее переходим в наш github и к Settings/Pages и добаляем домен в Custom Domain.
Важно, но не обязательно, включить Enforce HTTPS - это добавит SSL сертификат на сервер. Через ±15 минут по нашему домену будет доступен наш сайт.
Добавление в поисковые системы
Мы сделали сайт но сейчас его невозможно найти в поиске. Предлагаю исправить.
Самые популярные поисковые системы, такие какие Google, Bing и Яндекс требуют добавления своего сайта вручную через консоль/вебмастер. Рекомендую делать Bing последним, ибо его подтверждение легче всего сделать через подтверждение в Google.
Добавление в Google
Для добавления в поисковою выдачу Google нужно зайти в консоль поиска. После ввода домена гугл потребует подтверждения. Я сдедал это через CNAME Record. Гугл выдал специальную строку, после создания CNAME-записи вида строка.домен он подтвердил домен и начал индексацию страниц.
Добавление в Bing
Добавление в Bing автоматически добавит домен в DuckDuckGo и прочие поисковики, пользующиеся базой данных от Microsoft.
Сразу после подтверждения можно перейти в вебмастер Bing и подтвердить через Google домен там. Он тоже начнёт процесс индексации.
Добавление в Яндекс
Переходим в Яндекс Вебмастер. Пишем ссылку (домен) на наш сайт и нажимаем "Метатег"
После этого, на нашу страрицу в <head> необходимо добавить выданный метатег:
<meta name="yandex-verification" content="ваш контент" />
После этого Яндекс привяжет домен к вам и начнёт индексацию