首页 > 优化 > 关键词  > SEO最新资讯  > 正文

asp.net的优化 服务器控件背后友好的Html和JS

2010-02-26 10:06 · 稿源:自由飞的Blog

假设你需要从一个页面转向其他页面,下面有很多种方式,你是如何选择的呢?你能清晰的说明理由么?

<%--链接的表现形式--%>
<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl="~/Default2.aspx">HyperLink</asp:HyperLink>
<asp:LinkButtonID="LinkButton1"runat="server"PostBackUrl="~/Default2.aspx">LinkButton</asp:LinkButton>

<%--出于美观的考虑,很多网站都会用button来替换掉link--%>
<asp:ButtonID="Button1"runat="server"Text="Button"PostBackUrl="~/Default2.aspx"/>

<%--用图片做链接,也有两种选择方式--%>
<asp:ImageButtonID="ImageButton1"runat="server"PostBackUrl="~/Default2.aspx"ImageUrl="~/upup.gif"/>
<asp:HyperLinkID="HyperLink2"runat="server"NavigateUrl="~/Default2.aspx"ImageUrl="~/upup.gif"></asp:HyperLink>

如果你还有些迷茫,我建议你查看他们生成html之后的源代码。

<aid="HyperLink1"href="Default2.aspx">HyperLink</a>
<%--HyperLink解析成Html之后对应的就是一个单纯的超链接,href指向了要跳转的页面--%>

<aid="LinkButton1"href="javascript:WebForm_DoPostBackWithOptions(newWebForm_PostBackOptions(&quot;LinkButton1&quot;,&quot;&quot;,false,&quot;&quot;,&quot;Default2.aspx&quot;,false,true))">LinkButton</a>
<%--LinkButton1虽然也是一个锚标记,但实际上是利用的JavaScript进行的跳转--%>

<inputtype="submit"name="Button1"value="Button"onclick="javascript:WebForm_DoPostBackWithOptions(newWebForm_PostBackOptions(&quot;Button1&quot;,&quot;&quot;,false,&quot;&quot;,&quot;Default2.aspx&quot;,false,false))"id="Button1"/>
<%--button被解析成type="submit"的input元素,同样通过JavaScript进行页面的跳转--%>

<inputtype="image"name="ImageButton1"id="ImageButton1"src="upup.gif"onclick="javascript:WebForm_DoPostBackWithOptions(newWebForm_PostBackOptions(&quot;ImageButton1&quot;,&quot;&quot;,false,&quot;&quot;,&quot;Default2.aspx&quot;,false,false))"style="border-width:0px;"/>
<%--ImageButton被解析成type="image"的input元素,同样通过JavaScript进行页面的跳转--%>

<aid="HyperLink2"href="Default2.aspx"><imgsrc="upup.gif"style="border-width:0px;"/></a>
<%--给HyperLink的ImageUrl属性赋值后,解析成Html之后对应的就是一个超链接中“夹”了一个img,但href仍然指向的要跳转的页面--%>

知道了这些又有什么用呢?

用处很多,但我们今天只谈论SEO。

就目前的搜索引擎技术手段,JavaScript(当然也就包括了AJAX)、表单元素(如input)、Flash和Image都无法(或者很难)被读取。“蜘蛛”倾向于读取简单的html格式的文本。所以,从SEO的角度出发:

1. 不要使用JavaScript或表单进行页面跳转链接,如果一个普通的<a></a>也能完成同样的功能。一般来说,任何不能通过标准锚标识符<a></a>进入的导航,都不会被蜘蛛检索到。如果本来就使用的客户端元素,我们应该比较容易注意到这一点;但当使用经过封装处理过后的服务器端控件时,我们就可能会大意了。

2. 注意UpdatePanel里没有文本内容的情况。我们可以做一个简单的测试:

<asp:ScriptManagerID="ScriptManager1"runat="server">
</asp:ScriptManager>
<asp:UpdatePanelID="UpdatePanel1"runat="server">
<ContentTemplate>
<asp:Labelrunat="server"ID="lbl"></asp:Label>
<asp:ButtonID="Button1"runat="server"Text="Button"onclick="Button1_Click"/>
</ContentTemplate>
</asp:UpdatePanel>

protectedvoidButton1_Click(objectsender,EventArgse)
{
this.lbl.Text="我是UpdatePanel生成的,所以你看不见我!";
}

解析成Html后的源代码部分:

<divid="UpdatePanel1">
<spanid="lbl"></span>
<inputtype="submit"name="Button1"value="Button"id="Submit1"/>
</div>

