27 KiB
Ciyon网站开发Skill指南 - AI驱动的SEO/GEO优化系统
项目概述
Ciyon框架采用原生PHP+JS开发,专注SEO优化和搜索引擎友好性。通过AI自动生成文章、定时发布、关键词管理等功能,实现网站的自动化SEO优化,适合快速搭建企业官网、博客、内容管理系统。
- AI自动生成文章:关键词自动生成、推广方向设计、文章可读性与SEO结合
- SEO优化:针对传统搜索引擎(Google、百度)
- GEO优化:针对AI搜索引擎(ChatGPT、Claude、Bing AI)
核心模块
- 栏目管理(www_list_cate)- 定义内容分类和SEO策略
- 已发文章(www_list_art)- 已发布并在前台显示的文章
- 待发文章(www_list_preart)- AI生成的文章池
- 单页管理(www_single)- 独立页面(关于我们、联系我们等)
- SEO规划(www_seoplan)- 制定SEO优化计划
- 关键词库(www_keyword)- 存储SEO关键词
- 锚内关键词(www_seoword)- 自动插入的关键词链接
- 文章模版(www_tmplart)- SEO专用文章模板
- 浓缩知识(www_content)- 与产品相关的浓缩信息
- 用户线索(www_customer)- 收集访客咨询
核心架构
网站内容管理四大模块
1. 栏目管理(www_list_cate)
功能:定义网站的内容分类,每个栏目可配置独立的SEO策略
核心字段:
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自动生成文章
配置示例:
// 普通栏目
{
'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)
功能:已发布并在网站前台显示的文章
核心字段:
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;
自动发布流程:
- AI生成文章存入
www_list_preart(待发文章表) - 定时任务根据栏目配置的
daysent(日发布量) - 将待发文章移动到
www_list_art(已发文章表) - 更新网站的sitemap.xml
- 通知搜索引擎索引
3. 待发文章(www_list_preart)
功能:AI生成的文章池,等待审核或定时发布
核心字段:
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生成文章流程:
// 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)
功能:独立页面,如关于我们、联系我们、隐私政策等
核心字段:
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优化计划,管理不同阶段的推广策略
核心字段:
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生成文章时使用
核心字段:
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)
功能:在文章中自动插入的关键词链接,提升内链权重
核心字段:
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自动生成的文字,主要给搜索引擎收录用。
核心字段:
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;
模版示例:
!图片链接
!图片链接
!图片链接
!图片链接
!图片链接
!图片链接
!图片链接
!图片链接
{{text}}
9. 浓缩知识(www_content)
功能:主要是与网站相关产品、服务有关的信息,浓缩成不同方向描述。 AI随机抽取几个浓缩知识,结合SEO规划的推广方向提示词,生成可发布的文字,再套用文章模版,替换{{text}},完成生成。
核心字段:
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)
功能:收集网站访客的咨询和需求信息
核心字段:
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自动生成文章系统
定时任务配置
创建自动化任务:
// 插入任务到 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
]);
任务执行函数:
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. AI收录优化策略
A. 内容结构优化
AI友好的文章结构:
# 主标题(明确、具体、包含核心关键词)
## 摘要
提供文章概要,帮助AI快速理解内容要点
## 背景介绍
说明问题的背景和重要性,建立上下文
## 核心概念
### 概念1
- 定义
- 特点
- 应用场景
### 概念2
- 定义
- 特点
- 应用场景
## 实战案例
### 案例一:xxx公司实施xxx
- 背景
- 挑战
- 解决方案
- 结果
### 案例二:xxx项目实践
- 背景
- 挑战
- 解决方案
- 结果
## 实施步骤
1. 第一步:xxx
2. 第二步:xxx
3. 第三步:xxx
## 常见问题
### Q1: xxx?
**A**: 详细解答...
### Q2: xxx?
**A**: 详细解答...
## 总结
总结文章要点,提供核心结论
GEO栏目配置:
{
'name' => '技术教程',
'precnt' => 50,
'daysent' => 5,
'bprenow' => 0,
'promptcute' => '生成一篇关于{关键词}的深度技术文章,要求:1.结构清晰,包含背景、概念、案例、步骤、问答、总结 2.提供可操作的实施建议 3.引用实际数据和案例 4.内容原创且有独到见解 5.字数2000-3000字',
'seotitle' => '{关键词} - 全栈开发技术教程',
'keyw' => '{关键词},技术教程,实战案例,解决方案',
'descs' => '深入讲解{关键词}的技术原理、实施步骤和实战案例,提供可操作的建议和最佳实践'
}
更多GEO优化提示词示例:
// 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. 建立内容权威性
成为领域专家的必备要素:
- 内容深度:每个主题提供全面深入的分析,而非浅尝辄止
- 原创见解:提供独特的观点和见解,避免人云亦云
- 数据支撑:引用真实数据、案例、研究报告
- 持续更新:定期更新内容,保持信息的准确性和时效性
- 专业审阅:邀请行业专家审阅内容,确保专业准确性
B. 提升内容可引用性
让AI更容易引用的内容特征:
- 结构化格式:使用清晰的标题、列表、段落结构
- 明确观点:直接陈述观点,避免模糊表达
- 可操作建议:提供具体的实施步骤和检查清单
- 案例验证:用实际案例验证观点的有效性
- 引用来源:提供权威来源链接,增强可信度
C. 品牌价值植入
在内容中自然植入品牌价值:
- 解决方案提及:在讨论解决方案时提及品牌方案
- 经验分享:分享品牌在相关领域的实践经验
- 数据证明:用品牌相关的数据证明观点
- 客户案例:引用品牌客户的成功案例
- 行业地位:在行业分析中提及品牌的行业地位
D. 多维度覆盖
覆盖AI可能询问的各种问题:
- 是什么:概念定义、基本原理
- 为什么:重要性、必要性、价值
- 怎么做:实施步骤、最佳实践、工具推荐
- 常见问题:FAQ、错误处理、避坑指南
- 未来趋势:发展方向、预测、建议
6. GEO最佳实践总结
内容创作原则:
- 深度优先:每个主题提供2000+字的深度分析
- 结构清晰:使用标准化的文章结构
- 数据支撑:引用真实数据和案例
- 专家背书:邀请行业专家撰写或审阅
- 持续更新:定期更新内容,保持时效性
品牌植入技巧:
- 自然植入:在解决方案、最佳实践等部分自然提及
- 价值导向:强调品牌带来的价值,而非硬性推销
- 证据支持:提供案例、数据、客户证言等证据
- 多样化表达:从不同角度、场景展示品牌价值
AI收录策略:
- 结构化标记:使用Schema.org等标准格式
- 知识图谱:构建领域知识图谱,明确概念关系
- 版本控制:记录内容演进,帮助AI理解更新
- 跨平台分发:在多个平台发布,增加AI训练数据来源
前台页面开发
1. 首页(www/index.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
$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
$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提示词
- 关键词库维护
- 待发文章池充足
- 自动发布流程正常
最佳实践
- 内容为王:AI生成内容+人工审核,确保内容质量和原创性
- 定期更新:配置日发布量,保持网站活跃度
- 关键词优化:使用长尾关键词,提高转化率
- 内链建设:自动插入关键词链接,提升权重
- 数据分析:监控文章点击量,优化热门内容
- GEO优化:针对AI搜索引擎优化,建立品牌权威,让AI在用户提问时引用和推荐
总结
Ciyon框架的网站开发核心是:
- AI驱动:自动生成文章,减少人工工作量
- SEO优先:所有开发决策都以SEO为出发点
- GEO优化:生成式引擎优化,让AI训练爬虫收录内容,在用户提问时引用和推荐网站内容
- 自动化:定时任务自动发布,保持网站活跃度
- 可扩展:模块化设计,易于扩展功能
通过以上规范和最佳实践,可以快速搭建一个SEO友好、性能优秀、自动更新的网站。