用户名:  密码:
兄弟在线   

标题:AJAX 与SEO

作者:佚名 来源:网络 时间:2013-02-03

SEO原则:搜索引擎的蜘蛛只识别href的一般超链接,而不识别JavaScript代码,遇到一般超链接就会爬进去,遇到JavaScript不会爬进去。

即,搜索引擎抓不到AJAX动态加载的内容。

 

【一】首先看看普通的AJAX显示文章:

第一步:新建一个AJAX.ashx的一般处理程序:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5.   
  6. namespace AJAX  
  7. {  
  8.     /// <summary>  
  9.     /// AJAX 的摘要说明  
  10.     /// </summary>  
  11.     public class AJAX : IHttpHandler  
  12.     {  
  13.   
  14.         public void ProcessRequest(HttpContext context)  
  15.         {  
  16.             context.Response.ContentType = "text/plain";  
  17.             int id=int.Parse(context.Request["id"]);  
  18.             if (id==1)  
  19.             {  
  20.                 context.Response.Write("蓝牙,是一种支持设备短距离通信的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。其数据速率为1Mbps。采用时分双工传输方案实现全双工传输。");  
  21.             }  
  22.             else if (id==2)  
  23.             {  
  24.                 context.Response.Write("毛泽东 《中国共产党在民族战争中的地位》:“共产党员的先锋作用和模范作用是十分重要的。”巴金 《家》二六:“他不是孔教会里的重要分子吗?”");  
  25.             }  
  26.             else if (id==3)  
  27.             {  
  28.                 context.Response.Write("百度百科中的词条内容仅供参考,如果您需要解决具体问题(尤其在法律、医学等领域),建议您咨询相关领域专业人士。");  
  29.             }  
  30.         }  
  31.   
  32.         public bool IsReusable  
  33.         {  
  34.             get  
  35.             {  
  36.                 return false;  
  37.             }  
  38.         }  
  39.     }  
  40. }  

 

第二步:新建一个Page.html静态页面:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4.     <title></title>  
  5.     <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>  
  6.         <script type="text/javascript">  
  7.             function LoadArt(id) {  
  8.                 $.post("AJAX.ashx", { "id": id }, function (data) {  
  9.                     $("#p1").text(data);  
  10.                 });  
  11.             }  
  12.     </script>  
  13. </head>  
  14. <body>  
  15. <p id="p1"></p>  
  16. <a href="javascript:void(0)" onclick="LoadArt(1)">1</a>  
  17. <a href="javascript:void(0)" onclick="LoadArt(2)">2</a>  
  18. <a href="javascript:void(0)" onclick="LoadArt(3)">3</a>  
  19. </body>  
  20. </html>  

 

结论:上面的代码

  1. <a href="javascript:void(0)" onclick="LoadArt(1)">1</a>  

不利于SEO优化,蜘蛛不会爬进去收录AJAX页面,因为,href是JS代码。
 

改进版:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4.     <title></title>  
  5.     <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>  
  6.         <script type="text/javascript">  
  7.             function LoadArt(id) {  
  8.                 $.post("AJAX.ashx", { "id": id }, function (data) {  
  9.                     $("#p1").text(data);  
  10.                 });  
  11.             }  
  12.     </script>  
  13. </head>  
  14. <body>  
  15. <p id="p1"></p>  
  16. <a href="AJAX.ashx?id=1" onclick="LoadArt(1)">1</a>  
  17. <a href="AJAX.ashx?id=2" onclick="LoadArt(2)">2</a>  
  18. <a href="AJAX.ashx?id=3" onclick="LoadArt(3)">3</a>  
  19. </body>  
  20. </html>  

 

可以看出,此时

  1. <a href="AJAX.ashx?id=1" onclick="LoadArt(3)">3</a>  

href是个一般的超链接,蜘蛛就会爬进去。
这样就有利于SEO了。

 

但是,这样的话,点击标题,会弹出一个新页面,添加:return false;即可

 

最后改进版本:

 

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4.     <title></title>  
  5.     <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>  
  6.         <script type="text/javascript">  
  7.             function LoadArt(id) {  
  8.                 $.post("AJAX.ashx", { "id": id }, function (data) {  
  9.                     $("#p1").text(data);  
  10.                 });  
  11.             }  
  12.     </script>  
  13. </head>  
  14. <body>  
  15. <p id="p1"></p>  
  16. <a href="AJAX.ashx?id=1" onclick="LoadArt(1);return false;">1</a>  
  17. <a href="AJAX.ashx?id=1" onclick="LoadArt(2);return false;">2</a>  
  18. <a href="AJAX.ashx?id=1" onclick="LoadArt(3);return false;">3</a>  
  19. </body>  
  20. </html>  


结论:为使用JS和AJAX动态加载的内容制定href,有利于SEO

 很多网站都用的是这个技术,即实现了使用JS和AJAX,也可以让搜索引擎抓到动态加载的内容。



编辑:admin 总点击 [706]   评论  0 查看评论
上一篇:如何在命令行下编译一个ASP.NET项目
下一篇:JSP连接Oralce 9i
【关闭窗口】
您可能感兴趣的文章
我要评论
          
评论标题:   可以输入250
 
验证数字: 1 + 3 =
兄弟友情提示
· 请自觉遵守国家有关法律、法规,尊重网上道德。
· 兄弟在线坚决抵制不良言行,违者文责自负。
· 如果文章有版权或其他问题等,请联系我们,我们会尽快处理。
· 文章注名来自网络的旨在传播共享信息,不做其它用途;注名原创的本站支持原创,但不代表同意其观点。
· 兄弟在线拥有管理用户与其文章和评论的一切权利,并有权在网站内转载或引用。
兄弟在线
兄弟热门文章
兄弟推荐文章
兄弟站内搜索

兄弟感兴趣的文章
兄弟最新影视