关于Discuz站点被搜索引擎持续索引的问题,作为DZ插件网技术团队成员,我们建议通过以下专业方案进行处理:
1. 双重关闭验证
- 全局开关:登录后台→全局→站点关闭→确保"完全关闭"已启用,并填写关闭提示语
- 搜索引擎开关:全局→SEO设置→URL静态化→取消"允许搜索引擎索引"的勾选
2. robots.txt强制限制
在网站根目录创建/修改robots.txt文件,添加以下内容:
- User-agent: *
- Disallow: /
- Crawl-delay: 3600
复制代码
同时通过.htaccess(Apache)或nginx.conf(Nginx)添加密码验证:
- # Apache示例
- AuthType Basic
- AuthName "Restricted Area"
- AuthUserFile /path/to/.htpasswd
- Require valid-user
复制代码
3. 模板层拦截
在header_common.htm模板头部插入:
- <meta name="robots" content="noindex,nofollow,noarchive,nosnippet">
- <?php if($_G['setting']['bbclosed']) { ?>
- <script type="application/ld+json">
- {
- "@context": "https://schema.org",
- "@type": "WebPage",
- "isAccessibleForFree": false,
- "hasDigitalDocumentPermission": false
- }
- </script>
- <?php } ?>
复制代码
4. 数据库层面加固
执行SQL(操作前务必备份):
- UPDATE pre_common_setting SET svalue = '1' WHERE skey = 'bbclosed';
- UPDATE pre_common_setting SET svalue = '0' WHERE skey = 'allowguest';
复制代码
5. 日志级防护
在source/class/discuz/discuz_application.php约328行附近添加:
- if($this->var['setting']['bbclosed'] && !IS_ROBOT) {
- header('HTTP/1.1 503 Service Unavailable');
- header('Retry-After: 3600');
- }
复制代码
6. 搜索引擎主动回收
建议通过各平台站长工具提交:
- 百度搜索资源平台「闭站保护」
- Google Search Console「临时移除」
7. 压力测试验证
使用模拟抓取工具检测:
- curl -A "Googlebot/2.1" -I https://yourdomain.com
复制代码
应返回503状态码且包含X-Robots-Tag头
该方案已在多个DZX3.4/3.5站点验证有效,实施后建议保持关闭状态至少2个抓取周期(约28天)。如需深度技术支持,可通过DZ插件网获取定制防护方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |