2009-05-23 5 views
1

У меня есть div на странице, загруженной с сервера ajax, но в сценарии Google и другая поисковая система не индексируют содержимое этого div. Единственное решение, которое я вижу, оно распознает, когда страница получает поисковый робот и возвращает полную страницу без ajax. 1) Есть ли более простой способ? 2) Как отличить людей и роботов?Загрузка части страницы Ajax и Google

+0

В чем заключен контекст? Почему div всегда загружается ajax? – Charles

+0

Например, для содержимого этой части необходим некоторый сложный запрос к базе данных. – dotneter

ответ

2

Google получает муравей, если вы пытаетесь показать вам разные вещи, чем сканеры. Я предлагаю просто кэшировать ваш запрос или что-то еще, что нужно AJAX, а затем использовать AJAX для замены только того, что вам нужно изменить. Вы все еще не объяснили, что находится в этом div, которое может предоставить только AJAX. Если вы можете сделать это без AJAX, тогда вы должны быть не только для SEO, но и для читателей Брайля, мобильных устройств и людей без javascript.

3

Вы также можете указать ссылку на версию, отличную от ajax, в вашем файле Sitemap, и когда вы будете обслуживать этот файл (для робота), вы обязательно включите канонический элемент ссылки на «настоящую» страницу, на которой вы хотят видеть пользователи:

<html> 
    <head> 
     [...] 
     <link rel="canonical" href="YOUR_CANONICAL_URL_HERE" /> 
     [...] 
    </head> 
    <body> 
     [...] 
     YOUR NON_AJAX_CONTENT_HERE 
    </body> 
</html> 

редактирования: если это решение не подходит (некоторые комментарии ниже указывает на то, что, что это решение не является стандартным и поддерживается только «большой-три»), вы, возможно, придется подумайте, следует ли вам сделать версию без аякса стандартным решением и использовать JavaScript, чтобы скрыть/показать информацию, а не получать ее через AJAX. Если это критически важная для бизнеса информация, вы должны понять, что не у всех пользователей включен JavaScript, и поэтому они не смогут увидеть эту информацию. В этом случае подход более прогрессивного повышения эффективности может быть более уместным.

+0

+1 Это действительно полезно. – karim79

+0

Интересная идея, но canonical не является стандартным и поддерживает только google, yohoo и microsoft. – dotneter

+3

Darn, только google, yahoo и msft, это меньше, чем 99,99% всех поисковых систем по трафику, как мог сайт, возможно, выжить так мало ...?) –

0

Вы можете указать карту сайта в своем robots.txt. Эта карта сайта должна быть списком ваших статических страниц. Вы должны не предоставлять Google другую страницу по тому же URL-адресу, поэтому у вас должен быть другой URL-адрес со статическим и динамическим контентом. Как правило, статический URL-адрес равен .../blog/03/09/i-bought-a-puppy, а динамический URL-адрес - примерно .../search/puppy.

 Смежные вопросы

  • Нет связанных вопросов^_^