Как исправить сайт, помеченный Google как «Небезопасный» (Not Secure)

本文作者:Don jiang

Когда ваш сайт внезапно помечен Google как «небезопасный», и посетители видят всплывающее предупреждение при попытке войти в систему или оплатить, более 63% пользователей сразу закроют страницу, что приведет к потере трафика и резкому снижению доверия к бренду!

В этой статье предоставлены практические решения, которые можно реализовать без необходимости в профессиональных разработчиках, и ваш сайт будет безопасным снова в течение 2 часов!

Как исправить проблему с пометкой 'небезопасно' в Google

Table of Contens

Почему ваш сайт помечен как “небезопасный”?

С 2018 года Google требует, чтобы все страницы, содержащие ввод пользователя (например, логин, оплата, формы), были защищены сертификатом SSL, в противном случае страница будет помечена как небезопасная.

Более сложная проблема заключается в том, что даже если вы уже установили SSL-сертификат, HTTPS может перестать работать, если сертификат истек (например, если бесплатный сертификат не был обновлен через 3 месяца), домен не совпадает (если основной сайт использует домен с www, а сертификат привязан к версии без www), или если на странице используются ссылки HTTP (например, при вызове внешних рекламных кодов).

Протокол HTTP — это «голый» передача данных

Один онлайн-магазин сети розничных магазинов пострадал, когда не был включен HTTPS, и данные регистрации пользователей были перехвачены хакером. Техническая команда выяснила, что злоумышленник использовал публичный Wi-Fi и с помощью инструмента Wireshark за 5 минут перехватил более 200 паролей в открытом виде.

Основная проблема:

  • В протоколе HTTP все данные (пароли, платежная информация) передаются в открытом виде.
  • Страницы без шифрования имеют в 3,6 раза больше шансов быть изменены, чем страницы с HTTPS (данные: отчет по безопасности Sucuri 2024 года).
  • Google снижает вес HTTP-страниц в рейтинге поиска на 15%-20% (данные экспериментов SEMrush).

«Смертельные» детали SSL-сертификата

Во время распродаж в 2023 году один сайт электронной торговли пострадал, когда его страница оплаты была заблокирована браузером из-за истекшего SSL-сертификата, что привело к потере 370,000 юаней от заказов.

  1. Сертификат истек: бесплатные сертификаты (например, Let’s Encrypt) требуют продления каждые 90 дней, если не обновить, сертификат становится недействительным.
  2. Несоответствие домена: сертификат привязан к domain.com, но при доступе к www.domain.com появляется предупреждение.
  3. Отсутствие промежуточного сертификата: особенно чувствительны устройства на Android, что вызывает ошибку “незавершенная цепочка сертификатов”.

Текущая ситуация в отрасли: 43% сайтов с HTTPS все еще имеют ошибки в настройках сертификатов (данные SSL Labs 2024).

Смешанный контент: “Одна испорченная мышь портит всю кастрюлю”

Один администратор WordPress сообщил: «Я установил SSL-сертификат, но сайт все равно отображается как небезопасный!» В конце концов, было обнаружено, что изображения с HTTP-ссылками в теме загрязняли всю страницу.

