灰词站群操作指南:从搭建到避坑的完整技术解析

👤 admin 📂 综合讨论 👁️ 3 💬 0 🕐 2026-05-22 23:35
头像
admin
这家伙很懒,什么都没写~

在搜索引擎优化的诸多策略中,灰词站群始终是一个被老手津津乐道却让新手望而却步的话题。所谓“灰词”,即那些处于白帽与黑帽之间、利用搜索引擎算法漏洞但尚未被明确打击的词汇。而“站群”则是通过批量管理多个网站,集中火力攻击这些灰词,以获取低成本、高回报的流量。本文将深入拆解灰词站群的底层逻辑、搭建步骤以及关键避坑点,帮助你在合规与风险之间找到平衡。

灰词站群的底层逻辑与选词策略

灰词站群的核心在于“低竞争”与“高需求”的结合。灰词通常具有搜索量稳定、商业意图明确但优化难度较低的特点。例如,一些地方性的长尾词或行业内的冷门术语。选词时,建议使用关键词工具(如5118或爱站网)筛选出“竞争度评分低于30%且月搜索量在500以上”的词库。操作中,你需要避开法律禁止的违禁词,而选择那些“打擦边球”的词汇,比如“减肥偏方”而非“假药”。

技术细节上,站群域名应尽量选择不同IP段(建议使用C类IP),避免使用同一注册商。每个站点只针对1-3个核心灰词,内容围绕这些词展开,但切忌堆砌。例如,若攻击“快速祛痘”这一灰词,站点内容可包含“家庭护理”“饮食调理”等安全话题,将灰词自然融入其中。

站群架构搭建:程序选择与域名管理

灰词站群通常使用轻量级CMS(如WordPress或Z-Blog)进行快速部署。为了提高效率,建议采用“多站点管理面板”,例如cPanel的“批量添加站点”功能或直接使用站群管理工具(如WP Multisite)。域名方面,优先选择老域名或过期域名,因为这些域名天然带有权重。你可以通过https://expireddomains.net" target="_blank">过期域名查询工具找到那些“历史干净、无黑链记录”的域名,注意检查其Google索引状态和Archive.org快照。

在服务器配置上,采用“独立IP+泛解析”模式。每个站点绑定独立IP,并开启泛解析,以便生成大量二级域名用于内容分发。例如,主域名example.com下,可为“灰词1”创建sub1.example.com,为“灰词2”创建sub2.example.com。但注意:每个二级域名应是独立的虚拟主机,避免被搜索引擎视为同一站点。

内容生产与内部链接优化

灰词站群的内容不能是简单的机器翻译或伪原创,这会被搜索引擎轻易识别。推荐使用“T5模型”或“GPT-4”生成底稿,然后人工修改语句,确保每篇文章的“原创度”在85%以上(可通过Copyscape检测)。每篇文章的字数控制在800-1200字,其中灰词出现的密度保持在2%-3%。

内部链接是提升权重的关键。你需要构建“星形链接结构”:每个站点的主页指向其他所有站点的核心灰词页面,但避免形成交叉链接。例如,站点A的首页链接到站点B的“灰词1”文章,站点B首页再链接到站点C的“灰词2”文章,形成闭环。同时,在每个站点内,通过“相关文章”模块进行站内互链,增加爬行深度。

代码层面,务必在

中开启索引,并为每个页面生成唯一的
</code></pre>和<pre><code><meta description></code></pre>标签。例如,针对“快速祛痘”灰词,标题可以是“快速祛痘的3个家庭妙招”而非“快速祛痘-首页”。</p>

<h2>风险控制与规避算法更新</h2>
<p>灰词站群最大的风险在于“被搜索引擎人工干预”。为此,你需要实施“渐进式上线”:每天只上线1-2个站点,且每个站点每天只发布3-5篇文章,模拟真实网站的成长曲线。同时,为每个站点配置不同的主题、插件和字体,避免“模板化”被检测。例如,站点A使用默认Twenty Twenty-Three主题,站点B则使用自定义Astra主题。</p>
<p>另一个关键点是“外链的模拟”。不要使用自动发链工具,而是手动在相关论坛、博客评论区留下自然链接。建议使用“分层外链”:第一层为高权重平台(如知乎、豆瓣);第二层为站群内部链接;第三层为低权重目录站。外链的锚文本应多样化,例如“点击这里”“更多信息”等,避免清一色的灰词锚文本。</p>

