Google индексирует дистрибутив Cloudfront - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть стационарный c сайт через Cloudfront с источником S3 origin и пользовательским доменом по маршруту 53. Все работает хорошо, за исключением того, что Google также проиндексировал URL-адрес распределения Cloudfront (d123et c .cloudfront. net) а также мой пользовательский домен, что приводит к дублированию проблем с контентом.

Я пробовал канонические URL, но распределение остается проиндексированным. Было предложено обслуживать другой файл robots.txt в зависимости от того, какой домен используется, что звучит нормально, но нет .htaccess или веб-сервера, оставляя его функции Lambda Edge, чтобы попытаться отправить другой файл robots.txt. .

Проблема в том, что я не могу найти, как в функции определить, поступает ли запрос с моего пользовательского домена или с URL-адреса прямого распространения. Я пробовал белый список Origin, но он не передается при использовании источника S3. Я также попытался создать белый список заголовка Referer, но при обращении к файлу robots.txt не передается реферер, так как это прямой запрос.

В настоящее время я добавляю meta noindex на стороне клиента, используя js при загрузке страницы (что, как я понимаю, слишком поздно), а также перенаправление стороны клиента на мой действительный домен в случае, если кто-то следует за индексированным облачным фронтом Google. net domain.

Кто-нибудь знает, как определить в Lambda Edge, какой домен используется для запроса? Или каким-либо другим способом заблокировать Google от индексации URL-адреса Cloudfront, просто оставив его для индексации пользовательского домена.

1 Ответ

0 голосов
/ 08 февраля 2020

Так что я думаю, что способ сделать это - настроить перенаправление на вашем размещенном веб-сервере. Если вы проверите «хост» в заголовке запроса и проверьте наличие на сайте cloudfront.com, отправьте код ответа 301 вместе с вашим пользовательским доменным именем.

S3 имеет способ пользовательского интерфейса для этого:

https://medium.com/tensult/how-to-do-site-redirection-using-aws-522a4002c645

Похоже, вам понадобится второй контейнер за тем же URL-адресом облачного фронта но без собственного домена. Затем вы можете настроить его на перенаправление всех запросов в ваш пользовательский домен.

Браузер или боты перестанут пытаться использовать cloudfront.com, потому что он ничего не возвращает, они автоматически (без уведомления пользователя) my domain.xyz и все ссылки будут ссылаться на ваш собственный домен.

...