Я ищу чистый способ, позволяющий роботам поисковых систем обходить @login_required, просматривая страницы, которые обычно требуют авторизованного пользователя. Я мог бы написать промежуточное программное обеспечение, которое автоматически регистрировало бы поисковые системы в фиктивной учетной записи, но это не совсем то, что я бы назвал чистым. Есть предложения по лучшему решению? Спасибо.
В Django отключите @login_required для пауков поисковых систем.
Ответы (3)
Не делай этого. Это «маскировка», и вы можете быть исключены из индекса Google.
Маскировка относится к практике представления различного контента или URL-адресов пользователям и поисковым системам. Отображение разных результатов на основе пользовательского агента может привести к тому, что ваш сайт будет воспринят как вводящий в заблуждение и удален из индекса Google.
Вместо этого вам необходимо внедрить решение Google First Click Free. В этой настройке первый клик в результатах поиска Google позволяет увидеть весь контент, последующие клики перехватываются. Это можно сделать на основе реферера или на основе файлов cookie. Вы можете прочитать больше о First Click Free здесь:
- Первый клик бесплатно: http://www.google.com/support/webmasters/bin/answer.py?answer=74536
Почему вы хотите это сделать? Если поисковые системы могут видеть страницы, то любой может увидеть их, не входя в систему, потому что информация появится на странице результатов поисковой системы. В любом случае, единственный способ идентифицировать паука или бота — это строка его пользовательского агента, которую легко подделать.
Я не понимаю. в "@login_required" есть важное слово: "требуется". если это «требуется», это по уважительной причине. Это означает, что для просмотра веб-страницы необходимы ваши учетные данные. Поскольку контент является частным, секретным и т. д.
Если вы хотите, чтобы ваши страницы были доступны через поисковые системы, вы должны сделать их общедоступными, и поэтому вход в систему больше не требуется. Итак, ваше представление не должно быть защищено декоратором @login_required.
Возможно, ваша проблема кроется за пределами доступности ваших страниц. Возможно, ваш контент фактически сделан для общего доступа, и ваши взгляды не должны защищаться этим декоратором. Возможно, единственное, что вам нужно, это загрузить общедоступную часть для каждого пользователя (зарегистрированного или анонимного) и, в конечном итоге, загрузить приватные биты, если ваш пользователь идентифицирован.
В противном случае оставлять лазейку для пауков — определенно плохая идея, потому что ваш личный контент больше не будет приватным.