http://teachmyself.blog.163.com/blog/static/18881422920119895435272/

sitemap.xml是一种站点地图协议,此协议文件基于早期的robots.txt文件协议,并有所升级。向搜索引擎中提交了sitemap.xml的 网站将更有利于搜索引擎网页爬行机器人的爬行索引,这样将提高索引网站内容的效率和准确度。

  一共有六个标签,changefreq:页面内容更新频率;

  • lastmod:页面最后修改时间;
  • loc:页面永久链接地址;
  • priority:相对于其他页面的优先权(这个标签可以不使用);
  • url:相对于前 4个标签的父标签;
  • urlset:相对于前5个标签的父标签。

  你可以向搜索引擎提供多个Sitemap文件,但提供的每个Sitemap文件包括的网址不得超过50,000 个,并且未压缩时不能大于10MB 。

  • 向Google提交网站地图Sitemap: 通过网址http://www.google.com/webmasters管理提交;
  • 向Yahoo!提交网站地图Sitemap: 通过网址http://siteexplorer.search.yahoo.com管理提交;
  • 向MSN提交网站地图Sitemap: 用URL直接提交:http://api.moreover.com/ping?u=http%3A//your.domainname /sitemap.xml。这是向MSN直接提交网站地图的后门URL。注意”:”被%3A替换掉。
  • 向ASK提交网站地图Sitemap: 直接提交。http://submissions.ask.com/ping?sitemap=http%3A//your.domainname/sitemap.xml。注意”:”被%3A替换掉。

sitemap.xml文件格式如下:

<?xml version=”1.0″ encoding=”UTF-8″ ?>
<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9“>
<url><loc>http://www.grzz.com.cn/</loc><lastmod>2009-04-27</lastmod><changefreq>daily</changefreq>
</url>
<url><loc>http://www.grzz.com.cn/index.html</loc><lastmod>2009-04-27</lastmod><changefreq>weekly</changefreq>
</url>
</urlset>

那怎么制作sitemap.xml。最笨的方法就是按照这六个标签的规则,自己手写了。

如 果网站的页面太多了,这个就会变成了一个超级郁闷的体力劳动。于是就有不少sitemap.xml的生成工具出现了,但是现在大部分的 sitemap.xml生成工具都是在客户端输入网址,让工具在网站自行寻找链接生成,这样的模式,Rookie感觉效率比较低,而且没有办法对生成链接 做控制。终于在网上找到了一个比较好的方法,适用于将内容生成静态页面的网站。有人将生成sitemap.xml的功能,写成了asp和php的页面,在 页面上可以控制需要生成哪些链接。按照你的需要修改页面后,再把页面上传到你的网站空间,访问这个页面就是你所需要的sitemap.xml文件。然后就 保存成为xml文件格式,再上传到你的空间,再将链接提交给支持sitemap.xml的搜索引擎。
Asp文件,将蓝色代码复制到文本文件,再保存成sitemap.asp,修改相关设置后,上传到服务器,访问即可

<%
session(”server”)=”http://www.grzz.com.cn“                ‘将此http://www.grzz.com.cn改成你的域名
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.sitemaps.org/schemas/sitemap/0.9′>”Set objFolder = objFSO.GetFolder(root)
Set colFiles = objFolder.Files
For Each objFile In colFiles
response.write getfilelink(objFile.Path,objfile.dateLastModified)
Next
ShowSubFolders(objFolder)response.write “</urlset>”
set fso = nothing
Sub ShowSubFolders(objFolder)
Set colFolders = objFolder.SubFolders
For Each objSubFolder In colFolders
if folderpermission(objSubFolder.Path) then
response.write getfilelink(objSubFolder.Path,objSubFolder.dateLastModified)
Set colFiles = objSubFolder.Files
For Each objFile In colFiles
response.write getfilelink(objFile.Path,objFile.dateLastModified)
Next
ShowSubFolders(objSubFolder)
end if
Next
End Sub
Function getfilelink(file,datafile)
‘changefreq更改参数:always, hourly, daily, weekly, monthly, yearly , never
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>weekly</changefreq></url>”
Response.Flush
End Function
Function Folderpermission(pathName)’需要过滤的目录(不列在SiteMap里面)
PathExclusion=Array(”\ad”,”\admin”,”\aspnet_client”,”\Count”,”\data”,”\Inc”,”\upload”,”\template”)
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
Extensions = Array(”html”)
‘设置列表的文件名,扩展名不在其中的话SiteMap则不会收录该扩展名的文件if len(trim(sFileName)) = 0 then
FileExtensionIsBad = true
Exit Function
end ifsFileExtension = 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
%>

Php文件,将红色代码复制到文本文件,再保存成sitemap.php,修改相关设置后,上传到服务器,访问即可

