Dans cet article, nous allons collecter un tableau de bord pour l'analyse du trafic SEO. Nous allons décharger les données via des scripts python et des fichiers .csv.
Que déchargerons-nous?
Pour analyser la dynamique des positions des expressions de recherche, vous devrez décharger de
Yandex.Webmaster et
Google Search Console . Pour évaluer «l'utilité» du pompage de la position de la phrase de recherche, les données de fréquence seront utiles. Ils peuvent être obtenus auprès de
Yandex.Direct et de
Google Ads . Eh bien, pour analyser le comportement du côté technique du site, nous utiliserons
Page Speed ​​Insider .
Dynamique du trafic SEOConsole de recherche Google
Pour interagir avec l'API, nous utiliserons la bibliothèque
searchconsole . Le github décrit en détail comment obtenir les jetons nécessaires pour la connexion. La procédure pour télécharger des données et les charger dans la base de données MS SQL sera la suivante:
def google_reports():
Yandex.Webmaster
Malheureusement, le Webmaster ne peut télécharger que 500 phrases de recherche. Importer des coupes par pays, type d'appareil, etc. il ne peut pas non plus. En raison de ces restrictions, en plus de télécharger des positions pour 500 mots du Webmaster, nous téléchargerons des données de Yandex.Metrica vers des pages de destination. Pour ceux qui n'ont pas beaucoup d'expressions de recherche, 500 mots suffiront. Si votre noyau sémantique selon Yandex est suffisamment large, vous devrez décharger des positions d'autres sources ou écrire votre analyseur de position.
def yandex_reports(): token = "..."
Page Speed ​​Insider
Vous permet d'évaluer la vitesse de téléchargement du contenu du site. Si le site commence à se charger plus lentement, cela peut réduire considérablement la position du site dans les résultats de recherche.
Google Ads et Yandex Direct
Pour estimer la fréquence des requêtes de recherche, nous déchargeons la fréquence de notre noyau SEO.
Prévisions budgétaires Yandex
Planificateur de mots clés GoogleYandex métrique
Téléchargez des données sur les vues et les visites sur les pages de connexion à partir du trafic SEO.
token = token headers = {"Authorization": "OAuth " + token} now = datetime.now() fr = (now - timedelta(days = 9)).strftime("%Y-%m-%d") to = (now - timedelta(days = 3)).strftime("%Y-%m-%d") res = requests.get("https://api-metrika.yandex.net/stat/v1/data/?ids=ids&metrics=ym:s:pageviews,ym:s:visits&dimensions=ym:s:startURL,ym:s:lastsignSearchEngine,ym:s:regionCountry,ym:s:deviceCategory&date1={0}&date2={1}&group=all&filters=ym:s:lastsignTrafficSource=='organic'&limit=50000".format(fr,to), headers=headers) a = json.loads(res.text) re = pd.DataFrame(columns=['page', 'device', 'view', 'dt_from', 'dt_to', 'engine', 'visits', 'country', 'pageviews']) for i in a['data']: temp={} temp['page'] = i['dimensions'][0]['name'] temp['engine'] = i['dimensions'][1]['name'] temp['country'] = i['dimensions'][2]['name'] temp['device'] = i['dimensions'][3]['name'] temp['view'] = i['metrics'][0] temp['visits'] = i['metrics'][1] temp['pageviews'] = i['metrics'][0] temp['dt_from'] = fr temp['dt_to'] = to re=re.append(temp, ignore_index=True) to_sql_server(re, 'yandex_pages')
Acquisition de données dans Power BI
Voyons ce que nous avons réussi à décharger:
- google_positions et yandex_positions
- google_frequency et yandex_frequency
- google_speed et yandex_speed
- yandex_metrika
À partir de ces données, nous pourrons collecter la dynamique par semaine, par segment, les données générales par segments et demandes, la dynamique et les données générales par pages et la vitesse de téléchargement du contenu. Voici à quoi pourrait ressembler le rapport final:

D'une part, il existe de nombreux signes différents et il est difficile de comprendre quelles sont les tendances générales. D'autre part, chaque plaque affiche des données importantes sur les positions, les impressions, les clics, le CTR, la vitesse de chargement des pages.
Articles du cycle: