仲介交易 HTTP://www.aliyun.com/zixun/aggregation/6858.html">SEO診斷 淘寶客 雲主機 技術大廳
手頭一個網站的內容頁面超過10萬個,由於一直在百度和Google等主要搜尋引擎上的收錄率不佳,因此今天突然萌生了一個想法,能否寫一個可以在首頁隨機調用文章資料庫指定數量URL的標籤,以增加向搜尋引擎的展示率, 這樣每次搜尋引擎蜘蛛在索引的時候,都可以看見不同的頁面,可以增加爬行的幾率,進而提高收錄率。
一、讓網頁顯示隨機排布文章標題清單的方法1(適合SQL資料庫)
由於採用的是動易網站管理系統,因此便諮詢了雨哲,發現這個思路是可行的,也有其他人已經寫出了相應的標籤,不過效率比較低,雨哲給出了簡單的解決方案:
首先,在後臺直接增加動態標籤,查詢語句為:select top 100 ArticleID,Title from PE_Article where Deleted = {$PE_False} and Status =3 order by new id() desc,如果要隨機調用200篇文章,直接將top 100改為top 200即可。
其次,設置標籤內容(即添加動態標籤第二步的迴圈內容)為:{Loop}{Infobegin}{$Field(0,GetUrl,Article,3)}
{Infoend} {/Loop} 。
最後,提醒注意下,因為動態標籤有緩存,生成的時候必須先更新下網站的緩存。
經過獨孤天驕的實地測試,以上方案完全通過,效果很完美:)。
由於自訂標籤只有sql可以使用隨機標籤,因此以上方案僅僅適合動易SQL版本。 主要思路就是在查詢語句時用newid() ,排序上使用隨機來實現。
二、讓網頁顯示隨機排布文章標題清單的方法2(適合SQL資料庫)
網友小碼哥提供了另外一種讓網頁顯示隨機排布的文章標題清單的方法,讓網站頁面上顯示出的文章標題清單能夠隨著頁面的不時刷新,同時也發生變化。 這個方案可以細緻到某個頻道的某個欄目的隨機文章:
步驟也很簡單:
1、添加標籤:{$MY_產生本月某欄目隨機文章}。 這裡的標籤名稱可以自訂。
2、查詢語句寫為:select top 10 ArticleID,ClassID,Title,UpdateTime from PE_Article where ChannelID ={input(0)} and DateDiff(day, UpdateTime,getdate())<30 and Deleted=0 and Status=3 Order by newid()
3、標籤內容寫為:
{Loop} {Infobegin}
{$Field(2,Text,22,2,1)}
{Infoend} {/Loop}
4、範本調用
在網頁需要位置寫入{$MY_產生本月某欄目隨機文章(1002)},其中1002對應的就是我們的動易頻道ID,可以根據自己實際修改。 查詢語句中 DateDiff(day,UpdateTime,getdate())<30中的「30」是查詢一個月內的文章,這個數值可以根據網站自己實際情況做調整。
三、讓網頁顯示隨機排布文章標題清單的方法3(適合ACCESS資料庫)
需要注意的是,以上獨孤天驕和網友小碼哥給出的兩種解決方案都僅可以應用於SQL資料庫,不適合AC資料庫。 如果您採用的是動易ACCESS版的隨機文章清單,可以參見網友arko提供的技術解決方案:
首先,需要注意的是,這時在後臺自訂標籤管理裡新建的是一個函數標籤,標籤名稱可以命名為{$MY_隨機文章}。
查詢語句設置為:(「top10」中的10是要查詢的文章數,可以自己改,但不建議修改得太大;如果不想按欄目調用,而是調用某一個頻道下的文章,那麼可以把ChannelID in ({input(0)}) and ClassID in ( {input(1)}) 修改為:ChannelID in ({input(0)}) ,相應的,調用標籤就是:{$MY_隨機文章(頻道ID)}了 ;「 DateDiff("d",date(),UpdateTime)<7」中的7是指查詢最近7天的文章,根據需要修改;)
select top 10 ArticleID,ClassID,Title,UpdateTime from PE_Article where ChannelID in ({input(0)}) and ClassID in ({input(1) }) and DateDiff("d",date(),UpdateTime)<7 and Deleted={$PE_False} and Status=3 Order by right(cstr(Rnd(-int(ArticleID +rnd(-timer())*100)))*1000*Now(),2);
標籤內容設置為:
{Loop} {Infobegin}
{$Field(2,Text,44,2,1)}
{Infoend} {/Loop}
其次,在範本裡適當位置加入{$MY_隨機文章(頻道ID,欄目ID)}即可進行調用,其中頻道ID、欄目ID可以根據自己實際進行修改。
需要注意的是,好的效果是在損失性能的前提下實現的,不比SQL資料庫的動態標籤,這個標籤的代碼效率很低,雖然標籤保證了隨機性,如果是生成靜態的,那生成的每個頁面都不一樣,每次生成也都不一樣。 但是虛擬主機使用者當CPU峰值小於5%的時候,而你又要生成靜態頁面的話,生成文章超過700篇就有可能造成進程當機了。 建議在生成大量靜態頁面的時候,尋找訪客較少的時候進行,並且一次儘量少生成一些。 也可以修改動易安裝目錄下的Config.asp檔:
Const MaxPerPage_Create = 10 '一次生成的數量,把他改小一些,Const SleepTime = 3 '生成的間隔時間,把他改大一些。
參考文獻:
網站收錄率關注網站:HTTP://www.make-dress.com.cn 、 HTTP://www.gongzuofuf.com