Google индексирует URL-адреса с другого сайта, размещенного на том же VPS.

У нас есть VPS, на котором размещены 2 веб-сайта . WebsiteA.com имеет SSL.

WebsiteB.com не имеет SSL, но Google индексирует WebsiteB.com с URL-адресами HTTPS с WebsiteA.com

Пример: https://www.websiteB.com/url-from-website-A , которого, конечно, не существует и выдает ошибку, но Google ее индексирует.

Дублирован не только один URL, но и каждый URL с веб-сайта A.

Мы полагаем, что это влияет на SEO (дублирование контента каким-то образом), потому что мы потеряли рейтинг.

Неправильная конфигурация VPS? Мы используем Ubuntu / Apache.

<VirtualHost *:80>
  ServerName websiteA.com
  ServerAlias www.websiteA.com
  Redirect permanent / https://www.websiteA.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName websiteA.com
  Redirect permanent / https://www.websiteA.com/
</VirtualHost>

<VirtualHost *:443>

  DocumentRoot /var/www/websiteA.com/public/
  ServerName www.websiteA.com

  php_flag display_errors On
  php_value memory_limit 256M
  php_value error_reporting 2047
  php_value post_max_size 32M
  php_value upload_max_filesize 32M

  <Directory /var/www/websiteA.com/>
    Require all granted
    AllowOverride All
    Options +FollowSymLinks
  </Directory>

  Include /etc/letsencrypt/options-ssl-apache.conf
  SSLCertificateFile /etc/letsencrypt/live/websiteA.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/websiteA.com/privkey.pem
</VirtualHost>

<VirtualHost *:80>

  DocumentRoot /var/www/websiteB.com
  ServerName websiteB.com
  ServerAlias www.websiteB.com

  <Directory /var/www/websiteB.com/>
    Require all granted
    AllowOverride All
    Options +FollowSymLinks
  </Directory>

</VirtualHost>
0
задан 16 May 2019 в 12:09
1 ответ

Что ж, Apache должен что-то обслуживать, когда кто-то обращается к нему через https://websiteB.com . Таким образом, он использует контент, который у него есть, с веб-сайта A.

Это подробно объяснено в документации Apache , здесь цитата из него:

Apache автоматически распознает на основе заголовка HTTP Host предоставляется клиентом всякий раз, когда наиболее точное совпадение для комбинации IP-адреса и порта указано на нескольких виртуальных хостах.

Директива ServerName может появляться в любом месте определения сервера. Однако каждый внешний вид отменяет предыдущий внешний вид (на этом сервере). Если имя сервера не указано, сервер пытается вычислить его по IP-адресу сервера.

Первый виртуальный хост на основе имени в файле конфигурации для данной пары IP: порт имеет значение, поскольку он используется для всех запросов, полученных на этом адрес и порт, для которых ни один другой виртуальный хост для этой пары IP: порт не имеет совпадающего ServerName или ServerAlias. Он также используется для всех SSL-соединений, если сервер не поддерживает указание имени сервера.

(выделено мной)

Добавьте VirtualHost для веб-сайтаB на порт 443 и укажите его на правильный корень документа. Если у вас нет сертификата для него, используйте сертификат с сайта A.Люди, которые его посетят, получат предупреждение о недействительном сертификате, но все равно получат это сейчас. По крайней мере, они (и поисковые системы) получают правильный контент, если они решают игнорировать недействительный сертификат.

Но с Let's Encrypt нет абсолютно никаких причин не предоставлять действительный сертификат в настоящее время.

В качестве альтернативы вы можете настроить перенаправление для запросов https: // websiteB на http, но посетители все равно получат предупреждение о сертификате до того, как будут перенаправлены. Как я уже сказал, сертификат Let's Encrypt для веб-сайта B был бы самым простым решением как для управления, так и для ваших посетителей.

3
ответ дан 4 December 2019 в 12:15

Теги

Похожие вопросы