这是很好理解的,因为UpdatePanel一样是通过页面的JavaScript函数来生成页面内容的。查看源代码,我们能看到相关的JavaScript函数,但不能看到函数生成的内容。而搜索引擎的蜘蛛,它也是只看源代码的。

3. 当我们需要使用弹出页面时,通常的做法是:

<ahref="#"onclick="window.open('popup.html','common','height=600,weight=800');">commonpopup</a>

根据我们上面的交代,这样的写法,对SEO而言,无疑也是不利的。所以我们应该使用下面的代码,即保证了弹出窗口的效果,也是SEO友好的。而且即使客户的浏览器不支持或者禁用掉JavaScript,页面一样能够顺利的跳转。

<ahref="popup.html"onclick="window.open(this.href,'seo','height=600,weight=800');returnfalse;"target="_blank">seopopup</a>
<%--注意:这里的returnfalse语句不能省略。--%>

4. 当我们希望使用一种特殊的字体(常常是栏目标题之类)的时候,我们经常使用一张汉字图片来代替。这也是一个比较麻烦的事情,因为作为标题,其内容常常是相当重要的关键字,如果使用图片,蜘蛛是也无法读取的。一种可能的解决方案是sIFR,但这方面我并不是很熟;网上搜了一下,似乎还不能应用于汉字。

对于图片,我们常用的SEO方法是注明title和alt,如

<imgalt="ASP.NET搜索引擎优化"title="使用ASP.NET技术开发网站时应注意到的一些SEO技术"src="seo.gif"/>

不过这也属于“不可见的页面元素”,具体效果如何也很难精确衡量。但有总比没有强!

5. 其他一些注意事项:

5.1 将html标签的语义和css结合起来,和《span》和《div》不同,《h1》意味着标题、《b》意味着强调、《ul》《li》意味着列表……,这些语义标签能给搜索引擎更清晰的指示;

5.3 重要的内容放在html页面(指源代码,而不是浏览器显示结果)的顶端

5.5 将大段的JavaScript放在页面底部或者单独的js文件中;

5.2 最好不要使用框架(frame)布局;

5.3 大量的VIEWSTATE可能会对“蜘蛛”造成干扰;

5.5 牢记:就目前的搜索引擎技术手段,JavaScript(当然也就包括了AJAX)、表单元素(如input)、Flash和Image都无法(或者很难)被读取。

作者:自由飞 https://www.cnblogs.com/freeflying/archive/2010/02/19/1669469.html

