SEO и асинхронная загрузка страницы - PullRequest
1 голос
/ 22 октября 2011

Для асинхронной загрузки элементов страницы я использую jquery load (), и это значительно улучшает взаимодействие с пользователем. Но злоумышленники ничего не знают о javascript, поэтому рейтинг сайта должен упасть. Чтобы предотвратить это, я создал страницу карты сайта. Я не вижу другого решения.

Плохо то, что URL отличается. Обычная страница - page.html, а карта сайта - page2.html. Это означает, что краулерам будет проиндексирован page2.html. Таким образом, пользователи приходят на страницу page2.html Но если они начнут просматривать сайт, они попадут на красивые страницы с асинхронной загрузкой.

Тем не менее, я не совсем уверен, что выбрал хорошую стратегию. Кто-нибудь может сказать, какие могут быть проблемы с SEO?

UPD: у меня есть решение! Я просто пытаюсь поместить cookie с помощью javascript, и если на следующей странице загрузочные php-скрипты найдут его, он выполняет асинхронную загрузку. Вот пример:

<script type="text/javascript">document.cookie = 'checkjs=on';</script>

А потом:

if (!$_COOKIE['checkjs'] || $_COOKIE['checkjs']!='on'){echo 'js is off, hello Google!'; } else {echo 'js is on, can use jquery load';}

Ответы [ 2 ]

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

Если контент доступен только через JavaScript, то он не является дружественным для поисковых систем.Это также не доступно, что не случайно.Чтобы правильно отобразить этот контент, чтобы каждый мог найти контент, который вам нужен, чтобы все это работало без JavaScript , затем вернитесь назад и используйте JavaScript для улучшения взаимодействия с пользователем.Это называется прогрессивным улучшением и является правильным способом создания общедоступного веб-сайта.

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

Это плохое решение - если у вас есть важная асинхронная загрузка (например, содержимое страницы - ваш случай), вы должны убедиться, что клиент без javascript может попасть куда угодно на вашем сайте (это делается автоматически большинством сред MVC).

Примечание 1 - любые изменения страницы ajax должны выполняться с помощью атрибута onclick (поэтому, если javascript выключен, классический href поможет)

Примечание 2 - если кто-то не открывает главную страницу (page.html) - он должен получить такой же макет, как если бы он нажал на ваш сайт там

...