<h2>结语</h2>
<p>灰词站群是一门需要持续监控和迭代的技术活。它并非一劳永逸,而是随着搜索引擎算法的更新而不断进化。本文所阐述的选词、架构、内容与风控方法,只是入门框架。在实践中,建议你从5-10个站点的“小规模站群”开始测试,观察流量与排名变化,再逐步扩大规模。记住:真正的价值不在于短期的流量暴涨,而在于长期稳定的风险收益比。掌握灰词站群的核心逻辑,你才能在SEO的灰色地带中游刃有余。</p>            </div>
            
            <!-- 内容中的链接预览 -->
                        <div class="content-link-previews">
                                <div class="content-link-preview-item" data-url="https://expireddomains.net">
                    <div class="content-link-loading">🔗 加载链接信息...</div>
                </div>
                            </div>
                        
            <!-- 附件列表 -->
                                                
            <!-- 操作按钮 -->
            <div class="post-actions">
                <button class="btn btn-outline btn-sm" onclick="likePost(2658)">
                    👍 点赞
                </button>
                <button class="btn btn-outline btn-sm" onclick="sharePost()">
                    📤 分享
                </button>
                            </div>
        </div>
        
        <!-- 回复区域 -->
        <div class="card reply-section">
            <div class="card-header">
                <div class="card-title">
                    💬 回复 
                    <span class="reply-count-badge">0</span>
                </div>
            </div>
            
                        <div class="reply-login-prompt">
                <p>登录后参与回复讨论</p>
                <a href="index.php?page=login" class="btn btn-primary reply-login-btn">立即登录</a>
            </div>
                        
            <!-- 回复列表 -->
            <div class="reply-list">
                                <div class="empty-state reply-empty">
                    <div class="empty-state-icon">💭</div>
                    <h3>暂无回复</h3>
                    <p><a href="index.php?page=login">登录后</a>回复</p>
                </div>
                            </div>
        </div>
    </div>
    
    <!-- 侧边栏 -->
    <aside class="sidebar">
        <!-- 相关帖子 -->
        <div class="sidebar-card">
            <div class="sidebar-title">📌 相关帖子</div>
                                    <div style="display: flex; flex-direction: column; gap: 10px;">
                                <a href="index.php?page=post&id=4889" 
                   style="padding: 10px; background: var(--gray-50); border-radius: 8px; font-size: 13px; color: var(--gray-700); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
                    网推侠站群:高效建站策略与SEO优化实战指南                </a>
                                <a href="index.php?page=post&id=4888" 
                   style="padding: 10px; background: var(--gray-50); border-radius: 8px; font-size: 13px; color: var(--gray-700); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
                    网络站群管理:从混乱到有序的实战指南                </a>
                                <a href="index.php?page=post&id=4887" 
                   style="padding: 10px; background: var(--gray-50); border-radius: 8px; font-size: 13px; color: var(--gray-700); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
                    屏霸站群系统实战:如何搭建高权重站群矩阵                </a>
                                <a href="index.php?page=post&id=4886" 
                   style="padding: 10px; background: var(--gray-50); border-radius: 8px; font-size: 13px; color: var(--gray-700); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
                    站群还可以做吗?2025年最新实操策略与风险规避指南                </a>
                                <a href="index.php?page=post&id=4885" 
                   style="padding: 10px; background: var(--gray-50); border-radius: 8px; font-size: 13px; color: var(--gray-700); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;">
                    小霸王站群搭建:5步高效打造高权重网站矩阵                </a>
                            </div>
                    </div>
        
        <!-- 返回列表 -->
        <div class="sidebar-card">
            <a href="index.php?page=list&cid=1" 
               class="btn btn-outline" style="width: 100%; justify-content: center;">
                ← 返回帖子列表
            </a>
        </div>
    </aside>
</div>

<script>
function likePost(id) {
    fetch('api/post.php?action=like&id=' + id)
        .then(r => r.json())
        .then(d => showToast(d.msg, 'success'));
}

