L’impiego di Python nelle attività SEO non rappresenta più un’opzione accessoria, bensì una leva che consente di incrementare la produttività e raccogliere dati di qualità. Le cinque proposte di automazione illustrate mettono in luce alcune funzioni preziose per chiunque si occupi di posizionamento organico. Dal controllo degli status code all’estrazione di keyword, tutto può essere racchiuso in procedure automatizzate. Questo significa meno operazioni ripetitive, analisi più puntuali e un workflow allineato con le esigenze odierne del marketing digitale.
La curiosità e la volontà di esplorare nuovi orizzonti rendono Python un alleato formidabile per potenziare le strategie SEO. E chi ambisce a un livello ancora più alto di automazione potrà trovare ispirazione nelle librerie di machine learning, per unire analisi predittive e ottimizzazioni dinamiche delle pagine. Sperimentare, testare e integrare: questi sono i tre ingredienti che consentono di spingere l’ottimizzazione a un gradino superiore. La presenza online di un progetto digitale dipende molto dall’ottimizzazione sui motori di ricerca. Chi si occupa di posizionamento avverte spesso il bisogno di svolgere operazioni ripetitive: dal controllo dei link interni, fino alle analisi di grandi quantità di dati. Python offre un aiuto concreto, grazie a librerie pensate per la gestione del web e alla facilità con cui permette di unire diverse funzioni. In questo approfondimento verranno proposti cinque script che consentono di perfezionare il flusso di lavoro in ambito SEO, liberando tempo prezioso per azioni di livello più elevato.
Perché usare Python nelle attività SEO
Negli ultimi anni, molti specialisti hanno iniziato a usare linguaggi di programmazione per scoprire nuove possibilità di gestione automatica dei dati. Python è particolarmente apprezzato per:
-
Struttura semplice: la sintassi è intuitiva e si apprende in tempi contenuti.
-
Ampia varietà di librerie: esistono pacchetti dedicati alle richieste web, allo scraping di pagine HTML e all’elaborazione di file CSV.
-
Community attiva: online si trovano guide, forum e tutorial che facilitano la risoluzione di eventuali problemi.
Si tratta di un linguaggio adatto a operazioni in serie: dalle più semplici analisi on-page, fino alla gestione di grandi volumi di parole chiave. Nei prossimi paragrafi, verranno presentati cinque script di base. Ognuno di essi offre un punto di partenza da ampliare secondo le proprie esigenze.
1) Verifica in blocco degli status code
Quando si ha a che fare con un vasto numero di URL, controllare manualmente la risposta del server diventa un compito lungo. Python aiuta a eseguire la verifica degli status code (ad esempio 200, 404 o 301) in modo rapido. Per farlo, è possibile utilizzare la libreria requests
.
Esempio semplificato di codice:
import requests
urls = [
"https://www.esempio1.com",
"https://www.esempio2.com",
"https://www.esempio3.com"
]
for url in urls:
try:
response = requests.get(url, timeout=5)
print(url, response.status_code)
except:
print(url, "Errore nella richiesta")
Lo script esegue una chiamata GET su ogni indirizzo, restituendo il codice di stato. In questo modo diventa semplice identificare link rotti o pagine reindirizzate in modo scorretto.
2) Analisi e estrazione di keyword da Google Search Console
Un altro aspetto importante riguarda l’identificazione delle query per cui un sito appare in SERP. Python, unito alle API di Google Search Console, consente di recuperare dati su impressioni, clic e posizionamento medio.
-
Installazione dei pacchetti: oltre a
requests
, si può usaregoogle-auth
per gestire l’autenticazione OAuth. -
Configurazione delle credenziali: è necessario creare un progetto su Google Cloud Platform, abilitare le API di Search Console e scaricare il file JSON per l’autenticazione.
-
Richiesta di dati: con le funzioni dedicate, si effettua la chiamata impostando l’intervallo temporale desiderato e l’elenco di proprietà.
Dopo aver acquisito i dati, si possono elaborare in un dataframe pandas
. Un esempio (molto sintetico) potrebbe apparire così:
import pandas as pd
from googleapiclient.discovery import build
from google.oauth2 import service_account
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
SERVICE_ACCOUNT_FILE = 'credenziali.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
webmasters_service = build('searchconsole', 'v1', credentials=credentials)
request = {
'startDate': '2023-01-01',
'endDate': '2023-02-01',
'dimensions': ['query']
}
response = webmasters_service.searchanalytics().query(
siteUrl='https://www.nomesito.com', body=request).execute()
rows = response.get('rows', [])
df = pd.DataFrame(rows)
In seguito, si può filtrare la colonna keys per estrarre le parole chiave, quindi ordinare i dati in base a CTR o posizionamento. Questa analisi rivela opportunità per migliorare testi e metadati delle pagine.
3) Generazione di meta description
Alcuni siti hanno centinaia o migliaia di pagine. Inserire una descrizione personalizzata può risultare dispersivo. Python, con l’aiuto di tecniche di elaborazione del linguaggio, permette di creare frasi sintetiche partendo da contenuti esistenti.
Le librerie dedicate alla manipolazione testuale semplificano la creazione di stringhe di lunghezza adeguata. Sebbene un controllo umano finale resti prezioso, questo metodo velocizza il lavoro iniziale, fornendo template che potranno essere rifiniti dove serve maggiore precisione.
import re
def genera_meta_desc(testo, lunghezza=160):
# Rimozione di eventuali righe non necessarie
pulito = re.sub(r'\s+', ' ', testo)
# Taglio alla lunghezza desiderata
return pulito[:lunghezza].strip() + "..."
pagina_esempio = """
Questo è il contenuto di una pagina. Fornisce informazioni dettagliate su un argomento specifico.
"""
descrizione = genera_meta_desc(pagina_esempio)
print(descrizione)
In questo frammento, si rimuove la formattazione in eccesso e si crea un riassunto veloce per l’attributo meta description.
4) Analisi on-page automatizzata
Controllare heading, alt text e struttura delle pagine può richiedere molto tempo. Python e la libreria BeautifulSoup agevolano lo scraping dell’HTML e la ricerca di elementi specifici.
from bs4 import BeautifulSoup
import requests
url = "https://www.nomesito.com/pagina-esempio"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
titolo = soup.find('title').text if soup.find('title') else None
h1 = soup.find('h1').text if soup.find('h1') else None
immagini = soup.find_all('img')
print("Title:", titolo)
print("H1:", h1)
for img in immagini:
print("Alt immagine:", img.get('alt'))
Lo script recupera titolo, H1 e alt di ogni immagine, evidenziando eventuali mancanze o errori. L’analisi può essere facilmente estesa ad altri elementi (metatag, link interni, anchor text) per realizzare report di consultazione immediata.
5) Creazione di report automatizzati
Gli script precedenti generano dati utili, ma è consigliabile organizzarli in report chiari. Python si integra con pacchetti che consentono di salvare i risultati in CSV o Excel, oppure di inviare una sintesi tramite email. Un esempio veloce potrebbe essere la creazione di un .xlsx con openpyxl o xlsxwriter:
import xlsxwriter
dati = [
["URL", "Status Code"],
["https://www.esempio1.com", 200],
["https://www.esempio2.com", 404]
]
workbook = xlsxwriter.Workbook('report.xlsx')
worksheet = workbook.add_worksheet()
row = 0
for riga in dati:
col = 0
for valore in riga:
worksheet.write(row, col, valore)
col += 1
row += 1
workbook.close()
print("File report.xlsx generato con successo!")
Al termine, si ottiene un file di riepilogo consultabile con i consueti software da ufficio. L’ultimo passaggio consiste nell’automatizzare l’esecuzione dello script, magari con un job schedulato (ad esempio, cron su Linux) per avviare i controlli a cadenza fissa.
Spunti ulteriori e integrazione
Chi desidera andare oltre questi esempi di base può sperimentare l’unione di più script, creando un sistema complesso che parta dal monitoraggio dei link in entrata, passi per la verifica dei contenuti duplicati e arrivi alla generazione di report inviati automaticamente via email o chatbot. Inoltre, è possibile sfruttare funzioni di intelligenza artificiale per estrarre insight dai testi o per suggerire miglioramenti stilistici.
Per coloro che preferiscono confrontarsi con un professionista del settore, è possibile rivolgersi a un Esperto AI per approfondire l’uso di modelli avanzati. Chi, invece, vuole esplorare la creazione di messaggi generativi personalizzati potrebbe trovare utile collaborare con un Prompt Designer, specializzato nella preparazione di istruzioni mirate per strumenti testuali automatici.
Sperimentare con Python è un percorso di continua evoluzione. Ogni script presentato qui offre un punto di partenza, ma la vera forza sta nell’adattamento alle proprie necessità. Le possibilità includono analisi su scala ampia, collegamenti con API esterne, elaborazioni statistiche e integrazioni con piattaforme come Slack o Telegram per segnalare anomalie in tempo reale.
You might also like
More from SEO
SEO nell’era di Google SGE: ottimizzare i contenuti per la ricerca generativa
Black Friday 2021: l'importanza di costruire una strategia di Digital Marketing per sfruttare un'occasione unica in un periodo favorevole per …
Come fare SEO sui social?
Partecipo spesso a congressi sulla SEO, sempre molto interessanti, ma certi temi sono alla lunga abbastanza ripetitivi. Ad esempio, sono …
Content first? Certo!
Cos'è il Content First? Se non lo sai cominciamo malissimo. Stiamo parlando della filosofia più attuale di web design. Cioè …