ASP.NET的SEO: 服务器控件背后——SEO友好的Html和JavaScript

news/2024/5/21 1:16:06/文章来源:https://blog.csdn.net/weixin_33705053/article/details/85686917

本系列目录 

 

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

复制代码

       
<%--链接的表现形式--%>
       
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Default2.aspx">HyperLink</asp:HyperLink>
       
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/Default2.aspx">LinkButton</asp:LinkButton>
       
       
<%--出于美观的考虑,很多网站都会用button来替换掉link--%>
       
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/Default2.aspx" />
       
       
<%--用图片做链接,也有两种选择方式--%>
       
<asp:ImageButton ID="ImageButton1" runat="server" PostBackUrl="~/Default2.aspx" ImageUrl="~/upup.gif" />
       
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="~/Default2.aspx" ImageUrl="~/upup.gif"></asp:HyperLink>     
复制代码
               

如果你还有些迷茫,我建议你查看他们生成html之后的源代码。
复制代码
        <a id="HyperLink1" href="Default2.aspx">HyperLink</a>      
       
<%--HyperLink解析成Html之后对应的就是一个单纯的超链接,href指向了要跳转的页面 --%>
       
       
<a id="LinkButton1" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;LinkButton1&quot;, &quot;&quot;, false, &quot;&quot;, &quot;Default2.aspx&quot;, false, true))">LinkButton</a>
       
<%--LinkButton1虽然也是一个锚标记,但实际上是利用的JavaScript进行的跳转--%>
       
       
<input type="submit" name="Button1" value="Button" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;Button1&quot;, &quot;&quot;, false, &quot;&quot;, &quot;Default2.aspx&quot;, false, false))" id="Button1" />
       
<%--button被解析成type="submit"的input元素,同样通过JavaScript进行页面的跳转--%>
       
       
<input type="image" name="ImageButton1" id="ImageButton1" src="upup.gif" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ImageButton1&quot;, &quot;&quot;, false, &quot;&quot;, &quot;Default2.aspx&quot;, false, false))" style="border-width:0px;" />
       
<%--ImageButton被解析成type="image"的input元素,同样通过JavaScript进行页面的跳转--%>
       
       
<a id="HyperLink2" href="Default2.aspx"><img src="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:ScriptManager ID="ScriptManager1" runat="server">
       
</asp:ScriptManager>
       
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
           
<ContentTemplate>
               
<asp:Label runat="server" ID="lbl" ></asp:Label>
               
<asp:Button ID="Button1" runat="server" Text="Button" onclick="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一样是通过页面的JavaScript函数来生成页面内容的。查看源代码,我们能看到相关的JavaScript函数,但不能看到函数生成的内容。而搜索引擎的蜘蛛,它也是只看源代码的。

3. 当我们需要使用弹出页面时,通常的做法是:
<a href="#" onclick="window.open('popup.html','common','height=600,weight=800');">common popup</a>
根据我们上面的交代,这样的写法,对SEO而言,无疑也是不利的。所以我们应该使用下面的代码,即保证了弹出窗口的效果,也是SEO友好的。而且即使客户的浏览器不支持或者禁用掉JavaScript,页面一样能够顺利的跳转。
<a href="popup.html" onclick="window.open(this.href,'seo','height=600,weight=800');return false;" target="_blank">seo popup</a>
<%--注意:这里的return false语句不能省略。--%>

4. 当我们希望使用一种特殊的字体(常常是栏目标题之类)的时候,我们经常使用一张汉字图片来代替。这也是一个比较麻烦的事情,因为作为标题,其内容常常是相当重要的关键字,如果使用图片,蜘蛛是也无法读取的。一种可能的解决方案是sIFR,但这方面我并不是很熟;网上搜了一下,似乎还不能应用于汉字。
对于图片,我们常用的SEO方法是注明title和alt,如
<img alt="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都无法(或者很难)被读取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_783573.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有什么网站是python做的_自学python有什么网站

