Gunakan Python untuk Parse dan Pivot File SEO

Diterbitkan: 2021-08-10

Sumber data yang bagus untuk setiap profesional SEO yang hebat adalah data perayapan mesin telusur yang ditemukan di dalam file log. Anda dapat menganalisis file log untuk mempelajari dengan tepat bagaimana mesin telusur merayapi dan memahami situs web Anda. Ini memberi Anda wawasan bahwa tidak ada alat SEO pihak ketiga yang bisa. Jika Anda ingin menghemat waktu dan uang, cobalah mengotomatiskan penguraian, validasi, dan pemutaran data file log untuk SEO dengan Python. Pada artikel ini, kami akan memandu Anda melalui langkah-langkah cara mengurai dan memutar file SEO dengan Python.

Cara Menggunakan Python untuk Parse dan Pivot File SEO

Mengapa Harus Menggunakan Python untuk Mengurai dan Pivot File SEO

Python adalah bahasa pemrograman multiguna yang memiliki beragam aplikasi dalam hal data, pengembangan web, dan eksekusi algoritma. Menggunakan Python untuk mengurai dan memutar data SEO Anda dari file log membantu Anda untuk:

  • Validasi kesimpulan Anda dengan memberi Anda bukti nyata tentang bagaimana mesin telusur merayapi dan melihat situs web Anda
  • Prioritaskan temuan Anda dengan membantu Anda melihat skala masalah dan seberapa banyak perbaikan yang dapat membantu
  • Temukan masalah lain yang tidak dapat Anda lihat di sumber data lain

Meskipun ada beberapa manfaat menggunakan data file log, banyak pakar SEO menghindarinya karena berbagai alasan. Pertama, menemukan data biasanya berarti melalui tim pengembang, yang bisa memakan banyak waktu. Selain itu, file mentah bisa berukuran besar dan sulit dimengerti, sehingga sulit untuk menguraikan data. Akhirnya, biaya alat yang dirancang untuk membuat proses lebih sederhana mungkin terlalu tinggi.

Meskipun ini semua adalah kekhawatiran yang valid, ada cara lain. Jika Anda memiliki pengetahuan tentang bahasa pengkodean dan skrip , Anda dapat mengotomatiskan prosesnya. Kami akan memandu Anda melalui langkah-langkah cara menggunakan Python untuk menganalisis log server untuk SEO.

Cara Menggunakan Python untuk Parse dan Pivot File SEO

Sebelum memulai, Anda perlu mempertimbangkan format mana yang ingin Anda gunakan untuk mengurai data file log. Anda memiliki beberapa opsi, seperti Apache, Nginx, dan IIS. Plus, banyak situs web menggunakan penyedia CDN sekarang, seperti Cloudflare, Cloudfront, dan Akamai, untuk menyajikan konten dari lokasi tepi terdekat ke pengguna.

Pada artikel ini, kita akan fokus pada Format Log Gabungan. Itu karena Combine Log Format adalah default untuk Nginx dan biasanya pilihan di server Apache.

Jika Anda tidak tahu format apa yang Anda hadapi, ada layanan seperti Builtwith dan Wappalyzer yang dapat memberi tahu Anda tentang tumpukan teknologi situs web.

Jika Anda masih tidak yakin, cukup buka salah satu file mentah. Referensi silang komentar yang diberikan dengan informasi tentang bidang tertentu.

Anda juga perlu mempertimbangkan mesin pencari mana yang ingin Anda sertakan. Pada artikel ini, kita akan fokus pada Google, karena Google adalah mesin pencari paling dominan dengan lebih dari 92% pangsa pasar global .

Gunakan Python untuk Parse dan Pivot File SEO

1. Identifikasi File dan Tentukan Format

Untuk melakukan analisis SEO konsekuensial, Anda memerlukan minimal sekitar 100.000 permintaan dan data antara dua dan empat minggu untuk situs web biasa. Karena ukuran file, log biasanya dibagi menjadi beberapa hari. Anda kemungkinan besar akan menerima banyak file untuk diproses.

Karena Anda tidak tahu berapa banyak file yang akan Anda tangani kecuali jika Anda menggabungkannya sebelum menjalankan skrip, langkah pertama adalah membuat daftar semua file di folder kami menggunakan modul glob. Kemudian, Anda dapat mengembalikan file apa pun yang cocok dengan pola yang kami tentukan. Kode berikut akan cocok dengan file TXT apa pun:

