PHP code example of elbot / majestic-seo-laravel-api

1. Go to this page and download the library: Download elbot/majestic-seo-laravel-api library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

elbot / majestic-seo-laravel-api example snippets


'majestic' => [
    'api_key' => env('MAJESTIC_API_KEY'),
]

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
    }
}


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;
}