船说 CMSrobots 文件在哪里编辑
读完这篇,你能自己找到并改掉船说 CMS 的 robots.txt,让搜索引擎按你的意思抓取网站。
第一步:先确认 robots.txt 是真实文件还是被程序动态接管
这一步要搞清楚「文件到底存不存在」,否则你会在目录里翻半天却发现根本没有这个文件。
打开浏览器,访问 你的域名/robots.txt,比如 https://www.example.com/robots.txt,看三种结果:
- 显示一段纯文本规则(类似
User-agent: *)——说明文件存在,或者程序动态输出了。 - 显示 404、找不到页面——说明没有实体文件,需要你自己建。
- 显示的是网站首页或某个模板页面——说明伪静态规则把请求接管了,属于最难处理的一种。
要区分第 1 种里的「实体文件」还是「动态输出」,直接用服务器命令找:
find /www/wwwroot -iname "robots*" 2>/dev/null
有输出,就是实体文件;没输出但访问又能看到内容,就是程序动态生成。
注意:船说 CMS 不同版本、不同二次开发的站点目录结构差异较大,网上抄来的路径不一定对得上,一律以上面这条 find 命令的结果为准。
第二步:用宝塔面板或 FTP 定位并打开文件
这一步要拿到文件的完整路径,并把内容读出来。
如果你用宝塔面板(以 7.x/8.x 为例):
- 登录宝塔面板,左侧点「文件」。
- 在路径栏输入
/www/wwwroot,回车。 - 找到你站点对应的目录(通常以域名命名),点进去。
- 目录里如果没有
robots.txt,点上方工具栏的「搜索」图标,输入robots.txt勾选「包含子目录」再搜。
如果是从命 令行确认到的路径,直接照着路径一层层点进去就行。找到后双击 robots.txt,用面板自带的编辑器打开即可。
注意:宝塔的编辑器默认可能按 GBK 打开中文乱码,右下角编码切换成 UTF-8。robots.txt 本身只允许 ASCII 字符,别写中文注释,否则部分搜索引擎会解析失败。
第三步:文件不存在时,自己新建一个
这一步的产出是一个能被正常访问的 robots.txt。
在站点根目录(就是和 index.php 同级的那一层)新建文件:
- 文件名:
robots.txt(全小写,不要写成Robots.txt或robots.txt.txt) - 编码:UTF-8,无 BOM
- 权限:644
内容先写一份通用版:
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /*?page=
Allow: /
Sitemap: https://你的域名/sitemap.xml
保存后回到浏览器,强制刷新(Ctrl+F5)访问 你的域名/robots.txt 验证。Linux 服务器上还要确认文件属主是运行 PHP 的用户,一般宝塔里选 www 即可,否则可能出现 403。
注意:Windows 系统下用记事本保存容易带上 BOM 头,导致首行变成乱码。建议直接在宝塔面板里新建,或用 Notepad++ 另存为 UTF-8 无 BOM。
第四步:访问 robots.txt 显示成网页时的处理办法
这一步解决「被伪静态接管」的情况,也是船说 CMS 最容易卡住的地方。
现象是访问 域名/robots.txt 返回的是首页 HTML 或 404 模板页。原因通常是 Nginx 或 Apache 把所有不存在的路径都转发给了 index.php。处理顺序:
- 先看站点根目录的
.htaccess(Apache)或宝塔「网站 → 设置 → 配置文件」(Nginx),找try_files或RewriteRule规则。 - 在 Nginx 的
server{}里加一条优先匹配:
location = /robots.txt {
root /www/wwwroot/你的站点目录;
try_files /robots.txt =404;
}
- 保存后点「重载配置」,再到浏览器验证。
如果你的船说 CMS 后台里有「SEO 设置」「网站设置 → robots 规则」这类入口(部分版本提供),也可以直接在那里填写规则并保存,程序会把它写入文件或动态输出。用后台改过之后,务必回第一步重新执行一次 find 命令确认文件位置有没有变化。
注意:后台改了 robots 规则、又手动改了实体文件,两边内容不一致时,通常以后台生成的为准。别同时维护两份。
第五步:清理缓存,让改动真正生效
这一步确保搜索引擎和新访客拿到的都是新内容。
依次做三件事:
- 船说 CMS 后台找到「系统 → 更新缓存」或「清除缓存」执行一次。
- 如果你装了 CDN 或用了宝塔的 Nginx 缓存,在 CDN 控制台提交
https://你的域名/robots.txt的刷新。 - 用带参数的地址验证是否绕过缓存:
https://你的域名/robots.txt?v=1。
最后到百度搜索资源平台、Google Search Console 里重新抓取一次 robots.txt,确认线上生效。
注意:robots.txt 被屏蔽掉重要目录后,已收录的页面不会马上消失,但新内容会停止抓取。改之前先把原文件内容复制一份备份,出问题能秒回滚。
小结
- robots.txt 的位置不固定,先用
find /www/wwwroot -iname "robots*"定位,再谈编辑。 - 文件不存在就在站点根目录新建,文件名全小写、UTF-8 无 BOM、权限 644。
- 访问后显示成网页而不是纯文本,说明被伪静态接管,要在 Nginx/Apache 配置里加优先匹配规则。
- 后台 SEO 设置和实体文件不要双份维护,改完清一次缓存。
- 动手前先备份原文件。
原文链接:https://www.gj0.com/thread-702.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。