pfinalclub / keyword-rank-monitor
关键词排名监控系统 - 支持批量导入关键词,自动查询Google、Bing、Yahoo排名
Fund package maintenance!
Other
1.0.0
2025-09-12 05:39 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- ext-pdo: *
- guzzlehttp/guzzle: ^7.0
- phpoffice/phpspreadsheet: ^1.29
- symfony/css-selector: ^5.0
- symfony/dom-crawler: ^5.0
Requires (Dev)
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2025-09-12 05:40:26 UTC
README
一个功能完整的 PHP 关键词排名监控扩展包,支持批量导入关键词,自动查询 Google、Bing、Yahoo 等搜索引擎的排名情况。
🚀 主要功能
- 批量导入关键词:支持从 Excel 文件批量导入关键词
- 多搜索引擎支持:支持 Google、Bing、Yahoo 三大搜索引擎
- 自动排名检查:每日自动查询关键词排名
- 数据统计分析:提供排名分布、达标率、趋势分析等统计功能
- 命令行工具:提供完整的 CLI 工具集
- FastAdmin集成:100%兼容 FastAdmin,可快速集成
- 单元测试:包含完整的单元测试套件(32个测试用例)
📦 安装
composer require pfinalclub/keyword-rank-monitor
🚀 快速开始
1. 初始化数据库
php console.php init
2. 导入关键词
php console.php import --file=keywords.xlsx
3. 检查排名
php console.php check-ranks
4. 查看统计
php console.php stats
💻 使用示例
基本使用
<?php require_once 'vendor/autoload.php'; use PFinalClub\KeywordRankMonitor\Database; use PFinalClub\KeywordRankMonitor\KeywordManager; use PFinalClub\KeywordRankMonitor\RankChecker; // 初始化数据库 Database::init([ 'host' => 'localhost', 'dbname' => 'keyword_monitor', 'username' => 'root', 'password' => '' ]); // 添加关键词 $keywordManager = new KeywordManager(); $keywordManager->addKeyword('China Chain Saw', 'https://example.com', 10); // 检查排名 $rankChecker = new RankChecker(); $rankChecker->checkKeywordRank('China Chain Saw', 'google');
Excel 导入
<?php use PFinalClub\KeywordRankMonitor\ExcelImporter; $importer = new ExcelImporter(); $result = $importer->importFromFile('keywords.xlsx'); echo "成功导入: {$result['success_count']} 个关键词\n"; echo "失败: {$result['failed_count']} 个\n";
🔗 FastAdmin 集成
项目完全兼容 FastAdmin,可以快速集成:
# 1. 安装包 composer require pfinalclub/keyword-rank-monitor # 2. 导入数据库 mysql -u root -p your_db < database.sql # 3. 复制示例文件 cp examples/fastadmin_controller.php application/admin/controller/Keywords.php # 4. 添加菜单 # 在FastAdmin后台执行 examples/fastadmin_menu.sql
详细集成指南请查看:FastAdmin集成指南
🧪 测试
运行单元测试:
# 运行所有测试 php run_tests.php # 运行特定测试 vendor/bin/phpunit tests/Unit/RankCheckerTest.php # 运行带覆盖率的测试 vendor/bin/phpunit --coverage-html coverage
📁 项目结构
keyword_search/
├── src/ # 核心源码
├── examples/ # 使用示例
├── tests/ # 单元测试
├── docs/ # 项目文档
├── console.php # 命令行入口
└── composer.json # Composer配置
🔧 技术栈
- PHP 7.4+
- MySQL/PDO
- GuzzleHttp - HTTP客户端
- Symfony DomCrawler - HTML解析
- PhpSpreadsheet - Excel处理
- PHPUnit - 单元测试
📊 测试状态
- ✅ 单元测试:32个测试用例
- ✅ 无数据库依赖
- ✅ 快速执行
- ✅ 高代码覆盖率
- ✅ FastAdmin 100%兼容
📚 文档
📝 许可证
MIT License
👥 贡献
欢迎提交 Issue 和 Pull Request!
📞 联系方式
- 邮箱: admin@pfinal.cn
- GitHub: pfinalclub/keyword-rank-monitor