Sitemap对于搜索引擎优化爱好者来说是一个亘古不变,老生常谈的话题,然而现在互联网上多出很多制作或者在线生成Sitemap的工具,但是效果
并不是很好,因为制作出来的是死地图,也就是说当网站更新以后,网站管理员们又得重新制作一张Sitemap了,重新上传,显得十分麻烦,本文主要阐述
XML形式(适合Google)的动态sitemap的制作,并给出制作sitemap的ASP在线生成程序。
什么是Sitemap?Sitemap有什么作用?
Sitemap是指引蜘蛛抓取的一个规则页面,一般首先会被抓取,当Spider群来到这个站点,首先会分析该站点的地图有没有更新,地图可以说是网站
与蜘蛛之间的第一个通道,其制作的合理与否直接影响到整个站点内容页面的抓取。
对于SEO来说,目前网站地图主要分两类,html形式的地图和XML形式的地图。
目前制作地图的比较好的工具有Xenu Link Sleuth等,在线制作的有很多sitemapbuilder等等,如果站点比较小,页面比较少可
以选用那些在线生成的XML地图。枫林(田锋林)这里推荐一款ASP的动态地图生成程序,供搜索引擎优化爱好者学习使用。
程序如下:
<%Server.ScriptTimeout=50000'A simple script to automatically produce
sitemaps for a webserver, in the Google Sitemap Protocol (GSP)' by
fenglinsession("server")="
http://www.seodr.cn"vDir = "/seo"set objfso
= CreateObject("Scripting.FileSystemObject")root =
Server.MapPath(vDir)'response.ContentType = "text/xml"'response.write
"<?xml version='1.0' encoding='UTF-8'?>"'response.write "<urlset
xmlns='
http://www.google.com/schemas/sitemap/0.84'>"str = "<?xml
version='1.0' encoding='UTF-8'?>" & vbcrlfstr = str & "<urlset
xmlns='
http://www.google.com/schemas/sitemap/0.84'>" & vbcrlfSet
objFolder = objFSO.GetFolder(root)'response.write
getfilelink(objFolder.Path,objFolder.dateLastModified)Set colFiles =
objFolder.FilesFor Each objFile In colFiles'response.write
getfilelink(objFile.Path,objfile.dateLastModified)str = str &
getfilelink(objFile.Path,objfile.dateLastModified) &
vbcrlfNextShowSubFolders(objFolder)'response.write "</urlset>"str =
str & "</urlset>" & vbcrlfset fso = nothingSet objStream =
Server.CreateObject("ADODB.Stream")With objStream'.Type =
adTypeText'.Mode = adModeReadWrite.Open.Charset = "utf-8".Position =
objStream.Size.WriteText=str.SaveToFile server.mappath("/sitemap.xml"),
2.CloseEnd WithSet objStream = NothingIf Not Err
ThenResponse.Write("<script>alert('success!');history.back();</
script>")Response.EndEnd IfSub ShowSubFolders(objFolder)Set colFolders
= objFolder.SubFoldersFor Each objSubFolder In colFoldersif
folderpermission(objSubFolder.Path) then'response.write
getfilelink(objSubFolder.Path,objSubFolder.dateLastModified)str = str
& getfilelink(objSubFolder.Path,objSubFolder.dateLastModified) &
vbcrlfSet colFiles = objSubFolder.FilesFor Each objFile In
colFiles'response.write
getfilelink(objFile.Path,objFile.dateLastModified)str = str &
getfilelink(objFile.Path,objFile.dateLastModified) &
vbcrlfNextShowSubFolders(objSubFolder)end ifNextEnd SubFunction
getfilelink(file,datafile)file=replace(file,root,"")file=replace(file,"\","/")If
FileExtensionIsBad(file) then Exit Functionif month(datafile)<10 then
filedatem="0"if day(datafile)<10 then
filedated="0"filedate=year(datafile)&"-"&filedatem&month(datafile)&"-"&filedated&day(datafile)getfilelink
= "<url><loc>"&server.htmlencode(session("server")&vDir&file)&"</
loc><lastmod>"&filedate&"</lastmod><changefreq>daily</
changefreq><priority>1.0</priority></url>"Response.FlushEnd
FunctionFunction
Folderpermission(pathName)PathExclusion=Array("\temp","\admin","\404")Folderpermission
=Truefor each PathExcluded in PathExclusionif
instr(ucase(pathName),ucase(PathExcluded))>0 thenFolderpermission =
Falseexit forend ifnextEnd FunctionFunction
FileExtensionIsBad(sFileName)Dim sFileExtension,
bFileExtensionIsValid, sFileExt'modify for your file extension (http://
www.googleguide.com/file_type.html)Extensions = Array("html","htm")if
len(trim(sFileName)) = 0 thenFileExtensionIsBad = trueExit
FunctionendifsFileExtension = right(sFileName, len(sFileName) -
instrrev(sFileName, "."))bFileExtensionIsValid = false 'assume
extension is badfor each sFileExt in extensionsif ucase(sFileExt) =
ucase(sFileExtension) thenbFileExtensionIsValid = Trueexit forend
ifnextFileExtensionIsBad = not bFileExtensionIsValidEnd Function%>
使用方法:
1、设置域名
在程序中找到session("server")="
http://blog.5ixb.com" ,换成自己的域名。
2、填写Sitemap制作目录
程序中找到vDir = "/seo",将此处的"/seo"替换为自己想要生成的网站地图所存放的目录。
3、设置生成的XML文件的名称
找到.SaveToFile server.mappath("/sitemap.xml"),修改此处的''/sitemap.xml"为自己需要的
地图名称。
4、设置需要过滤的目录
找到PathExclusion=Array("\temp","\admin","\404") ,根据需要填写过滤目录。
5、设置文件扩展名
找到Extensions = Array("html","htm") ,这里只将html和htm的文件,生成于Sitemap之中。
6、文件上传
将上面程序另存为.ASP文件,上传至根目录,运行改文件即可,网站更新以后则需要再次在线运行该地址即可生成最新的XML的sitemap。
注意,生成完毕以后,XML需要向Google提交,具体登录Google网站管理员工具即可。
本信息来自网络,由SEODR|搜索引擎优化博士整理
www.seodr.cn转载时必须以链接形式标明此出处及本声明。