不收录内页了,首页收录
不收录内页了,首页收录 慢慢等着 针对Discuz网站出现"仅收录首页,不收录内页"的问题,以下是专业解决方案(请逐项排查):一、【Robots协议校验】
1. 通过FTP检查网站根目录下robots.txt
2. 特别注意是否存在以下错误配置:
Disallow: /forum.php*
Disallow: /home.php*
Disallow: /portal.php*
3. 建议保留的合规配置应包含:
Allow: /forum.php?mod=forumdisplay
Allow: /forum.php?mod=viewthread
Allow: /portal.php?mod=view
二、【伪静态强化方案】
1. 后台配置路径:全局→SEO设置→URL静态化
2. 推荐采用二级目录式伪静态规则:
Apache环境下:
RewriteRule ^forum-(+)-(+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2
Nginx环境下:
rewrite ^/forum-(+)-(+)\.html$ /forum.php?mod=forumdisplay&fid=$1&page=$2 last;
3. 必须同步配置门户频道伪静态:
RewriteRule ^article-(+)-(+)\.html$ portal.php?mod=view&aid=$1&page=$2
三、【结构化数据优化】
1. 安装JSON-LD结构化插件(建议选用DZ-X结构化增强组件)
2. 在模板文件中注入微数据:
<!-- 在viewthread模板添加 -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "DiscussionForumPosting",
"headline": "{title}",
"datePublished": "{dateline}"
}
</script>
四、【爬虫引导策略】
1. 创建动态sitemap索引:
<?php
$sitemap = C::t('common_thread')->fetch_all_by_fid_displayorder($fid, 0, 1000);
header("Content-type: text/xml");
echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php foreach($sitemap as $item): ?>
<url>
<loc>https://yourdomain.com/thread-<?php echo $item['tid']; ?>-1-1.html</loc>
<lastmod><?php echo gmdate('Y-m-d\TH:i:s+00:00', $item['dateline']); ?></lastmod>
<changefreq>weekly</changefreq>
</url>
<?php endforeach; ?>
</urlset>
五、【日志分析排查】
1. 通过服务器日志分析爬虫行为:
grep "Baiduspider" access.log | awk '{print $7}' | sort | uniq -c | sort -nr
2. 重点排查返回码异常:
查找40x/50x状态码的内页请求
3. 使用curl模拟抓取测试:
curl -I -H "Host: yourdomain.com" "http://127.0.0.1/thread-123-1-1.html"
六、【缓存策略调整】
1. 修改config/config_global.php:
$_config['memory']['prefix'] = 'discuz_';
$_config['cache']['type'] = 'redis';
2. 设置热点页面缓存白名单:
if(!defined('IN_MOBILE') && !$_G['bot']) {
define('CACHE_FORBIDDEN', true);
}
七、【安全策略优化】
1. 在.htaccess添加爬虫速率限制:
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_USER_AGENT} (Baiduspider|Googlebot)
RewriteCond %{DOCUMENT_ROOT}/tmp/%{REMOTE_ADDR}.txt -f
RewriteRule ^.*$ -
</IfModule>
建议每24小时执行一次全站诊断:
1. 使用Xenu Link Sleuth检查无效链接
2. 通过Google Search Console的覆盖率报告分析索引异常
3. 定期使用百度站长平台的抓取诊断工具
注:实施以上方案后,建议保持至少3周的观察期,期间持续监测日志中的爬虫抓取频次变化。如需特定功能实现,可访问DZ插件网获取专业组件支持。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]