В настоящее время я занимаюсь редизайном сайта и рассматриваю, слишком ли он использует .load для большей части навигации, чтобы сделать его более быстрым для пользователя и просто приятнее в использовании.
Для этого у меня есть ссылки с <a href="/the/link" id="linkId">link</a>
Затем я использую $("#main").on("click", "linkId"
с return false
, чтобы ссылки не отслеживались.
У меня есть /load/page.php и /page.php для предоставления либо необходимого кода загрузки, либо полной версии страницы, если пользователь идет прямо к нему.
Наконец, при всех изменениях страницы загрузки я обновляю хеш страницы, используя document.location.hash = "/" + $(this).attr("href");
Это означает, что URL-адреса сайта будут выглядеть для пользователей следующим образом:
domain.com/#/file/page
и это для поисковых систем:
domain.com/file/page
Если пользователь вводит хешированный URL-адрес, он перенаправляется со следующим кодом на реальный URL-адрес поисковой системы, так что я думаю, что у меня все есть?
if (location.href.indexOf("#") > -1) {
location.assign(location.href.replace(/\/?#/, ""));
}
Я бы заблокировал хешированные URL-адреса от индексации и позволял бы получать только нужные URL-адреса, тогда я думал, что если людям, связанным с хэшированным URL-адресом, понадобится страница, перемещенная для seo?
Есть ли существенные недостатки в этом подходе и / или есть ли более эффективные способы при создании полностью динамических сайтов?