Аутентификация (от греч. αὐθεντικός — подлинный) — процесс проверки подлинности пользователя или программы: подтверждение того, что субъект является именно тем, за кого себя выдаёт. В контексте веб-сайтов аутентификация — это вход в систему: пользователь предоставляет учётные данные (логин и пароль, токен, биометрию), система проверяет их соответствие хранимым данным и предоставляет доступ.
В SEO аутентификация важна тем, что она разделяет контент на публичный (для всех, включая поисковых роботов) и приватный (только для авторизованных пользователей). Контент за аутентификацией не индексируется поисковиками.
Методы аутентификации
- Логин + пароль — классический и наиболее распространённый метод. Пароль должен храниться в виде хеша (bcrypt, argon2), не в открытом виде.
- Двухфакторная аутентификация (2FA) — дополнительный код из SMS, приложения-аутентификатора (Google Authenticator) или аппаратного ключа (YubiKey). Значительно повышает безопасность.
- OAuth / OpenID Connect — вход через сторонние сервисы (Google, VKontakte, Mail.ru). Пользователь не создаёт отдельный пароль.
- HTTP Basic Authentication — простейшая защита на уровне сервера (Nginx/Apache). Браузер запрашивает логин/пароль до отображения страницы. Часто используется для закрытия dev-окружений и staging-сайтов от индексации.
- JWT (JSON Web Token) — токен-based аутентификация для API. Используется в современных SPA и мобильных приложениях.
Аутентификация и SEO
- HTTP Basic Auth и Googlebot — если страница закрыта HTTP Basic Auth, Googlebot не может её обойти (не имеет логина/пароля). Страница не будет проиндексирована. Это используется для защиты staging-серверов: предотвращает случайную индексацию тестового контента.
- Контент за логином — подписные сервисы, личные кабинеты, платный контент не индексируются. Если нужна индексация части контента (для привлечения трафика), используйте «меtered paywall» — показывайте бесплатный превью для неавторизованных пользователей.
- Crawl Budget — страницы входа (/login/, /signin/) не должны быть доступны для краулинга — закройте их через robots.txt или noindex.
Защита CMS от несанкционированного доступа
Для WordPress и других CMS защита административного раздела критична: /wp-admin/, /wp-login.php — цели для брутфорс-атак. Рекомендации: смените стандартный URL входа, установите ограничение попыток входа (Limit Login Attempts), используйте 2FA для администраторов, закройте /wp-admin/ через .htaccess по IP-адресу.
Часто задаваемые вопросы
Можно ли предоставить Googlebot доступ к закрытому паролем контенту?
Технически — нет стандартного механизма. Google официально рекомендует: для платного контента (paywalled content) используйте разметку Schema.org с типом Paywall, показывайте Google такой же контент, что реальным пользователям (не открывать для бота полный контент, закрытый для обычных пользователей — это клоакинг). «Metered paywall» — показать N бесплатных статей — допустимый вариант: бот видит то, что видят незарегистрированные пользователи.
Как закрыть staging-сайт от индексации?
Три надёжных способа: 1) HTTP Basic Auth — самый простой. Googlebot не знает пароля и не индексирует. 2) Robots.txt: User-agent: * — «вежливая» блокировка. Надёжна для добросовестных ботов, но сам robots.txt публично виден. 3) Блокировка по IP в .htaccess — разрешить доступ только вашим IP. 4) noindex meta tag — даст сигнал не индексировать, но бот всё равно будет заходить на сайт. Комбинируйте HTTP Basic Auth + robots.txt для надёжной защиты.
Disallow: /
Влияет ли страница входа на SEO основного сайта?
Страница /login/ или /auth/ сама по себе SEO-ценности не имеет. Рекомендуется добавить <meta name="robots" content="noindex"> и закрыть её через robots.txt. Это экономит краулинговый бюджет и не засоряет индекс. Также убедитесь, что при переходе по ссылкам внутри личного кабинета неавторизованный пользователь (и бот) перенаправляется на страницу входа, а не получает 404 или пустую страницу.
Что такое «меченый» вход для SEO (Google News и paywalls)?
Google поддерживает «metered paywall» (дозированный доступ): сайт показывает определённое количество статей бесплатно до требования регистрации. Google видит тот же контент, что незарегистрированный пользователь. Для этого применяется: 1) JavaScript-ограничение (отключение доступа после N просмотров через cookie/localStorage) — бот без сессии видит полный текст; 2) Разметка Schema.org NewsArticle + isAccessibleForFree + hasPart с типом WebPageElement. Google рекомендует именно этот подход для новостных и медийных сайтов с paywall.