Javascript 如何使用html5 pushstate方法将动态页面索引到google?

Javascript 如何使用html5 pushstate方法将动态页面索引到google?,javascript,ajax,pushstate,google-index,Javascript,Ajax,Pushstate,Google Index,我正在构建一个完全支持jquery的网站,所以我正在使用ajax动态加载所有页面,以实现页面之间的奇特转换,并最大限度地提高用户体验。 以下是我的javascript代码: $(function() { var path = _.compact(location.pathname.split("/")); if(path.length<2){ path = 'home' }else{ path = path[path.length

我正在构建一个完全支持jquery的网站,所以我正在使用ajax动态加载所有页面,以实现页面之间的奇特转换,并最大限度地提高用户体验。 以下是我的javascript代码:

$(function() {

    var path = _.compact(location.pathname.split("/"));
    if(path.length<2){
        path = 'home' 
    }else{
        path = path[path.length-1];
    }
    activepage = path;

    $('.nav a').click(function(e) {
        href = $(this).attr("href");            
        loadContent(href);      
        // HISTORY.PUSHSTATE
        window.history.pushState('', 'New URL: '+href, href);   
        e.preventDefault();                     
    });

    // THIS EVENT MAKES SURE THAT THE BACK/FORWARD BUTTONS WORK AS WELL
    window.onpopstate = function(event) {
        var path = _.compact(location.pathname.split("/"));
        if(path.length<2){
            path = 'home' 
        }else{
            path = path[path.length-1];
        }           
        loadContent(path);
    };

});



function loadContent(url){  
        // USES JQUERY TO LOAD THE CONTENT
        var adresa = absurl + "ajax/get_content";       
        $.ajax({
          url: adresa,
          contentType: 'application/json',
          data: { url: url },
          success: function(data) {
            switch(url)
            {
                case "projects": $.projects({ data : data }); $.projects.init();
                break;
                case "home": $.homePage({ data : data }); $.homePage.init();
                break;
                default: console.log("nista");
            }
          }
        }); 
}
$(函数(){
var path=\压缩(location.pathname.split(“/”);

if(path.length)允许您在使用Ajax更新页面内容时更改URI的本地部分

对于以这种方式创建的每个URI,允许服务器在不依赖JavaScript的情况下构建相同的页面

这将:

  • 当访问者通过深度链接进入站点时,提供更好的性能
  • 允许站点在没有JavaScript的情况下工作(包括搜索引擎机器人)

补充@Quentin的答案,您需要在PHP中确定内容是否通过ajax加载。
如果没有,您必须显示所请求页面的全部内容,包括页眉、页脚和页面内容。

好的……我知道,但是我应该在代码中做些什么来实现这一点?我已经学习了许多教程,但仍然无法使其正常工作。请您提供建议?您建议过最初使用usi呈现页面吗ng php(根据URI部分填充内容)?好的,tnx很多人!我认为这不需要用php呈现内容就可以做到,只需使用一些神奇的javascript方法:)如何在php中识别内容是否通过ajax加载?提前感谢您的回答。。。