![科技风教育课程倒计时公众号首图 (2)_副本]()
一、产品概述:云罗 GEO 优化系统
-
项目定位
云罗 GEO 是一套面向多站点 SEO、地域关键词排名、GEO 本地优化、多地区 IP 分发、本地化建站、地域词批量拓词 + 排名监控一体化的GEO 智能优化管理系统,支持私有化源码部署、二次定制开发、多商户 / 多代理分权、城市分站自动生成、地域关键词池、蜘蛛模拟抓取、收录监控、地域排名大数据分析。
核心解决传统 SEO 痛点:多城市分站搭建繁琐、地域关键词难批量布局、本地 GEO 排名无统一监控、IP 地域分发无自动化、多账号站点管理混乱。
![电商小程序商城新人活动海报banner (3)]()
-
系统核心功能模块
多城市分站 GEO 自动生成模块(省 / 市 / 区县三级地域库)
地域关键词挖掘、分组、批量发布模块
GEO 本地排名监控(百度 / 头条 / 搜狗地域词排名)
代理 / 商户多级权限、站点分组管理
动态 IP 地域分发、访问 GEO 跳转逻辑
文章伪原创 + 地域词自动植入生成器
收录查询、蜘蛛日志分析、权重监控
后台可视化数据大屏、导出报表
API 开放接口(对接站群、CMS、爬虫工具)
私有化部署、源码全开源可二开
![电商小程序商城新人活动海报banner (5)]()
-
技术架构
后端:PHP7.4+/ThinkPHP6(稳定易二开,适配服务器)
前端:Vue2 + Element UI 管理后台,原生 HTML 地域分站模板
数据库:MySQL8.0(地域词库、城市库、站点数据分离分表)
缓存:Redis(排名缓存、地域库缓存,提升并发)
任务队列:Swoole/Think-Queue(定时爬排名、批量生成分站)
部署环境:Linux 宝塔、Windows 服务器、Docker 一键部署
二、核心源码分段展示(可直接复用)
模块 1:GEO 地域城市库核心模型(CityModel.php)
实现全国省 / 市 / 区县三级地域存储,用于自动生成地域分站、地域关键词匹配
php
运行
where('pid', $pid)
->where('type', $type)
->order('sort asc')
->column('id,name,pinyin,short_name');
}
/**
* 批量获取全部城市(GEO关键词批量替换)
*/
public function getAllCity(): array
{
return cache('geo_all_city', function () {
return self::where('type', self::TYPE_CITY)
->column('name,pinyin,short_name');
}, 86400);
}
/**
* 根据拼音获取城市信息(URL路由GEO匹配)
*/
public function getCityByPinyin(string $pinyin)
{
return $this->where('pinyin', $pinyin)->find();
}
}
模块 2:GEO 地域分站自动生成控制器(GeoSite.php)
核心逻辑:遍历城市库,自动创建分站目录、路由、地域页面模板、绑定地域关键词
php
运行
$city['name'],
'city_pinyin' => $city['pinyin'],
'short' => $city['short_name']
]);
if ($res) $success++;
else $fail++;
}
return json([
'code' => 200,
'msg' => "任务推送完成,成功{$success}个城市分站,失败{$fail}个,后台队列自动生成页面"
]);
}
// 访问GEO地域分站首页路由渲染
public function index(string $cityPinyin)
{
$cityInfo = GeoCity::getCityByPinyin($cityPinyin);
if (!$cityInfo) abort(404, '该地域分站不存在');
// 读取当前城市绑定的GEO地域关键词
$keywordList = GeoKeyword::where('city_pinyin', $cityPinyin)
->limit(30)
->select();
View::assign([
'city' => $cityInfo,
'keywords' => $keywordList,
'site_title' => $cityInfo['name'] . '本地服务-专业优化平台',
'site_desc' => $cityInfo['short_name'] + '本地商家、服务、咨询一站式GEO优化站点'
]);
return View::fetch('geo/index');
}
}
模块 3:GEO 关键词自动地域替换工具类(GeoKeywordTool.php)
批量把基础词 + 全国城市组合生成地域词,GEO 优化核心拓词逻辑
php
运行
$geoWord,
'short_keyword' => $shortWord,
'city_name' => $city['name'],
'city_pinyin' => $city['pinyin'],
'create_time' => time()
];
}
}
// 批量入库,去重
GeoKeyword::insertAll($insertData, true);
return count($insertData);
}
}
模块 4:前端 GEO 地域访问跳转 JS(geo_redirect.js)
根据访客 IP 定位城市,自动跳转对应本地分站,实现 GEO 地域分发优化
javascript
运行
/**
* 云罗GEO系统前端IP地域自动跳转脚本
*/
(function () {
// 1. 获取访客IP地域接口
async function getVisitorGeo() {
let res = await fetch("https://api.ip.sb/geoip");
let data = await res.json();
return {
city: data.city,
city_pinyin: data.city_code
}
}
// 2. 匹配分站并跳转
async function geoJump() {
let geoInfo = await getVisitorGeo();
// 当前访问非本地分站则自动跳转
let currentPath = window.location.pathname;
if (!currentPath.includes("/geo/" + geoInfo.city_pinyin)) {
window.location.href = "/geo/" + geoInfo.city_pinyin;
}
}
// 3. 缓存本地地域,避免重复请求
let localGeo = localStorage.getItem('user_geo_city');
if (!localGeo) {
geoJump().then(res => {
localStorage.setItem('user_geo_city', new Date().getTime());
});
}
})();
模块 5:数据库核心表结构 SQL(geo_city + geo_keyword)
sql
-- 全国地域库表
CREATE TABLE `geo_city` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '地域ID',
`pid` int unsigned DEFAULT 0 COMMENT '父级ID',
`name` varchar(50) NOT NULL COMMENT '城市全称',
`short_name` varchar(20) NOT NULL COMMENT '城市简称',
`pinyin` varchar(100) NOT NULL COMMENT '拼音URL',
`type` tinyint NOT NULL COMMENT '1省2市3区县',
`sort` int DEFAULT 0 COMMENT '排序',
`create_time` int DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_pinyin` (`pinyin`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='GEO全国地域库';
-- GEO地域关键词表
CREATE TABLE `geo_keyword` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`keyword` varchar(200) NOT NULL COMMENT '完整地域关键词',
`short_keyword` varchar(200) DEFAULT NULL COMMENT '简写关键词',
`city_name` varchar(50) NOT NULL COMMENT '所属城市',
`city_pinyin` varchar(100) NOT NULL COMMENT '城市拼音',
`rank` int DEFAULT 999 COMMENT '当前排名',
`create_time` int DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_city` (`city_pinyin`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='GEO地域关键词库';
三、源码定制开发服务说明
1. 支持定制开发范围
功能定制:新增多搜索引擎 GEO 排名、短视频本地 GEO 优化、小程序地域站、AI 自动地域文案生成
权限定制:OEM 贴牌、多代理商分账、独立后台域名、去除版权
部署定制:Docker 封装、云服务器集群部署、高并发站群扩容
对接定制:第三方蜘蛛工具、站长 API、AI 大模型、自有 CMS 系统
UI 定制:前端后台改版、分站模板自定义、数据大屏重构
2. 源码交付标准
完整无加密源码(后端 PHP、前端 Vue、JS、SQL 库、任务队列脚本)
部署文档、安装教程、接口文档、二次开发手册
基础地域词库(全国 3000 + 城市完整数据)
测试演示站点、后台管理账号
一年免费 bug 修复、基础功能迭代更新
3. 系统优势对比普通站群系统
专属 GEO 地域优化逻辑,原生支持本地排名算法适配
三级地域库完整,一键生成数万城市分站无需手动搭建
IP 地域自动分发,提升本地搜索权重
关键词按城市隔离管理,精准监控地域排名
源码完全开源,无授权加密,可无限二次开发
四、部署简易流程
服务器安装 PHP7.4+MySQL8.0+Redis
导入提供的 geo_city、geo_keyword 数据库 SQL
配置数据库、Redis 连接参数(config/database.php)
执行队列任务:php think queue:work --daemon(自动生成分站、爬排名)
域名绑定站点,访问后台 /admin 完成初始化配置
导入基础词根,一键批量生成全国 GEO 地域关键词与分站