Pada artikel ini, kami akan mengumpulkan dasbor untuk analisis lalu lintas SEO. Kami akan membongkar data melalui skrip python dan melalui file .csv.
Apa yang akan kami bongkar?
Untuk menganalisis dinamika posisi frasa pencarian, Anda harus membongkar dari
Yandex.Webmaster dan
Google Search Console . Untuk menilai "kegunaan" memompa posisi frasa pencarian, data frekuensi akan berguna. Mereka dapat diperoleh dari
Yandex.Direct dan
Google Ads . Nah, untuk menganalisis perilaku sisi teknis situs, kami akan menggunakan
Page Speed ββInsider .
Dinamika lalu lintas SEOKonsol pencarian Google
Untuk berinteraksi dengan API, kami akan menggunakan perpustakaan
searchconsole . Github menjelaskan secara rinci cara mendapatkan token yang diperlukan untuk masuk. Prosedur untuk mengunggah data dan memuatnya ke dalam database MS SQL adalah sebagai berikut:
def google_reports():
Yandex.Webmaster
Sayangnya, Webmaster hanya dapat mengunggah 500 frasa pencarian. Unggah potongan menurut negara, jenis perangkat, dll. dia juga tidak bisa. Karena pembatasan ini, selain mengunggah posisi untuk 500 kata dari Webmaster, kami akan mengunggah data dari Yandex.Metrica ke halaman arahan. Bagi mereka yang tidak memiliki banyak frasa pencarian, 500 kata akan cukup. Jika inti semantik Anda menurut Yandex cukup lebar, Anda harus menurunkan posisi dari sumber lain atau menulis parser posisi Anda.
def yandex_reports(): token = "..."
Insider Kecepatan Halaman
Memungkinkan Anda untuk mengevaluasi kecepatan pengunduhan konten situs. Jika situs mulai memuat lebih lambat, maka ini dapat secara signifikan mengurangi posisi situs dalam hasil pencarian.
Google Ads dan Yandex Direct
Untuk memperkirakan frekuensi permintaan pencarian, kami menurunkan frekuensi inti SEO kami.
Prakiraan anggaran Yandex
Perencana Kata Kunci GoogleMetrik Yandex
Unggah data pada tampilan dan kunjungan ke halaman login dari traffic 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')
Akuisisi Data dalam Power BI
Mari kita lihat apa yang berhasil kami bongkar:
- google_positions dan yandex_positions
- google_frequency dan yandex_frequency
- google_speed dan yandex_speed
- yandex_metrika
Dari data ini kita akan dapat mengumpulkan dinamika per minggu, berdasarkan segmen, data umum berdasarkan segmen dan permintaan, dinamika dan data umum berdasarkan halaman dan kecepatan unduh konten. Seperti inilah bentuk laporan akhir:

Di satu sisi, ada banyak tanda berbeda dan sulit untuk memahami apa tren umum. Di sisi lain, setiap pelat menampilkan data penting tentang posisi, tayangan, klik, RKT, kecepatan pemuatan halaman.
Artikel dari siklus: