Silverlight的搜索引擎优化
时间:2010-08-17 来源:l2010q2010
什么是SEO,为什么它是如此重要?
SEO(搜索引擎优化)是改善交通的数量和质量,从搜索引擎网站的过程。 这意味着,做搜索引擎优化您的网站将使其更具可转位及更多的人参观。 下面是你的规则应该坚持以做最好的搜索引擎优化几点:
- <title>标签应包含有关您网站的最重要的信息
- 最重要的内容应留在本页面(开始后<body>标记)
- 所有图像标记号(<img />)应界定上的Alt标签 - 这是搜索引擎理解什么是图像的唯一途径说'
简短的开场白,RIA的世界
如今,网络空间是完全不同的网站。 老式的HTML是慢慢地被替换为新的富互联网应用(RIA)。 但他们为什么这么受欢迎? RIA技术的激情,它往往是改革的静态HTML网站,以使它们看起来更像是桌面应用程序。
为什么Silverlight的?
Flash和AJAX做几乎一样的Silverlight做同样的事情。 但是,Silverlight应用程序的创建与我们最喜爱的语言C#。 你可以使用任何其他语言,是用。NET框架兼容,太。 随着XAML的力量,我们可以创造伟大的设计方案。
我需要做搜索引擎优化我的Silverlight应用程序?
这是一个没有明确答案的问题。 如果您的网站是一个Silverlight应用程序,你需要搜索引擎索引,你一定要一个想办法如何做搜索引擎优化。 我强烈建议不要制造整个网站使用Silverlight。 我喜欢用动画,只在一个不寻常的方式显示数据(它的图表,图形等)。 如果你需要一个特殊的Silverlight应用程序,它执行的东西,你就不会需要做在大多数情况下,搜索引擎优化。 不要忘记,Silverlight是在浏览器中运行,所以一切都将在本地。
什么是搜索引擎优化与RIAs和问题?
丰富的互联网应用都是伟大的事情,但是他们的工作动态。 这句话是什么意思? 这意味着,当你加载页面,你没有看到,除了静态的文字,而是一个AJAX的,这与HTML工程中的应用()。 你可以使用同样的方法你的应用与桌面同一作品。 但是不管你做什么,当你重新加载的初始文本将被显示网页。 这个想法是你脱机工作。 你做的一切去当地,在您的计算机只。
互联网用户可以看到这些应用程序,但搜索引擎将不会看到他们,因为他们不能阅读。 因此,这是主要的问题在您的网站时,使用区域一体化安排:如何显示搜索机器人什么是在你的Silverlight应用程序。 在这篇文章中我将告诉你这个问题的一些解决方案。 他们中没有一个是完美的,但你可以看到你可以“打开搜索机器人的眼睛”。
静态文本应用在你的Silverlight
第一招是显示在你的Silverlight应用程序的静态文本。 这是如何实现? 下面是一个例子显示。
<div id="SilverlightApplication"> <object data="data:application/x-silverlight," type="application/x-silverlight-2" width="400" height="100"> <param name="source" value="ArticleSEO.xap"/> <param name="onerror" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="2.0.30923.0" /> <param name="autoUpgrade" value="true" /> <a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"> <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/> </a> </object> <iframe style='visibility:hidden;height:0;width:0;border:0px'></iframe> </div> <div id=”SilverlightContent” style="display: none;"> I'm Silverlight Content </div>
下面的代码有两个层次: SilverlightApplication (这是可见的)和 SilverlightContent<(这是看不见的)。 正常的互联网用户将看到一个明显的,因此,他将看到Silverlight应用程序。 每一个浏览器,它支持的图形,可以阅读的CSS也。 因此,用户将看不到无形层。 那么搜索机器人吗? 正如我前面提到的,它无法理解JavaScript,CSS和Silverlight内容。 这就是为什么机器人不会“看到”的Silverlight应用程序,但它会“看到”无形层。 因此这将是一层无形的阅读能力的内容内。 (备注:我用 有形 和无形的 ,他们为每个层的两个在正常范围内的互联网用户谁可以或内容可以不看。)
你可以看到,你可以把不同的应用包含这样的内容里面隐藏层,以描述你的Silverlight。 这一招很简单,当谈到搜索引擎优化您的网站时,你打算使用Silverlight应用程序。 你可以看到在线演示 这里。
使用XSLT从XAML中提取文本
一个XAML文件是一个普通的XML文件。 你可以从文本中提取的XAML文件使用 XSLT转换。 这一招几乎是一前一样。 它只是可以更容易地获取文本。 在前面的例子中,你可以从数据库的源文本或其他。 在这一次,它从你的XAML文件。
<form id="form1" runat="server" style="height: 100%;"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <div id="SLHost" style="display: none;"> <asp:Xml runat="server" DocumentSource=”Page.xaml” TransformSource="XAML2XHTML.xslt" /> </div> <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/ArticleSEO2.xap" MinimumVersion="2.0.30923.0" Width="400" Height="100" /> </form>
服务器控件<asp:Xml>让你转换一个XML文件使用XSL样式表。 这是一个非常简单的方法来提取的Silverlight应用程序的文本。 当然,如果您的应用程序由许多的XAML文件将更加难以得到从每个文件的全部文本。
<xsl:template match="TextBlock"> <div> <xsl:value-of select="@Text"/> <xsl:value-of select="text()"/> <xsl:apply-templates select="*"/> </div> </xsl:template> <xsl:template match="Run"> <span> <xsl:value-of select="@Text"/> <xsl:value-of select="text()"/> </span> </xsl:template>
可以通过下面的代码转换,也。 您可以使用 XslCompiledTransform 类来实现这一目标。
StringBuilder sb = new StringBuilder(); XslCompiledTransform d = new XslCompiledTransform(); d.Load("stylesheet.xsl"); using (StringWriter myWriter = new StringWriter(sb)) { d.Transform("input.xml", null, myWriter); }
隐藏资料核实不收录谷歌
我最近看到 一篇文章 声称,谷歌机器人不索引隐藏的资料核实。 这是因为垃圾邮件发送者-他们利用这些隐藏的内容。 当然也有一些变通办法。 您可以使用JavaScript来隐藏层,还是移动外部文件的CSS在。
另一个解决办法是使用Silverlight.js的。 它提供了一种方法,以显示在使用JavaScript动态页面一个Silverlight应用程序。 这是非常方便,因为你没有隐藏层,但你显示在它上面的Silverlight应用程序。 在这样的内容将根据您的申请。
您的网站是一个Silverlight应用程序
例如,您已经创建一个Silverlight的应用程序,它有几页,以显示您的内容。 这不是一个好主意,让每个网页的整个文本和显示它(在一个隐藏的分区页)上的索引。 你更希望得到的查询字符串从当前页面。 然后你得到相应的文字到这个网页。 你还应该包括这些网页之间的联系,以便在搜索机器人将能够穿越它们。 您的应用程序也应该看看查询字符串,以确定哪些页面显示。 这样,当你在地址栏中键入 http://mysite.com/index.aspx?page=about,您的Silverlight应用程序就会知道哪些页面,显示和应用的文字背后,将由该网页。
SilverlightSEO.com
SilverlightSEO.com是一个小项目,由约翰曼迪亚创建。 他用第二种方法,以试图让他的网页的搜索引擎索引。 这里是他的工作结果:
搜索字词 | 谷歌 | 雅虎 | 活 |
Silverlight的搜索引擎优化 | 2号出408,000 | 第十二没有3210000 | 尚未编制索引 |
Silverlight的搜索引擎优化 | 没有95,000 11个 | 没有出46 482 000(不如) | 尚未编制索引 |
Silverlight的搜索引擎优化 | 没有782,000 42 | 没有481000 14 | 尚未编制索引 |
Silverlight的搜索引擎 | 没有了65 215 000 | 没有855,000 43 | 但尚未编入索引 |
这个初始页是一个测试,看看是否可以不Silverlight的搜索引擎索引的问题。 他是用货柜的内容(允许被打印的内容和索引),是简单地使用Silverlight呈现的内容(类似CSS)的网页。 没有任何隐藏的文本(HTML是什么显示),这给人的轻松增加非Silverlight支持通过CSS样式(选项)。 他的试验结果进行了展望。 索引页包含静态文本(从他的Silverlight应用程序的文本),这样的搜索机器人会读它没有任何问题。
结论
我认为没有最好的方式,当谈到RIAs和搜索引擎优化。 如果你想搜索引擎优化 - 只使用静态内容。 不要把你的Silverlight应用程序中的重要数据。 使用主要用于动画和数据可视化,并给所包围的静态HTML标记文本一切。 此外,搜索引擎不只是看文字,但他们得到的HTML标记和它们之间的关系。