新云3.1生成Google地图权限相同的解决方法
解决新云3.1网站管理系统生成Google地图时优先级权限相同的方法
新云3.1网站管理系统在生成GOOGLE地图后,提交给GOOGLE确认时会被警告权限相同而无法被GOOLE通过。这个问题可以通过如下方法完美解决。
软件部分:
打开新云3.1网站管理系统的Soft文件夹里的hits.asp文件,可以看到这样一段代码:
stype = CLng(Request.querystring("type"))
SQL="select AllHits,DayHits,WeekHits,MonthHits,HitsTime from NC_SoftList where softid = " & softid
Set Rs = Newasp.execute(SQL)
If Not (Rs.BOF And Rs.EOF) Then
AllHits = Rs("AllHits")
DayHits = Rs("DayHits")
WeekHits = Rs("WeekHits")
MonthHits = Rs("MonthHits")
End If
这里可以看到定义软件ID不同的变量可以有四个:分别是“AllHits”(总下载次数),“DayHits”(日下载次数),"WeekHits"(周下载次数),"MonthHits"(月下载次数)。我们就用“AllHits”(总下载次数)来做一个变量定义,让“AllHits”(总下载次数)少于100的软件网页生成的网址优先级权限为0.6,大于100的软件网页生成的权限为0.8(这里的下载次数和权限都可以根据自己的网站情况自己设定值数),具体方法如下:
1.首先找到负责生成GOOGLE Sitemap的函数Create_SiteMap(),它位于Admin文件夹下的Admin_CreateSoft.Asp文件的最后,是最后一个函数!
2.在定义变量中加两个变量:
原:Dim m_strPath,m_intNum,m_strMaxTop
改:Dim m_strPath,m_intNum,m_strMaxTop,pri,priNum
3.然后在 Do While Not Rs.EOF 循环语句中增加如下代码:
priNum = Rs("AllHits")
If priNum > 100 then
pri = "0.8"
else
pri = "0.6"
End if
4.由于需要要在数据库中查询AllHits字段,所以要修改查询语句!
原:SQL = "select " & m_strMaxTop & " A.softid,A.classid,A.ChannelID,A.SoftTime,A.HtmlFileDate,C.HtmlFileDir,B.ChannelDir,B.IsCreateHtml,B.HtmlExtName,B.InfoDestination FROM ([NC_SoftList] A INNER JOIN [NC_Classify] C On A.ClassID=C.ClassID) INNER JOIN [NC_Channel] B On A.ChannelID=B.ChannelID WHERE A.ChannelID=" & ChannelID & " And A.isAccept>0 ORDER BY A.SoftTime DESC ,A.softid DESC"
Set Rs = Newasp.execute(SQL)
改:SQL = "select " & m_strMaxTop & " A.softid,A.classid,A.ChannelID,A.SoftTime,"A.AllHits,A.HtmlFileDate,C.HtmlFileDir,B.ChannelDir,B.IsCreateHtml,B.HtmlExtName,B.InfoDestination FROM ([NC_SoftList] A INNER JOIN [NC_Classify] C On A.ClassID=C.ClassID) INNER JOIN [NC_Channel] B On A.ChannelID=B.ChannelID WHERE A.ChannelID=" & ChannelID & " And A.isAccept>0 ORDER BY A.SoftTime DESC ,A.softid DESC""
Set Rs = Newasp.execute(SQL)
也就是在里面加了一个A.AllHits
5.最后修改生成Sitemap文件时写入权重的那句:
原:XMLContent = XMLContent & " " <priority>1.0</priority>" & vbCrLf"
改: XMLContent = XMLContent & " " <priority>" & pri & "</priority>" & vbCrLf"
这样就修改完成了,保存文件,然后覆盖原文件就OK了!!
文章部分:
原理和软件部分相同。具体修改方法如下:
1.首先找到负责生成GOOGLE Sitemap的函数Create_SiteMap(),它位于管理员文件夹下的Admin_CreateArticle.Asp文件的最后,是最后一个函数!
2.在定义变量中加了两个变量:
原:Dim m_strPath,m_intNum,m_strMaxTop
改:Dim m_strPath,m_intNum,m_strMaxTop,pri,priNum
3.然后在 Do While Not Rs.EOF 循环语句中增加如下代码:
priNum = Rs("MonthHits")
If priNum > 100 then
pri = "0.8"
else
pri = "0.6"
End if
这里我们用文章的月点击值来做一个变量定义。当月点击量大于100时生成的网址权重为0.8,小于时权重为0.6!同样这个点击量具体是多少要根据自己网站的情况而定!!可以自行设定!!
4.由于需要在数据库查询MonthHits字段,所以要修改查询语句!
原:SQL = "select " & m_strMaxTop & " A.ArticleID,A.classid,A.ChannelID,A.WriteTime,A.HtmlFileDate,C.HtmlFileDir,B.ChannelDir,B.IsCreateHtml,B.HtmlExtName,B.InfoDestination FROM ([NC_Article] A INNER JOIN [NC_Classify] C On A.ClassID=C.ClassID) INNER JOIN [NC_Channel] B On A.ChannelID=B.ChannelID WHERE A.ChannelID=" & ChannelID & " And A.isAccept>0 ORDER BY A.WriteTime DESC ,A.ArticleID DESC"
改:SQL = "select " & m_strMaxTop & " A.ArticleID,A.classid,A.ChannelID,A.WriteTime,"A.MonthHits,A.HtmlFileDate,C.HtmlFileDir,B.ChannelDir,B.IsCreateHtml,B.HtmlExtName,B.InfoDestination FROM ([NC_Article] A INNER JOIN [NC_Classify] C On A.ClassID=C.ClassID) INNER JOIN [NC_Channel] B On A.ChannelID=B.ChannelID WHERE A.ChannelID=" & ChannelID & " And A.isAccept>0 ORDER BY A.WriteTime DESC ,A.ArticleID DESC""
也就是在里面加了一个A.MonthHits
5.同样最后修改生成Sitemap文件时写入权重的那句!
原:XMLContent = XMLContent & " " <priority>1.0</priority>" & vbCrLf"
改: XMLContent = XMLContent & " " <priority>" & pri & "</priority>" & vbCrLf"
如此修改后覆盖原来的文件,OK!
动画部分修改Admin_CreateFlash.Asp文件,原理与软件和文章部分相同,不再赘述!
通过上面的修改后,再生成的Sitemap里面的网址权限就如同我们所定义的那样,也就完美解决了权限优先级别相同的问题!然后重新向GOOGLE提交一次GOOGLE Sitemap就可以通过了!以后每次更新内容后同时更新一下Sitemap,非常方便!