当前位置:首页 > 技术文章 > 正文内容

PHP写站点地图sitemap代码分享及robots的SEO

arlanguage2个月前 (03-11)技术文章25

自动生成sitemap的PHP代码很多,但是真正抽象出来可以复用的,却很少看见。

这里整理的一段代码,可以直接放在任意项目中使用。

$thread = DB::fetch_all("SELECT * FROM ".DB::table('forum_thread')." ORDER BY tid DESC");

// 创建一个DOMDocument对象
$dom = new DOMDocument("1.0","utf-8");
header("Content-Type: text/xml");
// 创建根节点
$root = $dom->createElement("urlset");
$dom->appendChild($root);
foreach($thread as $value){
    // 建立根下子节点track
    $track = $dom->createElement("url");
    $root->appendChild($track);
    // 建立track节点下元素
    $loc = $dom->createElement("loc");
        $track->appendChild($loc);
    $priority = $dom->createElement("priority");
        $track->appendChild($priority);
    $lastmod = $dom->createElement("lastmod");
        $track->appendChild($lastmod);
    $changefreq = $dom->createElement("changefreq");
        $track->appendChild($changefreq);

    // 赋值
    $text = $dom->createTextNode('http://localhost/thread-'.$value[tid].'-1-1.html');
    $loc->appendChild($text);
    $date = date("Y-m-d",time());
    $text = $dom->createTextNode($date);
    $lastmod->appendChild($text);
    $text = $dom->createTextNode(daily);
    $changefreq->appendChild($text);
    $text = $dom->createTextNode(0.8);
    $priority->appendChild($text);
}
//生成xml文件
$dom->save("sitemap.xml");exit;

顺便普及一下常识:sitemap是一段xml代码,用来表示网站有哪些内容,以方便搜索引擎快速了解并抓取网站。可以参考:

http://yanyubao.tseo.cn/saasdocs/xmlsitemap.xml

另外一方面,也不是每个网站都需要设置站点地图的,例如左侧功能导航做得非常好的网站,搜索引擎已进入就能够自动快速分析出网站的主要架构,对SEO非常友好。但这里例外的,是左侧的功能导航使用iframe来做的,会让搜索引擎不知道所以然。

当站点中有多个sitemap的时候,需要在robots.txt中说明,这样搜索引擎才知道,撰写的格式为:

Sitemap: http://yanyubao.tseo.cn/saasdocs/xmlsitemap.xml
Sitemap: http://yanyubao.tseo.cn/saasdocs/xmlsitemap02.xml

希望以上知识点对大家有帮助。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/3239.html

分享给朋友:

“PHP写站点地图sitemap代码分享及robots的SEO” 的相关文章

Nginx配置七层负载均衡

Nginx 一般用于七层负载均衡,其吞吐量有一定限制。为了提升系统整体吞吐量,会在 DNS 与 Nginx 之间引入接入层,比如使用LVS(软负载均衡器)、F5(硬负载均衡器)做四层负载均衡。整体的请求流转如下图所示,即首先 DNS 解析到 LVS/F5,然后 LVS/F5 转发给 Nginx,再由...

nginx命令——学习记录 nginx详细教程

nginx命令--学习记录查看80端口是否被占用netstat -ntlpnginx命令#/usr/local/nginx/sbin/nginx 启动命令#/usr/local/nginx/sbin/nginx -t 检测配置文件 #/usr/local/nginx/sbin/ngin...

Nginx 的日志 nginx的日志能否保存到日志审计里面?

Nginx 的日志主要有 2 个,一个是 access.log, 一个是 error.log。如果你不进行任何配置的话,这 2 个日志将会使用默认的日志配置,这个日志将会位于/var/log/nginx 目录中。针对虚拟主机的配置如果你使用了 Nginx 为虚拟主机的话。那么你可以在你的虚拟主机的配...

Nginx的安装及配置详解 nginx1.12安装

Nginx是一个强大的免费开源的HTTP服务器和反向代理服务器。在Web开发项目中,nginx常用作为静态文件服务器处理静态文件,并负责将动态请求转发至应用服务器(Django, Flask, etc)。熟悉Nginx的配置对Web开发和运维人员来说至关重要。本文整理了Nginx的配置大全,可以作为...

高性能Linux服务器构建实战:运维监控、性能调优与集群应用

百万级字迹详解实战案例,篇幅因素故只展现pdf目录,完整解析获取方式在篇尾了!目录读者对象Web应用篇(1至第3章)数据备份恢复篇(4至第6章)网络存储应用篇(7和第8章)运维监控与性能优化篇(9和第10章)集群高级应用篇(11至第14章)勘误和支持第1篇 Web应用篇1 、轻量级HTTP服务器Ng...

安卓手机上安装Linux开源模拟器-Termux

什么是TermuxTermux是一款基于 Android 平台的开源 Linux 终端模拟器,使用 pkg(apt) 进行软件包的管理。最重要的是,它无需手机 root 权限,因此,绝大多数 Android 都可以运行。Termux本质上是一个终端模拟器加上一套Linux的最小系统。这里的系统指的是...