我一直在構建一個jQuery導航的網站,無需重新加載(使用PHP和AJAX),並且最近遇到了頁面「後退」,「前進」和「重新加載」功能以及搜索引擎優化的問題。history.pushState導航 - meta標籤怎麼樣 - 單獨的模板?
- 跳過這一節獲得連勝質疑 -
my site目前(不使用AJAX但)加載一個的index.php其中有幾個「內容」的div,其中之一是可見(class =「active」),而其他不顯示。當用戶點擊導航鏈接時,一個很好的動畫會在內容div之間切換。
我有阿帕奇重寫像
http://mysite.com/about
到 http://mysite.com/index.php?page=about
這裏的「關於」部分將是多數民衆贊成在默認情況下顯示的一個映射的東西(而其他的「內容」的div被隱藏) 。基於這個參數,我包含適當的元標籤的網頁。我的站點地圖有mysite.com/about,mysite.com/blog,這樣他們就可以作爲很好的單獨頁面被索引。
但是,我最近決定讓這個基於ajax的,因爲我打算將更多的內容和它的愚蠢加載到一個頁面上的所有內容。
注意:我現在也在實施Smarty模板。
我決定實現哈希標籤,但看到了固有的SEO問題,後來我發現hashbangs(問心無愧?!),然後找到新的HTML5的東西與history.pushState()和History.js和有決定使用它。
所以來這裏的主要問題
如果我只有一個頁面,加載與AJAX內容的div網頁模板,使用history.pushState()來修改URL和使用mod_rewrite和PHP後臺在mysite.com/about(mysite.com/index.php?page=about)(對於基本的可用性和SEO)的直接請求的情況下,我可以提供默認的內容模板,但我無法設置元內容直接請求,除非我有兩個模板 - 內容模板 - 和元模板?有沒有另外一種方法呢?
像<title>
和<meta name="description">
這樣的標籤是否足夠重要,足以保證爲他們特別設計模板?
總之,我希望我的好mod_rewrite URLs在谷歌上拉上正確的標題和元描述爲特定的Ajax加載的頁面內容模板。
編輯
我要爲相當多,他們這裏發生在hypem.com同樣的事情。他們有一個事件監聽器,在列出新內容時更改<title>
標記。他們也會提供正確的<meta name="description">
標籤,但前提是這是直接向其中一個主頁發送請求,例如博客 - 其他頁面,如http://hypem.com/blog/indie+today/10332,返回主博客頁面的元標記,並且僅在直接請求時返回