Часто встречающиеся ситуации:

  • Изображения в старых статьях с внешними HTTP-ссылками (например, http://image.com/1.jpg).
  • Использование сторонними плагинами интерфейсов, не поддерживающих HTTPS (например, всплывающие окна чата, рекламные коды).
  • Жестко закодированные HTTP-ссылки в базе данных.

Инструменты для самопроверки:

  • Нажмите F12 в Chrome → Консоль (Console), чтобы увидеть конкретные ошибки.
  • Используйте SSL Checker для проверки целостности сертификата.

Скрытые угрозы: Региональный перехват трафика

Некоторые местные операторы связи могут перехватывать HTTP-трафик, вставляя рекламу или перенаправления. Например, один из клиентов в провинции Юньнань сообщил, что на его сайте автоматически появляются рекламные баннеры о ставках, что на самом деле было вызвано перехватом трафика со стороны местного провайдера.

Эта проблема активирует механизм безопасности браузера, заставляя пользователей думать, что это действие сайта, что приводит к увеличению жалоб на 280% (данные: база данных кейсов ZhanZhangZhiJia).

Как быстро подать заявку на бесплатный SSL-сертификат (3 метода)

“Установка SSL требует настройки сервера? Слишком дорогая?” — Это недоразумение, которое заставляет 90% владельцев малых и средних сайтов отказаться от устранения предупреждений «небезопасный».

На самом деле, более 430 миллионов сайтов в мире уже используют бесплатные SSL-решения (данные BuiltWith), включая такие гиганты, как Amazon и WordPress.

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

1. Установка с одним кликом через панель управления хостингом (лучше всего для новичков)

Подходящий сценарий: Пользователи виртуального хостинга / облачных серверов (например, Alibaba Cloud, Tencent Cloud, SiteGround)
Шаги выполнения

  1. Войдите в панель управления хостингом и найдите раздел “SSL/TLS” или “Безопасность”
  2. Выберите “Бесплатный сертификат”, отметьте домены, которые вы хотите зашифровать (поддерживается пакетная обработка)
  3. Нажмите “Развернуть”, подождите 3-5 минут, чтобы сертификат был активирован автоматически

Успех:98% (основные хостинг-платформы Китая уже установили совместимую среду)

Преимущества:Нет технических сложностей, автоматическое обновление, вероятность ошибок близка к нулю

Что стоит избегать

  • Некоторые хостинг-платформы ограничивают количество бесплатных сертификатов (например, West Digital предоставляет только один)
  • Убедитесь, что DNS-анализ связан с текущим IP-адресом хоста

2. Let’s Encrypt + Certbot (рекомендуется разработчиками)

Подходит для:Собственные серверы (например, Nginx/Apache), управление несколькими доменами

Пример испытания:Блог с более чем 100,000 посещений в день, зашифровал 100 поддоменов за 3 минуты с помощью командной строки

Процесс выполнения

bash
# Установите Certbot (пример для Ubuntu + Nginx)
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

# Запросите и настройте сертификат автоматически (замените yourdomain.com)
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

# Включите автоматическое обновление (срок действия сертификата 90 дней)
sudo certbot renew --dry-run

Успех:92% (зависит от конфигурации сервера)

Решение распространенных ошибок

  • Failed to connect to host for DVSNI challenge → Проверьте, открыты ли порты 80/443 в файрволе
  • The server experienced an internal error → Разрешение DNS еще не вступило в силу, подождите обновления DNS

3. CDN-сервис с HTTPS (ускорение трафика + шифрование одновременно)

Поддерживаемые платформы:Cloudflare, Baidu Cloud Accelerator, Tencent Cloud CDN

Объяснение процессов (пример с Cloudflare)

  1. Зарегистрируйтесь и добавьте домен сайта
  2. На странице “SSL/TLS” выберите режим “Гибкий” (принудительное использование HTTPS на всем сайте)
  3. Активируйте “Всегда использовать HTTPS” и “Автоматическое перезаписывание HTTPS”

Время активации:Мгновенно (активировано на всех глобальных узлах)

Основные преимущества

  • Нет необходимости устанавливать сертификат на исходный сервер, узлы CDN автоматически шифруют данные
  • Совместимость с устаревшими HTTP-серверами, решает проблему смешанного контента
  • Бесплатная поддержка сертификатов для доменов с поддоменами (*.domain.com)

Решение проблем

ОграниченияЗатронутый доменРешение
Короткий срок действияLet’s Encrypt действует только 90 днейНастройте автоматическое обновление (задание cron)
Проверка только прав на доменНазвание компании не отображается в адресной строкеКомпания может обновить сертификат до OV (от ¥300/год)
Ограничение для одного доменаНекоторые хостинг-платформы ограничивают количество доменовИспользуйте сертификат для доменов с поддоменами (*.domain.com)

Проблемы с “смешанным контентом”, которые следует проверить

“Почему мой сайт все еще отображается как небезопасный, несмотря на установку SSL-сертификата?” — это самая большая проблема для 78% вебмастеров после настройки HTTPS (Источник: SSL Labs).

Основная причина — это “смешанный контент” (Mixed Content), это как капля чернил в стакане чистой воды, и весь процесс шифрования страницы нарушается.

1. Фатальное воздействие смешанного контента

  • Потеря доверия пользователей : Даже если сайт безопасен, браузер по-прежнему будет показывать желтое предупреждение (после обновления Chrome до версии 94, предупреждение стало красным)
  • Не работают некоторые функции : Некоторые браузеры блокируют HTTP-ресурсы (например, не загружаются изображения или возникают ошибки в JavaScript)
  • SEO-штраф : Google классифицирует страницы с смешанным контентом как “частично безопасные”, что приводит к снижению рейтинга в поиске на 11%-15% (экспериментальные данные из Ahrefs)

2. Найдите проблему за 3 минуты

Метод 1: Инструменты разработчика Chrome

  1. Abre el sitio web y presiona F12 para acceder a las herramientas de desarrollo
  2. Cambia a la pestaña de Consola para ver los errores en rojo
  3. Haz clic en el enlace dentro del mensaje de error para ir directamente a la pestaña de Fuentes y ubicar el código problemático

Método 2: Herramientas de escaneo de terceros

  • Why No Padlock: Introduce la URL y en 5 segundos genera una lista de recursos contaminados
  • Jitbit SSL Check: Escaneo profundo de enlaces incrustados en CSS/JS

Método 3: Búsqueda global en la base de datos

Para sistemas de construcción de sitios como WordPress/Shopify, es necesario revisar el contenido histórico en la base de datos:

sql
-- Buscar enlaces HTTP (reemplazar your_db_prefix con el prefijo real de la tabla)
SELECT * FROM your_db_prefix_posts
WHERE post_content LIKE '%http://%' AND post_status='publish';  

3. Fuentes comunes de contaminación y soluciones

Tipo de problemaProporciónEscenarios típicosSolución definitiva
Enlaces externos de imágenes52%Imágenes subidas antes de 2018Descargar imágenes → Subir a CDN del sitio
Código de terceros23%Ventanas emergentes de soporte, scripts de redes de publicidadContactar al proveedor para obtener la versión HTTPS del código
Temas/Complementos17%Bibliotecas de fuentes de temas antiguos, solicitudes AJAXActualizar complementos o reemplazar manualmente http:// por //
Código duro en la base de datos8%Enlaces de video insertados manualmente en las páginas de detalles del productoReemplazar datos SQL por lotes (usar complementos para mayor seguridad)

4. Estrategia de defensa permanente contra el contenido mixto

  • Enlaces relativos de protocolo: Cambiar http://example.com/image.jpg a //example.com/image.jpg
  • Política de seguridad de contenido (CSP): Agregar esto a la configuración de Nginx/Apache:
nginx
add_header Content-Security-Policy "upgrade-insecure-requests";  

Redirección forzada de todo el sitio a HTTPS (ejemplo de código)

“¿Por qué después de instalar el certificado, los usuarios aún pueden acceder a la versión HTTP?” — Esta es la vulnerabilidad más fatal después de corregir el contenido mixto.

Un sitio de comercio electrónico para madres y niños sufrió una caída del 30% en el ranking de búsqueda porque no configuró redirección forzada, lo que causó que el 40% de los usuarios móviles siguieran accediendo a las páginas a través de enlaces HTTP antiguos, lo que provocó una nueva captura por parte de Google.

La lógica central de la redirección forzada es: interceptar todas las solicitudes HTTP y redirigirlas permanentemente a HTTPS con un estado 301.

1. Plantilla de código genérica (compatible con Apache/Nginx/IIS)

Servidor Apache (.htaccess)

apache
RewriteEngine On  
# Принудительный редирект на основной сайт  
RewriteCond %{HTTPS} !=on  
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]  
# Исправление использования www и не-www  
RewriteCond %{HTTP_HOST} !^www\. [NC]  
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]  