Python是未来人工智能最好的编程语言&#xff0c;很多程序员在有其她编程基础的情况选择学习python是比较容易的&#xff0c;当然现在很多想进入编程界的新手选择python开始接触学习编程&#xff0c;但是由于经费有限&#xff0c;只能选择最便宜的学习方式就是自学成才&#xf…

关键词组合工具_网站关键词的定位和布局

每个SEO人员都会有自己的核心关键字定义。百度的核心关键词一直是人们讨论的话题。我们知道&#xff0c;这是一个流量拥挤和匮乏的时代。核心关键字的选择决定了我们对流量的选择以及基于品牌搜索流量的网站定位。那么关键词怎么选呢&#xff1f;选择关键词有七种方法&#xff…

访问量超过100万的电子商务网站技术架构=LVS

本连载首篇介绍到电子商务网站高性能、高可用解决方案。从架构图上的方案&#xff0c;应用的是LVSkeepalived负载均衡。实现高性能、高可用解决方案 (服务器组成集群&#xff0c;达到负载均衡&#xff0c;高性能、高可用、高可伸缩性的服务器集群)互联网->LVS负载均衡(前端四…

中head函数_wordpress插件,怎样向网站添加数据?试试wp_head()函数

有时候&#xff0c;我们会碰到这样一种情况&#xff1a;我们的wordpress网站主题模板已经定型了&#xff0c;但是&#xff0c;我们后期又想向wordpress网站添加一些新功能&#xff0c;这时候&#xff0c;我们该怎么办&#xff1f;是继续修改wordpress网站主题模板吗&#xff1f…

网站建设就要像2018世界杯的俄罗斯队大杀四方[图]

2019独角兽企业重金招聘Python工程师标准>>> 今天心情不错&#xff0c;因为昨天晚上观看了世界杯比赛&#xff0c;尤其是对俄罗斯队的大杀四方感到十分霸气侧漏啊&#xff0c;因此我联想到了自己的博客网站&#xff0c;我的博客是去年年底上线的&#xff0c;一直想建…

CSS实现onMouseOver、onMouseOut效果和层套菜单

在IE中 <a> 标签的。而实际上 WEB 标准里面&#xff0c; 应该对所有元素都支持。如果使用 Mozilla 或者 Opera, 那么可以看到不需要这个 htc 都可以正常运行的。 因为 htc 是 IE 特有的&#xff0c;别的浏览器不能理解&#xff0c;会忽略掉&#xff0c;不影响结果的显示。…

使用Apache搭建Web网站服务器

学习一个服务的过程&#xff1a; 此服务器的概述&#xff1a;名字&#xff0c;功能&#xff0c;特点&#xff0c;端口号安装配置文件的位置服务启动关闭脚本&#xff0c;查看端口此服务的使用方法 修改配置文件&#xff0c;实战举例排错&#xff08;从下到上&#xff0c;从内到…

【建站知识】360安全检测出轻微 X-Frame-Options头未设置,iis、apache、nginx使用X-Frame-Options防止网页被Frame的解决方法...

当然也是因为被360检测到了示&#xff02;X-Frame-Options头未设置&#xff02;&#xff0c;根据360的提示与百度了一些网上的一些资料整理了下&#xff0c;完美解决问题。 首先看下360给出的方案&#xff0c;但么有针对服务器的具体设置&#xff0c;不是每个人对服务器都很懂啊…

《从零开始学Swift》学习笔记(Day 2)——使用Web网站编写Swift代码

原创文章&#xff0c;欢迎转载。转载请注明&#xff1a;关东升的博客Swift程序不能在Windows其他平台编译和运行&#xff0c;有人提供了一个网站swiftstub.com&#xff0c;左栏是代码编辑窗口&#xff0c;右栏是运行结果窗口。可以在任何平台下编译和运行Swift程序。欢迎关注关…

VS2019新建网站并发布到IIS

发布网站特别注意事项整理 参考&#xff1a; https://blog.csdn.net/qingkaqingka/article/details/87011330 1、控制面板-程序-启动和关闭windows功能 特别注意以下选项要选中&#xff0c;默认是不选中的。 2、vs2019新建项目 3、发布 勾选 在发布期间预编译 这样就不会包含任…

