Les vendeurs Etsy recherchent le bon mot-clé pour les titres et les tags. La recherche intégrée d'Etsy se limite à son autocomplétion. Ce tutoriel utilise Scavio pour combiner le SERP Google pour les résultats Etsy, l'autocomplétion Etsy via SERP, et les fils de discussion Reddit des acheteurs pour évaluer la demande de mots-clés.
Prérequis
- Python 3.10+
- Une clé API Scavio
- Une courte liste de mots-clés de départ
Parcours
Étape 1: Scraper les résultats Etsy sur Google
La requête site:etsy.com renvoie les annonces Etsy actuellement classées.
import requests, os
API_KEY = os.environ['SCAVIO_API_KEY']
def etsy_serp(kw):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': f'site:etsy.com {kw}', 'num_results': 20})
return r.json().get('organic_results', [])Étape 2: Extraire les suggestions d'autocomplétion
L'autocomplétion Google pour les requêtes etsy révèle des variantes longue traîne.
def autocomplete(kw):
r = requests.get(f'https://suggestqueries.google.com/complete/search?client=firefox&q=etsy+{kw}')
return r.json()[1]Étape 3: Vérifier l'intention d'achat sur Reddit
Les fils r/Etsy et r/EtsyCommunity révèlent ce que les acheteurs demandent réellement.
def reddit_intent(kw):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': kw, 'platform': 'reddit', 'subreddit': 'Etsy'})
return r.json().get('posts', [])Étape 4: Noter chaque mot-clé
Combiner la densité SERP, la largeur d'autocomplétion et le volume Reddit en un seul score.
def score(kw):
s = len(etsy_serp(kw))
a = len(autocomplete(kw))
r_ = len(reddit_intent(kw))
return s * 0.5 + a * 0.3 + r_ * 0.2Étape 5: Exporter une liste classée
Trier et enregistrer les meilleurs candidats pour la rotation des titres et des tags.
seeds = ['personalized mug', 'handmade necklace', 'digital planner']
ranked = sorted(seeds, key=score, reverse=True)
print(ranked)Exemple Python
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
def rank_etsy_keywords(seeds):
out = []
for kw in seeds:
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': f'site:etsy.com {kw}', 'num_results': 20})
out.append((kw, len(r.json().get('organic_results', []))))
return sorted(out, key=lambda x: -x[1])
print(rank_etsy_keywords(['personalized mug', 'handmade necklace']))Exemple JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
export async function rankEtsyKeywords(seeds) {
const out = [];
for (const kw of seeds) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ query: `site:etsy.com ${kw}`, num_results: 20 })
});
const d = await r.json();
out.push([kw, (d.organic_results || []).length]);
}
return out.sort((a, b) => b[1] - a[1]);
}Sortie attendue
Ranked keyword list with SERP density, autocomplete width, and Reddit volume scores. Ready for Etsy title and tag rotation.