<?php
header(’Content-type: application/xml; charset=”GB2312″‘,true);
?>
<?php
$website = “http://www.grzz.com.cn“; /* 将此http://www.grzz.com.cn改成你的域名 */
$page_root = “/”; /*更改成你网站的目录地址*/
/* changefreq可自行设置 */
$changefreq = “weekly”; //”always”, “hourly”, “daily”, “weekly”, “monthly”, “yearly” and “never”.
/* 修改时间 */
$last_modification = date(”Y-m-d\TH:i:s”) . substr(date(”O”),0,3) . “:” . substr(date(”O”),3);/* 需要生成的目录 */
$allow_dir[] = “web”;/* 需要过滤的目录(不列在SiteMap里面) */
$disallow_dir[] = “admin”;
$disallow_dir[] = “_notes”;/* 设置列表的文件名,扩展名不在其中的话SiteMap则不会收录该扩展名的文件 */
$disallow_file[] = “.inc”;
$disallow_file[] = “.old”;
$disallow_file[] = “.save”;
$disallow_file[] = “.txt”;
$disallow_file[] = “.js”;
$disallow_file[] = “~”;
$disallow_file[] = “.LCK”;
$disallow_file[] = “.zip”;
$disallow_file[] = “.ZIP”;
$disallow_file[] = “.CSV”;
$disallow_file[] = “.csv”;
$disallow_file[] = “.css”;
$disallow_file[] = “.class”;
$disallow_file[] = “.jar”;
$disallow_file[] = “.mno”;
$disallow_file[] = “.bak”;
$disallow_file[] = “.lck”;
$disallow_file[] = “.BAK”;/* simple compare function: equals */
function ar_contains($key, $array) {foreach ($array as $val) {if ($key == $val) {return true;}}
return false;
}/* better compare function: contains */
function fl_contains($key, $array) {foreach ($array as $val) {$pos = strpos($key, $val);if ($pos === FALSE) continue;return true;}return false;
}/* this function changes a substring($old_offset) of each array element to $offset */
function changeOffset($array, $old_offset, $offset) {$res = array();foreach ($array as $val) {$res[] = str_replace($old_offset, $offset, $val);}return $res;
}/* this walks recursivly through all directories starting at page_root and
adds all files that fits the filter criterias */
// taken from Lasse Dalegaard,
function getFiles($directory, $directory_orig = “”, $directory_offset=”") {
global $disallow_dir, $disallow_file, $allow_dir;
if ($directory_orig == “”) $directory_orig = $directory;if($dir = opendir($directory)) {
// Create an array for all files found
$tmp = Array();// Add the files
while($file = readdir($dir)) {
// Make sure the file exists
if($file != “.” && $file != “..” && $file[0] != ‘.’ ) {// If it’s a directiry, list all files within it//echo “point1<br>”;if(is_dir($directory . “/” . $file)) {//echo “point2<br>”;$disallowed_abs = fl_contains($directory.”/”.$file, $disallow_dir); // handle directories with pathes$disallowed = ar_contains($file, $disallow_dir); // handle directories only without pathes$allowed_abs = fl_contains($directory.”/”.$file, $allow_dir);$allowed = ar_contains($file, $allow_dir);if ($disallowed || $disallowed_abs) continue;if ($allowed_abs || $allowed){$tmp2 = changeOffset(getFiles($directory . “/” . $file, $directory_orig, $directory_offset), $directory_orig, $directory_offset);if(is_array($tmp2)) {$tmp = array_merge($tmp, $tmp2);}}} else { // filesif (fl_contains($file, $disallow_file)) continue;array_push($tmp, str_replace($directory_orig, $directory_offset, $directory.”/”.$file));}}
}// Finish off the functionclosedir($dir);return $tmp;}
}$a = getFiles($page_root);echo ‘<?xml version=”1.0″ encoding=”UTF-8″?>’;
?>
<urlset xmlns=’http://www.sitemaps.org/schemas/sitemap/0.9′>
<?  foreach ($a as $file) { ?><url><loc><? echo utf8_encode($website.$file); ?></loc><lastmod><? echo utf8_encode(date(”Y-m-d\TH:i:s”, filectime($page_root.$file)). substr(date(”O”),0,3) . “:” . substr(date(”O”),3));?></lastmod><changefreq><? echo utf8_encode($changefreq); ?></changefreq></url>
<?}?>
</urlset>

转载于:https://www.cnblogs.com/JoannaQ/archive/2013/03/31/2991341.html

sitemap.xml生成方法(asp和php)(转)相关推荐

  1. nuxt 如何生成sitemap.xml 动静态站点地图

    前言 sitemap.xml的作用是将我们网站的所有页面都被SEO(浏览器搜索引擎)收录,我们网站的内容更容易被用户搜到,同时增加我们的网站的知名度,排名更靠前.简言之就是用技术做网站推广,所以对于网 ...

  2. java sitemap.xml站点地图创建 sitemap提交百度提示xml格式错误 sitemapgen4j使用 java百度链接主动(实时)推送

    一.前言 前几个月用jeesite4开发了个网站,上线运行了几个月,因为自己搞过SEO,所有,想把站点提交到百度收录,遇到了一些很尴尬的事,就是百度链接提交通过sitemap提交,一直提示XML格式错 ...

  3. nuxt.js做站点地图(sitemap.xml)详解

    前言 在做跨境电商项目中seo是必须要做的,seo中站点地图(sitemap.xml,robots.txt)又是必不可少的,这里就记录一下nuxt中站点地图是如何做的. 第一步:安装@/nuxt/si ...

  4. .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml)

    .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml) 首先设置 Startup.cs 文件 配置 ConfigureServices services.AddM ...

  5. 动态生成网站地图sitemap.xml

    在做网站地图时更新成了一个麻烦,于是想到返回一个虚拟xml,动态生成网站地图. 例如sitemap.xml ,如果每次增加新网页都要在静态文件中添加url工程量将非常大,所有想到每次请求都查询新的网站 ...

  6. wordpress建立php站点地图,WordPress修改源文件生成完整站点地图(sitemap.xml)的php代码实例...

    一直以来,张戈博客都是用DX-SEO这个很好用的中文SEO插件生成的sitemap.今天整理电脑文件时,看到了以前收藏的生成sitemap.xml的php脚本,就随手打开看了看,发现这个代码只能生成主 ...

  7. python读xml文件生成头文件_Python根据指定文件生成XML的方法

    因项目需要根据指定格式的文件生成XML标注文件,可以方便使用LabelImg打开进行编辑和查看.其原始文件默认使用逗号进行分隔,如下所示: 第1个值:原始图片中切图小文件,以AIpng_x,其中x代表 ...

  8. python生成xml文件工具_Python根据指定文件生成XML的方法

    因项目需要根据指定格式的文件生成XML标注文件,可以方便使用LabelImg打开进行编辑和查看.其原始文件默认使用逗号进行分隔,如下所示: 第1个值:原始图片中切图小文件,以AIpng_x,其中x代表 ...

  9. 织梦后台如何生成站点地图sitemap.xml

    第一步在网站根目录建立sitemap.php文件 内容如下: 写一个计划任务文件命名为generate_sitemap.php,放在/plus/task目录里,文件内容如下: <?php//定时 ...