Сценарии использования: виртуальные хостинги, WordPress, Joomla и другие PHP-сайты
Руководство по избеганию ошибок:

  • Убедитесь, что на сервере включен модуль mod_rewrite
  • Файл должен быть загружен в корневой каталог сайта
  • Если редирект не работает, проверьте наличие конфликтов между несколькими файлами .htaccess

Сервер Nginx (раздел конфигурации nginx.conf)

nginx
server {  
    listen 80;  
    server_name example.com www.example.com;  
    # Редирект 301 для всего сайта  
    return 301 https://$server_name$request_uri;  
    # Блокировка ненужных HTTP-методов  
    if ($request_method !~ ^(GET|HEAD|POST)$ ) {  
        return 444;  
    }  
}  

Советы по отладке:

  • После внесения изменений выполните команду nginx -t для проверки синтаксиса конфигурации
  • Перезагрузите конфигурацию: nginx -s reload
  • Заблокируйте ненужные HTTP-методы для предотвращения утечек данных

Сервер Windows IIS (правило web.config)

xml
<configuration>  
  <system.webServer>  
    <rewrite>  
      <rules>  
        <rule name="Принудительный HTTPS" stopProcessing="true">
<match url="(.*)" />  
<conditions>  
  <add input="{HTTPS}" pattern="^OFF$" />  