function sharePost() {
    if (navigator.share) {
        navigator.share({
            title: document.title,
            url: location.href
        });
    } else {
        navigator.clipboard.writeText(location.href);
        showToast('链接已复制到剪贴板', 'success');
    }
}

function purchaseAttachment(attachmentId, pointsCost) {
    if (!confirm('确定花费 ' + pointsCost + ' 积分购买此附件吗?\n购买后可直接下载。')) {
        return;
    }
    
    // 发起购买请求
    fetch('api/attachment.php?action=purchase', {
        method: 'POST',
        headers: {'Content-Type': 'application/x-www-form-urlencoded'},
        body: 'id=' + attachmentId
    })
    .then(r => r.json())
    .then(d => {
        if (d.success) {
            showToast('购买成功,正在下载...', 'success');
            // 延迟后开始下载
            setTimeout(() => {
                window.location.href = 'api/attachment.php?action=download&id=' + attachmentId;
            }, 800);
        } else {
            showToast(d.msg || '购买失败', 'error');
            if (d.msg && d.msg.includes('积分不足')) {
                // 刷新页面更新积分显示
                setTimeout(() => location.reload(), 1500);
            }
        }
    })
    .catch(() => {
        showToast('网络错误,请重试', 'error');
    });
}

// 解析帖子内容中的链接预览
document.addEventListener('DOMContentLoaded', function() {
    var linkItems = document.querySelectorAll('.content-link-preview-item[data-url]');
    linkItems.forEach(function(item) {
        var url = item.dataset.url;
        fetch('api/link_preview.php?action=fetch&url=' + encodeURIComponent(url))
            .then(r => r.json())
            .then(d => {
                if (d.code === 200 && d.data) {
                    renderContentLinkPreview(item, d.data);
                } else {
                    item.style.display = 'none';
                }
            })
            .catch(function() {
                item.style.display = 'none';
            });
    });
});

// 渲染内容链接预览卡片
function renderContentLinkPreview(container, data) {
    var html = '<div class="content-link-card" onclick="window.open(\'' + data.url + '\', \'_blank\')">';
    if (data.image) {
        html += '<div class="content-link-img"><img src="' + data.image + '" alt="" onerror="this.parentNode.style.display=\'none\'"></div>';
    }
    html += '<div class="content-link-body">';
    html += '<div class="content-link-site">' + (data.site_name || '') + '</div>';
    html += '<div class="content-link-title">' + (data.title || data.url) + '</div>';
    if (data.description) {
        html += '<div class="content-link-desc">' + data.description + '</div>';
    }
    html += '</div></div>';
    container.innerHTML = html;
}
</script>

<style>
/* 附件区域样式 */
.attachment-section {
    margin-top: 24px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--gray-200);
}

.attachment-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gray-200);
}

.attachment-section-header .attachment-icon {
    font-size: 20px;
}

.attachment-section-header .attachment-title {
    font-weight: 600;
    font-size: 16px;
    color: var(--gray-800);
}

.attachment-section-header .attachment-count {
    color: var(--gray-500);
    font-size: 14px;
}

.attachment-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.attachment-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: white;
    border-radius: 12px;
    border: 1px solid var(--gray-200);
    transition: all 0.2s ease;
}

.attachment-card:hover {
    border-color: var(--primary);
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.1);
    transform: translateY(-1px);
}

.attachment-info {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
    min-width: 0;
}

.attachment-icon-wrapper {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary) 0%, #818cf8 100%);
    border-radius: 12px;
    flex-shrink: 0;
}

.attachment-icon-wrapper .file-icon {
    font-size: 24px;
}

.attachment-details {
    min-width: 0;
    flex: 1;
}

.attachment-name {
    font-weight: 600;
    font-size: 15px;
    color: var(--gray-800);
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 300px;
}

.attachment-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--gray-500);
    flex-wrap: wrap;
}

.meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.meta-divider {
    color: var(--gray-300);
}

.points-cost {
    color: #f59e0b;
    font-weight: 500;
}

.points-icon {
    font-size: 12px;
}

.points-value {
    font-weight: 600;
}

