Créer un pipeline d'automatisation SEO avec l'API Google Search Console
USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。
Créer un pipeline d'automatisation SEO avec l'API Google Search Console
L'API GSC est la source gratuite de données SEO la plus utile qui existe. Au lieu de la consulter manuellement chaque jour, voici comment collecter et analyser automatiquement les données au moyen d'un pipeline.
Prérequis
| Élément | Valeur |
|---|---|
| Gain d'efficacité | 100% |
- 1Projet Google Cloud Console
- 2Créer un compte de service + télécharger la clé JSON
- 3Activer l'API Google Search Console
- 4Ajouter l'adresse e-mail du compte de service comme utilisateur de la propriété dans GSC
Étape 1 : Authentification par compte de service
import { SignJWT } from "jose"
async function getAccessToken(saJson: string) {
const key = JSON.parse(saJson)
const now = Math.floor(Date.now() / 1000)
const jwt = await new SignJWT({
scope: "https://www.googleapis.com/auth/webmasters.readonly",
})
.setProtectedHeader({ alg: "RS256", typ: "JWT" })
.setIssuer(key.client_email)
.setAudience("https://oauth2.googleapis.com/token")
.setIssuedAt(now)
.setExpirationTime(now + 3600)
.sign(await importPrivateKey(key.private_key))
const res = await fetch("https://oauth2.googleapis.com/token", {
method: "POST",
body: new URLSearchParams({
grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
assertion: jwt,
}),
})
const { access_token } = await res.json()
return access_token
}Étape 2 : Interroger les données de performance
async function queryGSC(token: string, siteUrl: string) {
const url = `https://searchconsole.googleapis.com/webmasters/v3/sites/${encodeURIComponent(siteUrl)}/searchAnalytics/query`
const body = {
startDate: "2026-03-25",
endDate: "2026-04-21",
dimensions: ["query", "page"],
rowLimit: 1000,
}
const res = await fetch(url, {
method: "POST",
headers: { Authorization: `Bearer ${token}` },
body: JSON.stringify(body),
})
return res.json()
}Étape 3 : Pipeline automatisé (CF Workers + D1)
// Runs every day at 3 AM
export default {
async scheduled(event: ScheduledEvent, env: Env) {
const token = await getAccessToken(env.GSC_SA_JSON)
const data = await queryGSC(token, env.GSC_SITE_URL)
// Save to D1
for (const row of data.rows) {
await env.DB.prepare(
"INSERT INTO gsc_daily (date, query, page, clicks, impressions, ctr, position) VALUES (?, ?, ?, ?, ?, ?, ?)"
).bind(new Date().toISOString().slice(0, 10), row.keys[0], row.keys[1], row.clicks, row.impressions, row.ctr, row.position).run()
}
},
}wrangler.toml:
[triggers]
crons = ["0 18 * * *"] # Daily at KST 03:00Étape 4 : Automatisation des notifications
// détection des mots-clés en forte baisse
const sql = `
SELECT query, SUM(clicks) as recent_clicks,
(SELECT SUM(clicks) FROM gsc_daily WHERE query=g.query AND date BETWEEN DATE(?, '-14 days') AND DATE(?, '-8 days')) as prev_clicks
FROM gsc_daily g
WHERE date >= DATE(?, '-7 days')
GROUP BY query
HAVING prev_clicks > 10 AND recent_clicks < prev_clicks * 0.5
`
const dropped = await env.DB.prepare(sql).bind(today, today, today).all()
if (dropped.results.length > 0) {
await fetch(telegramUrl, {
method: "POST",
body: JSON.stringify({
chat_id: env.CHAT_ID,
text: `mots-clés en forte baisse ${dropped.results.length} détectés`,
}),
})
}Cas d'utilisation
- 1Collecte quotidienne automatisée des performances : Accumulez les données dans D1 pour analyser les tendances
- 2Détection précoce des problèmes d'indexation : Recevez des alertes lorsque les impressions chutent fortement
- 3Découverte de mots-clés à potentiel : Extrayez automatiquement les mots-clés en positions 11 à 20 (page 2) → priorisez-les pour la réécriture
- 4Classement des performances des pages : Produisez automatiquement un rapport des meilleures pages par nombre de clics
Quota gratuit
- 50 000 requêtes par jour par défaut (par projet)
- Pratiquement illimité pour un usage réel
💡 Enseignement de terrain
Alors que d'autres blogs se contentent de dire que « l'intégration de l'API GSC est une bonne idée », le facteur le plus décisif lorsqu'on exploite un site en coréen est le déclenchement automatisé d'actions, et pas seulement la collecte de données. Après six mois d'exploitation, la plus grande valeur de l'API GSC est venue du point 3 (extraction automatisée des mots-clés à potentiel). Selon la documentation officielle de Google, les mots-clés classés aux positions 11 à 20 ont un CTR moyen inférieur à 1,5 %, mais améliorer uniquement les balises meta, le H1 et les liens internes peut faire monter le CTR à 7-12 %. Cela signifie que vous pouvez produire plus de 5 fois plus d'impact avec le même volume de trafic. Pour les sites en coréen, Naver représente environ 60 % du trafic (d'après l'Internet Usage Survey 2024), il est donc efficace de gérer les flux RSS et les soumissions de sitemaps de Naver Search Advisor dans le même pipeline que GSC. De plus, comme le champ position est une valeur moyenne avec beaucoup de bruit, vous devez évaluer les tendances à partir d'au moins 14 jours de données cumulées : consulter les données par fenêtres de 7 jours rend difficile la distinction entre une « chute brutale » et les fluctuations normales des jours de semaine.
Conclusion
Une fois l'API GSC intégrée, vous pouvez « détecter tous les problèmes sans jamais ouvrir le tableau de bord GSC ». Avec l'offre gratuite de CF Workers, les tâches cron, D1 et les notifications fonctionnent tous sans frais. Si vous prenez le SEO au sérieux, cela vaut clairement une semaine d'investissement.
Référence : Google Search Central
Questions fréquentes (FAQ)
Q1. Que puis-je automatiser avec l'API Google Search Console ?
R : Vous pouvez automatiser la collecte des données de requête, de page, de clics, d'impressions, de CTR et de classement afin de générer des rapports et d'identifier les actions d'amélioration.
Q2. De quoi ai-je besoin pour utiliser l'API GSC ?
R : Vous avez besoin d'un accès à la propriété Search Console, d'un projet Google Cloud et soit d'un compte de service, soit d'une authentification OAuth.
Q3. Comment configurer un pipeline d'automatisation SEO ?
R : Construisez-le dans cet ordre : collecte quotidienne des données, stockage, détection d'anomalies, regroupement des mots-clés et livraison des rapports.
Q4. Quelle est la précision des données GSC ?
R : Il peut y avoir de l'échantillonnage et des retards, mais elles restent les données gratuites les plus utiles pour consulter les performances réelles dans la recherche Google.
Q5. Comment trouver des opportunités de mots-clés avec l'API GSC ?
R : Priorisez l'analyse des requêtes avec beaucoup d'impressions mais un faible CTR, des pages classées entre les positions 4 et 15, et des URL ayant subi une forte baisse.
Q6. À quoi dois-je faire attention dans l'automatisation SEO ?
R : Vous devez gérer les retards de données, la séparation des requêtes de marque, les filtres par pays et par appareil, ainsi que la canonicalisation des URL en double.
🔧 Related Free Tools
Connexe
USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
IT6 façons de générer un revenu complémentaire avec ChatGPT — Guide pratique et testé de monétisation pour 2026USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
IT2026 ChatGPT vs Claude vs Gemini — Comparaison des performances, des tarifs et des cas d’utilisation des chatbots IAUSD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
ITOptimisation de la vitesse des sites Web 2026 — Comment atteindre des Core Web Vitals de 90+USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...