Use Python para analisar e dinamizar arquivos de SEO

Publicados: 2021-08-10

Uma ótima fonte de dados para qualquer grande profissional de SEO são os dados de rastreamento do mecanismo de pesquisa encontrados nos arquivos de log. Você pode analisar arquivos de log para saber exatamente como os mecanismos de pesquisa estão rastreando e entendendo o seu site. Isso lhe dá uma visão que nenhuma ferramenta de SEO de terceiros pode. Se você quiser economizar tempo e dinheiro, tente automatizar a análise, validação e dinamização dos dados do arquivo de log para SEO com Python. Neste artigo, vamos guiá-lo pelas etapas de como analisar e dinamizar arquivos SEO com Python.

Como usar Python para analisar e dinamizar arquivos de SEO

Por que deveria usar Python para analisar e dinamizar arquivos de SEO

Python é uma linguagem de programação multifuncional que possui uma ampla variedade de aplicativos quando se trata de dados, desenvolvimento da Web e execução de algoritmos. Usar Python para analisar e dinamizar seus dados de SEO a partir de arquivos de registro ajuda você a:

  • Valide suas conclusões fornecendo evidências concretas de como os mecanismos de pesquisa estão rastreando e vendo seu site
  • Priorize suas descobertas, ajudando você a ver a escala de um problema e o quanto pode ajudar a corrigi-lo
  • Encontre quaisquer outros problemas que você não consegue ver em outras fontes de dados

Embora haja vários benefícios em usar os dados do arquivo de log, muitos especialistas em SEO evitam usá-los por vários motivos. Por um lado, encontrar os dados normalmente significa passar por uma equipe de desenvolvimento, o que pode levar muito tempo. Além disso, os arquivos brutos podem ser grandes e difíceis de entender, o que torna difícil analisar os dados. Finalmente, o custo das ferramentas projetadas para tornar o processo mais simples pode ser muito alto.

Embora todas essas preocupações sejam válidas, há outra maneira. Se você tiver algum conhecimento de linguagens de codificação e script , poderá automatizar o processo. Orientaremos você pelas etapas de como usar Python para analisar logs de servidor para SEO.

Como usar Python para analisar e dinamizar arquivos de SEO

Antes de começar, você precisará considerar qual formato deseja usar para analisar os dados do arquivo de log. Você tem várias opções, como Apache, Nginx e IIS. Além disso, muitos sites agora usam provedores de CDN, como Cloudflare, Cloudfront e Akamai, para fornecer conteúdo do ponto de presença mais próximo a um usuário.

Neste artigo, vamos nos concentrar no formato de registro combinado. Isso ocorre porque o Combine Log Format é o padrão para Nginx e normalmente a escolha em servidores Apache.

Se você não sabe com que tipo de formato está lidando, existem serviços como o Builtwith e o Wappalyzer que podem informá-lo sobre a pilha de tecnologia de um site.

Se ainda não tiver certeza, basta abrir um dos arquivos brutos. Faça uma referência cruzada dos comentários fornecidos com informações sobre campos específicos.

Você também precisará considerar qual mecanismo de pesquisa deseja incluir. Neste artigo, vamos nos concentrar no Google, porque o Google é o mecanismo de busca mais dominante, com mais de 92% do market share global .

Use Python para analisar e dinamizar arquivos de SEO

1. Identificar arquivos e determinar formatos

Para realizar uma análise de SEO consequente, você precisará de um mínimo de cerca de 100.000 solicitações e entre duas e quatro semanas de dados para um site típico. Por causa dos tamanhos dos arquivos, os logs geralmente são divididos em dias individuais. Provavelmente, você receberá vários arquivos para processar.

Como você não sabe com quantos arquivos estará lidando, a menos que os combine antes de executar o script, a primeira etapa é gerar uma lista de todos os arquivos em nossa pasta usando o módulo glob. Em seguida, você pode retornar qualquer arquivo que corresponda a um padrão que especificarmos. O código a seguir corresponderá a qualquer arquivo TXT:

import glob

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

No entanto, nem todos os arquivos são TXT. Os arquivos de log podem vir em vários tipos de formatos de arquivo. Você pode nem reconhecer a extensão do arquivo.

Também é possível que os arquivos recebidos sejam divididos em várias subpastas, e não queremos perder tempo copiando-os em um único local. Felizmente, glob suporta pesquisas recursivas e operadores curinga . Isso significa que você pode gerar uma lista de todos os arquivos em uma subpasta ou subpastas filhas.

files = glob.glob ('** / *. *', recursivo = Verdadeiro)

Em seguida, você deseja identificar quais tipos de arquivos estão em sua lista. Para fazer isso, o tipo MIME do arquivo específico pode ser detectado. Isso informa com que tipo de arquivo você está lidando, não importa a extensão.

Você pode fazer isso usando python-magic, um wrapper em torno da biblioteca C libmagic, e criando uma função simples.

pip install python-magic

pip install libmagic

importar magia

def file_type (file_path):

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

retornar mímica

Em seguida, você pode usar a compreensão de lista para percorrer seus arquivos e aplicar a função, criando um dicionário para armazenar nomes e tipos.

file_types = [file_type (arquivo) para arquivo em arquivos]

file_dict = dict (zip (files, files_types))

Finalmente, use uma função e um loop while para extrair uma lista de arquivos que retornam um tipo MIME de texto / simples e excluem qualquer outra coisa.

descompactado = []

def file_identifier (arquivo):

para chave, valor em file_dict.items ():

se o arquivo em valor:

descompactado.append (chave)

