dify可全自动完成seo文章生成:基于“seo_指南_2026”知识库规则,通过llm生成、知识检索校验与python代码清洗校验三步流程,确保h1唯一、关键词密度1.8%–2.3%、锚文本自然合规。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Dify自动从关键词生成符合SEO规范的原创文章,全程无需人工干预——包括选题、写稿、优化标题与摘要、插入内部链接、输出带结构化标签的HTML正文。
准备SEO知识库与规则集
第一步:在Dify知识库中新建一个名为“SEO_指南_2026”的知识库,类型选“文档”,上传你整理好的《2026主流搜索引擎标题长度/关键词密度/段落间距/语义LSI词表》PDF或Markdown文件。
第二步:进入该知识库设置页→点击“高级设置”→将“分块大小”设为512,分块重叠设为64;不勾选“启用向量化预处理”——否则会把“H1必须唯一”这类硬性规则误判为可变描述,导致后续生成跳过校验。
第三步:在知识库内手动添加三条关键规则卡片(纯文本条目,非附件):
① “每篇文章仅允许1个H1,且必须出现在首段前”
② “关键词密度需控制在1.8%–2.3%,禁止堆砌”
③ “‘了解更多’‘点击此处’等诱导性锚文本禁止出现,内部链接锚文本必须是目标页面主关键词的自然变体”。
搭建核心工作流节点
进入Dify工作区→新建应用→选择“工作流”类型→命名“SEO_Auto_Writer_v3”。
拖入第一个节点:【LLM】→模型选“Qwen2.5-72B-Instruct”(本地部署版)或“gpt-4o-mini”(API调用),温度设为0.35,最大输出长度设为2800。
拖入第二个节点:【知识检索】→绑定刚才创建的“SEO_指南_2026”知识库→勾选“启用相关性过滤”→相似度阈值设为0.72——低于此值的规则不会被调用,避免弱关联干扰判断。
拖入第三个节点:【代码】→语言选Python→粘贴以下逻辑(用于清洗并校验生成结果):
import re<br>def clean_html(text):<br> # 移除多余空行与不可见字符<br> text = re.sub(r'\n\s*\n', '\n\n', text)<br> text = re.sub(r'[\u200b-\u200f\uFEFF]', '', text)<br> return text.strip()<br><br>def validate_h1_count(html):<br> return len(re.findall(r'<h1>]*>', html)) == 1<br><br>def validate_keyword_density(text, keyword):<br> if not keyword: return True<br> count = len(re.findall(rf'\b{re.escape(keyword)}\b', text, re.I))<br> density = count / len(text.split()) if text.split() else 0<br> return 0.018 <h2>配置触发与变量映射</h2>
</h1><p>方法一:API触发<br>在工作流设置页→点击“API接入”→开启“公开调用”→复制Endpoint URL;调用时POST JSON中必须包含字段<code>"keyword"</code>和<code>"target_url"</code>,例如:<code>{"keyword":"北京装修设计公司","target_url":"/services/beijing-renovation"}</code>。</p><p>方法二:定时触发(免人工)<br>点击“触发器”→新增“Cron调度”→填写<code>0 8 * * 1</code>(每周一早8点执行)→在“输入变量”中预设:<br><strong>【keyword_list】</strong> = ["上海旧房翻新报价", "深圳小户型全屋定制", "杭州二手房改造流程"]<br>→系统将按顺序逐个调用工作流,每次传入一个关键词。</p><p>注意:若使用定时触发,<strong>【target_url】必须在变量里动态拼接</strong>,不能写死——例如用Python节点生成<code>f"/services/{keyword.replace(' ', '-')}"</code>,否则所有文章都会指向同一URL,破坏站内链结构。</p><h2>连接输出与发布通道</h2><p>在工作流末尾添加【HTTP请求】节点:<br>→URL填你CMS的REST API地址,如<code>https://cms.example.com/api/v1/posts</code><br>→方法选POST<br>→Headers加<code>{"Authorization": "Bearer <strong>【你的CMS_API_TOKEN】</strong>", "Content-Type": "application/json"}</code><br>→Body模板如下(确保字段名与CMS接收格式严格一致):</p><p></p><pre class="brush:php;toolbar:false;">{<br> "title": "{{llm_output.title}}",<br> "slug": "{{llm_output.slug}}",<br> "content_html": "{{code_output.cleaned_html}}",<br> "meta_description": "{{llm_output.meta_desc}}",<br> "status": "draft"<br>}最后点击“保存并启用”,工作流图标变为绿色运行状态即生效。











