asp.net的優化
假設你需要從一個頁面轉向其他頁面,下面有很多種方式,你是如何選擇的呢?你能清晰的說明理由麼?www.toptaotao.cn(轉載)
--連結的表現形式--%> |
如果你還有些迷茫,我建議你檢視他們生成html之後的原始碼。
<a id="HyperLink1" href="Default2.aspx">HyperLinka> --HyperLink解析成Html之後對應的就是一個單純的超連結,href指向了要跳轉的頁面 --%> <a id="LinkButton1" href="java:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("LinkButton1", "", false, "", "Default2.aspx", false, true))">LinkButtona> --LinkButton1雖然也是一個錨標記,但實際上是利用的Java進行的跳轉--%> <input type="submit" name="Button1" value="Button" ="java:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "", false, "", "Default2.aspx", false, false))" id="Button1" /> --button被解析成type="submit"的input元素,同樣通過Java進行頁面的跳轉--%> <input type="image" name="ImageButton1" id="ImageButton1" src="upup.gif" ="java:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ImageButton1", "", false, "", "Default2.aspx", false, false))" style="border-width:0px;" /> --ImageButton被解析成type="image"的input元素,同樣通過Java進行頁面的跳轉--%> <a id="HyperLink2" href="Default2.aspx"><img src="upup.gif" style="border-width:0px;" />a> --給HyperLink的ImageUrl屬性賦值後,解析成Html之後對應的就是一個超連結中“夾”了一個img,但href仍然指向的要跳轉的頁面 --%> |
知道了這些又有什麼用呢?
用處很多,但我們今天只談論SEO。
就目前的搜尋引擎技術手段,Java(當然也就包括了AJAX)、表單元素(如input)、Flash和Image都無法(或者很難)被讀取。“蜘蛛”傾向於讀取簡單的html格式的文字。所以,從SEO的角度出發:
1. 不要使用Java或表單進行頁面跳轉連結,如果一個普通的也能完成同樣的功能。一般來說,任何不能通過標準錨識別符號進入的導航,都不會被蜘蛛檢索到。如果本來就使用的客戶端元素,我們應該比較容易注意到這一點;但當使用經過封裝處理過後的伺服器端控制元件時,我們就可能會大意了。
2. 注意UpdatePanel裡沒有文字內容的情況。我們可以做一個簡單的測試:
<asp:Manager ID="Manager1" runat="server"> asp:Manager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label runat="server" ID="lbl" >asp:Label> <asp:Button ID="Button1" runat="server" Text="Button" ="Button1_Click" /> ContentTemplate> asp:UpdatePanel> |
protected void Button1_Click(object sender, EventArgs e) { this.lbl.Text = "我是UpdatePanel生成的,所以你看不見我!"; } |
解析成Html後的原始碼部分:
<div id="UpdatePanel1"> <span id="lbl">span> <input type="submit" name="Button1" value="Button" id="Submit1" /> div> |
這是很好理解的,因為UpdatePanel一樣是通過頁面的Java函式來生成頁面內容的。檢視原始碼,我們能看到相關的Java函式,但不能看到函式生成的內容。而搜尋引擎的蜘蛛,它也是隻看原始碼的。
3. 當我們需要使用彈出頁面時,通常的做法是:
<a href="#" ="open("popup.html","common","height=600,weight=800");">common popupa> |
根據我們上面的交代,這樣的寫法,對SEO而言,無疑也是不利的。所以我們應該使用下面的程式碼,即保證了彈出視窗的效果,也是SEO友好的。而且即使客戶的瀏覽器不支援或者禁用掉Java,頁面一樣能夠順利的跳轉。
<a href="popup.html" ="open(this.href,"seo","height=600,weight=800");return false;" target="_blank">seo popupa> --注意:這裡的return false語句不能省略。--%> |
4. 當我們希望使用一種特殊的字型(常常是欄目標題之類)的時候,我們經常使用一張漢字圖片來代替。這也是一個比較麻煩的事情,因為作為標題,其內容常常是相當重要的關鍵字,如果使用圖片,蜘蛛是也無法讀取的。一種可能的解決方案是sIFR,但這方面我並不是很熟;網上搜了一下,似乎還不能應用於漢字。
對於圖片,我們常用的SEO方法是註明title和alt,如
<img alt="ASP.NET搜尋引擎優化" title="使用ASP.NET技術開發網站時應注意到的一些SEO技術" src="seo.gif" /> |
不過這也屬於“不可見的頁面元素”,具體效果如何也很難精確衡量。但有總比沒有強!
5. 其他一些注意事項:www.toptaotao.cn(轉載)
5.1 將html標籤的語義和css結合起來,和《span》和《div》不同,《h1》意味著標題、《b》意味著強調、《ul》《li》意味著列表……,這些語義標籤能給搜尋引擎更清晰的指示;
5.3 重要的內容放在html頁面(指原始碼,而不是瀏覽器顯示結果)的頂端
5.5 將大段的Java放在頁面底部或者單獨的js檔案中;
5.2 最好不要使用框架()佈局;
5.3 大量的VIEWSTATE可能會對“蜘蛛”造成干擾;
5.5 牢記:就目前的搜尋引擎技術手段,Java(當然也就包括了AJAX)、表單元素(如input)、Flash和Image都無法(或者很難)被讀取。
www.toptaotao.cn(轉載)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22785983/viewspace-628204/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Asp.net常用優化方法ASP.NET優化
- 【tronic】Asp.Net效能優化.ASP.NET優化
- ASP.NET中常用的優化效能的方法ASP.NET優化
- ASP.NET十個有效效能優化的方法ASP.NET優化
- 【THICK】ASP.NET中常用的優化效能的方法ASP.NET優化
- ASP.NET中常用的26個優化效能方法ASP.NET優化
- ASP.NET Core 效能優化最佳實踐ASP.NET優化
- 用Redis做小型Asp.net網站的效能優化RedisASP.NET網站優化
- ASP.NET程式的優化建議資料庫操作ASP.NET優化資料庫
- ASP.NET效能優化-頁面及控制元件ASP.NET優化控制元件
- [翻譯]ASP.NET 2.0網站應用程式的效能優化ASP.NET網站優化
- asp.net的優勢和不足ASP.NET
- ASP.NET Web開發 Echarts圖表空資料優化ASP.NETWebEcharts優化
- 不修改程式碼優化ASP.NET網站效能的一些方法優化ASP.NET網站
- MySQL優化(1)——–常用的優化步驟MySql優化
- 記一次ASP.NET MVC效能優化(實際專案中)ASP.NETMVC優化
- 前端效能優化(JS/CSS優化,SEO優化)前端優化JSCSS
- hive的優化Hive優化
- web的優化Web優化
- mysql的優化MySql優化
- Cacti的優化優化
- 效能優化案例-SQL優化優化SQL
- MSSQL優化之索引優化SQL優化索引
- CUDA優化之指令優化優化
- 數值最優化—優化問題的解(二)優化
- seo優化中不容忽視的頁面優化優化
- 【SQL優化】SQL優化的10點注意事項SQL優化
- Flutter的效能優化Flutter優化
- java Synchronized的優化Javasynchronized優化
- Hive --------- hive 的優化Hive優化
- nginx的location優化Nginx優化
- Oracle優化的方法Oracle優化
- mysql的sql優化MySql優化
- ansible的優化優化
- MySQLGroupCommit的優化MySqlMIT優化
- Oracle 索引的優化Oracle索引優化
- oracle 的優化器Oracle優化
- 優化你的CSS優化CSS