.attachment-action {
    flex-shrink: 0;
    margin-left: 16px;
}

/* 按钮样式 */
.btn-download {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-download.btn-free {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}

.btn-download.btn-free:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

.btn-download.btn-purchase {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: white;
}

.btn-download.btn-purchase:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

.btn-download.btn-login {
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
    color: white;
}

.btn-download.btn-login:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
}

.btn-icon {
    font-size: 16px;
}

/* 徽章样式 */
.badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
}

.badge-free {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    color: #d97706;
}

.badge-downloaded {
    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
    color: #059669;
}

/* 积分不足提示 */
.insufficient-points {
    text-align: right;
}

.insufficient-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 16px;
    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
    color: #dc2626;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
}

.insufficient-hint {
    font-size: 12px;
    color: var(--gray-500);
    margin-top: 4px;
}

/* 响应式 */
@media (max-width: 640px) {
    .attachment-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    
    .attachment-action {
        margin-left: 0;
        width: 100%;
    }
    
    .btn-download {
        width: 100%;
        justify-content: center;
    }
    
    .insufficient-points {
        width: 100%;
    }
}

/* 内容链接预览样式 */
.content-link-previews {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.content-link-preview-item {
    width: 100%;
}

.content-link-card {
    display: flex;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s;
}

.content-link-card:hover {
    border-color: var(--primary);
    background: white;
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.1);
}

.content-link-img {
    width: 100px;
    min-height: 70px;
    background: #dee2e6;
    flex-shrink: 0;
}

.content-link-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.content-link-body {
    padding: 12px 15px;
    flex: 1;
    min-width: 0;
}

.content-link-site {
    font-size: 11px;
    color: #adb5bd;
    margin-bottom: 4px;
}

.content-link-title {
    font-size: 14px;
    font-weight: 500;
    color: #495057;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.content-link-desc {
    font-size: 12px;
    color: #6c757d;
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-clamp: 2;
}

.content-link {
    color: var(--primary);
    text-decoration: none;
    word-break: break-all;
}

.content-link:hover {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .content-link-img {
        width: 70px;
        min-height: 50px;
    }
    
    .content-link-title {
        font-size: 13px;
    }
}

