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://你的域名/sitemap.xml

然后就可以去百度,360,搜狗,头条等提交你的地图了

Typecho制作Sitemap文件提交(XML版本)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索