IIS 发布网站无法显示图片

发布网站以后&#xff0c;图片全是叉号。 1、先确认&#xff0c;IIS服务管理器下面没有MIME类型这个选项 2、参考设置权限&#xff0c;&#xff08;我的程序是拷贝过来的&#xff09;&#xff1a; https://blog.csdn.net/yzm272/article/details/86506615 1、第一步打开IIS 控…

PC比电脑好玩的秘密是什么?答案就是因为有这些神奇的网站!

五花八门小工具合集http://www.nicetool.net/ 该网站真的很“乱”&#xff01;因为里面的小功能真的很多&#xff01;无论是Gif制作、证件照换底色、还是搞笑的王思聪微博生成&#xff0c;它都能让你得心意手&#xff01; 根据你的星座推荐电影https://magicmoviesorter.com/ 如…

案例学Python--案例四:Django实现一个网站的雏形(2)

续上篇&#xff0c;用Django创建了一个Web&#xff0c;我们肯定想展示自己的页面&#xff0c;简单点&#xff0c;我们想看到自己的HelloWorld。此处要从项目的配置说起&#xff0c;方法和路径配对了&#xff0c;展现页面分分钟的事情。 先上效果图吧&#xff1a; 项目结构&…

如何给网站添加SSL证书(免费)?

2019独角兽企业重金招聘Python工程师标准>>> 本篇只针对各位网站管理员&#xff09;做网站的一般都希望自己的网站有SSL证书&#xff0c;因为SSL可以使浏览者以加密的方式浏览网站&#xff0c;保证浏览者的隐私&#xff0c;同时还能提高网站的SEO。本文就教你如何给…

通过图片优化,我将网站大小减少了62%

图片是Web提供的最基本的一种内容类型。人们都说一张图片胜过千言万语。但如果你一不小心&#xff0c;它也可能占用你好几兆带宽。 虽说Web图像应该尽可能清晰明快&#xff0c;但文件大小必须是可管理的&#xff0c;以便保持较快的加载速度&#xff0c;并且应该将数据使用保持在…

Hadoop网站日志数据清洗——正则表达式实现

周旭龙前辈的Hadoop学习笔记—网站日志分析项目案例简明、经典&#xff0c;业已成为高校大数据相关专业的实验项目。上周博主也完成了这个实验&#xff0c;不同于周前辈使用特殊符号切割字符串得到数据的做法&#xff0c;博主使用了正则表达式来匹配数据。在此将我的思路及代码…

网站开发流程以及HTML5简介(八)

2019独角兽企业重金招聘Python工程师标准>>> 第一大原因&#xff1a; 它是未来&#xff0c;开始用吧&#xff01; 最大的原因今天你就开始使用HTML5是因为它是未来&#xff0c;不要掉队了&#xff01;HTML5不会往每个方向发展&#xff0c;但是更多的元素已经被很多公…

编写python爬虫采集彩票网站数据,将数据写入mongodb数据库

1.准备工作&#xff1a; 1.1安装requests: cmd >> pip install requests 1.2 安装lxml: cmd >> pip install lxml 1.3安装wheel: cmd >> pip install wheel 1.4 安装xlwt: cmd >> pip install xlwt 1.5 安装pymongo: cmd >> pip install pymon…

中国电信北京研究院发布“2016年上半年网站安全报告”

提要&#xff1a;中国电信北研院副院长陈运清在致辞中表示&#xff0c;信息安全已经上升到国家战略高度&#xff0c;随着“互联网”时代到来&#xff0c;以及互联网新业务和新技术的快速发展&#xff0c;信息安全防护的要求越来越高。中国电信充分利用遍布全网的智能管道、丰富…

.NET也有春天及高性能网站架构实践

.NET也有春天及高性能网站架构实践 在本次专访之前&#xff0c;笔者一直都对.NET这个平台有所偏见&#xff0c;或者说是看不到.NET的优势&#xff0c;对Java Web、PHP、Ruby等更加看好&#xff0c;而之后SSH、RoR、LAMP等的流行也让笔者对这个观点更加坚信。然而在浏览完赵桂华…