首页 > Asp.net开发 > 原创asp.net动态添加网站seo的标题、关键词、描述的方法

原创asp.net动态添加网站seo的标题、关键词、描述的方法

曾经用jsp开发的网站一直未能完美的实现修改网站的关键字和描述,一直没让他显示在web前端,网站标题,关键词,描述有利于搜索引擎的搜索。于是就想试试用asp.net怎么实现,花了一个下午的时间总算完美的解决了该问题。

不用数据库时很简单就实现了该功能:

 

[csharp][/csharp] view plaincopy

  1. string title;
  2.             string keywords = "关键字";
  3.             string description = "描述";
  4.             title = "标题";
  5.            Page.Title = title;
  6.             //动态添加页面关键字
  7.             HtmlMeta hm = new HtmlMeta();
  8.             hm.Name = "keywords";
  9.             hm.Content = keywords;
  10.             Page.Header.Controls.Add(hm);
  11.             //动态添加页面描述
  12.             HtmlMeta ms = new HtmlMeta();
  13.             ms.Name = "ms";
  14.             ms.Content = description;
  15.             Page.Header.Controls.Add(ms);

简单实现了该功能后,再深入一点从数据库中获取并修改他:用DataView把数据显示在页面,dv[i]["j"]表示把第i行第j列的数据显示出来。

[csharp][/csharp] view plaincopy

  1. //查找的方法
  2.         public void query()
  3.         {
  4.             string sql = "select * from sysConfig";
  5.             DataView dv = JDBC.query(sql);
  6.             title.Text = dv[0]["title"].ToString();
  7.             keywords.Text = dv[0]["keywords"].ToString();
  8.             description.Text = dv[0]["description"].ToString();
  9.             Page.Title = title.Text;
  10.             string gjz = keywords.Text;
  11.             string ms = description.Text;
  12.             //动态添加页面关键字
  13.             HtmlMeta hm = new HtmlMeta();
  14.             hm.Name = "keywords";
  15.             hm.Content = gjz;
  16.             Page.Header.Controls.Add(hm);
  17.             //动态添加页面描述
  18.             HtmlMeta hmms = new HtmlMeta();
  19.             hmms.Name = "ms";
  20.             hmms.Content = ms;
  21.             Page.Header.Controls.Add(hmms);
  22.          }

button方法:

[csharp][/csharp] view plaincopy

  1. protected void Button1_Click(object sender, EventArgs e)
  2.         {
  3.             Session["title"] = title.Text;
  4.             Session["keywords"] = keywords.Text;
  5.             Session["description"] = description.Text;
  6.             string sql = string.Empty;
  7.             if (Session["title"].ToString() == "")
  8.             {
  9.                 sql = "insert into sysConfig(title,keywords,description)values('" + Session["title"] + "','" + Session["keywords"] + "','" + Session["description"] + "')";
  10.             }
  11.             else
  12.             {
  13.                 sql = "update sysConfig set title='" + Session["title"] + "',keywords='" + Session["keywords"] + "',description='" + Session["description"] + "' where configId=1;";
  14.             }
  15.             JDBC.Connection(sql);
  16.             string bt = Session["title"].ToString();
  17.             string gjz = Session["keywords"].ToString();
  18.             string ms = Session["description"].ToString();
  19.             Page.Title = bt;
  20.             //动态添加页面关键字
  21.             HtmlMeta hm = new HtmlMeta();
  22.             hm.Name = "keywords";
  23.             hm.Content = gjz;
  24.             Page.Header.Controls.Add(hm);
  25.             //动态添加页面描述
  26.             HtmlMeta hmms = new HtmlMeta();
  27.             hmms.Name = "ms";
  28.             hmms.Content = ms;
  29.             Page.Header.Controls.Add(hmms);
  30.         }

page_Load方法中就一句话:

[csharp][/csharp] view plaincopy

  1. query();

前端代码:

[csharp][/csharp] view plaincopy

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="webDemo.WebRoot.test" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5.     <title></title>
  6. </head>
  7. <body>
  8.     <form id="form1" runat="server">
  9.     <div>
  10.         <asp:Label ID="Label1" runat="server" Text="标题:"></asp:Label>
  11.         <asp:TextBox ID="title" runat="server"></asp:TextBox><br />
  12.         <asp:Label ID="Label2" runat="server" Text="网站关键字:"></asp:Label>
  13.         <asp:TextBox ID="keywords" runat="server" ></asp:TextBox><br />
  14.         <asp:Label ID="Label3" runat="server" Text="网站描述:"></asp:Label>
  15.         <asp:TextBox ID="description" runat="server"></asp:TextBox><br />
  16.         <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
  17.     </div>
  18.     </form>
  19. </body>
  20. </html>

 

效果图:

页面源文件:

到此依然没有完美的实现,还不能修改数据。sql语句没写错,为什么还会这样?就是因为加载页面一直实行query()方法,update方法修改完后又被query()方法还原了。有什么方法能让query()方法只是在页面加载时只实行一次呢?用IsPostBack

[csharp][/csharp] view plaincopy

  1. if(IsPostBack)
  2.             {
  3.                 return;
  4.             }
  5. query();

申明:本文为作者原创文章,请珍重作者的劳动成果,转载必须声明!原文网址:http://blog.csdn.net/qianquan003

以下代码来自网上资料:

网站建设中,网站的标题(title)、描述(Description)、关键词(keywords)是非常重要的,尤其是要做推广的企业站,更是要注意其标题和描述,因为现在大多的搜索引擎的排名机制都非常重视这一点。相信对seo从业人员来说以下的title、Description、keywords标签肯定不陌生:

 

1,首先设置网站的title、Description、keywords标签的变量。

string strTitle;

string strSeoKey;

string strSeoDescription;

 

2,然后给变量赋值。

strTitle = "企业网站管理系统Title";

strSeoKey = "企业网站管理系统Keyword";

strSeoDescription = "企业网站管理系统Description";

 

3,接着在C#的后台事件代码中添加:

Page.Title = strTitle;

 

HtmlMeta desc = new HtmlMeta();

desc.Name = "Description";

desc.Content = strSeoDescription;

Page.Header.Controls.Add(desc);

 

//动态添加页面Keyword

HtmlMeta keywords = new HtmlMeta();

keywords.Name = "keywords";

keywords.Content = strSeoKey;

Page.Header.Controls.Add(keywords);

 

最后把上面的代码直接放置在Page_Load这个事件中,既可运行查看效果了。当然实际操作中可以根据自己需求进行适当修改。


本文固定链接: http://www.devba.com/index.php/archives/3483.html | 开发吧

报歉!评论已关闭.