SEO и асинхронная загрузка страниц

#php #javascript #seo #usability #sitemap

#php #javascript #seo #удобство использования #Карта сайта

Вопрос:

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

Плохо то, что 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';}
 

Ответ №1:

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

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

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

Комментарии:

1. Я не могу представить посетителя с отключенным js. Взгляните на главную ссылку для тикета. Без js вы не сможете просматривать и заказывать билеты. Даже здесь многое зависит от js. Я также знаю, как должны создаваться ссылки ajax, но у меня событие onload, а не onclik. И, конечно, дизайн тот же.

2. я не сказал посетителя, а клиента (имеется в виду — сетевой клиент, например, Google, ваш браузер и т. Д.) — Без JS клиент может видеть всю важную информацию, Но это нормально, когда клиент без JS не может делать все в вашем Интернете (например. для заказа билета требуется JS, но для листингане требуется — это хорошо для сканеров)

Ответ №2:

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