816 lines
27 KiB
Markdown
816 lines
27 KiB
Markdown
# Ciyon网站开发Skill指南 - AI驱动的SEO/GEO优化系统
|
||
|
||
## 项目概述
|
||
Ciyon框架采用原生PHP+JS开发,专注SEO优化和搜索引擎友好性。通过AI自动生成文章、定时发布、关键词管理等功能,实现网站的自动化SEO优化,适合快速搭建企业官网、博客、内容管理系统。
|
||
|
||
- **AI自动生成文章**:关键词自动生成、推广方向设计、文章可读性与SEO结合
|
||
- **SEO优化**:针对传统搜索引擎(Google、百度)
|
||
- **GEO优化**:针对AI搜索引擎(ChatGPT、Claude、Bing AI)
|
||
|
||
|
||
### 核心模块
|
||
1. **栏目管理**(www_list_cate)- 定义内容分类和SEO策略
|
||
2. **已发文章**(www_list_art)- 已发布并在前台显示的文章
|
||
3. **待发文章**(www_list_preart)- AI生成的文章池
|
||
4. **单页管理**(www_single)- 独立页面(关于我们、联系我们等)
|
||
5. **SEO规划**(www_seoplan)- 制定SEO优化计划
|
||
6. **关键词库**(www_keyword)- 存储SEO关键词
|
||
7. **锚内关键词**(www_seoword)- 自动插入的关键词链接
|
||
8. **文章模版**(www_tmplart)- SEO专用文章模板
|
||
9. **浓缩知识**(www_content)- 与产品相关的浓缩信息
|
||
10. **用户线索**(www_customer)- 收集访客咨询
|
||
|
||
|
||
## 核心架构
|
||
|
||
### 网站内容管理四大模块
|
||
|
||
#### 1. 栏目管理(www_list_cate)
|
||
**功能**:定义网站的内容分类,每个栏目可配置独立的SEO策略
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_list_cate` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '栏目ID',
|
||
`name` varchar(180) NOT NULL COMMENT '栏目名',
|
||
`precnt` int(11) NOT NULL COMMENT '储备文章数(待发文章池)',
|
||
`daysent` int(11) NOT NULL COMMENT '日发布量(每天自动发布多少篇)',
|
||
`bprenow` int(11) NOT NULL COMMENT '直发否(是否直接发布,无需审核)',
|
||
`promptcute` text NOT NULL COMMENT 'AI生成文章的提示词',
|
||
`seotitle` varchar(180) NOT NULL COMMENT 'SEO标题',
|
||
`keyw` varchar(180) NOT NULL COMMENT '关键词',
|
||
`descs` varchar(250) NOT NULL COMMENT '摘要',
|
||
`addtimes` bigint(20) NOT NULL COMMENT '添加时间',
|
||
`uptimes` bigint(20) NOT NULL COMMENT '更新时间',
|
||
`vadmin` int(11) NOT NULL COMMENT '操作人',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
**使用场景**:
|
||
- 普通栏目:公司动态、产品列表、技术文档FAQ等
|
||
- SEO栏目:专门用于SEO优化的栏目,配置AI自动生成文章
|
||
|
||
**配置示例**:
|
||
```php
|
||
// 普通栏目
|
||
{
|
||
'name' => '公司动态',
|
||
'precnt' => 5,
|
||
'daysent' => 1,
|
||
'bprenow' => 1,
|
||
'promptcute' => '生成一篇关于公司产品更新的新闻稿',
|
||
'seotitle' => '公司动态 - xx科技有限公司',
|
||
'keyw' => '公司动态,产品更新,新闻资讯',
|
||
'descs' => '了解公司最新动态和产品更新信息'
|
||
}
|
||
|
||
// SEO栏目
|
||
{
|
||
'name' => '技术文章',
|
||
'precnt' => 30,
|
||
'daysent' => 3,
|
||
'bprenow' => 0,
|
||
'promptcute' => '生成一篇关于{关键词}的技术文章,要求:1.内容原创 2.结构清晰 3.包含实战案例',
|
||
'seotitle' => '技术文章 - 全栈开发框架',
|
||
'keyw' => 'PHP开发,Golang开发,全栈框架',
|
||
'descs' => '分享PHP、Golang、全栈开发技术文章和实战经验'
|
||
}
|
||
```
|
||
|
||
#### 2. 已发文章(www_list_art)
|
||
**功能**:已发布并在网站前台显示的文章
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_list_art` (
|
||
`id` int(11) NOT NULL COMMENT '文章ID',
|
||
`cateid` int(11) NOT NULL COMMENT '所属栏目ID',
|
||
`clickcnt` int(11) NOT NULL COMMENT '点击量',
|
||
`icon` varchar(250) NOT NULL COMMENT '缩略图',
|
||
`name` varchar(180) NOT NULL COMMENT '主标题',
|
||
`seotitle` varchar(180) NOT NULL COMMENT 'SEO标题',
|
||
`keyw` varchar(180) NOT NULL COMMENT '关键词',
|
||
`author` varchar(100) NOT NULL COMMENT '作者',
|
||
`descs` varchar(250) NOT NULL COMMENT '摘要',
|
||
`content` text NOT NULL COMMENT '内容(Markdown格式)',
|
||
`csort` int(11) NOT NULL COMMENT '排序',
|
||
`uptimes` bigint(20) NOT NULL COMMENT '更新时间',
|
||
`vadmin` int(11) NOT NULL COMMENT '操作人',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
**自动发布流程**:
|
||
1. AI生成文章存入 `www_list_preart`(待发文章表)
|
||
2. 定时任务根据栏目配置的 `daysent`(日发布量)
|
||
3. 将待发文章移动到 `www_list_art`(已发文章表)
|
||
4. 更新网站的sitemap.xml
|
||
5. 通知搜索引擎索引
|
||
|
||
#### 3. 待发文章(www_list_preart)
|
||
**功能**:AI生成的文章池,等待审核或定时发布
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_list_preart` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '文章ID',
|
||
`cateid` int(11) NOT NULL COMMENT '所属栏目ID',
|
||
`preartstatus` int(11) NOT NULL COMMENT '文章状态:10.草稿 20.待发 100.已发',
|
||
`icon` varchar(250) NOT NULL COMMENT '缩略图',
|
||
`name` varchar(180) NOT NULL COMMENT '主标题',
|
||
`seotitle` varchar(180) NOT NULL COMMENT 'SEO标题',
|
||
`keyw` varchar(180) NOT NULL COMMENT '关键词',
|
||
`author` varchar(100) NOT NULL COMMENT '作者',
|
||
`descs` varchar(250) NOT NULL COMMENT '摘要',
|
||
`content` text NOT NULL COMMENT '内容(Markdown格式)',
|
||
`uptimes` bigint(20) NOT NULL COMMENT '更新时间',
|
||
`vadmin` int(11) NOT NULL COMMENT '创建人',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
**文章状态流转**:
|
||
```
|
||
10.草稿(AI生成)→ 20.待发(人工审核)→ 100.已发(发布到前台)
|
||
```
|
||
|
||
**AI生成文章流程**:
|
||
```php
|
||
// 1. 读取栏目配置
|
||
$cate = $db->getone("SELECT * FROM www_list_cate WHERE id = {$cateid}");
|
||
|
||
// 2. 读取关键词库
|
||
$keywords = $db->get("SELECT * FROM www_keyword WHERE cateid = {$cateid}");
|
||
|
||
// 3. 随机选择关键词
|
||
$keyword = $keywords[array_rand($keywords)];
|
||
|
||
// 4. 替换提示词中的关键词
|
||
$prompt = str_replace('{关键词}', $keyword['name'], $cate['promptcute']);
|
||
|
||
// 5. 调用AI生成文章
|
||
$article = ai_generate_article($prompt);
|
||
|
||
// 6. 保存到待发文章表
|
||
$db->insert('www_list_preart', [
|
||
'cateid' => $cateid,
|
||
'preartstatus' => 10,
|
||
'name' => $article['title'],
|
||
'seotitle' => $article['title'],
|
||
'keyw' => $keyword['name'],
|
||
'content' => $article['content'],
|
||
'descs' => mb_substr(strip_tags($article['content']), 0, 250),
|
||
'uptimes' => time(),
|
||
'vadmin' => 0 // 0表示AI生成
|
||
]);
|
||
```
|
||
|
||
#### 4. 单页管理(www_single)
|
||
**功能**:独立页面,如关于我们、联系我们、隐私政策等
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_single` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '页面ID',
|
||
`name` varchar(180) NOT NULL COMMENT '主标题',
|
||
`seotitle` varchar(180) NOT NULL COMMENT 'SEO标题',
|
||
`keyw` varchar(180) NOT NULL COMMENT '关键词',
|
||
`author` varchar(100) NOT NULL COMMENT '作者',
|
||
`descs` varchar(250) NOT NULL COMMENT '摘要',
|
||
`content` text NOT NULL COMMENT '内容(Markdown格式)',
|
||
`addtimes` bigint(20) NOT NULL COMMENT '添加时间',
|
||
`uptimes` bigint(20) NOT NULL COMMENT '更新时间',
|
||
`vadmin` int(11) NOT NULL COMMENT '创建人',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
### 辅助SEO优化模块
|
||
|
||
#### 5. SEO规划(www_seoplan)
|
||
**功能**:制定SEO优化计划,管理不同阶段的推广策略
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_seoplan` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`cateid` int(11) NOT NULL COMMENT '所属栏目ID',
|
||
`starttimes` bigint(20) NOT NULL COMMENT '开始日期',
|
||
`endtimes` bigint(20) NOT NULL COMMENT '结束日期',
|
||
`promptseo` text NOT NULL COMMENT '推广方向提示词',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
**使用场景**:
|
||
- 制定月度SEO计划
|
||
- 定义阶段性推广主题
|
||
- 指导AI生成文章方向
|
||
|
||
#### 6. 关键词库(www_keyword)
|
||
**功能**:存储SEO关键词,供AI生成文章时使用
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_keyword` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`cateid` int(11) NOT NULL COMMENT '所属栏目ID',
|
||
`name` varchar(100) NOT NULL COMMENT '关键词',
|
||
`usetime` int(11) NOT NULL COMMENT '使用次数',
|
||
`addtimes` bigint(20) NOT NULL COMMENT '添加时间',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
**关键词管理策略**:
|
||
- 从百度指数、Google Trends等工具获取热门关键词
|
||
- 使用长尾关键词提高转化率
|
||
- 定期更新关键词库
|
||
|
||
#### 7. 锚内关键词(www_seoword)
|
||
**功能**:在文章中自动插入的关键词链接,提升内链权重
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_seoword` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`cateid` int(11) NOT NULL COMMENT '所属栏目ID',
|
||
`name` varchar(100) NOT NULL COMMENT '关键词',
|
||
`url` varchar(180) NOT NULL COMMENT '链接地址',
|
||
`rank` int(11) NOT NULL COMMENT '权重(0-100)',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `title` (`name`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
|
||
#### 8. 文章模版(www_tmplart)
|
||
**功能**:SEO自动生成的栏目专用。
|
||
文章模板主要是在顶部设置全图落地页。
|
||
SEO自动生成的文章,用户阅读质量较差,顶部放置全图片落地页吸引用户浏览。(一般用户从搜索引擎直达本页)
|
||
底部AI自动生成的文字,主要给搜索引擎收录用。
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_tmplart` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`cateid` int(11) NOT NULL COMMENT '所属栏目ID',
|
||
`name` varchar(180) NOT NULL COMMENT '模版主题',
|
||
`content` text NOT NULL COMMENT '模版内容(Markdown格式)',
|
||
`qutime` int(11) NOT NULL COMMENT '引用次数',
|
||
`addtimes` bigint(20) NOT NULL COMMENT '添加时间',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
**模版示例**:
|
||
```markdown
|
||
!图片链接
|
||
!图片链接
|
||
!图片链接
|
||
!图片链接
|
||
!图片链接
|
||
!图片链接
|
||
!图片链接
|
||
!图片链接
|
||
{{text}}
|
||
```
|
||
|
||
#### 9. 浓缩知识(www_content)
|
||
**功能**:主要是与网站相关产品、服务有关的信息,浓缩成不同方向描述。
|
||
AI随机抽取几个浓缩知识,结合SEO规划的推广方向提示词,生成可发布的文字,再套用文章模版,替换{{text}},完成生成。
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_content` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`cateid` int(11) NOT NULL COMMENT '所属栏目ID',
|
||
`name` varchar(180) NOT NULL COMMENT '内容主题',
|
||
`content` text NOT NULL COMMENT '浓缩内容',
|
||
`qutime` int(11) NOT NULL COMMENT '引用次数',
|
||
`addtimes` bigint(20) NOT NULL COMMENT '添加时间',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
#### 10. 用户线索(www_customer)
|
||
**功能**:收集网站访客的咨询和需求信息
|
||
|
||
**核心字段**:
|
||
```sql
|
||
CREATE TABLE `www_customer` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`fromurl` varchar(180) NOT NULL COMMENT '来源页面',
|
||
`mobile` varchar(50) NOT NULL COMMENT '手机号',
|
||
`demandinfo` text NOT NULL COMMENT '需求信息',
|
||
`addtimes` bigint(20) NOT NULL COMMENT '提交时间',
|
||
`contacttimes` bigint(20) NOT NULL COMMENT '接待时间',
|
||
`memo` varchar(180) NOT NULL COMMENT '接待备注',
|
||
`contactadmin` int(11) NOT NULL COMMENT '接待人',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
```
|
||
|
||
## AI自动生成文章系统
|
||
|
||
### 定时任务配置
|
||
|
||
**创建自动化任务**:
|
||
```php
|
||
// 插入任务到 zc_autotask 表
|
||
$db->insert('zc_autotask', [
|
||
'name' => 'SEO文章生成',
|
||
'runfunc' => 'web\admin\autotask\seo::generate_articles',
|
||
'runparam' => '',
|
||
'nexttimes' => time() + 3600, // 1小时后执行
|
||
'runcycle' => 3600, // 每小时执行一次
|
||
'autotaskstatus' => 20, // 等待执行
|
||
'runtimes' => 0
|
||
]);
|
||
```
|
||
|
||
**任务执行函数**:
|
||
```php
|
||
namespace web\admin\autotask;
|
||
|
||
class seo {
|
||
// 生成SEO文章
|
||
static function generate_articles() {
|
||
// 1. 读取所有需要自动生成的栏目,一般文章储备不足开始生成
|
||
$cates = $db->get("SELECT * FROM www_list_cate WHERE precnt < 5");
|
||
|
||
foreach ($cates as $cate) {
|
||
// 2. 读取SEO规划
|
||
$promptseo = $db->get1("SELECT promptseo FROM www_seoplan WHERE cateid = {$cate['id']} and starttimes>{$now} and endtimes<{$now}");
|
||
for ($i = 0; $i < 5; $i++) {
|
||
// 生成文章
|
||
self::generate_one_article($cate, $promptseo);
|
||
}
|
||
}
|
||
|
||
return ['code' => 0, 'errmsg' => '文章生成完成'];
|
||
}
|
||
|
||
// 生成单篇文章
|
||
static function generate_one_article($cate, $promptseo) {
|
||
// 1. 如果有,则按$promptseo提示词,用AI从www_keyword中提取几个相关关键词。
|
||
// 2. 如果$promptseo为空,则随机提取几个关键词。
|
||
// 3. 用$promptseo + $cate['prompt'] + 关键词作为提示词,调用call_ai接口生成文章内容。
|
||
// 4. 随机取出一个文章模板,将模板内容与文章内容结合,保存到待发文章表。
|
||
// 5. 更新栏目的待发文章数量。
|
||
}
|
||
|
||
// 调用AI接口
|
||
static function call_ai($ai_key, $prompt) {
|
||
// 使用框架的AI接口
|
||
$result = \ciy\openai::chat([
|
||
'model' => $ai_key['model'],
|
||
'messages' => [
|
||
['role' => 'system', 'content' => '你是一个专业的SEO文章写作助手'],
|
||
['role' => 'user', 'content' => $prompt]
|
||
],
|
||
'api_key' => $ai_key['aikey'],
|
||
'base_url' => $ai_key['baseurl']
|
||
]);
|
||
|
||
return $result;
|
||
}
|
||
}
|
||
```
|
||
|
||
## GEO生成式引擎优化(Generative Engine Optimization)
|
||
|
||
### 概念说明
|
||
|
||
**GEO vs SEO**:
|
||
- **SEO(Search Engine Optimization)**:针对传统搜索引擎(Google、百度)优化,目标是提高在搜索结果中的排名
|
||
- **GEO(Generative Engine Optimization)**:针对AI搜索引擎(ChatGPT、Claude、Bing AI)优化,目标是让AI训练爬虫收录内容,在用户提问时引用和推荐
|
||
|
||
**AI爬虫的喜好特点**:
|
||
1. **结构化内容**:清晰的标题、段落、列表结构
|
||
2. **权威性**:引用数据、案例、专家观点
|
||
3. **完整性**:全面覆盖主题,提供深入分析
|
||
4. **原创性**:独特见解和原创内容
|
||
5. **时效性**:更新及时,信息准确
|
||
6. **可验证性**:提供来源链接
|
||
7. **实用性**:解决实际问题,提供可操作建议
|
||
|
||
|
||
### 1. AI收录优化策略
|
||
|
||
#### A. 内容结构优化
|
||
|
||
**AI友好的文章结构**:
|
||
```markdown
|
||
# 主标题(明确、具体、包含核心关键词)
|
||
|
||
## 摘要
|
||
提供文章概要,帮助AI快速理解内容要点
|
||
|
||
## 背景介绍
|
||
说明问题的背景和重要性,建立上下文
|
||
|
||
## 核心概念
|
||
### 概念1
|
||
- 定义
|
||
- 特点
|
||
- 应用场景
|
||
|
||
### 概念2
|
||
- 定义
|
||
- 特点
|
||
- 应用场景
|
||
|
||
## 实战案例
|
||
### 案例一:xxx公司实施xxx
|
||
- 背景
|
||
- 挑战
|
||
- 解决方案
|
||
- 结果
|
||
|
||
### 案例二:xxx项目实践
|
||
- 背景
|
||
- 挑战
|
||
- 解决方案
|
||
- 结果
|
||
|
||
## 实施步骤
|
||
1. 第一步:xxx
|
||
2. 第二步:xxx
|
||
3. 第三步:xxx
|
||
|
||
## 常见问题
|
||
### Q1: xxx?
|
||
**A**: 详细解答...
|
||
|
||
### Q2: xxx?
|
||
**A**: 详细解答...
|
||
|
||
## 总结
|
||
总结文章要点,提供核心结论
|
||
|
||
```
|
||
|
||
**GEO栏目配置**:
|
||
```php
|
||
{
|
||
'name' => '技术教程',
|
||
'precnt' => 50,
|
||
'daysent' => 5,
|
||
'bprenow' => 0,
|
||
'promptcute' => '生成一篇关于{关键词}的深度技术文章,要求:1.结构清晰,包含背景、概念、案例、步骤、问答、总结 2.提供可操作的实施建议 3.引用实际数据和案例 4.内容原创且有独到见解 5.字数2000-3000字',
|
||
'seotitle' => '{关键词} - 全栈开发技术教程',
|
||
'keyw' => '{关键词},技术教程,实战案例,解决方案',
|
||
'descs' => '深入讲解{关键词}的技术原理、实施步骤和实战案例,提供可操作的建议和最佳实践'
|
||
}
|
||
```
|
||
|
||
**更多GEO优化提示词示例**:
|
||
|
||
```php
|
||
// 1. 行业分析类文章
|
||
{
|
||
'name' => '行业洞察',
|
||
'promptcute' => '生成一篇关于{关键词}的行业分析文章,要求:1.包含市场数据、趋势分析、竞争格局 2.引用权威数据源和行业报告 3.提供未来3-5年的发展预测 4.分析对企业和从业者的启示 5.字数2500-3500字',
|
||
'seotitle' => '{关键词}行业分析与发展趋势',
|
||
'keyw' => '{关键词},行业分析,市场趋势,发展预测'
|
||
}
|
||
|
||
// 2. 最佳实践类文章
|
||
{
|
||
'name' => '最佳实践',
|
||
'promptcute' => '生成一篇关于{关键词}的最佳实践文章,要求:1.基于真实项目经验 2.列出常见错误和避坑指南 3.提供可复制的成功模式 4.包含检查清单和工具推荐 5.字数2000-3000字',
|
||
'seotitle' => '{关键词}最佳实践指南',
|
||
'keyw' => '{关键词},最佳实践,经验总结,避坑指南'
|
||
}
|
||
|
||
// 3. 问题解决类文章
|
||
{
|
||
'name' => '解决方案',
|
||
'promptcute' => '生成一篇关于{关键词}的问题解决方案文章,要求:1.明确问题描述和影响范围 2.分析根本原因 3.提供多种解决方案对比 4.给出实施步骤和预期效果 5.包含预防措施 6.字数2000-3000字',
|
||
'seotitle' => '{关键词}问题解决方案',
|
||
'keyw' => '{关键词},问题解决,方案对比,实施指南'
|
||
}
|
||
|
||
// 4. 工具评测类文章
|
||
{
|
||
'name' => '工具评测',
|
||
'promptcute' => '生成一篇关于{关键词}的工具评测文章,要求:1.评测5-8个主流工具 2.从功能、性能、成本、易用性等多维度对比 3.提供选择建议和适用场景 4.包含实际使用体验 5.字数2500-3500字',
|
||
'seotitle' => '{关键词}工具评测与选择指南',
|
||
'keyw' => '{关键词},工具评测,对比分析,选择建议'
|
||
}
|
||
```
|
||
|
||
### 5. 让AI引用和推荐的核心策略
|
||
|
||
#### A. 建立内容权威性
|
||
|
||
**成为领域专家的必备要素**:
|
||
1. **内容深度**:每个主题提供全面深入的分析,而非浅尝辄止
|
||
2. **原创见解**:提供独特的观点和见解,避免人云亦云
|
||
3. **数据支撑**:引用真实数据、案例、研究报告
|
||
4. **持续更新**:定期更新内容,保持信息的准确性和时效性
|
||
5. **专业审阅**:邀请行业专家审阅内容,确保专业准确性
|
||
|
||
#### B. 提升内容可引用性
|
||
|
||
**让AI更容易引用的内容特征**:
|
||
1. **结构化格式**:使用清晰的标题、列表、段落结构
|
||
2. **明确观点**:直接陈述观点,避免模糊表达
|
||
3. **可操作建议**:提供具体的实施步骤和检查清单
|
||
4. **案例验证**:用实际案例验证观点的有效性
|
||
5. **引用来源**:提供权威来源链接,增强可信度
|
||
|
||
#### C. 品牌价值植入
|
||
|
||
**在内容中自然植入品牌价值**:
|
||
1. **解决方案提及**:在讨论解决方案时提及品牌方案
|
||
2. **经验分享**:分享品牌在相关领域的实践经验
|
||
3. **数据证明**:用品牌相关的数据证明观点
|
||
4. **客户案例**:引用品牌客户的成功案例
|
||
5. **行业地位**:在行业分析中提及品牌的行业地位
|
||
|
||
#### D. 多维度覆盖
|
||
|
||
**覆盖AI可能询问的各种问题**:
|
||
1. **是什么**:概念定义、基本原理
|
||
2. **为什么**:重要性、必要性、价值
|
||
3. **怎么做**:实施步骤、最佳实践、工具推荐
|
||
4. **常见问题**:FAQ、错误处理、避坑指南
|
||
5. **未来趋势**:发展方向、预测、建议
|
||
|
||
### 6. GEO最佳实践总结
|
||
|
||
**内容创作原则**:
|
||
1. **深度优先**:每个主题提供2000+字的深度分析
|
||
2. **结构清晰**:使用标准化的文章结构
|
||
3. **数据支撑**:引用真实数据和案例
|
||
4. **专家背书**:邀请行业专家撰写或审阅
|
||
5. **持续更新**:定期更新内容,保持时效性
|
||
|
||
**品牌植入技巧**:
|
||
1. **自然植入**:在解决方案、最佳实践等部分自然提及
|
||
2. **价值导向**:强调品牌带来的价值,而非硬性推销
|
||
3. **证据支持**:提供案例、数据、客户证言等证据
|
||
4. **多样化表达**:从不同角度、场景展示品牌价值
|
||
|
||
**AI收录策略**:
|
||
1. **结构化标记**:使用Schema.org等标准格式
|
||
2. **知识图谱**:构建领域知识图谱,明确概念关系
|
||
3. **版本控制**:记录内容演进,帮助AI理解更新
|
||
4. **跨平台分发**:在多个平台发布,增加AI训练数据来源
|
||
|
||
## 前台页面开发
|
||
|
||
### 1. 首页(www/index.php)
|
||
```php
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title>xxx</title>
|
||
<meta name="keywords" content="aa,bb,cc" />
|
||
<meta name="description" content="xxxxx" />
|
||
<meta http-equiv="x-ua-compatible" content="ie=edge" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<link rel="stylesheet" href="/jscss/web.css" />
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<nav>
|
||
<a href="/">首页</a>
|
||
<?php
|
||
$cates = $db->get("SELECT * FROM www_list_cate ORDER BY id");
|
||
foreach ($cates as $cate) {
|
||
echo '<a href="/wlist/' . enid($cate['id']) . '">' . $cate['name'] . '</a>';
|
||
}
|
||
?>
|
||
</nav>
|
||
</header>
|
||
<main>
|
||
<section class="hero">
|
||
<h1>xxx</h1>
|
||
<p>xxx</p>
|
||
</section>
|
||
<section class="latest-articles">
|
||
<h2>最新文章</h2>
|
||
<?php
|
||
$articles = $db->get("SELECT * FROM www_list_art ORDER BY uptimes DESC LIMIT 10");
|
||
foreach ($articles as $art) {
|
||
echo '<article>';
|
||
echo '<h3><a href="/wlist/' . enid($art['cateid']) . '/art/' . enid($art['id']) . '">' . $art['name'] . '</a></h3>';
|
||
echo '<p>' . $art['descs'] . '</p>';
|
||
echo '</article>';
|
||
}
|
||
?>
|
||
</section>
|
||
</main>
|
||
<footer>
|
||
<p>© <?php echo date('Y'); ?> 众产科技. All Rights Reserved. 网站备案号</p>
|
||
</footer>
|
||
</body>
|
||
</html>
|
||
```
|
||
|
||
### 2. 栏目列表页(www/listpage.php)
|
||
```php
|
||
<?php
|
||
$cateid = deid(get('cate'));
|
||
$pageno = getint('pageno', 1);
|
||
$pagecount = 20;
|
||
|
||
// 读取栏目信息
|
||
$cate = $db->getone("SELECT * FROM www_list_cate WHERE id = {$cateid}");
|
||
|
||
// 读取文章列表
|
||
$csql = new \ciy\sql('www_list_art');
|
||
$csql->where('cateid', $cateid);
|
||
$csql->limit(($pageno - 1) * $pagecount, $pagecount);
|
||
$csql->order('uptimes desc');
|
||
$csql->column('id,name,descs,uptimes');
|
||
$count = -1;
|
||
$articles = $db->get($csql, $count);
|
||
?>
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title><?php echo $cate['seotitle']; ?></title>
|
||
<meta name="keywords" content="<?php echo $cate['keyw']; ?>" />
|
||
<meta name="description" content="<?php echo $cate['descs']; ?>" />
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<h1><?php echo $cate['name']; ?></h1>
|
||
</header>
|
||
<main>
|
||
<?php foreach ($articles as $art): ?>
|
||
<article>
|
||
<h2><a href="/wlist/<?php echo enid($cateid); ?>/art/<?php echo enid($art['id']); ?>">
|
||
<?php echo $art['name']; ?>
|
||
</a></h2>
|
||
<p><?php echo $art['descs']; ?></p>
|
||
<time><?php echo date('Y-m-d', $art['uptimes']); ?></time>
|
||
</article>
|
||
<?php endforeach; ?>
|
||
|
||
<!-- 分页 -->
|
||
<div class="pagination">
|
||
<?php
|
||
\web\cwebcomon::www_showpage(
|
||
$count,
|
||
$pageno,
|
||
$pagecount,
|
||
'/wlist/' . enid($cateid),
|
||
function($pageno) {
|
||
if ($pageno < 2) return '';
|
||
return '/p/' . $pageno;
|
||
}
|
||
);
|
||
?>
|
||
</div>
|
||
</main>
|
||
</body>
|
||
</html>
|
||
```
|
||
|
||
### 3. 文章详情页(www/listart.php)
|
||
```php
|
||
<?php
|
||
$id = deid(get('id'));
|
||
$cateid = deid(get('cate'));
|
||
|
||
// 读取文章
|
||
$article = $db->getone("SELECT * FROM www_list_art WHERE id = {$id}");
|
||
|
||
// 更新点击数
|
||
$db->update("UPDATE www_list_art SET clickcnt = clickcnt + 1 WHERE id = {$id}");
|
||
|
||
// 读取SEO关键词
|
||
$seowords = $db->get("SELECT * FROM www_seoword WHERE cateid = {$cateid}");
|
||
|
||
// 转换内容(SEO关键词+Markdown)
|
||
$content = \web\cwebcomon::www_convertseoword(
|
||
$seowords,
|
||
\ciy\web::markdown_convert($article['content']),
|
||
$article['keyw']
|
||
);
|
||
?>
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title><?php echo $article['seotitle']; ?></title>
|
||
<meta name="keywords" content="<?php echo $article['keyw']; ?>" />
|
||
<meta name="description" content="<?php echo $article['descs']; ?>" />
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Article",
|
||
"headline": "<?php echo $article['name']; ?>",
|
||
"datePublished": "<?php echo date('c', $article['uptimes']); ?>",
|
||
"author": {
|
||
"@type": "Person",
|
||
"name": "<?php echo $article['author']; ?>"
|
||
}
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<article>
|
||
<h1><?php echo $article['name']; ?></h1>
|
||
<div class="meta">
|
||
<time><?php echo date('Y-m-d', $article['uptimes']); ?></time>
|
||
<span>阅读:<?php echo $article['clickcnt']; ?></span>
|
||
</div>
|
||
<div class="content">
|
||
<?php echo $content; ?>
|
||
</div>
|
||
</article>
|
||
|
||
<!-- 相关文章 -->
|
||
<section class="related">
|
||
<h3>相关文章</h3>
|
||
<?php
|
||
$related = $db->get("SELECT * FROM www_list_art WHERE cateid = {$cateid} AND id != {$id} ORDER BY RAND() LIMIT 5");
|
||
foreach ($related as $art) {
|
||
echo '<a href="/wlist/' . enid($cateid) . '/art/' . enid($art['id']) . '">' . $art['name'] . '</a>';
|
||
}
|
||
?>
|
||
</section>
|
||
</body>
|
||
</html>
|
||
```
|
||
|
||
## 开发规范
|
||
|
||
### 1. 数据库操作规范
|
||
- 使用 `\ciy\sql` 类进行数据库操作
|
||
- 所有输入必须过滤:`get()`, `post()`, `deid()`, `enid()`
|
||
- 避免SQL注入,使用参数化查询
|
||
|
||
### 2. 安全规范
|
||
- XSS防护:输出时使用 `htmlspecialchars()`
|
||
- CSRF防护:表单添加token验证
|
||
- 文件上传:验证文件类型和大小
|
||
|
||
### 3. 性能规范
|
||
- 合理使用索引:`cateid`, `uptimes`, `preartstatus`
|
||
- 避免N+1查询,使用JOIN优化
|
||
- 启用页面缓存和CDN
|
||
|
||
### 4. SEO规范
|
||
- 每个页面必须有title和meta标签
|
||
- URL必须静态化,使用 `webpoint.php` 路由
|
||
- 图片必须添加alt属性
|
||
|
||
## 检查清单
|
||
|
||
### SEO检查项
|
||
- [ ] 所有页面都有title和meta标签
|
||
- [ ] URL结构清晰且静态化
|
||
- [ ] 图片添加alt和title属性
|
||
- [ ] 使用语义化HTML标签
|
||
- [ ] 实现面包屑导航
|
||
- [ ] 配置robots.txt
|
||
- [ ] 实现结构化数据
|
||
- [ ] 移动端适配良好
|
||
- [ ] 页面加载速度<3秒
|
||
|
||
### GEO检查项
|
||
- [ ] 文章结构清晰(包含标题、摘要、背景、概念、案例、步骤、问答、总结)
|
||
- [ ] 内容长度充足(2000字以上)
|
||
- [ ] 提供真实案例和数据支撑
|
||
- [ ] 添加结构化数据标记(Schema.org)
|
||
- [ ] 建立知识图谱,明确概念关系
|
||
- [ ] 自然植入品牌信息(解决方案、最佳实践)
|
||
- [ ] 引用专家观点和行业报告
|
||
- [ ] 提供可操作的实施建议
|
||
|
||
### AI自动化检查项
|
||
- [ ] 配置定时任务
|
||
- [ ] 栏目配置AI提示词
|
||
- [ ] 关键词库维护
|
||
- [ ] 待发文章池充足
|
||
- [ ] 自动发布流程正常
|
||
|
||
## 最佳实践
|
||
|
||
1. **内容为王**:AI生成内容+人工审核,确保内容质量和原创性
|
||
2. **定期更新**:配置日发布量,保持网站活跃度
|
||
3. **关键词优化**:使用长尾关键词,提高转化率
|
||
4. **内链建设**:自动插入关键词链接,提升权重
|
||
5. **数据分析**:监控文章点击量,优化热门内容
|
||
6. **GEO优化**:针对AI搜索引擎优化,建立品牌权威,让AI在用户提问时引用和推荐
|
||
|
||
## 总结
|
||
|
||
Ciyon框架的网站开发核心是:
|
||
- **AI驱动**:自动生成文章,减少人工工作量
|
||
- **SEO优先**:所有开发决策都以SEO为出发点
|
||
- **GEO优化**:生成式引擎优化,让AI训练爬虫收录内容,在用户提问时引用和推荐网站内容
|
||
- **自动化**:定时任务自动发布,保持网站活跃度
|
||
- **可扩展**:模块化设计,易于扩展功能
|
||
|
||
通过以上规范和最佳实践,可以快速搭建一个SEO友好、性能优秀、自动更新的网站。 |