enquanto file_identifier ('text / plain'):

file_identifier ('text / plain') em file_dict

como analisar e dinamizar arquivos de log de seo

2. Extraia as solicitações do mecanismo de pesquisa

Depois de filtrar os arquivos em sua pasta ou pastas, a próxima etapa é filtrar os próprios arquivos, extraindo apenas as solicitações de seu interesse.

Isso elimina a necessidade de combinar os arquivos usando utilitários de linha de comando como GREP ou FINDSTR e economiza tempo ao procurar o comando certo.

Nesse caso, como você deseja apenas solicitações do Googlebot, você pesquisará “Googlebot” para corresponder a todos os agentes de usuário relevantes.

Você pode usar a função open do Python para ler e / ou escrever seu arquivo e o módulo regex do Python, RE, para realizar a pesquisa.

3. Solicitações de análise

Existem várias maneiras de analisar solicitações. Para o propósito deste artigo, usaremos o analisador CSV embutido do Pandas e algumas funções básicas de processamento de dados para:

  • Eliminar colunas desnecessárias
  • Formate o carimbo de data / hora
  • Crie uma coluna com URLs completos
  • Renomear e reordenar as colunas restantes

Em vez de codificar um nome de domínio, você pode usar a função de entrada para solicitar ao usuário e salvá-lo como uma variável.

4. Validar solicitações

É muito simples falsificar os agentes do usuário do mecanismo de pesquisa, tornando a validação da solicitação uma parte vital do processo, o que impede você de tirar conclusões incorretas ao analisar seus próprios rastreamentos de terceiros.

Para fazer isso, você precisa instalar uma biblioteca chamada dnspython e executar um DNS reverso. Você pode usar o pandas para descartar IPs duplicados e executar as pesquisas no DataFrame menor. Em seguida, reaplique os resultados e filtre todas as solicitações inválidas.

Essa abordagem aumenta muito a velocidade das pesquisas e valida milhões de solicitações em apenas alguns minutos.

porque você deve usar python para arquivos seo

5. Dinamizar os dados

Após a validação, você tem um conjunto de dados limpo e fácil de entender. Você pode começar a dinamizar esses dados para analisar pontos de interesse com mais facilidade.

Você pode começar com uma agregação simples usando as funções groupby e agg do Pandas para realizar a contagem do número de solicitações para diferentes códigos de status.

status_code = logs_filtered.groupby ('Código de status'). agg ('tamanho')

Para replicar o tipo de contagem que você usa no Excel, você precisa especificar uma função agregada de 'tamanho', não 'contagem'. Se você usar count, chamará a função em todas as colunas do DataFrame e os valores nulos serão tratados de maneira diferente. A redefinição do índice restaurará os cabeçalhos de ambas as colunas, e a última coluna pode ser renomeada para algo mais relevante.

Se você deseja uma manipulação de dados mais avançada, as tabelas dinâmicas integradas do Pandas oferecem funcionalidade comparável ao Excel, o que torna possível agregações complexas com apenas uma única linha de código. Em seu nível mais básico, a função requer um DataFrame e índice especificados (ou índices, se um multi-índice for necessário) e retorna os valores correspondentes.

Para maior especificidade, os valores necessários podem ser declarados e agregações (soma, média, etc.) podem ser aplicadas usando o parâmetro aggfunc. O parâmetro de colunas também pode ajudá-lo a exibir valores horizontalmente para uma saída mais clara.

Intervalos de incorporação

Para pontos de dados como bytes, que podem ter muitos valores numéricos diferentes, você desejará agrupar os dados. Para fazer isso, defina seus intervalos em uma lista e, em seguida, use a função cut para classificar os valores em compartimentos, especificando np.inf para capturar qualquer coisa sobre o valor máximo declarado.

6. Exportar

Finalmente, você precisa exportar seus dados de registro e pivôs. Para facilitar a análise, você desejará exportar seus dados para um arquivo Excel em vez de CSV. Os arquivos XLSX suportam várias folhas, o que significa que você pode combinar todos os DataFrames em um arquivo. Você pode conseguir isso usando o Excel. Você precisará especificar um objeto ExcelWriter porque está adicionando mais de uma planilha à mesma pasta de trabalho. Além disso, ao exportar um grande número de pivôs, isso ajuda a simplificar as coisas, armazenando DataFrames e nomes de planilhas em um dicionário e usando um loop for.

Lembre-se de que o limite de linhas do Excel é 1.048.576. Como você está exportando todas as solicitações, isso pode causar problemas se você tiver grandes amostras. Os arquivos CSV não têm limite, portanto, uma instrução if pode ser empregada para adicionar uma exportação CSV como fallback. Então, se o comprimento do arquivo de log DataFrame for maior que 1.048.576, ele será exportado como um CSV. Isso evita que o script falhe e ainda combina os pivôs em uma única exportação.

como usar python para SEO

Analisando e dinamizando arquivos de SEO com SEO Design Chicago

Embora usar Python para analisar e dinamizar arquivos de SEO seja uma habilidade útil, também é difícil de dominar. Se você precisar de ajuda com seus arquivos de SEO, entre em contato com os especialistas em dados de SEO da SEO Design Chicago hoje mesmo para obter ajuda!

FAQs:

  • O que é Python?
  • Como faço para usar Python para analisar e dinamizar meus arquivos de SEO?
  • Por que devo usar Python para analisar e dinamizar meus arquivos de SEO?
  • Como faço para extrair solicitações de mecanismo de pesquisa usando Python?
  • Preciso saber como codificar para analisar e dinamizar meus arquivos de SEO?