HTML5 pushstate и SEO ссылка

Я пытаюсь реализовать историю pushstate на моем веб-сайте, чтобы загружать контент со страницы single.php внутри контейнера index.php.

У моего сайта есть две главные страницы: index.php и single.php.

На index.php есть ссылки, которые вызывают скрипт pushstate:

<a class="phplink" href="/Formlabs-3D-printer" title="Formlabs 3D printer">Post 12</a> 
<a class="phplink" href="/Minimal-Bumper-for-iPhone-5" title="Minimal Bumper for iPhone 5">Post 11</a>

На моей странице single.php я использую метод isset get для динамической загрузки содержимого, соответствующего нажатой ссылке на index.php:


В моем файле .htaccess я переписываю ссылку URL (то, что причина, по которой в index.php ссылки являются чистыми):

Options +FollowSymLinks
RewriteEngine on
RewriteRule /([a-zA-Z0-9\-]+)$ /index.php 
RewriteRule /([a-zA-Z0-9\-]+)$ /single.php?page=$1 [L]

И вот мой сценарий pushstate:

$.ajaxSetup({cache:false});
$(".phplink").click(function(){
    var $post_link = $(this);
    load_content($post_link.attr('title'),$post_link.attr('href'));
    return false;
}); 

window.onpopstate = function(event) {
    if (event.state) {
        load_content(event.state.title, window.location.pathname, true);
    } else {
        var stateObj = {
        title: document.title,
        url: window.location.pathname,
        };
    url = window.location.pathname;
    load_content(url,url);
    }
}  

function load_content(title,url,skipHistory) {
    $.get(url,function (data) {
        document.title = title;
        var stateObj = {
            title: title,
            url: url
            };
        if (!skipHistory) {
            if (typeof window.history.pushState == 'function') {
                window.history.pushState(stateObj,title,url);
            }
        }
        if(url.substring(1) != '') {
            $("#ajaxify_container").html("loading...");
            $("#ajaxify_container").load('single.php?page='+url.substring(1)+' #container-2');  
        } 
        else {
            $("#ajaxify_container").html('');   
        }
    });
}

Мой скрипт pushstate работает для загрузки контента по ссылке (на.phplink нажмите). Это работает также для кнопки назад / вперед.

1-я проблема: когда я обновляю браузер (со ссылкой на pushstate в URL), он работает на Google Chrome (загрузка содержимого из файла single.php в контейнер index.php), но не в IE10 (ничего не загружается, он остается на index.php страница).

2-я проблема: если я отключу JavaScript, чтобы увидеть, чтослучается для googlebot (для SEO). Я могу't загрузить / добраться до страницы single.php, она всегда остается на index.php. Так что страница single.php можетне будет сканироваться поисковой системой (полагаю, но яя не уверен в этом). Это нормальное поведение, потому что я установил в своем файле .htaccess, что "все это ссылки " будет перенаправлен на index.php.

Я делаю этот трюк, потому что без него pushstate загружает страницу single.php при обновлении. И я нене хочу такого поведения. Я хочу, когда я обновляю его, просто загружаю контент из single.php в контейнер index.php.

Итак, моя главная проблема (проблема 2): я неЯ не знаю, как написать свой скрипт или мои ссылки на моей странице php, чтобы загружать содержимое в моем файле index.php, когда я нажимаю, я обновляю и перехожу назад / вперед.

При нормальном поведении pushstate, обновляет ли браузер, onpopstate может загружать контент со страницы в контейнер другой страницы (загружать контент из single.php в контейнер index.php)?

Я надеюсь, что кто-то может мне помочь и объяснить, как это работает. У меня есть некоторые трудности, чтобы понять, как это работает со ссылками.

Извините за мой английский, ям французский ...

Ответы на вопрос(1)

Ваш ответ на вопрос