typecho制作Sitemap文件提交(XML版本)
向搜索提交网站的sitemap文件,帮助spider更好的抓取您的网站。
sitemap提交后,搜索会根据sitemap了解网站中数据情况。
360,今日头条,百度工具都提供了这方面的接口
sitemap数据能帮助搜索改进抓取策略,不能决定收录量级,也不能决定搜索排名。
总之,对网站文字的收录抓取都有不少的好处,在这里,就通过typecho生成Sitemap.xml功能,应该也有这方面的插件,不太了解~~
下面分享的功能只是核心的代码执行功能,如果要整合到自己的网站,还需要额外做一个开关去触发执行下面的功能哦!
// 生成地图
function getxml(){
$doc = new \DOMDocument('1.0','utf-8');//引入类并且规定版本编码
$urlset = $doc->createElement("urlset");//创建节点
$db = Typecho_Db::get();
$result = $db->fetchAll($db->select()->from('table.contents')
->where('status = ?','publish')
->where('type = ?', 'post')
->where('created <= unix_timestamp(now())', 'post') //添加这一句避免未达到时间的文章提前曝光
->limit(100)
->order('created', Typecho_Db::SORT_DESC)
);
if($result){
foreach($result as $val){
$val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val);
$permalink = $val['permalink'];
$created = date('Y-m-d', $val['created']);
/*循环输出节点*/
$url = $doc->createElement("url");//创建节点
$loc = $doc->createElement("loc");//创建节点
$lastmod = $doc->createElement("lastmod");//创建节点
$urlset->appendChild($url);//
$url->appendChild($loc);//讲loc放到url下
$url->appendChild($lastmod );
$content = $doc -> createTextNode($permalink);//设置标签内容
$contime = $doc -> createTextNode($created);//设置标签内容
$loc -> appendChild($content);//将标签内容赋给标签
$lastmod -> appendChild($contime);//将标签内容赋给标签
}}
$doc->appendChild($urlset);//创建顶级节点
$doc->save("./../sitemap.xml");//保存代码
echo "<script>alert('地图生成')</script>";
}
效果如图:
获取连接后提交到各个搜索工具平台
文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/618
2 条评论
6.3k
发表评论
已有 2 条评论
热门文章
自媒体博客Spimes主题34w 阅读
Spimes主题专为博客、自媒体、资讯类的网站设计....
vCard主题个人简历主题13w 阅读
一款个人简历主题,可以简单搭建一下,具体也比较简单....
Splity博客双栏主题11w 阅读
仿制主题,Typecho博客主题,昼夜双版设计,可....
Spzac个人资讯下载类主题11w 阅读
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
自媒体博客Spimes主题418 评论
Splity博客双栏主题187 评论
Spzac个人资讯下载类主题89 评论
Splinx博客图片主题35 评论
Spzhi知识付费社区主题34 评论
三栏清新博客S_blog主题30 评论
vCard主题个人简历主题29 评论
Pure轻简主题28 评论
这个要怎么整合啊,有现成得插件吗?
@Sawyer
没有现成的插件,就是一个小功能,一般主题可以整合进去