bola impor

file = glob.glob('*txt.')

Namun, tidak semua file adalah TXT. File log bisa datang dalam berbagai jenis format file. Anda bahkan mungkin tidak mengenali ekstensi file.

Mungkin juga file yang Anda terima akan dibagi menjadi beberapa subfolder, dan kami tidak ingin membuang waktu untuk menyalinnya ke satu lokasi. Untungnya, glob mendukung pencarian rekursif dan operator wildcard . Itu berarti Anda dapat membuat daftar semua file di dalam subfolder atau subfolder anak.

file = glob.glob('**/*.*', rekursif=True)

Selanjutnya, Anda ingin mengidentifikasi jenis file mana yang ada dalam daftar Anda. Untuk melakukan ini, jenis MIME dari file tertentu dapat dideteksi. Ini memberi tahu Anda jenis file apa yang Anda hadapi, apa pun ekstensinya.

Anda dapat melakukan ini dengan menggunakan python-magic, pembungkus di sekitar pustaka C libmagic, dan membuat fungsi sederhana.

pip instal python-magic

pip install libmagic

impor sihir

def file_type(file_path):

mime = magic.from_file(file_path, mime=True)

kembali mime

Selanjutnya, Anda dapat menggunakan pemahaman daftar untuk mengulang file Anda dan menerapkan fungsinya, membuat kamus untuk menyimpan nama dan tipe.

file_types = [file_type(file) untuk file dalam file]

file_dict = dict(zip(file, files_types))

Terakhir, gunakan fungsi dan loop sementara untuk mengekstrak daftar file yang mengembalikan jenis teks/polos MIME dan mengecualikan yang lainnya.

tidak terkompresi = []

def file_identifier(file):

untuk kunci, nilai dalam file_dict.items():

jika file dalam nilai:

tidak terkompresi.tambahkan(kunci)

sementara file_identifier('teks/polos'):

file_identifier('teks/polos') di file_dict

cara mengurai dan pivot file log seo

2. Ekstrak Permintaan Mesin Pencari

Setelah memfilter file di folder atau folder Anda, langkah Anda selanjutnya adalah memfilter file itu sendiri dengan hanya mengekstrak permintaan yang Anda pedulikan.

Ini menghilangkan kebutuhan untuk menggabungkan file menggunakan utilitas baris perintah seperti GREP atau FINDSTR, dan menghemat waktu Anda mencari perintah yang tepat.

Dalam hal ini, karena Anda hanya menginginkan permintaan Googlebot, Anda akan mencari "Googlebot" untuk mencocokkan semua agen pengguna yang relevan.

Anda dapat menggunakan fungsi terbuka Python untuk membaca dan/atau menulis file Anda dan modul regex Python, RE, untuk melakukan pencarian.

3. Parsing Permintaan

Ada beberapa cara Anda dapat mengurai permintaan. Demi artikel ini, kami akan menggunakan pengurai CSV bawaan Pandas dan beberapa fungsi pemrosesan data dasar untuk:

  • Jatuhkan kolom yang tidak perlu
  • Format stempel waktu
  • Buat kolom dengan URL lengkap
  • Ganti nama dan susun ulang kolom yang tersisa

Alih-alih melakukan hardcoding nama domain, Anda dapat menggunakan fungsi input untuk meminta pengguna dan menyimpannya sebagai variabel.

4. Validasi Permintaan

Sangat mudah untuk menipu agen pengguna mesin pencari, menjadikan validasi permintaan sebagai bagian penting dari proses, yang menghentikan Anda dari menarik kesimpulan yang salah dengan menganalisis perayapan pihak ketiga Anda sendiri.

Untuk melakukan ini, Anda perlu menginstal perpustakaan yang disebut dnspython dan melakukan DNS terbalik. Anda dapat menggunakan pandas untuk menghapus IP duplikat dan menjalankan pencarian pada DataFrame yang lebih kecil. Kemudian, terapkan kembali hasilnya dan filter permintaan yang tidak valid.

Pendekatan ini sangat meningkatkan kecepatan pencarian dan memvalidasi jutaan permintaan hanya dalam hitungan menit.

