搜索引擎的蜘蛛只識別href的一般超鏈接,而不識別JavaScript代碼,遇到一般超鏈接就會爬進去,遇到JavaScript不會爬進去。即,搜索引擎抓不到AJAX動態加載的內容。
AJAX異步加載文章一般步驟
一、新建一個AJAX.ashx的一般處理程序
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("藍牙技術..."); }else if (id==2){ context.Response.Write("巴金 《家》..."); }else if (id==3){ context.Response.Write("百度百科詞條..."); } } public bool IsReusable { get{return false;} } } }
二、新建一個Page.html靜態頁面
<!DOCTYPE html> <html> <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>
上面的代碼不利于SEO優化,蜘蛛不會爬進去收錄AJAX頁面,也就是讀不到任何內容,因為,href是JS代碼。
<a href="javascript:void(0)" onclick="LoadArt(1)">1</a>
利于SEO的AJAX異步加載
<!DOCTYPE html> <html> <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>
href是個一般的超鏈接,蜘蛛就會爬進去,有利于SEO。但點擊標題,會彈出一個新頁面,添加:return false; 即可。
很多網站都用的是這個技術,即實現了使用JS和AJAX,也可以讓搜索引擎抓到動態加載的內容。
本文地址:http://www.yxrxyy.live/seo/1571.html
發表評論
評論列表(條)