83 lines
3.0 KiB
Markdown
83 lines
3.0 KiB
Markdown
# 云服务器价格对比 (VPS Price)
|
||
|
||
云服务器 VPS 价格对比网站:支持后台手动添加/编辑数据、广告位(Google AdSense)、SEO 优化、每条数据跳转官网。
|
||
|
||
## 功能
|
||
|
||
- **前台**:多厂商 VPS 方案对比表,按厂商/区域/内存筛选,人民币/美元切换,每条可点击「官网」跳转
|
||
- **后台**:登录后添加、编辑、删除云服务器方案,支持填写官网链接
|
||
- **广告位**:页头、表格上方、页脚三处占位,可接入 Google AdSense
|
||
- **SEO**:meta 描述/关键词、canonical、Open Graph、sitemap.xml、robots.txt、JSON-LD 结构化数据
|
||
|
||
## 运行
|
||
|
||
```bash
|
||
# 安装依赖
|
||
pip install -r requirements.txt
|
||
|
||
# 首次运行:初始化数据库并导入示例数据
|
||
python init_db.py
|
||
|
||
# 启动服务
|
||
python app.py
|
||
# 或
|
||
python main.py
|
||
```
|
||
|
||
- 前台:<http://127.0.0.1:5001>
|
||
- 后台:<http://127.0.0.1:5001/admin>(默认密码见下方环境变量)
|
||
|
||
## 环境变量(可选)
|
||
|
||
| 变量 | 说明 | 默认 |
|
||
|------|------|------|
|
||
| `ADMIN_PASSWORD` | 后台登录密码 | `admin123` |
|
||
| `SECRET_KEY` | Flask 会话密钥 | 开发用固定值 |
|
||
| `SITE_URL` | 站点完整 URL(SEO、sitemap) | `https://example.com` |
|
||
| `DB_HOST` | MySQL 主机 | `199.168.137.123` |
|
||
| `DB_PORT` | MySQL 端口 | `3309` |
|
||
| `DB_USER` | MySQL 用户名 | `vps` |
|
||
| `DB_NAME` | MySQL 数据库名 | `vps` |
|
||
| `DB_PASSWORD` | MySQL 密码 | (见 config.py) |
|
||
| `DATABASE_URL` | 完整数据库连接串(若设置则优先于上述 DB_*) | 由 DB_* 拼成 MySQL URI |
|
||
|
||
生产环境请务必设置 `ADMIN_PASSWORD`、`SECRET_KEY`、`SITE_URL`,并妥善保管 `DB_PASSWORD`。
|
||
|
||
## 接入 Google 广告
|
||
|
||
1. 在 [Google AdSense](https://www.google.com/adsense/) 注册并获取广告代码。
|
||
2. 打开模板 `templates/index.html`,找到三个 `ad-slot` 区域(`id="ad-slot-1"`、`ad-slot-2`、`ad-slot-3`)。
|
||
3. 将注释中的示例替换为你的 AdSense 代码,或把获得的 `<script>` 与 `<ins>` 粘贴到对应 div 内。
|
||
|
||
广告位位置:页头横幅、表格上方、页脚前。
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
vps_price/
|
||
├── app.py # Flask 应用、路由、后台
|
||
├── config.py # 配置(含环境变量)
|
||
├── models.py # 数据库模型 VPSPlan
|
||
├── init_db.py # 初始化 DB + 导入示例数据
|
||
├── requirements.txt
|
||
├── templates/
|
||
│ ├── index.html # 首页(含 SEO、广告位)
|
||
│ └── admin/
|
||
│ ├── login.html
|
||
│ ├── dashboard.html
|
||
│ └── plan_form.html
|
||
└── static/
|
||
├── css/style.css
|
||
├── css/admin.css
|
||
└── js/main.js
|
||
```
|
||
|
||
## SEO 说明
|
||
|
||
- **meta**:description、keywords、canonical、Open Graph
|
||
- **sitemap**:`/sitemap.xml`(需在线上将 `SITE_URL` 设为真实域名)
|
||
- **robots**:`/robots.txt` 允许抓取并指向 sitemap
|
||
- **JSON-LD**:WebApplication + Table 结构化数据,便于搜索引擎理解
|
||
|
||
价格与官网链接以各云厂商为准,后台可随时修改。
|