</conditions>  
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />  
</rule>  
</rules>  
</rewrite>  
</system.webServer>  
</configuration>  

Общие ошибки

  • Модуль “URL Rewrite” не установлен в IIS → Официальная ссылка для загрузки
  • Ошибка кодирования путей на китайском языке → Добавьте encode="false" в правило

2. Специальные решения для CMS

Пользователи WordPress

  1. Войдите в панель администратора → Настройки → Общие
  2. Измените Адрес WordPress и Адрес сайта с http:// на https://
  3. Установите плагин Really Simple SSL → Одна кнопка для исправления смешанного контента в базе данных

Shopify/Laravel и другие фреймворки
Принудительное использование HTTPS в файле переменных окружения (.env) :

bash
APP_URL=https://www.example.com  
FORCE_SSL=true  
SESSION_SECURE_COOKIE=true  

3. Особая обработка для мобильных устройств (AMP/WeChat браузер)

  • Переход со страницы AMP: В AMP HTML добавьте
  • Проблема кэширования в WeChat: Добавьте случайный параметр в конец URL, например ?v=2024, чтобы принудительно обновить HTTPS-версию

4. Как проверить, работает ли переадресация

Проверка в браузере

  • Перейдите по адресу http://example.com → строка адреса должна автоматически измениться на https://
  • Убедитесь, что замочек рядом с адресом зелёный

Проверка через командную строку

bash
curl -I http://example.com
# В правильном ответе должно быть:  
# HTTP/1.1 301 Moved Permanently  
# Location: https://example.com  

Онлайн-инструменты для проверки

  1. Redirect Checker
  2. Varvy SSL Test

Предупреждение об ошибках

Неправильная конфигурация → бесконечные переадресации (ERR_TOO_MANY_REDIRECTS)
Частые причины:
1. CDN тоже включает HTTPS-переадресацию (конфликт с настройками сервера)
2. Балансировщик нагрузки не передаёт заголовок протокола
Решение:
Добавьте в конфигурацию Nginx:
proxy_set_header X-Forwarded-Proto $scheme;  

Принципы SEO-безопасной переадресации

  • Используйте 301-переадресацию по всему сайту (постоянная переадресация), 100% передача веса
  • Избегайте цепочек переадресаций (например http→http://www→https), максимум допустим один переход
  • Добавьте HTTPS-карту сайта в Google Search Console

С 2018 года Google постепенно учитывает наличие HTTPS при ранжировании в поиске. Сайты без шифрования ежегодно теряют в среднем 12%-15% трафика, и эта тенденция усиливается по мере роста осведомлённости пользователей о безопасности.

Picture of Don Jiang
Don Jiang

SEO本质是资源竞争,为搜索引擎用户提供实用性价值,关注我,带您上顶楼看透谷歌排名的底层算法。

最新解读