2017-25 © Pedro Peláez
 

library google-keywords

A Laravel package for synchronizing with Google Search Console to get visitors' search keywords

image

highsolutions/google-keywords

A Laravel package for synchronizing with Google Search Console to get visitors' search keywords

  • Tuesday, September 26, 2017
  • by HighSolutions
  • Repository
  • 1 Watchers
  • 0 Stars
  • 28 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 22 % Grown

The README.md

Laravel Google Keywords

A Laravel package for synchronizing with Google Search Console to get visitors' search keywords., (*1)

Laravel-Poster by HighSolutions, (*2)

Installation

Add the following line to the require section of your Laravel webapp's composer.json file:, (*3)

    "require": {
        "HighSolutions/GoogleKeywords": "1.*"
    }

Run composer update to install the package., (*4)

This package uses Laravel 5.5 Package Auto-Discovery. For previous versions of Laravel, you need to update config/app.php by adding an entry for the service provider:, (*5)

'providers' => [
    // ...
    HighSolutions\GoogleKeywords\GoogleKeywordsServiceProvider::class,
];

Next, publish all package resources:, (*6)

    php artisan vendor:publish --provider="HighSolutions\GoogleKeywords\GoogleKeywordsServiceProvider"

This will add to your project:, (*7)

- migration - database table for storing keywords
- configuration - package configurations

Remember to launch migration:, (*8)

    php artisan migrate

Next step is to add cron task via Scheduler (app\Console\Kernel.php):, (*9)

    protected function schedule(Schedule $schedule)
    {
        // ...
        $schedule->command('keywords:fetch')->daily();
    }

Configuration

Setting name Description Default value
websites.*.url URL of website (with protocol) ''
websites.*.credentials JSON credentials file on server storage_path('app/google-search-credentials.json')

Websites are defined in configuration as:, (*10)

<?php

return [
    'websites' => [
        [
            'url' => 'http://highsolutions.pl',
            'credentials' => storage_path('app/HS-Credentials.json'),
        ],
        // ...
    ],
];

Invalid configuration will return information about error., (*11)

Google Search Console and Google Cloud Platform integration

In order to get access to keywords from Google Search you need to complete 2 steps:, (*12)

1) Google Search Console (https://www.google.com/webmasters/tools/home) - Add your website - Verify your ownership of website, (*13)

2) Google Cloud Platform (https://console.cloud.google.com/apis/credentials) - Add new project - Generate server-side API key - Download JSON credentials (name-of-project-id.json) and store them into storage/app folder - Copy e-mail address of API key (e.g. name-of-key@name-of-package-id.iam.gserviceaccount.com) - available here: https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=PROJECT_NAME-ID - Assign it as owner of website in Google Search Console, (*14)

Model structure

Model consists of fields: - id - primary key - url - URL of website - keyword - full keyword - date - date of result - clicks - number of clicks on link in search view with particular keyword - impressions - number of views of link in search view with particular keyword - ctr - click through rate (clicks / impressions) - avg_position - average position of link on list of results in search view with particular keyword, (*15)

Model API

To make usage of gathered data easier, there is a simple API for most common use cases:, (*16)

  • url('http://example.com') - adds where clause for limiting results to only one website (not necessary when you fetch only one website)
  • grouped() - prepares sum of clicks and impressions of each keyword gathered for the website
  • byDay() - prepares sum of clicks and impressions of each day
  • orderByDate($dir = 'asc') - sorts results by date
  • orderBySum($param = 'clicks') - sorts results by sum of clicks/impressions (works with grouped scope)
  • orderByAlpha($dir = 'asc') - sorts results alphabetically

Usage

1) Get most popular keywords of your website:, (*17)

<?php
    use HighSolutions\GoogleKeywords\Models\GoogleKeyword;

    $results = GoogleKeyword::url('http://highsolutions.pl')->grouped()->orderBySum('clicks')->take(10)->get();

2) Get all keywords stored day by day:, (*18)

<?php
    use HighSolutions\GoogleKeywords\Models\GoogleKeyword;

    $results = GoogleKeyword::url('http://highsolutions.pl')->orderByDate()->get();

3) Get number of clicks/impressions in the last month:, (*19)

<?php
    use Carbon\Carbon;
    use HighSolutions\GoogleKeywords\Models\GoogleKeyword;

    $results = GoogleKeyword::url('http://highsolutions.pl')->byDate()->where('date', '>=', Carbon::now()->subMonth(1))->orderByDate()->get();

Changelog

1.2.0 - Laravel 7.x and 8.x support, (*20)

1.1.0 - Laravel 6.0 support, (*21)

1.0.3 - Support Package Auto-Discovery, (*22)

1.0.2 - Fix error with checking config, (*23)

1.0.0 - Create package - Model API, (*24)

Roadmap

  • Gather info about subsites also
  • Examples of usage as controllers and views
  • Comments
  • Unit tests!

Credits

This package is developed by HighSolutions, software house from Poland in love in Laravel., (*25)

The Versions

26/09 2017

dev-master

9999999-dev

A Laravel package for synchronizing with Google Search Console to get visitors' search keywords

  Sources   Download

MIT

The Requires

 

by Avatar HighSolutions

laravel console search google tools webmaster keywords

26/09 2017

1.0.3

1.0.3.0

A Laravel package for synchronizing with Google Search Console to get visitors' search keywords

  Sources   Download

MIT

The Requires

 

by Avatar HighSolutions

laravel console search google tools webmaster keywords

04/08 2017

1.0.2

1.0.2.0

A Laravel package for synchronizing with Google Search Console to get visitors' search keywords

  Sources   Download

MIT

The Requires

 

by Avatar HighSolutions

laravel console search google tools webmaster keywords

04/08 2017

1.0.1

1.0.1.0

A Laravel package for synchronizing with Google Search Console to get visitors' search keywords

  Sources   Download

MIT

The Requires

 

by Avatar HighSolutions

laravel console search google tools webmaster keywords

03/08 2017

1.0.0

1.0.0.0

A Laravel package for synchronizing with Google Search Console to get visitors' search keywords

  Sources   Download

MIT

The Requires

 

by Avatar HighSolutions

laravel console search google tools webmaster keywords