Как заставить поисковые системы находить мой контент AJAX - PullRequest
1 голос
/ 22 октября 2008

У меня есть страница, которая динамически загружает раздел контента через AJAX. Я обеспокоен тем, что это означает, что контент не будет найден поисковыми системами.

Чтобы показать вам, что я имею в виду, сайт находится на http://www.gold09.net, а динамический контент на / speaker.php - Обычно никто не посещает эту вторую ссылку, он просто загружается в первая страница.

Я знаю, что могу сказать сканерам прочитать speakers.php с помощью sitemap.xml, но тогда я получу ссылки на speaker.php, который будет отображаться в результатах поиска.

Полагаю, окончательное решение было бы таким, что если кто-то запрашивает /speakers.php, он перенаправляет их на главную страницу, тогда как сканеры могут читать данные.

Есть предложения?

Ответы [ 3 ]

3 голосов
/ 22 октября 2008

Сделайте ссылки, которые указывают на страницы, которые вы хотите проиндексировать, иметь реальный HREF к контенту - но используйте javascript для перехвата события и «вернуть false; в конце.

0 голосов
/ 22 октября 2008

Обновление: я сделал следующее:

Создана еще одна страница с именем viewSpeakers.php, которая включает в себя файл speakers.php со стандартным верхним и нижним колонтитулом вокруг него. Это означает, что если кто-то заходит на этот сайт, он увидит смутно привлекательную страницу. Единственные ссылки на эту страницу находятся в HTML-коде страницы index.php (где она немедленно удаляется с помощью javascript) и в моем sitemap.xml.

Результатом этого является то, что сканеры поисковых систем и пользователи, у которых отключен JavaScript, могут видеть ссылку на информацию о спикерах. Люди, у которых включен javascript, получают AJAXy-качество от данных, загружаемых динамически на одной и той же странице индекса, и им никогда не нужно знать о странице viewSpeakers.php.

Единственный недостаток, который я могу заметить, это то, что кто-то может зайти на страницу viewSpeakers.php через список поиска, а затем не сможет найти ссылку на эту страницу с index.php. Не очень большая проблема ...

Это было добавлено как ответ, а не как редактирование вопроса, потому что это один из способов решения этой проблемы. Мне все еще было бы интересно узнать, есть ли лучший способ, чем этот.

0 голосов
/ 22 октября 2008

как сказал Нельсон Лаке, вы должны предоставить возврат: false; на каждой привязке на вашей странице, не пропуская значения href [поскольку это действительно важно для программ чтения с экрана, таких как Google]

также будет здорово, если вы будете использовать методы перезаписи, которые бы маскировали это:
на вашем серверном коде укажите параметры для использования только вашими кодами JavaScript, такими как, например, адрес

index.php?ajaxpageneeded=page1

...

<body onload="ajaxloaderscript(<?=page1?>);" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...