PHP « Ajax навигация, php страница
Пытаюсь реализовать Ajax приложение.
Почитал про то как поисковики иниерпритируют для индексации URL с hash.
Но не до конца понял как правильно организовать php страницу.
Предлагается такой вариант:
http://www.example.ru/?_escaped_fragment_=blog
Где blog - загружаемая страница. А как быть например с вкладками?
То есть если у нас есть 3 вкладки , то поисковиком должно быть проиндексировано 3 страницы?
http://www.example.ru/?_escaped_fragment_=blog&tab=1 (2 или 3)
И как тогда должен выглядеть URL с hash чтобы поисковик понял что ему надо ссылаться на ссылку с дополнительным get ключем/ключами?
На данный момент URL имеет такой вид:
Www.example.ru/#!загружаемая страница-параметр1=33-параметр2=11
Как дать понять поисковику , что ему нужно использовать эти параметры при индексировании?
И влияет на поисковики единая точка входа на сайт?
Спасибо.
Почитал про то как поисковики иниерпритируют для индексации URL с hash.
Но не до конца понял как правильно организовать php страницу.
Предлагается такой вариант:
http://www.example.ru/?_escaped_fragment_=blog
Где blog - загружаемая страница. А как быть например с вкладками?
То есть если у нас есть 3 вкладки , то поисковиком должно быть проиндексировано 3 страницы?
http://www.example.ru/?_escaped_fragment_=blog&tab=1 (2 или 3)
И как тогда должен выглядеть URL с hash чтобы поисковик понял что ему надо ссылаться на ссылку с дополнительным get ключем/ключами?
На данный момент URL имеет такой вид:
Www.example.ru/#!загружаемая страница-параметр1=33-параметр2=11
Как дать понять поисковику , что ему нужно использовать эти параметры при индексировании?
И влияет на поисковики единая точка входа на сайт?
Спасибо.
1 ответов
А почему не делать нормальные ссылки? Убъёшь трёх зайцев, -
1) индексация поисковыми системами
2) возможность открытия в новом окне
3) клиенту не нужен жаба скрипт.
Например
<a href="?blog" class="ajax-link">blog</a>
<script>
$("body").on("click", ".ajax-link",function(e){
e.preventDefault();
var href = $(this).attr('href');
var contentContainer = $("#content");
$.get(href, function(data){
contentContainer.html(data);
// Чтобы обновить текущий урл в адресной строке, можно использовать history.pushState(data, title, url)
// Примерно что-то типа
document.history.pushState({}, '', href); // Это примерный код, надо смотреть доки.
});
});
</script>
А на стороне сервера ты определяешь ajax запрос по заголовку $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'
и в зависимости от запроса выдаёшь страницу полностью или частично.
Почему бы не отказаться от устарелой window.location.hash, и не использовать window.history.pushState ?