您的位置:首页 > 网站推广 > 网站优化 > 网站地图生成办法
网站地图生成办法

    网站地图用于帮助搜索引擎更好收录你的网页,现在很多SITEMAP生成工具,我下载过,都不怎么好用,不是生成乱七八糟的东西,就是有限制,有的甚至要收费。所以还不如自已弄个文件传上去,生成一下,又简单又方面,而且更新的时候也方便。
   把以下代码存成一个ASP文件,然后上传至网站的根目录,比如上传至http://www.cxidea.com/aa.asp,然后就打开http://www.cxidea.com/aa,打开的时候速度会很慢,因为正在生成sitemap.xml文件,没生成好成别关闭,生成时间视你网站的页面多少而定。待提示生成完毕,就可以在根目录下找到sitemap.xml文件。
<%
Server.ScriptTimeout=50000

session("server")="http://www.cxidea.com"      '改成你的域名
vDir = "/"                                     '制作SiteMap的目录,相对目录(相对于根目录而言)
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'?>" & vbcrlf
str = str & "<urlset xmlns='http://www.google.com/schemas/sitemap/0.84'>" & vbcrlf

Set objFolder = objFSO.GetFolder(root)
'response.write getfilelink(objFolder.Path,objFolder.dateLastModified)
Set colFiles = objFolder.Files
For Each objFile In colFiles
        'response.write getfilelink(objFile.Path,objfile.dateLastModified)
        str = str & getfilelink(objFile.Path,objfile.dateLastModified) & vbcrlf
Next
ShowSubFolders(objFolder)

'response.write "</urlset>"
str = str & "</urlset>" & vbcrlf
set fso = nothing

Set 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 '生成的XML文件名
    .Close
    End With

  Set objStream = Nothing
  If Not Err Then
    Response.Write("<script>alert('成功生成站点地图!');history.back();</script>")
    Response.End
  End If

Sub ShowSubFolders(objFolder)
        Set colFolders = objFolder.SubFolders
        For Each objSubFolder In colFolders
          if folderpermission(objSubFolder.Path) then
          'response.write getfilelink(objSubFolder.Path,objSubFolder.dateLastModified)
           str = str & getfilelink(objSubFolder.Path,objSubFolder.dateLastModified) & vbcrlf
           Set colFiles = objSubFolder.Files
           For Each objFile In colFiles
          'response.write getfilelink(objFile.Path,objFile.dateLastModified)
          str = str & getfilelink(objFile.Path,objFile.dateLastModified) & vbcrlf
               Next
                 ShowSubFolders(objSubFolder)
           end if
        Next
End Sub


Function getfilelink(file,datafile)
   file=replace(file,root,"")
   file=replace(file,"\","/")
   If FileExtensionIsBad(file) then Exit Function
   if 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.Flush
End Function


Function Folderpermission(pathName)

        '需要过滤的目录(不列在SiteMap里面)
        PathExclusion=Array("\temp","\_vti_cnf","_vti_pvt","_vti_log","cgi-bin","\admin","\edu")
        Folderpermission =True
        for each PathExcluded in PathExclusion
                if instr(ucase(pathName),ucase(PathExcluded))>0 then
                        Folderpermission = False
                        exit for
                end if
        next
End Function


Function FileExtensionIsBad(sFileName)
        Dim sFileExtension, bFileExtensionIsValid, sFileExt
        'modify for your file extension (http://www.googleguide.com/file_type.html)
        Extensions = Array("png","gif","jpg","jpeg","zip","pdf","ps","html","htm","php","wk1","wk2",
"wk3","wk4","wk5","wki","wks","wku","lwp","mw","xls","ppt","doc","swf","wks",
"wps","wdb","wri","rtf","ans","txt")
'设置列表的文件名,扩展名不在其中的话SiteMap则不会收录该扩展名的文件

        if len(trim(sFileName)) = 0 then
                FileExtensionIsBad = true
                Exit Function
        end if

        sFileExtension = right(sFileName, len(sFileName) - instrrev(sFileName, "."))
        bFileExtensionIsValid = false        'assume extension is bad
        for each sFileExt in extensions
                if ucase(sFileExt) = ucase(sFileExtension) then
                        bFileExtensionIsValid = True
                        exit for
                end if
        next
        FileExtensionIsBad = not bFileExtensionIsValid
End Function
%>

上一篇文章: 网站创造新的搜索源的实现
下一篇文章: 没有了
  与 网站地图生成办法 类似相关的文章: 
· 没有相关文章
关于我们 | 建站服务 | 免责声明 | 业务合作 | 广告服务  
Email:linmti@21cn.com QQ:24890502 395201191 苏ICP备07031130号
版权所有 2007-2007 创新思维 Copyright 2007 cxidea.com All rights reserved