SEO原則:搜索引擎的蜘蛛只識別href的通常超連接,而不識別JavaScript代碼,遇到通常超連接就會爬進去,遇到JavaScript不會爬進去。javascript
即,搜索引擎抓不到AJAX動態加載的內容。html
【一】首先看看普通的AJAX顯示文章:java
第一步:新建一個AJAX.ashx的通常處理程序:jquery
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace AJAX { /// <summary> /// AJAX 的摘要說明 /// </summary> public class AJAX : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; int id=int.Parse(context.Request["id"]); if (id==1) { context.Response.Write("藍牙,是一種支持設備短距離通訊的無線電技術。能在包括移動電話、PDA、無線耳機、筆記本電腦、相關外設等衆多設備之間進行無線信息交換。利用「藍牙」技術,可以有效地簡化移動通訊終端設備之間的通訊,也可以成功地簡化設備與因特網Internet之間的通訊,從而數據傳輸變得更加迅速高效,爲無線通訊拓寬道路。藍牙採用分散式網絡結構以及快跳頻和短包技術,支持點對點及點對多點通訊,工做在全球通用的2.4GHz ISM(即工業、科學、醫學)頻段。其數據速率爲1Mbps。採用時分雙工傳輸方案實現全雙工傳輸。"); } else if (id==2) { context.Response.Write("毛澤東 《中國共產黨在民族戰爭中的地位》:「共產黨員的先鋒做用和模範做用是十分重要的。」巴金 《家》二六:「他不是孔教會裏的重要分子嗎?」"); } else if (id==3) { context.Response.Write("百度百科中的詞條內容僅供參考,若是您須要解決具體問題(尤爲在法律、醫學等領域),建議您諮詢相關領域專業人士。"); } } public bool IsReusable { get { return false; } } } }
第二步:新建一個Page.html靜態頁面:網絡
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script type="text/javascript"> function LoadArt(id) { $.post("AJAX.ashx", { "id": id }, function (data) { $("#p1").text(data); }); } </script> </head> <body> <p id="p1"></p> <a href="javascript:void(0)" onclick="LoadArt(1)">1</a> <a href="javascript:void(0)" onclick="LoadArt(2)">2</a> <a href="javascript:void(0)" onclick="LoadArt(3)">3</a> </body> </html>
<a href="javascript:void(0)" onclick="LoadArt(1)">1</a>
不利於SEO優化,蜘蛛不會爬進去收錄AJAX頁面,由於,href是JS代碼。
post
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script type="text/javascript"> function LoadArt(id) { $.post("AJAX.ashx", { "id": id }, function (data) { $("#p1").text(data); }); } </script> </head> <body> <p id="p1"></p> <a href="AJAX.ashx?id=1" onclick="LoadArt(1)">1</a> <a href="AJAX.ashx?id=2" onclick="LoadArt(2)">2</a> <a href="AJAX.ashx?id=3" onclick="LoadArt(3)">3</a> </body> </html>
能夠看出,此時優化
<a href="AJAX.ashx?id=1" onclick="LoadArt(3)">3</a>
href是個通常的超連接,蜘蛛就會爬進去。
這樣就有利於SEO了。網站
可是,這樣的話,點擊標題,會彈出一個新頁面,添加:return false;便可搜索引擎
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script type="text/javascript"> function LoadArt(id) { $.post("AJAX.ashx", { "id": id }, function (data) { $("#p1").text(data); }); } </script> </head> <body> <p id="p1"></p> <a href="AJAX.ashx?id=1" onclick="LoadArt(1);return false;">1</a> <a href="AJAX.ashx?id=1" onclick="LoadArt(2);return false;">2</a> <a href="AJAX.ashx?id=1" onclick="LoadArt(3);return false;">3</a> </body> </html>