Website audit (standalone)
Running an audit
Request format
POST /audit/create
Request parameters
Name | Required | Description |
domain | Yes | Website for audit. Example: seranking.com |
title | No | Audit title. Up to 300 characters. By default, will have the title of domain |
group_id | No | Audit group id. By default, set to 0 (general) |
settings | No | Audit settings. Only the parameters that need changing are added (their value must be different from the default value). |
Audit settings. All parameters are optional.
Name | Description | Possible values | Default value |
schedule_type | Scanning frequency | manual week month | manual |
schedule_day | Audit start day | 1-31 | 1 |
schedule_hour | Audit start hour | 0-23 | 0 |
schedule_wdays | The days of the week on which the audit will run (from 1 to 7). | [1,2,3,4,5,6,7] | [] |
send_report | Send a report with audit results (1 – send, 0 – do not send) | 1,0 | 1 |
report_emails | List of emails to send the report to | “” | By default, the report is sent to the account email |
source_site | Сrawl all pages of the site or not (starting from the main page and following internal links). If set to (0), only the sitemap or the list of submitted pages will be crawled. | 1,0 | 1 |
source_sitemap | Crawl sitemap (sitemap.xml) | 1,0 | 1 |
source_subdomain | Crawl website subdomains. Links to the website subdomains are considered external if not set to (0) | 1,0 | 0 |
source_file | Use a custom page list | 1,0 | 0 |
check_robots | Crawl the site according to the list of current instructions in the robots.txt file | 1,0 | 1 |
ignore_params | Ignore URL parameters | 0(do not ignore), 1(all), 2(custom) | 0 |
custom_params | List of ignored parameters. Used when ignore_params=2 | utm_source, utm_medium, utm_term, utm_content, utm_campaign, cid, PHPSESSID | |
ignore_noindex | Ignore noindex | 0,1 | 0 |
ignore_nofollow | Ignore nofollow | 0,1 | 0 |
user_agent | User-Agent header value (14 possible options for Website Audit) | 0-13 | 0 (seranking bot) |
login | Login for Base HTTP authentication | ||
password | Password for Base HTTP authentication | ||
max_pages | Maximum number of pages to scan | 1-300000 | 1000 |
max_depth | Maximum scanning depth | 1-100 | 10 |
max_req | Maximum number of requests per second | 1-500 | 500 |
max_redirects | Maximum number of redirects | 1-50 | 5 |
min_title_len | Minimum title length | 1-10000 | 20 |
max_title_len | Maximum title length | 1-10000 | 65 |
min_description_len | Minimum meta description length | 1-10000 | 1 |
max_description_len | Maximum meta description length | 1-10000 | 158 |
max_size | Maximum page size in kilobytes | 1-100000 | 3000 |
min_words | Minimum number of words per page | 1-10000 | 250 |
max_h1_len | Maximum size of H1 headers | 1-10000 | 100 |
max_h2_len | Maximum size of H2 headers | 1-10000 | 100 |
allow | Only allow checking for pages with URLs starting with | ||
disallow | Disallow checking for pages with URLs starting with | ||
hide | Hide URLs and resources starting with |
Result
If successful, the server returns the ID of the audit.
Example
{
“id”: 100000222
}
Restarting an audit
Request format
POST /audit/{report_id}/recheck
Result
If successful, the server returns the 200 HTTP code.
List of audits
Request format
POST /audit/list
Request parameters
Name | Description |
limit | Number of entries in the list |
offset | Offset value |
group_id | Audit group id. By default, set to 0 (general) |
only_with_project | Only audits with a project |
search | Search filter by the title or website URL. |
date_start | Search filter by the audit start date. |
date_end | Search filter by the audit end date. |
Result
Example
{
“items”: [
{
“id”: 6193559,
“url”: “http://seranking.com”,
“title”: “seranking.com”,
“has_project”: true,
“last_update”: “2023-06-16”,
“status”: “finished”,
“stats”: {
“score”: 66,
“errors”: 73,
“warnings”: 448,
“notices”: 389,
“crawled”: 100
},
“prev_stats”: {
“score”: 76,
“errors”: 72,
“warnings”: 447,
“notices”: 387,
“crawled”: 100
}
},
…
]
“total”: 810
}
Renaming an audit
Request format
POST /audit/{report_id}/edit
Request parameters
Name | Description |
title | New audit name. Maximum 300 characters. |
Result
If successful, the server returns the 200 HTTP code.
Deleting an audit
Request format
POST /audit/{report_id}/delete
Result
If successful, the server returns the 200 HTTP code.
Audit status
Request format
GET /audit/{report_id}
or
GET /audit/?id={id}
Result
If successful, the server returns the audit status.
Example
{
“status”: “finished”,
“start_time”: “2018-06-15 12:41:13”,
“audit_time”: “2018-09-11 16:13:41”,
“total_pages”: 10,
“total_warnings”: 71,
“total_errors”: 21,
“total_passed”: 810
}
Response parameters
Name | Description |
status | canceled – the audit has been canceled; expired – the audit is expired as more than 3 months have passed since it was completed. queued – the audit is currently in a queue;processing – the audit is in progress; finished – the audit has been completed. |
start_time | Audit start time |
audit_time | Audit end time |
total_pages | Total number of scanned pages |
total_warnings | Total number of warnings |
total_errors | Total number of critical errors |
total_passed | Total number of passed checks |
Audit report
Data is available only if the audit has been completed (“is_finished”: true).
Request format
GET /audit/{report_id}/report
Result
“is_finished”: true – available data for the audit report.
“is_finished”: false – if the audit is not completed.
Example
{
“is_finished”: false
}
{
“is_finished”: true,
“domain_props”: {
“archiveOrg”: “2003-02-26”,
“backlinks”: “4”,
…
},
“sections”: [
{
“uid”: “tech_audit”,
“name”: “Название раздела”,
“props”: [
{
“code”: “_images_500_count”,
“status”: “passed”,
“name”: “Изображений с ответом 5хх”,
“value”: “0”
},
…],
…
],
“score_percent”: 79,
“total_pages”: 10,
“total_warnings”: 71,
“total_errors”: 21,
“total_passed”: 810,
“audit_time”: “2018-09-11 16:13:41”
}
Response parameters
Name | Description |
is_finished | Audit status |
domain_props | Domain information (includes a list of general domain settings) |
score_percent | Health Score (%) |
audit_time | Audit end time |
total_pages | Total number of scanned pages |
total_notices | Total number of notices |
total_warnings | Total number of warnings |
total_errors | Total number of critical errors |
total_passed | Total number of passed checks |
sections | Audit sections |
uid | Section ID |
name | Section name |
props | List of section checks |
Name | Description |
expdate | Domain expiration date |
ip | Domain IP address |
backlinks | Number of backlinks |
index_google | Number of pages in Google’s index |
index_bing | Number of pages in Bing’s index |
index_yahoo | Number of pages in Yahoo’s index |
name | Name |
status | Status (warning | error | passed) |
code | Check code |
value | Check value |
List of pages
List of pages for the specified check.
Request format
GET /audit/{report_id}/links?code={code}&limit=100&offset=10
Request parameters
Name | Required | Description |
code | Yes | Check code. For more details, refer to GET /audit/{report_id}/report |
limit | No | Total number of links. Max number of links – 1000 |
offset | No | Offset value |
Result
If successful, the server returns the list of pages for the specified audit.
Example
For urls_type: simple_urls_array
{
“total_urls”: 10,
“urls”: [
“https://seranking.com/keyword-suggestion-tool.html”,
…
],
“urls_type”: “simple_urls_array”
}
Response parameters
Name | Description |
total_urls | Total number of URLs |
urls | List of URLs. The format of the list depends on the type of check |
urls_type | List type: simple_urls_array urls_and_single_source |
Errors
HTTP code | Error message |
400 | Invalid code |
Audit history
Request format
GET /audit/{report_id}/history?date=2018-06-01
Request parameters
Name | Required | Description |
date | Yes | Date of the audit |
Example
{
“audit_time”: “2023-05-29 00:19:41”,
“domain_data”: {
“dt”: 88,
“domain”: “seranking.com”,
“domains”: “15135”,
“expdate”: “2024-09-16”,
“updated”: “2023-05-29 00:01:03”,
“backlinks”: “810981”,
“index_bing”: 545828,
“all_checked”: true,
“index_yahoo”: 400372,
“index_google”: “131473”
},
“settings”: {
“schedule_type”: “week”,
“schedule_day”: 1,
“schedule_hour”: 0,
“schedule_wday”: 1,
“schedule_wdays”: [
“1”
],
“schedule_repeat”: 0,
“schedule_repeat_interval”: 2,
“send_report”: 1,
“report_email”: “”,
“report_emails”: “”,
“source_site”: 1,
“source_sitemap”: 1,
“source_subdomain”: 0,
“source_file”: 0,
“check_robots”: 1,
“ignore_params”: 0,
“custom_params”: “utm_source, utm_medium, utm_term, utm_content, utm_campaign, cid, PHPSESSID”,
“user_agent”: 0,
“login”: “”,
“password”: “”,
“max_pages”: 500,
“max_depth”: 10,
“max_req”: 500,
“min_title_len”: 20,
“max_title_len”: 65,
“min_description_len”: 1,
“max_description_len”: 158,
“max_size”: 3000,
“min_words”: 250,
“max_redirects”: 5,
“disable_audit”: 0,
“disabled_issues”: [],
“ignore_noindex”: 0,
“ignore_nofollow”: 0,
“max_h1_len”: 100,
“max_h2_len”: 100,
“allow”: “”,
“disallow”: “”,
“hide”: “”
},
“pages_data”: {
“css_big”: 343,
“h1_long”: 1,
“http4xx”: 2,
“js_many”: 48,
“links3xx”: 308,
“image_big”: 2,
“h2_missing”: 29,
“html_ratio”: 263,
“title_long”: 30,
“amp_missing”: 1,
“css_not_min”: 1,
“extlinks3xx”: 424,
“extlinks4xx”: 10,
“less_inlink”: 1,
“redirect3xx”: 13,
“title_short”: 11,
“h1_duplicate”: 31,
“image_no_alt”: 426,
“same_title_h1”: 1,
“links_nofollow”: 335,
“low_word_count”: 11,
“hreflang_return”: 50,
“links_no_anchor”: 415,
“title_duplicate”: 2,
“description_long”: 110,
“extlinks_nofollow”: 424,
“hreflang_xdefault”: 391,
“blocked_by_noindex”: 59,
“extlinks_no_anchor”: 60,
“redirect_temporary”: 5,
“blocked_by_nofollow”: 3,
“description_duplicate”: 2
},
“totals”: {
“total_pages”: 500,
“total_warnings”: 1917,
“total_errors”: 59,
“total_passed”: 102
}
}
Response parameters
Name | Description |
audit_time | Audit end time |
domain_data | Parameters related to the domain and to the site as a whole |
settings | Settings (the parameter may be missing if the site settings were not set separately) |
pages_data | Pages check parameters |
totals | For more details, refer to GET /audit/{report_id}/report |