举报

  • 相关推荐
  • AIbase MCP服务库上线:集成服务器、客户端、调试、案例教程等服务

    在当今数字化时代,人工智能技术正以前所未有的速度发展,深刻地改变着我们的生活和工作方式。而要充分发挥AI的强大能力,离不开高效的工具和服务支持。今天,就让我们来了解一下一个专注于MCP(Model Context Protocol)服务的优质平台 —— AIbase(www.aibase.cn)。 AIbase平台(https://mcp.aibase.cn/)作为一个精选全球优质MCP服务器的集合平台,为AI应用开发者和爱好者提供了丰富的�

  • 国内MCP服务平台推荐!aibase.cn上线MCP服务器集合平台

    在当今数字化时代,人工智能技术正以前所未有的速度发展,深刻地改变着我们的生活和工作方式。而要充分发挥AI的强大能力,离不开高效的工具和服务支持。今天,就让我们来了解一下一个专注于MCP(Model Context Protocol)服务的优质平台 —— AIbase。 AIbase(<https://mcp.aibase.cn/>)是一个精选全球优质MCP服务器的集合平台。它就像一个精心打造的资源宝库,一站式整合了海�

  • 科灯跨境年中活动 免费领谷歌优化服务

    科灯跨境618大促推出三大建站优惠方案:1)WordPress/WooCommerce旗舰版和定制版建站方案赠送谷歌SEO优化服务包,帮助商家解决独立站初期流量问题;2)Shopify提供0元免费建站服务,包含主题安装、域名绑定等技术支持;3)专业团队提供7x24小时售后保障,Shopify商家还可享1年免费技术支持。活动期间价格透明,助力跨境卖家低成本搭建独立站,开启出海新征程。

  • TCL电子荣膺“ESG环境友好卓越企业”,引领绿色可持续发展浪潮

    TCL电子(01070.HK)在2025年7月4日荣获格隆汇"全球投资嘉年华·2025"颁发的"ESG环境友好卓越企业"大奖。该奖项表彰公司在节能减碳、循环经济及生态保护领域的突破性成就。TCL电子已连续7年获恒生ESG评级A级,连续6年入选恒生可持续发展企业基准指数,在Wind ESG评级中位列行业前5/177名。公司将绿色理念贯穿产品全生命周期,并带动产业链伙伴共建"净零生态"。未来TCL将继续以创新驱动发展,在数字化转型和低碳发展浪潮中把握机遇,推动高质量可持续发展。

  • 用AI解锁技术公益,第五届Light创造营圆满收官

    第五届Light创造营圆满收官,19支团队从847个申报项目中脱颖而出。经过激烈角逐,11个优秀项目入围并获得资助,覆盖无障碍服务、非遗传承、儿童教育、乡村振兴、环保等多元领域。本届创造营特别关注AI技术应用,多个项目聚焦解决残障群体生活难题,如AR字幕手语眼镜帮助听障人士实现双向沟通,面部控制系统让手部障碍者操作数字设备。此外,AI还被应用于青少年心理健康干预、景区无障碍评分等场景。腾讯基金会持续支持AI技术在公益领域的创新应用,五年来已孵化上百个具有社会价值的项目,影响范围不断扩大。

  • 极光GPTBots成功完成“生成式人工智能服务登记”

    极光旗下AI开发平台GPTBots.ai近日在广东省网信部门完成生成式人工智能服务登记,成为合规经营的AI服务提供商。该平台严格遵循国家《互联网信息服务深度合成管理规定》和《生成式人工智能服务管理暂行办法》等法规要求,标志着其在技术创新、服务模式和数据安全等方面获得关键合规认可。此次登记体现了极光对法律法规的严格遵守和对安全责任的高度重视,为区域AI生态发展注入新活力。未来,极光将继续优化技术与服务,保障用户权益,推动生成式AI技术的健康规范发展。

  • StarRocks 优化实践:揭秘毫秒级实时分析的三大核心技术

    StarRocks是一款高性能实时分析数据库,通过三大核心技术解决海量数据分析难题:1)向量化执行引擎,采用批处理方式减少CPU开销,支持SIMD指令集加速计算;2)CBO优化器,基于统计信息智能选择最优执行计划,支持复杂查询改写和物化视图优化;3)列式存储结构,结合稀疏索引和Bitmap索引提升I/O效率。其企业级产品镜舟数据库在此基础上增强多租户隔离、RBAC权限控制等特性

  • A档评级背后的标杆力量:宁波银行综合金融服务模式解析

    宁波银行在交易商协会首次发布的"主承销商综合评价"中跻身A档,成为城商行标杆案例。该行通过"规模筑基-创新驱动-风控护航"三位一体发展模式,2024年总资产突破3.12万亿元,增速15.25%显著高于行业水平。债券承销连续五年保持区域性银行首位,全年承销规模达2596亿元,绿色债券承销规模位居城商行首位。创新推出全国首批"两新"债券等产品,为实体�

  • 智能座舱AI测试服务商盘点 ——Testin 云测

    文章探讨了智能网联汽车与智能座舱的发展趋势及测试挑战。智能座舱正从传统人机交互向全域智能化生态演进,其软件系统的稳定性、交互精准度和迭代敏捷性成为车企竞争关键。行业面临三大测试痛点:异构设备协同测试的资源调度困境、复杂场景的全链路测试覆盖难题,以及敏捷开发模式下的质量保障矛盾。Testin云测通过AI测试系统XAgent提供解决方案,采用微服务架构和容器化部署,实现测试资源弹性调度,并融合机器视觉、自然语言处理等技术提升测试效率。实践案例显示,该系统帮助车企提升测试效率35%,自动化覆盖80%功能点,缺陷检测率提升55%,全年节省测试成本超千万元。未来,随着智能座舱向舱驾融合、多模态交互发展,测试技术将呈现AI深度赋能、虚实结合仿真等趋势。

  • 跨境碳合规服务领域佼佼者!超70%TOP100大卖首选绿舟!

    绿舟服务已覆盖70%以上跨境电商Top100企业,包括安克、大疆等知名品牌。业务涵盖3C、家电、服装、宠物用品等多个领域,提供碳合规一站式解决方案。团队深耕跨境碳合规多年,拥有气候友好认证、CBAM申报等全流程服务能力。现推出免费定制认证方案,包含碳中和服务和验厂类认证两种选择,并提供0隐性收费承诺。认证失败可全额退款,售后更有专属1V1服务维护绿标有效性。绿舟以超高性价比和透明服务,助力卖家快速获取绿色认证,提升产品竞争力。