mengapa Anda harus menggunakan python untuk file seo

5. Putar Data

Setelah validasi, Anda memiliki kumpulan data yang bersih dan mudah dipahami. Anda dapat mulai memutar data ini untuk menganalisis tempat menarik dengan lebih mudah.

Anda dapat memulai dengan agregasi sederhana menggunakan fungsi groupby dan agg Pandas untuk melakukan penghitungan jumlah permintaan untuk kode status yang berbeda.

status_code = logs_filtered.groupby('Kode Status').agg('ukuran')

Untuk mereplikasi jenis hitungan yang Anda gunakan di Excel, Anda perlu menentukan fungsi agregat 'ukuran', bukan 'hitungan'. Jika Anda menggunakan count, Anda akan menjalankan fungsi pada semua kolom dalam DataFrame, dan nilai null ditangani secara berbeda. Menyetel ulang indeks akan memulihkan header untuk kedua kolom, dan kolom terakhir dapat diganti namanya menjadi sesuatu yang lebih relevan.

Jika Anda menginginkan manipulasi data yang lebih canggih, tabel pivot bawaan Pandas menawarkan fungsionalitas yang sebanding dengan Excel, yang memungkinkan agregasi kompleks hanya dengan satu baris kode. Pada tingkat paling dasar, fungsi memerlukan DataFrame dan indeks tertentu (atau indeks jika multi-indeks diperlukan) dan mengembalikan nilai yang sesuai.

Untuk spesifisitas yang lebih besar, nilai yang diperlukan dapat dideklarasikan dan agregasi (jumlah, rata-rata, dll.) dapat diterapkan menggunakan parameter aggfunc. Parameter kolom juga dapat membantu Anda menampilkan nilai secara horizontal untuk keluaran yang lebih jelas.

Memasukkan Rentang

Untuk titik data seperti byte, yang mungkin memiliki banyak nilai numerik yang berbeda, Anda akan ingin mengelompokkan data. Untuk melakukannya, tentukan interval Anda dalam daftar dan kemudian gunakan fungsi cut untuk mengurutkan nilai ke dalam bin, tentukan np.inf untuk menangkap apa pun tentang nilai maks yang dideklarasikan.

6. Ekspor

Terakhir, Anda perlu mengekspor data log dan pivot Anda. Agar lebih mudah dianalisis, Anda sebaiknya mengekspor data Anda ke file Excel daripada CSV. File XLSX mendukung banyak lembar, yang berarti Anda dapat menggabungkan semua DataFrames dalam satu file. Anda dapat mencapai ini menggunakan to excel. Anda perlu menentukan objek ExcelWriter karena Anda menambahkan lebih dari satu lembar ke buku kerja yang sama. Plus, saat Anda mengekspor sejumlah besar pivot, ini membantu menyederhanakan berbagai hal dengan menyimpan DataFrames dan nama sheet dalam kamus dan menggunakan for loop.

Ingatlah bahwa batas baris Excel adalah 1.048.576. Karena Anda mengekspor setiap permintaan, ini dapat menyebabkan masalah jika Anda memiliki sampel yang besar. File CSV tidak memiliki batas, jadi pernyataan if dapat digunakan untuk menambahkan ekspor CSV sebagai fallback. Kemudian, jika panjang file log DataFrame lebih dari 1.048.576, maka akan diekspor sebagai CSV. Ini mencegah skrip gagal dan masih menggabungkan pivot menjadi satu ekspor.

cara menggunakan python untuk SEO

Parsing dan Pivoting File SEO dengan Desain SEO Chicago

Meskipun menggunakan Python untuk mengurai dan memutar file SEO adalah keterampilan yang berguna, itu juga sulit untuk dikuasai. Jika Anda memerlukan bantuan dengan file SEO Anda, hubungi pakar data SEO di SEO Design Chicago hari ini untuk mendapatkan bantuan!

FAQ:

  • Apa itu Python?
  • Bagaimana cara menggunakan Python untuk mengurai dan memutar file SEO saya?
  • Mengapa saya harus menggunakan Python untuk mengurai dan memutar file SEO saya?
  • Bagaimana cara mengekstrak permintaan mesin pencari menggunakan Python?
  • Apakah saya perlu tahu cara membuat kode untuk mengurai dan memutar file SEO saya?