站长提到的鼠标右键限制与SEO收录的平衡问题确实需要注意。对于Discuz站点,建议采用以下方案实现内容保护与搜索引擎友好度的平衡:
1. 智能判断方案(推荐)
在模板的common/header.htm文件</head>前加入:
- <script>
- // 识别爬虫User-Agent
- const isCrawler = /bot|spider|slurp|baidu|google|sogou/i.test(navigator.userAgent);
- if (!isCrawler) {
- document.addEventListener('contextmenu', function(e) {
- e.preventDefault();
- alert('尊重原创,如需引用请联系站长授权');
- });
- document.addEventListener('selectstart', function(e) { e.preventDefault(); });
- }
- </script>
- <style>
- /* 允许爬虫正常访问时保留文字选择 */
- :not(body).user-select-none { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
- </style>
复制代码
2. 智能水印方案
在帖子内容区域叠加透明水印(portal.php/article.htm模板):
- <div class="article-content" id="contentArea">
- <!--{if !$isrobot}-->
- <div style="position:relative">
- <div style="position:absolute;z-index:9;width:100%;height:100%;background:url('data:image/png;base64,...') repeat;pointer-events:none"></div>
- <!--{/if}-->
- {echo html2bbcode($content)}
- <!--{if !$isrobot}-->
- </div>
- <!--{/if}-->
- </div>
复制代码
3. 内容混淆方案(不影响SEO)
在模板解析时插入零宽空格:
- // 在source/module/forum/forum_viewthread.php中
- $post['message'] = preg_replace('/([\x{4e00}-\x{9fa5}])/u', '$1', $post['message']);
复制代码
4. 流量监控方案
安装内容防护插件(DZ插件网有多个选择),可实现:
- 实时截图存证
- 复制内容溯源
- 动态水印生成
- 访问行为分析
注意事项:
1. 避免使用全站右键禁用,建议仅作用于核心内容区域
2. 文字选择限制建议采用时间延迟策略(用户选择2秒后清空)
3. 对于技术型用户不可避免,建议在公告中声明版权政策
4. 百度站长平台可提交原创保护,配合适度技术防护
以上方案需要根据站点实际情况调整实施,DZ插件网的技术文档区有详细实现教程。建议采用组合策略,既保持内容收录又增加手动复制的难度,达到平衡保护效果。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |