Utilizați Python pentru a analiza și pivota fișierele SEO
Publicat: 2021-08-10O sursă excelentă de date pentru orice profesionist SEO excelent sunt datele de accesare cu crawlere ale motorului de căutare găsite în fișierele jurnal. Puteți analiza fișierele jurnal pentru a afla exact cum motoarele de căutare accesează cu crawlere și înțeleg site-ul dvs. web. Acest lucru vă oferă o perspectivă asupra faptului că niciun instrument SEO terță parte nu poate. Dacă doriți să economisiți atât timp cât și bani, încercați să automatizați analiza, validarea și pivotarea datelor fișierului jurnal pentru SEO cu Python. În acest articol, vă vom îndruma prin pașii pentru analiza și pivotarea fișierelor SEO cu Python.

De ce ar trebui să utilizați Python pentru a analiza și pivota fișierele SEO
Python este un limbaj de programare multifuncțional care are o mare varietate de aplicații atunci când vine vorba de date, dezvoltare web și algoritmi de executare. Utilizarea Python pentru a analiza și pivota datele SEO din fișierele jurnal vă ajută să:
- Validați concluziile oferindu-vă dovezi concrete despre modul în care motoarele de căutare se târăsc și vă văd site-ul web
- Dați prioritate constatărilor dvs., ajutându-vă să vedeți amploarea unei probleme și cât de mult vă poate ajuta să o remediați
- Găsiți orice alte probleme pe care nu le puteți vedea în alte surse de date
Chiar dacă există mai multe avantaje ale utilizării datelor din fișierele jurnal, mulți experți în SEO rămân departe de aceasta din mai multe motive. Pentru unul, găsirea datelor înseamnă de obicei trecerea printr-o echipă de dezvoltatori, ceea ce poate dura mult timp. De asemenea, fișierele brute pot fi mari și greu de înțeles, ceea ce face dificilă analiza datelor. În cele din urmă, costul instrumentelor concepute pentru a simplifica procesul ar putea fi prea mare.
Deși toate acestea sunt preocupări valabile, există o altă cale. Dacă aveți unele cunoștințe despre limbaje de codare și scriptare , puteți automatiza procesul. Vă vom parcurge pașii pentru modul de utilizare a Python pentru a analiza jurnalele serverului pentru SEO.
Cum se folosește Python pentru a analiza și pivota fișierele SEO
Înainte de a începe, va trebui să luați în considerare ce format doriți să utilizați pentru a analiza datele fișierului jurnal. Aveți mai multe opțiuni, cum ar fi Apache, Nginx și IIS. În plus, multe site-uri web folosesc furnizori de CDN acum, cum ar fi Cloudflare, Cloudfront și Akamai, pentru a difuza conținut din cea mai apropiată locație de margine unui utilizator.
În acest articol, ne vom concentra asupra formatului jurnal combinat. Acest lucru se datorează faptului că formatul jurnalului combinat este implicit pentru Nginx și de obicei este alegerea pe serverele Apache.
Dacă nu știți cu ce tip de format aveți de-a face, există servicii precum Builtwith și Wappalyzer care vă pot spune despre stiva tehnică a unui site web.
Dacă încă nu sunteți sigur, deschideți pur și simplu unul dintre fișierele brute. Faceți referințe încrucișate la comentariile furnizate cu informații despre câmpuri specifice.
De asemenea, va trebui să luați în considerare ce motor de căutare doriți să includeți. În acest articol, ne vom concentra pe Google, deoarece Google este cel mai dominant motor de căutare cu peste 92% din cota de piață globală .