最新文章

  1. 阿里BCG重磅报告《人工智能,未来致胜之道》
  2. Vue.js 组件基础
  3. 【实验】不会端口映射?看完就会了
  4. 今日arXiv精选 | 21篇EMNLP 2021最新论文
  5. 【Python实现网络爬虫】Scrapy爬取网易新闻(仅供学习交流使用!)
  6. 数组方法大全ES5+ES6
  7. java timmer模式配置_使用java配置定时任务的几种配置方式及示例
  8. Python自定义词云图形状和文本颜色
  9. HTTP/2特性及其在实际应用中的表现
  10. CEH 讲义 NPM、PYPI、DockerHub 备份
  11. 彻底删除aix下的oracle rac 数据库,AIX RAC 安装失败完全卸载
  12. Java实现抓取百度识图结果的实现和思路-3-实现断点传输
  13. BZOJ 3224: Tyvj 1728 普通平衡树(替罪羊树)
  14. 全球及中国阻力带行业市场前瞻及投资竞争力分析报告2022-2027年
  15. 周集中团队Nature子刊中网络图布局的R语言可视化复现
  16. 给SSD(固态硬盘)编程
  17. Python文字转换语音,抠脚大汉秒变撒娇萌妹
  18. 自己申请计算机软件著作权可以下载电子版原件了?
  19. 人工智能知识图谱研究
  20. 接口测试-使用Postman发送请求

热门文章

  1. 我们究竟需要什么!!?
  2. 信息系统审计(IT审计)实践
  3. HTTP安全随想,第一指导原则:不要相信任何用户的输入[]
  4. 支付宝小程序封装请求
  5. tensorflow 在加载大型的embedding模型参数时,会遇到cannot be larger than 2GB
  6. [Azure] 使用 Visual Studio 2013 管理中国版 Azure 订阅
  7. Asp.Net完美隐藏服务器信息
  8. [转]Vmware ESX 4上虚拟机 Redhat 5.2(CentOS 5.2)启动在Starting udev 停几个小时
  9. 发布一个域安全级别的无代码InfoPath表单作为文档库模版 (InfoPath 一)
  10. 解决登录页验证码不能正常显示问题