elbot / majestic-seo-laravel-api
一个用于集成 Majestic SEO API 的 Laravel 扩展包,让您轻松获取并分析网站 SEO 指标和数据。
1.1.1
2023-08-07 09:14 UTC
Requires
- php: ^7.4 | ^8.0 | ^8.1
README
此包提供了一种方便的方式,在 Laravel 应用中与 Majestic SEO API 交互。
安装
您可以通过 Composer 安装此包
composer require elbot/majestic-seo-laravel-api
使用方法
首先,请确保您已在 Laravel 配置文件(config/services.php
)中配置了 Majestic API 密钥
'majestic' => [ 'api_key' => env('MAJESTIC_API_KEY'), ]
使用您的 API 密钥创建一个 MajesticService 实例,然后准备命令所需的参数,并调用命令:(注意,“app_api_key”和“cmd”将被添加)
use Elbot\Majestic\ApiService; private function getIndexItemInfo() { $apiKey = config('services.majestic.api_key'); $majesticService = new ApiService($apiKey); // live // $majesticService = new ApiService($apiKey, $sandbox = true); // dev $string_urls = "example.com, example2.com, example3.com"; // string format urls $parameters = $this->prepareItemsParameter($string_urls); // gets items count and structures each item $parameters["DesiredTopics"] = 5; // add any custom parameters you would like to set $response = $majesticService->executeCommand("GetIndexItemInfo", $parameters); // execute command if ($response->isOK()) { $output = $this->processResponse($response); } else { $error = $response->getErrorMessage(); // Handle the error } }
辅助函数
您可以在控制器中使用以下辅助函数
prepareItemsParameter($itemsToQuery): 准备 API 请求的 items 参数。processResponse($response): 处理 API 响应以提取数据。以下是对这些辅助函数的示例实现
private function prepareItemsParameter($itemsToQuery) { $items = preg_split("/, /", $itemsToQuery, -1); $parameters = []; for ($i = 0; $i < count($items); $i++) { $parameters["item" . $i] = $items[$i]; } $parameters["items"] = count($items); $parameters["datasource"] = "fresh"; return $parameters; } private function processResponse($response) { $results = $response->getTableForName('Results'); $output = []; foreach ($results->getTableRows() as $row) { $item = $row['Item']; $itemInfo = []; $keys = array_keys($row); sort($keys); foreach ($keys as $key) { if ($key != "Item") { $value = $row[$key]; $itemInfo[$key] = $value; } } $output[$item] = $itemInfo; } return $output; }
许可证
此包是开源软件,根据 MIT 许可证授权。