Стоит ли мне беспокоиться, если робот Googlebot пытается индексировать маркетинговые URL-адреса?
Вопрос
Я недавно начал использовать Инструменты Google для веб-мастеров.
Я был весьма удивлен, увидев, сколько ссылок Google пытается проиндексировать.
http://www.example.com/?c=123
http://www.example.com/?c=82
http://www.example.com/?c=234
http://www.example.com/?c=991
Это все кампании, существующие в виде ссылок с партнерских сайтов.
На данный момент мой файл robots отклоняет их все, пока сайт не будет завершен, как и КАЖДАЯ страница на сайте.
Мне интересно, как лучше всего обращаться с такими ссылками, прежде чем я сделаю свой файл robots.txt менее ограничительным.
Я обеспокоен тем, что они будут рассматриваться как разные URL-адреса и начнут появляться в результатах поиска Google.Все они соответствуют одной и той же странице – плюс-минус.Я не хочу, чтобы люди находили их такими, какие они есть, и нажимали на них.
На данный момент лучшая идея — отобразить страницу, содержащую строку запроса, следующим образом:
// DO NOT TRY THIS AT HOME. See edit below
<% if (Request.QueryString != "") { %>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<% } %>
Нужно ли мне это делать?Это лучший подход?
Редактировать: Это оказывается НЕ БЫТЬ ХОРОШИМ ПОДХОДОМ.Оказывается, Google видит NOINDEX на странице с тем же содержанием, что и на другой странице, не имеющей NOINDEX.Судя по всему, это одно и то же, и NOINDEX имеет приоритет.В результате мой сайт полностью исчез из Google.Предостережение:в то же время я мог бы сделать что-то еще, но я бы не стал рисковать таким подходом.
Решение
Это такая вещь, которая rel="canonical"
был разработан для. Google опубликовал об этом статью в блоге.
Другие советы
Да, Google интерпретирует их как разные URL-адреса.
В зависимости от вашего веб-сервера вы можете использовать фильтр перезаписи, чтобы удалить параметр для поисковых систем, например фильтр перезаписи URL для Tomcat или переписать мод для Апача.
Лично я бы просто перенаправил на ту же страницу с удаленным параметром отслеживания.
Это кажется лучшим подходом, если страница не существует в отдельной папке, и в этом случае вы можете изменить файл robots.txt, чтобы просто игнорировать эту папку.
Для ресурсов, которые не следует индексировать, я предпочитаю делать простой возврат при загрузке страницы:
if (IsBot(Request.UserAgent)
return;