Menggunakan Python untuk menganalisis performa kata kunci melalui Google Search Console (GSC) adalah salah satu cara yang efektif untuk meningkatkan SEO. Dengan bantuan Python, kita bisa secara otomatis menarik data dari GSC, memprosesnya, dan mengambil insight yang bermanfaat untuk mengoptimalkan strategi konten kita. Artikel ini akan membahas langkah-langkah persiapan Google Cloud Console, otentikasi, hingga penulisan script Python yang dapat digunakan untuk menganalisis performa kata kunci.
Tahap Persiapan Google Cloud Console
- Buat Proyek di Google Cloud Console
Langkah pertama adalah memastikan kita memiliki akun Google dan terdaftar di Google Cloud Console. Di sini, kita akan membuat sebuah proyek baru untuk menggunakan API Google Search Console.- Buka Google Cloud Console.
- Klik tombol “Create Project” dan beri nama proyek Anda (misalnya, “Analisis SEO”).
- Setelah proyek dibuat, pilih proyek tersebut di dashboard.
- Aktifkan API Search Console
Setelah membuat proyek, kita perlu mengaktifkan API untuk Search Console. Caranya:- Pilih proyek yang telah dibuat.
- Buka menu API & Services, kemudian klik “Enable APIs and Services”.
- Cari “Search Console API” di kolom pencarian dan aktifkan.
- Buat Kredensial OAuth 2.0
API Google Search Console memerlukan otentikasi OAuth 2.0 untuk bisa mengakses data. Kita perlu membuat kredensial berikut:- Masuk ke API & Services -> Credentials.
- Klik “Create Credentials” dan pilih OAuth 2.0 Client ID.
- Pilih tipe aplikasi “Desktop app” dan unduh file client_secret.json.
File
client_secret.json
inilah yang nantinya digunakan oleh script Python untuk otentikasi ke Google Search Console.
Tahap Penulisan Script Python
Setelah persiapan selesai, kita dapat mulai menulis script Python untuk mengambil data performa kata kunci dari Google Search Console. Di sini, kita akan membagi script menjadi tiga file utama: auth.py, analyze.py, dan main.py.
1. File auth.py
Script ini digunakan untuk melakukan otentikasi ke Google Search Console API. Berikut adalah script lengkapnya:
import os from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build CREDENTIALS_FILE = '/contoh_folder/client_secret.json' SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly'] def authenticate_google_search_console(): creds = None if os.path.exists('token.json'): creds = Credentials.from_authorized_user_file('token.json', SCOPES) if not creds or not creds.valid: if creds and creds.expired and creds.refresh_token: creds.refresh(Request()) else: flow = InstalledAppFlow.from_client_secrets_file(CREDENTIALS_FILE, SCOPES) creds = flow.run_local_server(port=0) with open('token.json', 'w') as token: token.write(creds.to_json()) service = build('webmasters', 'v3', credentials=creds) return service
Pada script ini, fungsi authenticate_google_search_console()
bertanggung jawab untuk menangani proses otentikasi. File client_secret.json
yang dihasilkan dari Google Cloud Console harus diletakkan sesuai dengan path di variabel CREDENTIALS_FILE
.
2. File analyze.py
Setelah kita berhasil mengambil data dari Google Search Console, langkah selanjutnya adalah menganalisisnya. Untuk ini, kita menggunakan pandas untuk memproses data dalam bentuk dataframe.
import pandas as pd def analyze_search_data(search_data): queries, pages, devices, countries, clicks, impressions, ctrs, positions = [], [], [], [], [], [], [], [] for row in search_data: keys = row['keys'] queries.append(keys[0]) pages.append(keys[1]) devices.append(keys[2]) countries.append(keys[3]) clicks.append(row['clicks']) impressions.append(row['impressions']) ctrs.append(row['ctr']) positions.append(row['position']) df = pd.DataFrame({ 'query': queries, 'page': pages, 'device': devices, 'country': countries, 'clicks': clicks, 'impressions': impressions, 'ctr': ctrs, 'position': positions }) print("Top queries by clicks:") print(df.groupby('query').sum().sort_values('clicks', ascending=False).head(10)) return df
Fungsi analyze_search_data()
ini bertujuan untuk mengelompokkan data berdasarkan query, halaman, device, negara, serta memberikan hasil analisis seperti jumlah klik, impresi, dan rata-rata posisi dari kata kunci yang diteliti.
3. File main.py
File utama ini akan menggabungkan semua fungsi yang telah kita buat sebelumnya. Berikut adalah script lengkapnya:
from auth import authenticate_google_search_console from site_operations import list_verified_sites, get_search_analytics_data from analyze import analyze_search_data if __name__ == "__main__": service = authenticate_google_search_console() # List all verified sites verified_sites = list_verified_sites(service) # Example: Get search analytics data for one site site_url = 'https://www.web-example.com' start_date = '2023-01-01' end_date = '2023-12-31' dimensions = ['query', 'page', 'device', 'country'] search_data = get_search_analytics_data(service, site_url, start_date, end_date, dimensions) # Analyze the search data df = analyze_search_data(search_data) # Save to CSV df.to_csv('search_console_data_dkonten.csv', index=False)
Pada file ini, kita menghubungkan semua komponen:
- authenticate_google_search_console() untuk otentikasi ke Google Search Console.
- list_verified_sites() dan get_search_analytics_data() digunakan untuk menarik data analitik dari Search Console.
- analyze_search_data() untuk menganalisis data yang telah diambil.
Contoh Analisis Data
Setelah menjalankan script ini, data dari Google Search Console seperti kata kunci, halaman, device, dan negara akan ditampilkan dalam bentuk tabel. Dari sini, kita bisa melihat insight penting seperti:
- Kata Kunci dengan Klik Tertinggi: Melalui analisis ini, kita bisa tahu kata kunci mana yang mendatangkan paling banyak klik. Misalnya:
Top queries by clicks: clicks impressions ctr position query kata kunci A 500 3000 0.15 1.5 kata kunci B 400 2500 0.16 2.0