2015-07-20 76 views
0

我開發了一個單頁的應用程序,它運行良好,但我想將內容分割成多個網址。主頁面使用角度加載html片段,我想知道如果我將相同的片段提供給搜索引擎,如果缺失<html>和<body>元素將以負面方式影響搜索排名。我已經搜索了谷歌和堆棧溢出,但如果有人問這之前,它已被其他類似的問題淹沒。如果搜索引擎沒有html和body根元素,搜索引擎會索引一個html片段嗎?

+1

不會做任何好的服務partials ...頁面將沒有標題的初學者和無效的html將是一個紅旗。圍繞如何爲SPA服務SEO頁面提供了許多解決方案。 – charlietfl

+0

謝謝,那正是我想知道的。不幸的是,到目前爲止,我發現的每個解決方案都涉及到更改服務器端的某些內容,而這對我來說不是一種選擇,因爲這是100%靜態託管。 – user1803599

+0

移動主機...託管便宜 – charlietfl

回答

0

我想我已經想出了一個工作解決方案。使用$locationProvider服務,地圖與templateUrl參數的URL(如/about.html和/faq.html)到HTML片段(/about-fragment.html和/faq-fragment.html):

module.config(["$routeProvider", function($routeProvider) { 
 
    $routeProvider 
 

 
     // about page 
 
     .when("/about.html", { 
 
      "templateUrl" : "about-fragment.html" 
 
     }) 
 
     // faq page 
 
     .when("faq.html", { 
 
      "templateUrl" : "faq-fragment.html" 
 
     }); 
 
}]);

將只是內容片段到<文件> -fragment.html,然後在<文件> html的內容爲完整的HTML包裝複製。這樣,用戶將看到與抓取工具相同的內容,同時仍然以單頁應用程序的方式與網站進行交互。最後一步是在每個完整內容頁面中嵌入一個JavaScript重定向,以導航回單頁面應用程序的url,然後使用angular將url切換回原始 - 這種方式是爲/ bookmark的用戶。 html或/faq.html,然後直接導航到該頁面仍然可以獲得相同的單頁應用體驗。

+0

這是一種黑客,但我認爲它會工作。計劃在有空的時候嘗試。 – user1803599