1. Identificați fișierele și determinați formatele
Pentru a efectua o analiză SEO consecventă, veți avea nevoie de cel puțin aproximativ 100.000 de cereri și date între două și patru săptămâni pentru un site web tipic. Datorită dimensiunilor fișierelor, jurnalele sunt de obicei împărțite în zile individuale. Cel mai probabil veți primi mai multe fișiere de procesat.
Deoarece nu știți cu câte fișiere veți avea de-a face cu excepția cazului în care le combinați înainte de a rula scriptul, primul pas este să generați o listă a tuturor fișierelor din folderul nostru utilizând modulul glob. Apoi, puteți returna orice fișier care corespunde unui model pe care îl specificăm. Următorul cod se va potrivi cu orice fișier TXT:
import glob
files = glob.glob ('* txt.')
Cu toate acestea, nu toate fișierele sunt TXT. Fișierele jurnal pot veni în mai multe tipuri de formate de fișiere. Este posibil să nu recunoașteți nici măcar extensia de fișier.
De asemenea, este posibil ca fișierele pe care le primiți să fie împărțite în mai multe subfoldere și nu vrem să pierdem timpul copiindu-le într-o singură locație. Din fericire, glob acceptă atât căutările recursive, cât și operatorii cu metacaracter . Asta înseamnă că puteți genera o listă cu toate fișierele dintr-un subfolder sau subfoldere secundare.
files = glob.glob ('** / *. *', recursiv = True)
Apoi, doriți să identificați tipurile de fișiere din lista dvs. Pentru a face acest lucru, poate fi detectat tipul MIME al fișierului specific. Acest lucru vă spune cu ce fel de fișier aveți de-a face, indiferent de extensie.
Puteți face acest lucru folosind python-magic, un wrapper în jurul bibliotecii libmagic C și creând o funcție simplă.
pip instalează python-magic
pip instalează libmagic
import magie
def file_type (file_path):
mime = magic.from_file (file_path, mime = True)
întoarce mimica
Apoi, puteți utiliza înțelegerea listei pentru a parcurge fișierele și a aplica funcția, creând un dicționar pentru a stoca atât numele, cât și tipurile.
file_types = [file_type (fișier) pentru fișier în fișiere]
file_dict = dict (zip (files, files_types))
În cele din urmă, utilizați o funcție și o buclă while pentru a extrage o listă de fișiere care returnează un tip MIME de text / simplu și exclude orice altceva.
necomprimat = []
def file_identifier (fișier):
pentru cheie, valoare în file_dict.items ():
dacă fișier în valoare:

uncompressed.append (cheie)
while file_identifier ('text / simplu'):
file_identifier ('text / simplu') în file_dict

2. Extrageți cererile motorului de căutare
După filtrarea fișierelor din folderul sau folderele dvs., următorul dvs. pas este să filtrați fișierele în sine extragând numai solicitările care vă interesează.
Acest lucru elimină necesitatea de a combina fișierele folosind utilitare din linia de comandă precum GREP sau FINDSTR și vă economisește timp căutând comanda potrivită.
În acest caz, deoarece doriți doar solicitări Googlebot, veți căuta „Googlebot” pentru a se potrivi cu toți agenții de utilizatori relevanți.
Puteți utiliza funcția deschisă a Python pentru a citi și / sau scrie fișierul și modulul regex al Python, RE, pentru a efectua căutarea.
3. Cereri de analiză
Există mai multe moduri în care puteți analiza solicitările. De dragul acestui articol, vom folosi parserul CSV încorporat al Pandas și câteva funcții de bază de procesare a datelor pentru a:
- Aruncați coloane inutile
- Formatați marca de timp
- Creați o coloană cu adrese URL complete
- Redenumiți și reordonați coloanele rămase
În loc să codificați un nume de domeniu, puteți utiliza funcția de intrare pentru a solicita utilizatorului și a-l salva ca variabilă.
4. Validați solicitările
Este foarte simplu să falsifice agenții de utilizatori ai motorului de căutare, făcând din validarea cererilor o parte vitală a procesului, ceea ce vă împiedică să trageți concluzii incorecte prin analiza propriilor dvs. accesări cu crawlere de la terți.
Pentru a face acest lucru, trebuie să instalați o bibliotecă numită dnspython și să efectuați un DNS invers. Puteți utiliza panda pentru a renunța la IP-urile duplicate și a rula căutările pe DataFrame mai mic. Apoi, aplicați din nou rezultatele și filtrați orice solicitări nevalide.
Această abordare mărește foarte mult viteza căutărilor și validează milioane de solicitări în doar câteva minute.

