怎樣使AJAX有利於SEO:爲使用JS和AJAX動態加載的內容制定href

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>


結論:爲使用JS和AJAX動態加載的內容制定href,有利於SEO

 不少網站都用的是這個技術,即實現了使用JS和AJAX,也能夠讓搜索引擎抓到動態加載的內容。