/* 帖子详情页移动端优化 */
@media (max-width: 768px) {
    /* 面包屑导航 */
    .breadcrumb {
        font-size: 12px;
        gap: 6px;
        padding: 10px 0;
        flex-wrap: wrap;
    }
    
    .breadcrumb span {
        opacity: 0.5;
    }
    
    .breadcrumb-current {
        max-width: 80px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    /* 移动端快捷操作栏 */
    .mobile-post-actions {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 0;
        margin-bottom: 10px;
        border-bottom: 1px solid var(--gray-200);
    }
    
    .mobile-back-btn, .mobile-share-btn {
        padding: 8px 16px;
        border-radius: 20px;
        font-size: 13px;
        color: var(--gray-600);
        background: var(--gray-100);
        border: none;
        cursor: pointer;
        text-decoration: none;
        transition: all 0.2s;
    }
    
    .mobile-back-btn:hover, .mobile-share-btn:hover {
        background: var(--gray-200);
    }
    
    /* 帖子详情 */
    .post-detail {
        padding: 16px;
        border-radius: 12px;
    }
    
    .post-detail-title {
        font-size: 18px;
        line-height: 1.4;
        margin-bottom: 12px;
    }
    
    .post-detail-title .badge {
        padding: 3px 8px;
        font-size: 10px;
        vertical-align: middle;
        margin-right: 4px;
    }
    
    .title-text {
        word-break: break-word;
    }
    
    .post-detail-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 12px;
        font-size: 12px;
        color: var(--gray-500);
    }
    
    .meta-item {
        white-space: nowrap;
    }
    
    .meta-item.time-item {
        width: 100%;
        color: var(--gray-400);
        font-size: 11px;
    }
    
    /* 作者卡片 */
    .author-card {
        flex-direction: row;
        padding: 14px;
        margin: 15px -16px;
        border-radius: 0;
        border-top: 1px solid var(--gray-100);
        border-bottom: 1px solid var(--gray-100);
    }
    
    .author-avatar-wrapper {
        flex-shrink: 0;
    }
    
    .author-avatar-img {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        object-fit: cover;
    }
    
    .author-info {
        flex: 1;
        min-width: 0;
    }
    
    .author-name {
        font-size: 15px;
        font-weight: 600;
        color: var(--primary);
    }
    
    .author-signature {
        font-size: 12px;
        color: var(--gray-500);
        margin-top: 4px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .author-edit-btn {
        flex-shrink: 0;
        padding: 6px 12px;
        font-size: 12px;
    }
    
    /* 帖子内容 */
    .post-content-box {
        padding: 16px;
        font-size: 15px;
        line-height: 1.8;
        border-radius: 12px;
    }
    
    .post-content-box p {
        margin-bottom: 12px;
    }
    
    .post-content-box pre {
        padding: 12px;
        font-size: 13px;
        margin: 12px 0;
        border-radius: 8px;
        overflow-x: auto;
    }
    
    /* 操作按钮 */
    .post-actions {
        flex-wrap: wrap;
        gap: 8px;
        padding: 15px 0;
    }
    
    .post-actions .btn {
        flex: 1;
        min-width: calc(50% - 4px);
        justify-content: center;
        padding: 12px;
        font-size: 14px;
    }
    
    /* 回复区域 */
    .reply-section {
        margin-top: 15px;
        border-radius: 12px;
    }
    
    .card-header {
        padding-bottom: 12px;
        margin-bottom: 15px;
    }
    
    .card-title {
        font-size: 16px;
    }
    
    .reply-count-badge {
        background: var(--primary);
        color: white;
        padding: 2px 8px;
        border-radius: 10px;
        font-size: 12px;
        margin-left: 6px;
    }
    
    .reply-form {
        margin-bottom: 20px;
    }
    
    .reply-textarea {
        min-height: 100px;
        font-size: 15px;
        padding: 14px;
        border-radius: 10px;
    }
    
    .reply-form-footer {
        display: flex;
        justify-content: flex-end;
        margin-top: 12px;
    }
    
    .reply-submit-btn {
        padding: 12px 24px;
        font-size: 15px;
    }
    
    .reply-login-prompt {
        text-align: center;
        padding: 25px;
        color: var(--gray-500);
    }
    
    .reply-login-prompt p {
        margin-bottom: 12px;
    }
    
    .reply-login-btn {
        padding: 12px 30px;
    }
    
    /* 回复列表 */
    .reply-list {
        margin-top: 0;
    }
    
    .reply-empty {
        padding: 30px 15px;
    }
    
    .reply-item {
        padding: 15px 0;
        gap: 12px;
    }
    
    .reply-avatar-wrapper {
        flex-shrink: 0;
    }
    
    .reply-avatar-img {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        object-fit: cover;
    }
    
    .reply-content {
        flex: 1;
        min-width: 0;
    }
    
    .reply-header {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 8px;
        flex-wrap: wrap;
    }
    
    .reply-user-info {
        display: flex;
        align-items: center;
        gap: 6px;
    }
    
    .reply-author {
        font-size: 14px;
        font-weight: 600;
        color: var(--primary);
    }
    
    .reply-floor {
        background: var(--gray-100);
        color: var(--gray-500);
        padding: 1px 6px;
        border-radius: 4px;
        font-size: 10px;
    }
    
    .reply-time {
        font-size: 11px;
        color: var(--gray-400);
    }
    
    .reply-delete-btn {
        margin-left: auto;
        padding: 4px 8px;
        font-size: 12px;
        opacity: 0.6;
        transition: opacity 0.2s;
    }
    
    .reply-delete-btn:hover {
        opacity: 1;
    }
    
    .reply-body {
        font-size: 14px;
        line-height: 1.7;
        color: var(--gray-700);
        word-break: break-word;
    }
    
    /* 附件区域 */
    .attachment-section {
        padding: 15px;
        border-radius: 12px;
        margin-top: 16px;
    }
    
    .attachment-section-header {
        margin-bottom: 12px;
        padding-bottom: 10px;
    }
    
    .attachment-icon {
        font-size: 18px;
    }
    
    .attachment-title {
        font-size: 14px;
    }
    
    /* 相关帖子侧边栏 */
    .sidebar {
        display: none;
    }
}

@media (max-width: 480px) {
    /* 面包屑 */
    .breadcrumb {
        font-size: 11px;
    }
    
    /* 快捷操作栏 */
    .mobile-post-actions {
        margin: 0 -12px 10px;
        padding: 10px 12px;
    }
    
    /* 帖子标题 */
    .post-detail-title {
        font-size: 16px;
    }
    
    .post-detail-title .badge {
        padding: 2px 6px;
        font-size: 9px;
    }
    
    /* 元信息 */
    .post-detail-meta {
        font-size: 11px;
        gap: 6px 10px;
    }
    
    /* 作者卡片 */
    .author-card {
        padding: 12px;
        margin: 12px -12px;
    }
    
    .author-avatar-img {
        width: 42px;
        height: 42px;
    }
    
    .author-name {
        font-size: 14px;
    }
    
    .author-signature {
        font-size: 11px;
    }
    
    /* 帖子内容 */
    .post-content-box {
        padding: 14px;
        font-size: 14px;
    }
    
    .post-content-box pre {
        padding: 10px;
        font-size: 12px;
        border-radius: 6px;
    }
    
    .post-content-box code {
        font-size: 12px;
    }
    
    /* 操作按钮 */
    .post-actions .btn {
        min-width: 100%;
        padding: 14px;
        font-size: 15px;
    }
    
    /* 回复 */
    .reply-section {
        border-radius: 10px;
    }
    
    .card-title {
        font-size: 15px;
    }
    
    .reply-avatar-img {
        width: 36px;
        height: 36px;
    }
    
    .reply-body {
        font-size: 13px;
    }
    
    .reply-submit-btn {
        width: 100%;
    }
    
    /* 附件 */
    .attachment-card {
        padding: 12px;
    }
    
    .attachment-icon-wrapper {
        width: 40px;
        height: 40px;
    }
    
    .attachment-name {
        font-size: 14px;
    }
    
    .attachment-meta {
        font-size: 12px;
    }
    
    .btn-download {
        padding: 12px 16px;
        font-size: 14px;
    }
    
    /* 链接预览 */
    .content-link-card {
        flex-direction: column;
    }
    
    .content-link-img {
        width: 100%;
        height: 100px;
    }
    
    .content-link-body {
        padding: 10px 12px;
    }
    
    .content-link-title {
        font-size: 13px;
    }
}

@media (max-width: 320px) {
    .post-detail-title {
        font-size: 15px;
    }
    
    .author-card {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .author-signature {
        white-space: normal;
    }
    
    .author-edit-btn {
        width: 100%;
        margin-top: 10px;
    }
}
</style>

        </div>
    </main>
    
    <footer class="footer">
        <div class="container footer-content">
            <div>
                <p>© 2024 站长资源论坛 - 一个清爽大气的社区论坛</p>
            </div>
            <div class="footer-links">
                <a href="#">关于我们</a>
                <a href="#">联系方式</a>
                <a href="#">隐私政策</a>
            </div>
        </div>
    </footer>
    
        
    <!-- 提示消息 -->
    <div id="toast" class="toast"></div>
    
    <script>
    function showToast(message, type = 'success') {
        const toast = document.getElementById('toast');
        toast.textContent = message;
        toast.className = 'toast show ' + (type === 'success' ? 'toast-success' : 'toast-error');
        setTimeout(() => {
            toast.className = 'toast';
        }, 3000);
    }
    
    // 简单的表单验证
    document.querySelectorAll('form[data-ajax]').forEach(form => {
        form.addEventListener('submit', async function(e) {
            e.preventDefault();
            const formData = new FormData(this);
            const response = await fetch(this.action, {
                method: 'POST',
                body: formData
            });
            const data = await response.json();
            if (data.code === 200) {
                showToast(data.msg, 'success');
                if (data.url) {
                    setTimeout(() => location.href = data.url, 1000);
                } else if (data.reload) {
                    location.reload();
                }
            } else {
                showToast(data.msg, 'error');
            }
        });
    });
    </script>
</body>
</html>