动态网站推广与搜索引擎优化初探
来源:互联网 发布:淘宝怎么查自己的评价 编辑:程序博客网 时间:2024/05/01 21:03
第一个是动态网站的各个链接生成网站地图(据报道google,microsoft和yahoo联合声明一个统一的标准sitemap 0.9,事实上目前只有google一家可以提交网站地图, 参见:http://www.google.com/support/webmasters/bin/answer.py?answer=40318&hl=zh_CN),站点地图范本如下:
<?xml version="1.0" encoding="UTF-8"?>
< urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
< url>
< loc>http://www.example.com/</loc>
< lastmod>2005-01-01</lastmod>
< changefreq>monthly</changefreq>
< priority>0.8</priority>
</url>
</urlset>
我的做法是用一张表记录点击的链接,再写一个页面来生成网站地图(存储地图文件的目录需要目录写授权)文件Sitemap.xml,代码如下:
* 生成网站地图Sitemap.xml
* sid:网站代码
*/
private void CreateXMLFile(string sid)
...{
SqlParameter param1 = new SqlParameter("@SID", SqlDbType.VarChar, 20);
param1.Value = sid;
IDataParameter[] parameters = new IDataParameter[] ...{ param1 };
DbHelperSQL dbHelper = new DbHelperSQL(connStr);
string outParams = "";
DataSet ds = dbHelper.RunProcedure("spGetSiteMap", parameters, "TmpSiteMapInfo", ref outParams);
if (ds.Tables[0].Rows.Count > 0)
...{
string XMLSpace = "http://www.google.com/schemas/sitemap/0.9";
DateTime dt = System.DateTime.Now;
XmlText xmltext;
XmlElement xmlelem;
// Create a new, empty document.
XmlDocument doc = new XmlDocument();
XmlDeclaration docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(docNode);
// Create and insert a new element.
XmlNode urlset = doc.CreateNode(XmlNodeType.Element, "urlset", XMLSpace);
doc.AppendChild(urlset);
foreach (DataRow dr in ds.Tables[0].Rows)
...{
// Create a nested element (with an attribute).
XmlElement url = doc.CreateElement("", "url", XMLSpace);
urlset.AppendChild(url);
xmlelem = doc.CreateElement("", "loc", XMLSpace);
xmltext = doc.CreateTextNode(dr["URL"].ToString());
xmlelem.AppendChild(xmltext);
url.AppendChild(xmlelem);
xmlelem = doc.CreateElement("", "lastmod", XMLSpace);
xmltext = doc.CreateTextNode(string.Format("{0:u}", dt).Substring(0,10));
xmlelem.AppendChild(xmltext);
url.AppendChild(xmlelem);
xmlelem = doc.CreateElement("", "changefreq", XMLSpace);
if (dr["Type"].ToString() == "1")
xmltext = doc.CreateTextNode("daily");
else
xmltext = doc.CreateTextNode("monthly");
xmlelem.AppendChild(xmltext);
url.AppendChild(xmlelem);
xmlelem = doc.CreateElement("", "priority", XMLSpace);
xmltext = doc.CreateTextNode(dr["OrderNo"].ToString());
xmlelem.AppendChild(xmltext);
url.AppendChild(xmlelem);
}
doc.Save(Server.MapPath("Sitemap.xml"));
}
return;
}
上面的代码比较简单,一个要点是如果上面结点(比如:urlset)带有命名空间,则下层结点也一定要带,否则下层结点会自动带一个空的命名空间(好像与习惯思维相反,这点花了偶不少时间)。
第二个是robots(爬虫用的配置文件),也有相关标准,网上资料很多,下面是我写的生成robots文件的代码:
...{
SqlParameter param1 = new SqlParameter("@SID", SqlDbType.VarChar, 20);
param1.Value = sid;
IDataParameter[] parameters = new IDataParameter[] ...{ param1 };
DbHelperSQL dbHelper = new DbHelperSQL(connStr);
string outParams = "";
DataSet ds = dbHelper.RunProcedure("spGetSiteMap", parameters, "TmpSiteMapInfo", ref outParams);
if (ds.Tables[0].Rows.Count > 0)
...{
FileStream fs = new FileStream(Server.MapPath("robots.txt"), FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.Flush();
// 使用StreamWriter来往文件中写入内容
m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin);
// 把richTextBox1中的内容写入文件
m_streamWriter.WriteLine("# Robots.txt file from http://www.hugesoft.net");
m_streamWriter.WriteLine("# All robots will spider the domain");
m_streamWriter.WriteLine("");
m_streamWriter.WriteLine("Sitemap: http://www.hugesoft.net/Sitemap.xml");
m_streamWriter.WriteLine("User-agent: *");
m_streamWriter.WriteLine("Disallow: ");
foreach (DataRow dr in ds.Tables[0].Rows)
...{
string str = dr["URL"].ToString().ToLower();
int index = str.IndexOf("http://");
if (index < 0)
continue;
index = str.IndexOf("/",index + 7);
if (index < 0)
continue;
str = str.Substring(index);
m_streamWriter.WriteLine("Allow: " + str);
}
//关闭此文件
m_streamWriter.Flush();
m_streamWriter.Close();
}
}
- 动态网站推广与搜索引擎优化初探
- 网站推广:google搜索引擎优化圣经
- 网站推广必备手册:SEO教程:搜索引擎优化入门与进阶(第2版)
- 网站推广方案之搜索引擎优化SEO全攻略
- 动态网站如何做搜索引擎优化
- 网站SEO优化与推广技巧
- SEO推广与网站优化的关系
- 网站优化与推广—ping服务
- 搜索引擎优化(SEO)与网站开发优化
- 网站推广与优化——网站提交
- 网站推广、搜索引擎登录、网站登录
- 搜索引擎登录|网站登录|网站提交|网站推广- 搜索引擎登录
- 网站优化与推广—robots文件处理
- 网站推广需要的是优化与营销并驱
- 如何做好企业网站优化与推广工作
- 网站推广技巧——搜索引擎篇
- 免费网站推广、免费搜索引擎登录
- 英文产品网站的搜索引擎推广
- 偶然中看见的句子
- ``祝福``
- 昆山 IT业 求职
- JAVA的反射机制
- 渴望而又害怕
- 动态网站推广与搜索引擎优化初探
- JAVA学习方法
- 设计模式笔记--行为型模式-之三 解释器
- 什么是SEO
- System Repair Engineer(SREng) 2.6.15.1147 测试版
- 设计模式笔记--行为型模式之四-Iterator
- 微软经典面试题和答案
- MSVC的调试技巧: Pseudoregisters
- 程序员怎样提高自己-驱动你的同事