5. Pivotați datele
După validare, aveți un set de date curățat și ușor de înțeles. Puteți începe să pivotați aceste date pentru a analiza mai ușor punctele de interes.
Puteți începe cu o agregare simplă folosind funcțiile de grup și agg ale Pandas pentru a efectua un număr al cererilor pentru diferite coduri de stare.
status_code = logs_filtered.groupby („Cod de stare”). agg („dimensiune”)
Pentru a reproduce tipul de număr pe care îl utilizați în Excel, trebuie să specificați o funcție agregată de „dimensiune”, „nu„ numărare ”. Dacă utilizați count, veți invoca funcția pe toate coloanele din cadrul DataFrame, iar valorile nule sunt tratate diferit. Resetarea indexului va restabili anteturile pentru ambele coloane, iar ultima coloană poate fi redenumită în ceva mai relevant.
Dacă doriți o manipulare mai avansată a datelor, tabelele pivot încorporate Pandas oferă funcționalități comparabile cu Excel, ceea ce face posibilă agregările complexe cu o singură linie de cod. La nivelul său de bază, funcția necesită un DataFrame și un index specificat (sau indexuri dacă este necesar un multi-index) și returnează valorile corespunzătoare.
Pentru o mai mare specificitate, valorile necesare pot fi declarate și agregările (suma, media etc.) pot fi aplicate folosind parametrul aggfunc. Parametrul coloanelor vă poate ajuta, de asemenea, să afișați valorile pe orizontală pentru o ieșire mai clară.
Incorporarea gamelor
Pentru punctele de date cum ar fi octeții, care ar putea avea multe valori numerice diferite, va trebui să colectați datele. Pentru a face acest lucru, definiți intervalele într-o listă și apoi utilizați funcția de tăiere pentru a sorta valorile în coșuri, specificând np.inf pentru a prinde orice despre valoarea maximă declarată.
6. Export
În cele din urmă, trebuie să exportați datele din jurnal și pivoturile. Pentru a ușura analiza, veți dori să exportați datele într-un fișier Excel, mai degrabă decât în CSV. Fișierele XLSX acceptă mai multe foi, ceea ce înseamnă că puteți combina toate cadrele de date într-un singur fișier. Puteți realiza acest lucru folosind excelența. Va trebui să specificați un obiect ExcelWriter deoarece adăugați mai multe foi pe același registru de lucru. În plus, atunci când exportați un număr mare de pivoti, vă ajută să simplificați lucrurile stocând DataFrames și numele foilor într-un dicționar și folosind o buclă for.
Rețineți că limita rândurilor Excel este de 1.048.576. Deoarece exportați fiecare solicitare, acest lucru ar putea cauza probleme dacă aveți mostre mari. Fișierele CSV nu au nicio limită, deci o instrucțiune if poate fi folosită pentru a adăuga un export CSV ca rezervă. Apoi, dacă lungimea fișierului jurnal DataFrame este mai mare de 1.048.576, acesta va fi exportat ca CSV. Acest lucru împiedică eșecul scriptului și totuși combină pivoturile într-un singur export.

Analizarea și pivotarea fișierelor SEO cu SEO Design Chicago
Deși utilizarea Python pentru a analiza și pivota fișierele SEO este o abilitate utilă, este de asemenea dificil de stăpânit. Dacă aveți nevoie de asistență cu fișierele dvs. SEO, contactați astăzi experții în date SEO de la SEO Design Chicago pentru asistență!
Întrebări frecvente:
- Ce este Python?
- Cum folosesc Python pentru a analiza și pivota fișierele SEO?
- De ce ar trebui să folosesc Python pentru a analiza și pivota fișierele SEO?
- Cum extrag cererile motorului de căutare folosind Python?
- Trebuie să știu cum să codez pentru a analiza și pivota fișierele mele SEO?
