DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Impostare le attività OnPage
Avvia un crawl di target e restituisce un id attività in tasks[0].id: quell'id è la chiave di accesso che ogni altro strumento di questa famiglia richiede, quindi conservalo. max_crawl_pages limita il crawl, start_url, max_crawl_depth, priority_urls e crawl_delay ne determinano la forma, e store_raw_html decide se post_dataforseo_on_page_raw_html avrà qualcosa da servire in seguito. Racchiuso nella struttura DataForSEO: dati in tasks[0].result, esito in tasks[0].status_code – una richiesta rifiutata restituisce comunque HTTP 200. ⚠️ Non è la solita coppia invio/recupero: il crawl è una sessione che una dozzina di altri strumenti interroga poi per id. Esegui il polling di get_dataforseo_on_page_summary finché crawl_progress non recita finished; un crawl di una pagina di example.com ha richiesto ben meno di un minuto.
Riferimento prezzi
- Misurazione: costo della risposta comunicato.
- Stima di riferimento per richiesta: USD 0.003.
- Moltiplicatore di riferimento per il cliente: 1.0. Non applicarlo di nuovo a un importo già addebitato al cliente.
Solo metadati di riferimento, non un preventivo dell'account, né un prezzo garantito o un limite di spesa. I crediti delle risorse non sono crediti Felo. Gli addebiti finali seguono le registrazioni di fatturazione Felo.
- Tipo: array (object | null)[]
- acceptTipo: string | null
_language intestazione della lingua per l'accesso al sito web
campo facoltativo
tutti i formati di locale sono supportati (xx, xx-XX, xxx-XX ecc.)
Nota: se non specifichi questo parametro, alcuni siti web potrebbero negare l'accesso; in questo caso le pagine verranno restituite con"type":"brokennell'array della risposta - allowTipo: boolean | null
_subdomains includi le pagine nei sottodomini
campo facoltativo
imposta questo campo sutruese vuoi eseguire il crawling di tutti i sottodomini di un sito web di destinazione
valore predefinito:false - allowedTipo: array string[] | null
_subdomains sottodomini da scansionare
campo facoltativo
specifica i sottodomini che vuoi scansionare
esempio:["blog.site.com", "my.site.com", "shop.site.com"]
Nota: per usare questo parametro, il parametroallow_subdomainsdeve essere impostato sufalse;
in caso contrario, il contenuto del campoallowed_subdomainsverrà ignorato e i risultati verranno restituiti per tutti i sottodomini - browserTipo: string | null
_preset preset per i parametri dello schermo del browser
campo facoltativo
se usi questo campo, non è necessario indicarebrowser_screen_width,browser_screen_height,browser_screen_scale_factorvalori possibili:desktop,mobile,tabletil presetdesktopapplica i seguenti valori:browser_screen_width: 1920browser_screen_height: 1080browser_screen_scale_factor: 1il presetmobileapplica i seguenti valori:browser_screen_width: 390browser_screen_height: 844browser_screen_scale_factor: 3il presettabletapplica i seguenti valori:browser_screen_width: 1024browser_screen_height: 1366browser_screen_scale_factor: 2
Nota: per usare questo parametro, impostaenable_javascriptoenable_browser_renderingsutrue - browserTipo: integer | null
_screen _height altezza dello schermo del browser
campo facoltativo
puoi impostare un'altezza personalizzata dello schermo del browser per eseguire un audit per un dispositivo specifico;
se usi questo campo, non è necessario indicarebrowser_preset, perché verrà ignorato;
Nota: per usare questo parametro, impostaenable_javascriptoenable_browser_renderingsutruevalore minimo, in pixel:240
valore massimo, in pixel:9999 - browserTipo: number | null
_screen _scale _factor fattore di scala dello schermo del browser
campo facoltativo
puoi impostare un rapporto di risoluzione personalizzato del browser per eseguire un audit per un dispositivo specifico;
se usi questo campo, non è necessario indicarebrowser_preset, perché verrà ignorato;
Nota: per usare questo parametro, impostaenable_javascriptoenable_browser_renderingsutruevalore minimo:0.5
valore massimo:3 - browserTipo: integer | null Formato: int64
_screen _width larghezza dello schermo del browser
campo facoltativo
puoi impostare una larghezza personalizzata dello schermo del browser per eseguire un audit per un dispositivo specifico;
se usi questo campo, non è necessario indicarebrowser_preset, perché verrà ignorato;
Nota: per usare questo parametro, impostaenable_javascriptoenable_browser_renderingsutruevalore minimo, in pixel:240
valore massimo, in pixel:9999 - calculateTipo: boolean | null
_keyword _density calcola la densità di keyword per il dominio di destinazione
campo facoltativo
imposta questo campo sutruese vuoi calcolare la densità di keyword per le pagine del sito web
valore predefinito:false
Nota: se usi questo parametro vengono applicati costi aggiuntivi; per saperne di più sul costo delle attività con questo parametro, consulta il nostro articolo di assistenza
una volta completato il crawling, puoi ottenere i valori di densità di keyword con l'endpoint Keyword Density - checkTipo: boolean | null
_spell - checkTipo: array string[] | null
_spell _exceptions parole escluse dal controllo ortografico
campo facoltativo
specifica le parole che vuoi escludere dal controllo ortografico
lunghezza massima delle parole: 100 caratteri
quantità massima di parole: 1000
esempio:"SERP", "minifiers", "JavaScript" - checkTipo: string | null
_spell _language lingua del controllo ortografico
campo facoltativo
lingue supportate: 'hy', 'eu', 'bg', 'ca', 'hr', 'cs', 'da', 'nl', 'en', 'eo', 'et', 'fo', 'fa', 'fr', 'fy', 'gl', 'ka', 'de', 'el', 'he', 'hu', 'is', 'ia', 'ga', 'it', 'rw', 'la', 'lv', 'lt', 'mk', 'mn', 'ne', 'nb', 'nn', 'pl', 'pt', 'ro', 'gd', 'sr', 'sk', 'sl', 'es', 'sv', 'tr', 'tk', 'uk', 'vi'
Nota: se non viene specificata una lingua, verrà impostata automaticamente in base al contenuto della pagina - checksTipo: object | null
_threshold soglie personalizzate per i controlli
campo facoltativo
puoi specificare soglie personalizzate per i parametri inclusi nell'oggettochecksdelle risposte di OnPage API;
Nota: è possibile modificare solo soglie con valori interi;
ad esempio, i parametrihigh_loading_timeelarge_page_sizesono impostati per impostazione predefinita rispettivamente su 3 secondi e 1 megabyte;
se vuoi cambiare queste soglie in 1 secondo e 1000 kbytes, usa il seguente snippet:"checks_threshold": {<br>"high_loading_time": 1,<br>"large_page_size": 1000<br>}
parametri personalizzabili con valori predefiniti:"title_too_short", default value: 30, type: "int"<br>"title_too_long", default value: 65, type: "int"<br>"small_page_size", default value: 1024, type: "int"<br>"large_page_size", default value: 1048576 (1024 * 1024), type: "int"<br>"low_character_count", default value: 1024, type: "int"<br>"high_character_count", default value: 256000 (250 * 1024), type: "int"<br>"low_content_rate", default value: 0.1, type: "float"<br>"high_content_rate", default value: 0.9, type: "float"<br>"high_loading_time", default value: 3000, type: "int"<br>"high_waiting_time", default value: 1500, type: "int"<br>"low_readability_rate", default value: 15.0, type: "float"<br>"irrelevant_description", default value: 0.2, type: "float"<br>"irrelevant_title", default value: 0.3, type: "float"<br>"irrelevant_meta_keywords", default value: 0.6, type: "float"- propertyTipo: integer | null Formato: int64
Name Signed 64-bit integers (long type).
- crawlTipo: integer | null
_delay ritardo tra le richieste, ms
campo facoltativo
il ritardo personalizzato tra le richieste del crawler al server
valore predefinito:2000 - crawlTipo: boolean | null
_sitemap _only scansiona solo le pagine indicate nella sitemap
campo facoltativo
impostare sutruese si vogliono scansionare solo le pagine indicate nella sitemap
se si imposta questo parametro sutruee non si specificacustom_sitemap, verrà scansionata la sitemap predefinita
valore predefinito:false
Nota: per usare questo parametro,respect_sitemapdeve esseretrue - customTipo: string | null
_js javascript personalizzato
campo facoltativo
Nota: il tempo di esecuzione dello script inserito qui deve essere al massimo di 700 ms; ad esempio, è possibile usare il seguente snippet JS per verificare se il sito contiene Google Tag Manager come attributoscr:let meta = { haveGoogleAnalytics: false, haveTagManager: false };rnfor (var i = 0; i < document.scripts.length; i++) {rn let src = document.scripts[i].getAttribute("src");rn if (src != undefined) {rn if (src.indexOf("analytics.js") >= 0)rn meta.haveGoogleAnalytics = true;rntif (src.indexOf("gtm.js") >= 0)rn meta.haveTagManager = true;rn }rn}rnmeta;il valore restituito dipende da quanto specificato in questo campo. Ad esempio, se si specifica il seguente script:meta = {}; meta.url = document.URL; meta.test = 'test'; meta;
come risposta si riceveranno i seguenti dati:"custom_js_response": {<br>"url": "https://dataforseo.com/",<br>"test": "test"<br>}
Nota: la lunghezza dello script inserito non deve superare i 2000 caratteri - customTipo: string | null
_robots _txt impostazioni personalizzate di robots.txt
campo facoltativo
esempio:Disallow: /directory1/ - customTipo: string | null
_sitemap URL della sitemap personalizzata
campo facoltativo
l'URL della pagina in cui si trova la sitemap alternativa
Nota: per usare questo parametro,respect_sitemapdeve esseretrue - customTipo: string | null
_user _agent user agent personalizzato
campo facoltativo
user agent personalizzato per il crawling di un sito web
esempio:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
valore predefinito:Mozilla/5.0 (compatible; RSiteAuditor) - disableTipo: boolean | null
_cookie _popup disattiva il popup dei cookie
campo facoltativo
impostare sutruese si vuole disattivare il popup che richiede il consenso ai cookie all'utente;
valore predefinito:false - disableTipo: array string[] | null
_page _checks impedisci l'esecuzione di determinati controlli della pagina
campo facoltativo
specificare determinatichecksper impedirne l'esecuzione e l'impatto sulonpage_score. esempio:"disable_page_checks": ["is_5xx_code", "is_4xx_code"] - disableTipo: array string[] | null
_sitewide _checks impedisci l'esecuzione di determinati controlli a livello di sito
campo facoltativo
specificare i seguentichecksper impedirne l'esecuzione sul sitotarget:"test_page_not_found""test_canonicalization""test_https_redirect""test_directory_browsing"esempio:"disable_sitewide_checks": ["test_directory_browsing", "test_page_not_found"]scopri di più nel nostro Help Center - disallowedTipo: array string[] | null
_subdomains sottodomini da non scansionare
campo facoltativo
specificare i sottodomini che non si desidera scansionare
esempio:["status.site.com", "docs.site.com"]
Nota: per usare questo parametro, il parametroallow_subdomainsdeve essere impostato sutrue - enableTipo: boolean | null
_browser _rendering emula il rendering del browser per misurare i Core Web Vitals
campo facoltativo
usando questo parametro sarà possibile emulare un browser durante il caricamento di una pagina web;enable_browser_renderingcarica stili, immagini, font, animazioni, video e altre risorse di una pagina;
valore predefinito:false
impostare sutrueper ottenere le metriche Core Web Vitals (FID, CLS, LCP) nella risposta;
se si usa questo campo, i parametrienable_javascripteload_resourcesdevono essere impostati sutrue
Nota: se si usa questo parametro, verranno applicati costi aggiuntivi; scopri di più sul costo delle attività con questo parametro nel nostro articolo di assistenza; il costo può essere calcolato nella pagina Pricing - enableTipo: boolean | null
_content _parsing - enableTipo: boolean | null
_javascript carica javascript su una pagina
campo facoltativo
impostare sutruese si vogliono caricare gli script disponibili su una pagina
valore predefinito:false
Nota: se si usa questo parametro, verranno applicati costi aggiuntivi; scopri di più sul costo delle attività con questo parametro nel nostro articolo di assistenza; il costo può essere calcolato nella pagina Pricing - enableTipo: boolean | null
_www _redirect _check verifica se il dominio ha implementato il reindirizzamento www
campo facoltativo
impostare sutruese si vuole verificare se il dominio richiesto ha implementato il reindirizzamento da www a non-www o da non-www a www;
valore predefinito:false - enableTipo: boolean | null
_xhr abilita XMLHttpRequest su una pagina
campo facoltativo
impostare sutruese si desidera che il nostro crawler richieda dati a un server web usando l'oggetto XMLHttpRequest
valore predefinito:false;se si usa questo campo,enable_javascriptdeve essere impostato sutrue; - forceTipo: boolean | null
_sitewide _checks abilita i controlli a livello di sito durante la scansione di una singola pagina
campo facoltativo
impostare sutrueper ottenere dati sui controlli a livello di sito durante la scansione di una singola pagina;
valore predefinito:false - loadTipo: boolean | null
_resources carica risorse
campo facoltativo
impostare sutruese si vogliono caricare immagini, fogli di stile, script e risorse non funzionanti
valore predefinito:false
Nota: se si usa questo parametro, verranno applicati costi aggiuntivi; scopri di più sul costo delle attività con questo parametro nel nostro articolo di assistenza; il costo può essere calcolato nella pagina Pricing - maxTipo: integer | null
_crawl _depth profondità di crawl
campo facoltativo
la profondità di collegamento delle pagine da scansionare;
ad esempio, la pagina iniziale della scansione è il livello 0, le pagine con link da quella pagina sono il livello 1 e così via. - maxTipo: integer
_crawl _pages limite di pagine scansionate
campo obbligatorio
il numero di pagine da scansionare sul dominio specificato
Nota:
se si impostamax_crawl_pagessu 1 e non si specificastart_urlo si imposta in esso una pagina iniziale, i seguenti controlli a livello di sito verranno disattivati:test_canonicalization,enable_www_redirect_check,test_hidden_server_signature,test_page_not_found,test_directory_browsing,test_https_redirect
per abilitarli comunque, impostareforce_sitewide_checkssutruese si impostamax_crawl_pagessu 1 e si specifica unastart_urldiversa da una pagina iniziale, tutti i controlli a livello di sito verranno disattivati;
per abilitarli comunque, impostareforce_sitewide_checkssutrue - pingbackTipo: string | null
_url URL di notifica di un'attività completata
campo facoltativo
al completamento di un'attività ti invieremo una notifica tramite una richiesta GET all'URL specificato
puoi usare la stringa ‘$id’ come variabile$ide ‘$tag’ come variabile$tagcodificata per URL. Imposteremo i valori necessari prima di inviare la richiesta.
esempio:http://your-server.com/pingscript?id=$idhttp://your-server.com/pingscript?id=$id&tag=$tag
Nota: i caratteri speciali inpingback_urlvengono codificati per URL;
ad es. il carattere#viene codificato in%23 - priorityTipo: array string[] | null
_urls URL da scansionare saltando la coda
campo facoltativo
gli URL specificati in questo array verranno scansionati per primi, saltando la coda di scansione;
Nota: è necessario specificare l'URL assoluto;
è possibile specificare fino a 20 URL;
tutti gli URL nell'array devono appartenere al dominiotarget;
i sottodomini verranno ignorati a meno che il parametroallow_subdomainsnon sia impostato sutrueesempio:"priority_urls": [<br>"https://dataforseo.com/apis/serp-api",<br>"https://dataforseo.com/contact"<br>] - respectTipo: boolean | null
_sitemap rispetta la sitemap durante la scansione
campo facoltativo
impostare sutruese si vuole seguire l'ordine delle pagine indicate nella sitemap principale durante la scansione;
valore predefinito:false
Nota: se impostato sutrue, il valore diclick_depthnella risposta API sarà uguale a0;
il campomax_crawl_depthdella richiesta verrà ignorato; è possibile specificare il numero di pagine da scansionare con il parametromax_crawl_pages - returnTipo: boolean | null
_despite _timeout restituisci dati sulle pagine nonostante l'errore di timeout
campo facoltativo
setrue, i dati verranno forniti per le pagine che non sono riuscite a caricarsi entro 120 secondi e hanno risposto con un errore di timeout;
valore predefinito:false - robotsTipo: string | null
_txt _merge _mode unisci o sovrascrivi le impostazioni di robots.txt
campo facoltativo
valori possibili:merge,override;
impostare suoverridese si vogliono ignorare le restrizioni di scansione del sito e altre impostazioni di robots.txt
valore predefinito:merge;
Nota: se impostato suoverride, specificare il parametrocustom_robots_txt - startTipo: string | null
_url il primo URL da scansionare
campo facoltativo
Nota: è necessario specificare un URL assoluto
se si vuole scansionare una singola pagina, specificarne l'URL in questo campo e impostare inoltre il parametromax_crawl_pagessu1
è anche possibile usare l'endpoint live Instant Pages per ottenere dati specifici della pagina - storeTipo: boolean | null
_raw _html - supportTipo: boolean | null
_cookies supporta i cookie sulle pagine scansionate
campo facoltativo
impostare sutrueper supportare i cookie durante la scansione delle pagine
valore predefinito:false - switchTipo: boolean | null
_pool cambia pool di proxy
campo facoltativo
setrue, verranno usati pool di proxy aggiuntivi per ottenere i dati richiesti;
il parametro può essere usato se vengono impostate molte attività contemporaneamente, causando errori occasionalirate-limite/osite_unreachable - tagTipo: string | null
identificatore dell'attività definito dall'utente
campo facoltativo
il limite di caratteri è 255
puoi usare questo parametro per identificare l'attività e associarla al risultato
il valoretagspecificato si trova nell'oggettodatadella risposta - targetTipo: string
dominio di destinazione
campo obbligatorio
il nome di dominio deve essere specificato senzahttps://ewww.
se si specifica l'URL della pagina, i risultati verranno restituiti per il dominio incluso nell'URL - validateTipo: boolean | null
_micromarkup
- Tipo: object | null · Response36Afe1097B20_OnPageTaskPostResponseInfo200
- Tipo: number | null Formato: doublecost
Costo totale delle attività, USD
- Tipo: integer | nullstatus
_code codice di stato generale l'elenco completo dei codici di risposta è disponibile qui
- Tipo: string | nullstatus
_message messaggio informativo generale l'elenco completo dei messaggi informativi generali è disponibile qui
- Tipo: array (object | null)[] | nulltasks
array di attività
- Tipo: object | null · Response36Afe1097B20_OnPageTaskPostTaskInfo
- costTipo: number | null Formato: double
Costo totale delle attività, USD
- dataTipo: object | null
Contiene gli stessi parametri specificati nella richiesta POST
- propertyTipo: object | null
Name
- idTipo: string | null
identificatore dell'attività identificatore univoco dell'attività nel nostro sistema in formato UUID
- pathTipo: array (string | null)[] | null
Percorso URL
- resultTipo: object | null
array di risultati
in questo caso il valore sarànull - resultTipo: integer | null Formato: int64
_count Numero di elementi nell'array dei risultati
- statusTipo: integer | null
_code codice di stato dell'attività generato da DataForSEO, può essere compreso nell'intervallo: 10000-60000 l'elenco completo dei codici di risposta è disponibile qui
- statusTipo: string | null
_message messaggio informativo dell'attività l'elenco completo dei messaggi informativi generali è disponibile qui
- timeTipo: string | null
Tempo di esecuzione in secondi
- Tipo: integer | null Formato: int64tasks
_count Il numero di attività nell'array tasks
- Tipo: integer | null Formato: int64tasks
_error Il numero di attività nell'array tasks restituite con un errore
- Tipo: string | nulltime
tempo di esecuzione totale, secondi
- Tipo: string | nullversion
La versione corrente dell'API
application/json - 400
Impossibile elaborare la richiesta. Controlla i parametri della richiesta.
- 401
È richiesta una chiave API Felo valida.
- 402
Impossibile procedere con la richiesta perché non è soddisfatto un requisito di fatturazione.
- 403
L'account non è autorizzato a eseguire questa operazione.
- 429
È stato raggiunto un limite di richieste o di spesa.
- 502
Il servizio non è riuscito a completare la richiesta.
- 503
L'API o il servizio di fatturazione è temporaneamente non disponibile.
- 504
Si è verificato un timeout durante l'elaborazione della richiesta.
- default
Risposta di errore; le risposte passthrough upstream possono usare formati del provider
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/on_page/task_post \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"target": "dataforseo.com",
"max_crawl_pages": 10,
"load_resources": true,
"enable_javascript": true,
"custom_js": "meta = {}; meta.url = document.URL; meta;",
"tag": "some_string_123",
"pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": null
}
]
}