Прежде всего, нет способа надежно определить, что запрос поступает от поисковой системы, так что любой предприимчивый веб-пользователь сможет увидеть все, что вы позволите поисковой системе.Я бы сказал, что самое первое, что вы должны сделать, это убедиться, что клиент это понимает.Вы можете сделать что-то, что будет работать для пользователя по умолчанию, который не пытается обойти ваши системные элементы управления, но если вы собираетесь позволить поисковой системе просматривать контент без аутентификации, то обычные пользователи смогут следовать этомупуть тоже (с небольшой изобретательностью).
Во-вторых, не стоит полагать, что поисковый сканер будет поддерживать куки вообще.Если вы ориентируетесь только на одну конкретную поисковую систему, вы можете протестировать ее и посмотреть, поддерживает ли она куки-файлы, но из того, что я прочитал, большинство не делает, так как это просто намного больше служебной работы с их стороны, и они хотят индексироватьчто в любом случае свободно доступно.Таким образом, вы не можете использовать cookie для отслеживания запроса поисковой системы.
Единственный известный мне способ разрешить поисковым системам, но не обычным читателям по умолчанию, - это прослушать строку агента пользователязапрашивающего агента.Каждая поисковая система однозначно идентифицирует себя как таковую, и вы можете посмотреть на нее при каждом получении запроса и решить, разрешено ли ему обходить обычные ограничения.Но точно так же, как вы и ваш клиент знаете, любой обычный пользователь может просто настроить свой браузер так, чтобы он включал эту строку пользовательского агента, и вы бы сразу их впустили - вы не сможете заметить разницу.Браузер Safari поставляется с возможностью управления строкой пользовательского агента (он помогает веб-разработчикам в их собственном тестировании, но может использоваться и другими способами).
В некоторых случаях это может бытьМожно посмотреть на запрашивающий IP-адрес, чтобы увидеть, является ли он тем, что вы ожидаете от поисковой системы, но если поисковая система не публикует диапазоны IP-адресов, которые они будут использовать, и в некоторой степени гарантирует, что они будут соблюдены, эторискованное предложение, на которое можно положиться.