У меня есть div на странице, загруженной с сервера ajax, но в сценарии Google и другая поисковая система не индексируют содержимое этого div. Единственное решение, которое я вижу, оно распознает, когда страница получает поисковый робот и возвращает полную страницу без ajax. 1) Есть ли более простой способ? 2) Как отличить людей и роботов?Загрузка части страницы Ajax и Google
ответ
Google получает муравей, если вы пытаетесь показать вам разные вещи, чем сканеры. Я предлагаю просто кэшировать ваш запрос или что-то еще, что нужно AJAX, а затем использовать AJAX для замены только того, что вам нужно изменить. Вы все еще не объяснили, что находится в этом div, которое может предоставить только AJAX. Если вы можете сделать это без AJAX, тогда вы должны быть не только для SEO, но и для читателей Брайля, мобильных устройств и людей без javascript.
Вы также можете указать ссылку на версию, отличную от ajax, в вашем файле Sitemap, и когда вы будете обслуживать этот файл (для робота), вы обязательно включите канонический элемент ссылки на «настоящую» страницу, на которой вы хотят видеть пользователи:
<html>
<head>
[...]
<link rel="canonical" href="YOUR_CANONICAL_URL_HERE" />
[...]
</head>
<body>
[...]
YOUR NON_AJAX_CONTENT_HERE
</body>
</html>
редактирования: если это решение не подходит (некоторые комментарии ниже указывает на то, что, что это решение не является стандартным и поддерживается только «большой-три»), вы, возможно, придется подумайте, следует ли вам сделать версию без аякса стандартным решением и использовать JavaScript, чтобы скрыть/показать информацию, а не получать ее через AJAX. Если это критически важная для бизнеса информация, вы должны понять, что не у всех пользователей включен JavaScript, и поэтому они не смогут увидеть эту информацию. В этом случае подход более прогрессивного повышения эффективности может быть более уместным.
+1 Это действительно полезно. – karim79
Интересная идея, но canonical не является стандартным и поддерживает только google, yohoo и microsoft. – dotneter
Darn, только google, yahoo и msft, это меньше, чем 99,99% всех поисковых систем по трафику, как мог сайт, возможно, выжить так мало ...?) –
Вы можете указать карту сайта в своем robots.txt
. Эта карта сайта должна быть списком ваших статических страниц. Вы должны не предоставлять Google другую страницу по тому же URL-адресу, поэтому у вас должен быть другой URL-адрес со статическим и динамическим контентом. Как правило, статический URL-адрес равен .../blog/03/09/i-bought-a-puppy
, а динамический URL-адрес - примерно .../search/puppy
.
В чем заключен контекст? Почему div всегда загружается ajax? – Charles
Например, для содержимого этой части необходим некоторый сложный запрос к базе данных. – dotneter