locked
silverlight是如何支持搜索引擎的,SEO具体要怎么做呢? RRS feed

  • 问题

  • 打算做个公司展示的silverlight的全站,不用数据库的。

    公司里的seo问我怎么来做搜索优化,

    具体在xaml代码里怎么做呢??
    视别人的帮助为恩赐~
    2009年7月15日 1:55

答案

  • http://www.silverlightshow.net/items/Silverlight-SEO.aspx
    这个是SilverlightShow里面提到的关于SEO的方法。
    Using XSLT to extract text from 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.xamlTransformSource="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> ,你可以使用XSL样式表转换XML文件。这用这个非常简单的方法从Silverlight的应用程序提取文字。当然,如果你的应用程序包括很多XAML的文件将很难加到全文中的每个文件。 (个人关点:不过这个我觉得不难,因为每个页面我都是做为Page的字控件)

    ...
    <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>
    ...

    你可以使用下面的转换方法来转换xml,使用: 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);
    }


    努力!写一个js解析器,一个svg插件,一个绘图程序,做好自己,呵呵~!
    • 已标记为答案 woodynet 2009年7月17日 3:38
    2009年7月15日 11:02
    版主

全部回复

  • 大致上就是给object标签加SEO关键字或内容.
    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年7月15日 3:52
    版主
  • http://www.silverlightshow.net/items/Silverlight-SEO.aspx
    这个是SilverlightShow里面提到的关于SEO的方法。
    Using XSLT to extract text from 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.xamlTransformSource="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> ,你可以使用XSL样式表转换XML文件。这用这个非常简单的方法从Silverlight的应用程序提取文字。当然,如果你的应用程序包括很多XAML的文件将很难加到全文中的每个文件。 (个人关点:不过这个我觉得不难,因为每个页面我都是做为Page的字控件)

    ...
    <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>
    ...

    你可以使用下面的转换方法来转换xml,使用: 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);
    }


    努力!写一个js解析器,一个svg插件,一个绘图程序,做好自己,呵呵~!
    • 已标记为答案 woodynet 2009年7月17日 3:38
    2009年7月15日 11:02
    版主