{"id":6296,"date":"2020-07-15T11:49:06","date_gmt":"2020-07-15T11:49:06","guid":{"rendered":"https:\/\/docs_v3.dataforseo.com\/v3\/?page_id=6296"},"modified":"2026-08-06T15:14:59","modified_gmt":"2026-08-06T15:14:59","slug":"on_page-summary","status":"publish","type":"page","link":"https:\/\/docs.dataforseo.com\/v3\/on_page-summary\/","title":{"rendered":"on_page\/summary"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]<\/p>\n<h2 id=\"get-serp-results-by-task_id\">OnPage API Summary<\/h2>\n<p>\u200c<br \/>\nUsing this function, you can get the overall information on a website as well as drill down into exact on-page issues of a website that has been scanned. As a result, you will know what functions to use for receiving detailed data for each of the found issues.<\/p>\n<p>[\/vc_column_text]    <div class=\"endpoint\">\n        <img decoding=\"async\" class=\"endpoint__icon\" src=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/checked-circle.svg\" alt=\"checked\">\n\n                    GET            <button class=\"btn-reset button-link copy-button\" data-href=\"https:\/\/api.dataforseo.com\/v3\/on_page\/summary\/$id\">\n                https:\/\/api.dataforseo.com\/v3\/on_page\/summary\/$id                <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n                    <use href=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/sprite.svg#layers\"><\/use>\n                <\/svg>\n            <\/button>\n            <\/div>\n    \t<article class=\"info-card info-card--yellow\">\n\t\t<header class=\"info-card__header\">\n\t\t\t<div class=\"info-card__icon\">\n\t\t\t\t<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<use href=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/sprite.svg#label\"><\/use>\n\t\t\t\t<\/svg>\n\t\t\t<\/div>\n\t\t\t<div class=\"info-card__title\">Pricing<\/div>\n\t\t<\/header>\n\t\t<div class=\"info-card__content\">\n\t\t\t<p> Your account will be charged only for posting a task.<br \/>\nThe cost can be calculated on the <a title=\"Pricing\" href=\"https:\/\/dataforseo.com\/pricing\/on-page\/onpage-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing<\/a> page.<\/p>\n\t\t<\/div>\n\t<\/article>\n\t[vc_column_text]<\/p>\n<p><strong>Description of the fields for sending a request:<\/strong><br \/>\n<div class=\"dfs-doc-container dfs-doc-request\"><table><thead><tr><th>Field name<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr data-doc-id=\"id\"><td><code>id<\/code><\/td><td>string<\/td><td><p><em>task identifier<\/em><br><strong>required field<\/strong><br>you can get this ID in the response of the <a href=\"\/v3\/on_page\/task_post\/\" target=\"_blank\" rel=\"noopener noreferrer\">Task POST<\/a> endpoint<br>example:<br>\u201c07131248-1535-0216-1000-17384017ad04\u201d<\/p><\/td><\/tr><\/tbody><\/table><\/div><br \/>\n\u200c\u200c\u200c\u200cAs a response of the API server, you will receive <a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON\">JSON<\/a>-encoded data containing a <code>tasks<\/code> array with the information specific to the set tasks.<\/p>\n<p><strong>Description of the fields in the results array:<\/strong><br \/>\n<div class=\"dfs-doc-container dfs-doc-response\"><div class=\"api-block-main\"><div class=\"api-section\"><table><thead><tr><th>Field name<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr data-doc-id=\"version\"><td><code>version<\/code><\/td><td>string<\/td><td><p><em>the current version of the API<\/em><\/p><\/td><\/tr><tr data-doc-id=\"status_code\"><td><code>status_code<\/code><\/td><td>integer<\/td><td><p><i>general status code<\/i><br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><br><strong>Note:<\/strong> we strongly recommend designing a necessary system for handling related exceptional or error conditions<\/p><\/td><\/tr><tr data-doc-id=\"status_message\"><td><code>status_message<\/code><\/td><td>string<\/td><td><p><em>general informational message<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"time\"><td><code>time<\/code><\/td><td>string<\/td><td><p><em>execution time, seconds<\/em><\/p><\/td><\/tr><tr data-doc-id=\"cost\"><td><code>cost<\/code><\/td><td>float<\/td><td><p><em>total <i>tasks<\/i> cost, USD<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks_count\"><td><code>tasks_count<\/code><\/td><td>integer<\/td><td><p><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks_error\"><td><code>tasks_error<\/code><\/td><td>integer<\/td><td><p><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array returned with an error<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks\"><td><strong><code>tasks<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of tasks<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-id\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>id<\/code><\/td><td>string<\/td><td><p><em>task identifier<\/em><br><strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong><\/p><\/td><\/tr><tr data-doc-id=\"tasks-status_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>status_code<\/code><\/td><td>integer<\/td><td><p><em>status code of the task<\/em><br>generated by DataForSEO; can be within the following range: 10000-60000<br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-status_message\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>status_message<\/code><\/td><td>string<\/td><td><p><em>informational message of the task<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-time\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>time<\/code><\/td><td>string<\/td><td><p><em>execution time, seconds<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-cost\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>cost<\/code><\/td><td>float<\/td><td><p><em>cost of the task, USD<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result_count\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>result_count<\/code><\/td><td>integer<\/td><td><p><em>number of elements in the <code>result<\/code> array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-path\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>path<\/code><\/td><td>array<\/td><td><p><em>URL path<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-data\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>data<\/code><\/td><td>object<\/td><td><p><em>contains the same parameters that you specified in the POST request<br><\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>result<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of results<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-crawl_progress\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>crawl_progress<\/code><\/td><td>string<\/td><td><p><em>status of the crawling session<\/em><br>possible values: <code>in_progress<\/code>, <code>finished<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-crawl_status\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>crawl_status<\/code><\/strong><\/td><td>object<\/td><td><p><em>details of the crawling session<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-crawl_status-max_crawl_pages\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>max_crawl_pages<\/code><\/td><td>integer<\/td><td><p><em>maximum number of pages to crawl<\/em><br>indicates the <code>max_crawl_pages<\/code> limit you specified when setting a task<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-crawl_status-pages_in_queue\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>pages_in_queue<\/code><\/td><td>integer<\/td><td><p><em>number of pages that are currently in the crawling queue<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-crawl_status-pages_crawled\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>pages_crawled<\/code><\/td><td>integer<\/td><td><p><em>number of crawled pages<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-crawl_gateway_address\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>crawl_gateway_address<\/code><\/td><td>string<\/td><td><p><em>crawler ip address<\/em><br>displays the IP address used by the crawler to initiate the current crawling session<br>you can find the full list of IPs used by our crawler in the <a href=\"\/v3\/on_page\/overview\" target=\"_blank\" rel=\"noopener noreferrer\">Overview section<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-crawl_stop_reason\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>crawl_stop_reason<\/code><\/td><td>string<\/td><td><p><em>reason why the crawling stopped<\/em><br>information about the reason why the crawling process stopped;<br>possible values:<br><code>limit_exceeded<\/code> - the limit set in the <code>max_crawl_pages<\/code> was exceeded;<br><code>empty_queue<\/code> - all URLs in the queue were crawled;<br><code>force_stopped<\/code> - the crawling process was halted using the<a href=\"\/v3\/on_page\/force_stop\" target=\"_blank\" rel=\"noopener noreferrer\"> On Page API Force Stop<\/a> function;<br><code>unexpected_exception<\/code> - an internal error was encountered while crawling the <code>target<\/code>, contact support for more info<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>domain_info<\/code><\/strong><\/td><td>object<\/td><td><p><em>domain-wide info<\/em><br>on-page information about the target domain and crawling process<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-name\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>name<\/code><\/td><td>string<\/td><td><p><em>domain name<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-cms\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>cms<\/code><\/td><td>string<\/td><td><p><em>content management system<\/em><br>content management system identified on a website<br>the content of_the <code>generator<\/code>_meta tag<br>the data is taken from the first random page that returns the 200 response code<br>if our crawler was unable to identify the cms, the value would be <code>null<\/code>n<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-ip\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>ip<\/code><\/td><td>string<\/td><td><p><em>domain ip address<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-server\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>server<\/code><\/td><td>string<\/td><td><p><em>website server<\/em><br>the version of the server detected on a website<br>the content of the <code class=\"prettyprint\">server<\/code> header<br>the information is taken from the first page which response code is 200<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-crawl_start\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>crawl_start<\/code><\/td><td>string<\/td><td><p><em>time when the crawling start<\/em><br>date and time when the website was sent for crawling<br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-crawl_end\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>crawl_end<\/code><\/td><td>string<\/td><td><p><em>time when the crawling ended<\/em><br>date and time when the crawling was finished<br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code><br><strong>Note:<\/strong> informative only if <code>\"crawl_progress\"<\/code> is <code>\"finished\"<\/code><br>if <code>\"crawl_progress\"<\/code> is <code>in_progress<\/code>, the value will be <code>null<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-extended_crawl_status\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>extended_crawl_status<\/code><\/td><td>string<\/td><td><p><em>crawl status and errors<\/em><br>indicates the reason why a website was not crawled;<br>can take the following values:<br><code>no_errors<\/code> - no crawling errors were detected;<br><code>site_unreachable<\/code> - our crawler could not reach a website and thus was not able to obtain a status code;<br><code>invalid_page_status_code<\/code> - status code of the first crawled page >= 400;<br><code>forbidden_meta_tag<\/code> - the first crawled page contains the <meta robots=\"noindex\"> tag;<br><code>forbidden_robots<\/code> - robots.txt forbids crawling the page;<br><code>forbidden_http_header<\/code> - HTTP header of the page contains \"X-Robots-Tag: noindex\" ;<br><code>too_many_redirects<\/code> - the first crawled page has more than 10 redirects;<br><code>unknown<\/code> - the reason is unknown<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-ssl_info\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>ssl_info<\/code><\/strong><\/td><td>object<\/td><td><p><em>ssl certificate info<\/em><br>information about the Secure Sockets Layer protocol detected on a website<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-ssl_info-valid_certificate\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>valid_certificate<\/code><\/td><td>boolean<\/td><td><p><em>ssl certificate validity<\/em><br>indicates whether the ssl certificate detected on a website is not expired, suspended, revoked or invalid<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-ssl_info-certificate_issuer\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>certificate_issuer<\/code><\/td><td>string<\/td><td><p><em>ssl certificate authority<\/em><br>the entity that issued the detected ssl certificate<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-ssl_info-certificate_subject\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>certificate_subject<\/code><\/td><td>string<\/td><td><p><em>ssl certificate subject<\/em><br>the entity associated with the public key<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-ssl_info-certificate_version\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>certificate_version<\/code><\/td><td>string<\/td><td><p><em>ssl certificate version<\/em><br>indicates the version of <a href=\"https:\/\/en.wikipedia.org\/wiki\/X.509\" target=\"_blank\" rel=\"noopener noreferrer\">X.509<\/a> used by an ssl certificate<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-ssl_info-certificate_hash\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>certificate_hash<\/code><\/td><td>string<\/td><td><p><em>ssl certificate hash<\/em><br>the version of the ssl certificate's hash function<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-ssl_info-certificate_expiration_date\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>certificate_expiration_date<\/code><\/td><td>string<\/td><td><p><em>ssl certificate expiration date<\/em><br>the date and time when the ssl certificate expires<br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>checks<\/code><\/strong><\/td><td>object<\/td><td><p><em>website checks<\/em><br>other on-page check-ups related to the website<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-sitemap\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>sitemap<\/code><\/td><td>boolean<\/td><td><p><em>website sitemap<\/em><br>indicates whether a sitemap was detected on a target website<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-robots_txt\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>robots_txt<\/code><\/td><td>boolean<\/td><td><p><em>robots.txt file<\/em><br>indicates whether a target website has a robots.txt file<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-start_page_deny_flag\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>start_page_deny_flag<\/code><\/td><td>boolean<\/td><td><p><em>deny flag on a start page<\/em><br>indicates whether a start page on a target website has a <code>[F]<\/code> flag which causes the server to return a 403 Forbidden status code to the client<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-ssl\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>ssl<\/code><\/td><td>boolean<\/td><td><p><em>ssl certificate<\/em><br>indicates whether a target website has an SSL certificate<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-http2\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>http2<\/code><\/td><td>boolean<\/td><td><p><em>HTTP\/2 protocol<\/em><br>indicates whether a target website is using the HTTP\/2 protocol<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-test_canonicalization\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>test_canonicalization<\/code><\/td><td>boolean<\/td><td><p><em>canonical tags<\/em><br>the checkup of the server behavior when our crawler tries to access the website via IP;<br>is <code>true<\/code> if the <code>canonicalization_status_code<\/code> returns <code>301<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-test_www_redirect\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>test_www_redirect<\/code><\/td><td>boolean<\/td><td><p><em>www to non-www redirect<\/em><br>is <code>true<\/code> if the www to non-www or non-www to www redirect is implemented by the requested domain<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-test_hidden_server_signature\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>test_hidden_server_signature<\/code><\/strong><\/td><td>object<\/td><td><p><em>hidden server signature<\/em><br>indicates whether the server signature is hidden from crawlers<br>if the value is <code>false<\/code>, our crawler was able to access the website's server signature<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-test_hidden_server_signature-test_page_not_found\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>test_page_not_found<\/code><\/td><td>boolean<\/td><td><p><em>404 status for a page that cannot be found<\/em><br>indicates whether a target responds with a 404 status code when the requested resource cannot be found<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-test_hidden_server_signature-test_directory_browsing\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>test_directory_browsing<\/code><\/td><td>boolean<\/td><td><p><em>directory browsing not accessible<\/em><br>indicates whether a target website doesn't allow accessing a file directory without authentication<br>if the directory is not accessible, the value is <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-checks-test_hidden_server_signature-test_https_redirect\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>test_https_redirect<\/code><\/td><td>boolean<\/td><td><p><em>http requests are redirected to https<\/em><br>indicates whether a target website redirects http requests to the https version;<br>if the website's home page redirects http requests to https, the value is <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-total_pages\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>total_pages<\/code><\/td><td>integer<\/td><td><p><em>total crawled pages<\/em><br>the total number of crawled pages<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-total_uncrawlable_resources\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>total_uncrawlable_resources<\/code><\/td><td>integer<\/td><td><p><em>total uncrawlable resources<\/em><br>the total number of resources that could not be crawled;<br>the resource is considered uncrawlable when the actual content type of the resource doesn't match the content type expected by the crawler<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-page_not_found_status_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>page_not_found_status_code<\/code><\/td><td>integer<\/td><td><p><em>status code returned by a non-existent page<\/em><br>in most cases, it is recommended a server returns a 404 response code<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-canonicalization_status_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>canonicalization_status_code<\/code><\/td><td>integer<\/td><td><p><em>status code returned by a canonicalized page<\/em><br>the checkup of the server behavior when our crawler tries to access the website via IP;<br>in most cases, it is recommended that canonicalized pages respond with a <code>301<\/code> or <code>302<\/code> status code<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-directory_browsing_status_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>directory_browsing_status_code<\/code><\/td><td>integer<\/td><td><p><em>status code returned by a directory<\/em><br>the status code returned by a directory page on a target website<br>in most cases, it is recommended that directories respond with a <code>403<\/code> or <code>401<\/code> status code<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-www_redirect_status_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>www_redirect_status_code<\/code><\/td><td>integer<\/td><td><p><em>redirect status code<\/em><br>the status code of the www to non-www redirect<br>in most cases, it is recommended that redirect returns a <code>301<\/code> status code<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-domain_info-main_domain\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>main_domain<\/code><\/td><td>string<\/td><td><p><em>root domain name<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>page_metrics<\/code><\/strong><\/td><td>object<\/td><td><p><em>page-specific info<\/em><br>metrics information on the target website pages<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-links_external\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>links_external<\/code><\/td><td>integer<\/td><td><p><em>number of external links<\/em><br>the number of links pointing to other websites<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-links_internal\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>links_internal<\/code><\/td><td>integer<\/td><td><p><em>number of internal links<\/em><br>the number of links pointing to other pages within the target website<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-duplicate_title\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>duplicate_title<\/code><\/td><td>integer<\/td><td><p><em>number of pages with duplicate titles<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-duplicate_description\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>duplicate_description<\/code><\/td><td>integer<\/td><td><p><em>number of pages with duplicate descriptions<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-duplicate_content\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>duplicate_content<\/code><\/td><td>integer<\/td><td><p><em>number of pages with duplicate content<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-broken_links\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>broken_links<\/code><\/td><td>integer<\/td><td><p><em>number of broken links<\/em><br>number of broken links across all crawled pages on a target website<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-broken_resources\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>broken_resources<\/code><\/td><td>integer<\/td><td><p><em>number of broken resources<\/em><br>the number of images and other resources with broken links<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-links_relation_conflict\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>links_relation_conflict<\/code><\/td><td>integer<\/td><td><p><em>number of links present on the target website that may have a conflict<\/em><br>for example, if <code>\"links_relation_conflict\": 2<\/code>, the target website is referring to the same source by at least one internal link with the <code>rel=\"nofollow\"<\/code> attribute <strong>and<\/strong> by at least one dofollow link<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-redirect_loop\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>redirect_loop<\/code><\/td><td>integer<\/td><td><p><em>number of redirect chains that start and end at the same URL<\/em><br>number of redirect chains where the destination URL redirects back to the original URL<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-onpage_score\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>onpage_score<\/code><\/td><td>float<\/td><td><p><em>shows how website is optimized on a 100-point scale<\/em><br>this field shows how website is optimized considering critical on-page issues and warnings detected;<br><code>100<\/code> is the highest possible score that means website does not have any critical on-page issues and important warnings;<br><strong>note<\/strong> that this value depends on the number of crawled pages;<br>learn more about how the metric is calculated in <a href=\"https:\/\/dataforseo.com\/help-center\/how-is-onpage-score-of-a-domain-calculated\" target=\"_blank\" rel=\"noopener noreferrer\">this help center article<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-non_indexable\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>non_indexable<\/code><\/td><td>integer<\/td><td><p><em>number of non-indexable pages<\/em><br>number of pages that are blocked from being indexed by Google and other search engines by robots.txt, HTTP headers, or meta tags settings;<br>you can receive a list of non-indexable URLs using <a href=\"https:\/\/docs.dataforseo.com\/v3\/on_page\/non_indexable\/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">this endpoint<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>checks<\/code><\/strong><\/td><td>object<\/td><td><p><em>page-specific on-page check-ups<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-canonical\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>canonical<\/code><\/td><td>integer<\/td><td><p><em>number of canonical pages<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-duplicate_meta_tags\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>duplicate_meta_tags<\/code><\/td><td>integer<\/td><td><p><em>number of pages with duplicate meta tags<\/em><br>the number of pages with more than one meta tag of the same type;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_description\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_description<\/code><\/td><td>integer<\/td><td><p><em>number of pages with no description<\/em><br>the number of pages with an empty or absent <code>description<\/code> meta tag;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-frame\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>frame<\/code><\/td><td>integer<\/td><td><p><em>number of pages with frames<\/em><br>the number of pages that contain <code>frame<\/code>, <code>iframe<\/code>, <code>frameset<\/code> tags<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-large_page_size\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>large_page_size<\/code><\/td><td>integer<\/td><td><p><em>number of heavy pages<\/em><br>the number of pages that have a size exceeding 1 megabyte;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-irrelevant_description\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>irrelevant_description<\/code><\/td><td>integer<\/td><td><p><em>number of pages with irrelevant description<\/em><br>the number of pages with <code>description<\/code> tags that are irrelevant to the content of a page;<br>the relevance threshold is <code>0.2<\/code>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-irrelevant_meta_keywords\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>irrelevant_meta_keywords<\/code><\/td><td>integer<\/td><td><p><em>number of pages with irrelevant meta keywords<\/em><br>the number of pages with <code>keywords<\/code> tags that are irrelevant to the content of a page;<br>the relevance threshold is <code>0.6<\/code>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_https\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_https<\/code><\/td><td>integer<\/td><td><p><em>number of pages with the https protocol<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_http\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_http<\/code><\/td><td>integer<\/td><td><p><em>number of pages with the http protocol<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-title_too_long\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>title_too_long<\/code><\/td><td>integer<\/td><td><p><em>number of pages with long titles<\/em><br>the number of pages with the content of <code>title<\/code> tag exceeding 65 characters;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-low_content_rate\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>low_content_rate<\/code><\/td><td>integer<\/td><td><p><em>number of pages with a low content rate<\/em><br>number of pages, which have the <code>plaintext size<\/code> to <code>page size<\/code> ratio of less than 0.1 or more than 0.9;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-small_page_size\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>small_page_size<\/code><\/td><td>integer<\/td><td><p><em>number of small pages<\/em><br>the number of pages that have the size smaller than 1024 bytes;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_h1_tag\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_h1_tag<\/code><\/td><td>integer<\/td><td><p><em>number of pages with empty or absent h1 tags<\/em><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-recursive_canonical\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>recursive_canonical<\/code><\/td><td>integer<\/td><td><p><em>recursive canonical error<\/em><br>indicates the number of pages that contain <code>rel=\"canonical\"<\/code> tag to another page, which in turn, refers back to the initial page<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_favicon\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_favicon<\/code><\/td><td>integer<\/td><td><p><em>number of pages with no favicon<\/em><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_image_alt\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_image_alt<\/code><\/td><td>integer<\/td><td><p><em>number of pages containing images without <code>alt<\/code> tags<\/em><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_image_title\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_image_title<\/code><\/td><td>integer<\/td><td><p><em>number of pages containing images without <code>title<\/code> tags<\/em><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-seo_friendly_url\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>seo_friendly_url<\/code><\/td><td>integer<\/td><td><p><em>number of pages with seo-frienldy urls<\/em><br>the \u2018SEO-friendliness\u2019 of a page URL is checked by four parameters:<br>\u2013 the length of the relative path is less than 120 characters<br>\u2013 no special characters<br>\u2013 no dynamic parameters<br>\u2013 relevance of the URL to the page<br>if at least one of them is failed then such URL is considered as not \u2018SEO-friendly\u2019<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-seo_friendly_url_characters_check\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>seo_friendly_url_characters_check<\/code><\/td><td>integer<\/td><td><p><em>url characters check-up<\/em><br>the number of pages with URLs containing only uppercase and lowercase Latin characters, digits and dashes<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-seo_friendly_url_dynamic_check\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>seo_friendly_url_dynamic_check<\/code><\/td><td>integer<\/td><td><p><em>url dynamic check-up<\/em><br>the number of pages with no dynamic parameters in the url<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-seo_friendly_url_keywords_check\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>seo_friendly_url_keywords_check<\/code><\/td><td>integer<\/td><td><p><em>url keyword check-up<\/em><br>the number of pages that have URLs consistent with the <code>title<\/code> meta tag<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-seo_friendly_url_relative_length_check\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>seo_friendly_url_relative_length_check<\/code><\/td><td>integer<\/td><td><p><em>url leghth check-up<\/em><br>the number of pages with URLs no longer than 120 characters<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-title_too_short\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>title_too_short<\/code><\/td><td>integer<\/td><td><p><em>pages with short titles<\/em><br>the number of pages that have titles shorter than 30 characters;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_content_encoding\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_content_encoding<\/code><\/td><td>integer<\/td><td><p><em>pages with no content encoding<\/em><br>the number of pages with no <a href=\"http:\/\/www.iana.org\/assignments\/http-parameters\/http-parameters.xhtml#content-coding\" target=\"_blank\" rel=\"noopener noreferrer\">compression algorithm<\/a> of the content<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-high_waiting_time\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>high_waiting_time<\/code><\/td><td>integer<\/td><td><p><em>pages with high waiting time<\/em><br>the number of pages with waiting time (aka Time to First Byte) exceeding 1.5 seconds<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-high_loading_time\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>high_loading_time<\/code><\/td><td>integer<\/td><td><p><em>pages with high loading time<\/em><br>the number of pages with loading time exceeding 3 seconds<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_redirect\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_redirect<\/code><\/td><td>integer<\/td><td><p><em>pages with redirects<\/em><br>the number of pages with <code>3XX<\/code> redirects to other pages<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_broken\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_broken<\/code><\/td><td>integer<\/td><td><p><em>broken pages<\/em><br>the number of pages with response codes less than <code>200<\/code> or greater than <code>400<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_4xx_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_4xx_code<\/code><\/td><td>integer<\/td><td><p><em>pages with <code>4xx<\/code> status codes<\/em><br>the number of pages with <code>4xx<\/code> response codes<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_5xx_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_5xx_code<\/code><\/td><td>integer<\/td><td><p><em>pages with <code>5xx<\/code> status codes<\/em><br>the number of pages with <code>5xx<\/code> response codes<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_www\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_www<\/code><\/td><td>integer<\/td><td><p><em>pages with www<\/em><br>the number of pages on a <code>www<\/code> subdomain<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_doctype\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_doctype<\/code><\/td><td>integer<\/td><td><p><em>pages with no doctype<\/em><br>the number of pages without the<code>DOCTYPE<\/code> declaration<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_encoding_meta_tag\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_encoding_meta_tag<\/code><\/td><td>integer<\/td><td><p><em>pages with no meta tag encoding<\/em><br>the number of pages without <code>Content-Type<\/code>;<br>informative only if the encoding is not explicit in the <code>Content-Type<\/code> header;<br>for example: <code>Content-Type: \"text\/html; charset=utf8\"<\/code>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-high_content_rate\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>high_content_rate<\/code><\/td><td>integer<\/td><td><p><em>pages with high content rate<\/em><br>number of pages, which have the <code>plaintext size<\/code> to <code>page size<\/code> ratio of more than 0.9;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-low_character_count\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>low_character_count<\/code><\/td><td>integer<\/td><td><p><em>pages with low character count<\/em><br>the number of pages containing less than 1024 characters;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-high_character_count\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>high_character_count<\/code><\/td><td>integer<\/td><td><p><em>pages with high character count<\/em><br>the number of pages containing more than 256,000 characters;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-low_readability_rate\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>low_readability_rate<\/code><\/td><td>integer<\/td><td><p><em>pages with low readability rate<\/em><br>the number of pages that scored less than 15 points on the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Flesch%E2%80%93Kincaid_readability_tests\" target=\"_blank\" rel=\"noopener noreferrer\">Flesch\u2013Kincaid readability test<\/a>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-irrelevant_title\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>irrelevant_title<\/code><\/td><td>integer<\/td><td><p><em>pages with irrelevant titles<\/em><br>the number of pages with <code>title<\/code> tags that are irrelevant to the content of the page<br>the relevance threshold is <code>0.3<\/code><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-deprecated_html_tags\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>deprecated_html_tags<\/code><\/td><td>integer<\/td><td><p><em>pages with deprecated tags<\/em><br>the number of pages with <a href=\"https:\/\/www.w3docs.com\/learn-html\/deprecated-html-tags.html\" target=\"_blank\" rel=\"noopener noreferrer\">deprecated HTML tags<\/a>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-duplicate_title_tag\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>duplicate_title_tag<\/code><\/td><td>integer<\/td><td><p><em>pages with more than one title tag<\/em><br>the number of pages that have more than one <code>title<\/code> tag;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-no_title\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>no_title<\/code><\/td><td>integer<\/td><td><p><em>pages with no title<\/em><br>the number of pages with empty or absent <code>title<\/code> tags;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-flash\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>flash<\/code><\/td><td>integer<\/td><td><p><em>pages with flash<\/em><br>the number of pages with flash elements<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-lorem_ipsum\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>lorem_ipsum<\/code><\/td><td>integer<\/td><td><p><em>pages with lorem ipsum<\/em><br>the number of pages with <em>lorem ipsum<\/em> content;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-has_misspelling\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>has_misspelling<\/code><\/td><td>integer<\/td><td><p><em>pages with misspelling<\/em><br>the number of pages with <em>spelling<\/em> mistakes<br>informative if the <code>check_spell<\/code> was set to <code>true<\/code> in the POST array<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-canonical_to_broken\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>canonical_to_broken<\/code><\/td><td>integer<\/td><td><p><em>canonical pages pointing to broken pages<\/em><br>the number of pages with a canonical link element pointing to a page that responds with a 404 error<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-canonical_to_redirect\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>canonical_to_redirect<\/code><\/td><td>integer<\/td><td><p><em>canonical pages pointing to pages that redirect elsewhere<\/em><br>the number of pages with a canonical link element pointing to a page that responds with a 3XX redirect<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-has_links_to_redirects\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>has_links_to_redirects<\/code><\/td><td>integer<\/td><td><p><em>pages pointing to pages that redirect elsewhere<\/em><br>the number of pages pointing to a page that responds with a 3XX redirect<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_orphan_page\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_orphan_page<\/code><\/td><td>integer<\/td><td><p><em>pages with no internal links pointing to them<\/em><br>the number of pages with no reference from other pages of the domain<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-has_meta_refresh_redirect\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>has_meta_refresh_redirect<\/code><\/td><td>integer<\/td><td><p><em>pages with meta refresh redirect<\/em><br>the number of pages with <meta http-equiv=\"refresh\"> tag that instructs a browser to load another page after a specified time span;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-meta_charset_consistency\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>meta_charset_consistency<\/code><\/td><td>integer<\/td><td><p><em>pages with meta charset inconsistency<\/em><br>the number of pages with charset encoding not matching the actual charset of the pages<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-size_greater_than_3mb\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>size_greater_than_3mb<\/code><\/td><td>integer<\/td><td><p><em>pages with size larger than 3 MB<\/em><br>the number of pages with size exceeding 3 MB;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-has_html_doctype\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>has_html_doctype<\/code><\/td><td>integer<\/td><td><p><em>pages with HTML doctype declaration<\/em><br>the number of pages with the <code>DOCTYPE<\/code> declaration<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-https_to_http_links\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>https_to_http_links<\/code><\/td><td>integer<\/td><td><p><em>pages with HTTPS protocol that link to pages with HTTP protocol<\/em><br>the number of pages with secure HTTPS protocol that link to pages with unsecure HTTP protocol;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-has_render_blocking_resources\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>has_render_blocking_resources<\/code><\/td><td>integer<\/td><td><p><em>pages with render-blocking resources<\/em><br>the number of pages with render-blocking resources;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-redirect_chain\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>redirect_chain<\/code><\/td><td>integer<\/td><td><p><em>pages with multiple redirects<\/em><br>the number of pages with at least two redirects between the original page and the destination page<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-canonical_chain\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>canonical_chain<\/code><\/td><td>integer<\/td><td><p><em>pages with canonical pointing to a page that has a canonical pointing elsewhere<\/em><br>the number of pages with a canonical link element pointing to a page that has a canonical pointing to a different page<br>e.g. page a is canonicalized to page b, which is canonicalized to page c<\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-page_metrics-checks-is_link_relation_conflict\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>is_link_relation_conflict<\/code><\/td><td>integer<\/td><td><p><em>pages on the target website that may have a link relation conflict<\/em><br>for example, if <code>\"is_link_relation_conflict\": 1<\/code>, the target website has 1 page receiving at least one internal link with the <code>rel=\"nofollow\"<\/code> attribute <strong>and<\/strong> at least one dofollow link<\/p><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><br \/>\n\u200c\u200c[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<blockquote><p>Instead of \u2018login\u2019 and \u2018password\u2019 use your credentials from https:\/\/app.dataforseo.com\/api-access<\/p><\/blockquote><div id=\"curl\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-bash hljs\"># Instead of &#039;login&#039; and &#039;password&#039; use your credentials from https:\/\/app.dataforseo.com\/api-access \r\nlogin=&quot;login&quot; \r\npassword=&quot;password&quot; \r\ncred=&quot;$(printf ${login}:${password} | base64)&quot; \r\nid=&quot;07281559-0695-0216-0000-c269be8b7592&quot; \r\ncurl --location --request GET &quot;https:\/\/api.dataforseo.com\/v3\/on_page\/summary\/${id}&quot; \r\n--header &quot;Authorization: Basic ${cred}&quot;  \r\n--header &quot;Content-Type: application\/json&quot; <\/code><\/pre><\/div><\/div><div id=\"php\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-php hljs\">&lt;?php\r\n\/\/ You can download this file from here https:\/\/api.dataforseo.com\/v3\/_examples\/php\/_php_RestClient.zip\r\nrequire(&#039;RestClient.php&#039;);\r\n$api_url = &#039;https:\/\/api.dataforseo.com\/&#039;;\r\n\/\/ Instead of &#039;login&#039; and &#039;password&#039; use your credentials from https:\/\/app.dataforseo.com\/api-access\r\n$client = new RestClient($api_url, null, &#039;login&#039;, &#039;password&#039;);\r\n\r\ntry {\r\n   $result = array();\r\n   \/\/ using this method you can get summary for task\r\n   \/\/ GET \/v3\/on_page\/summary\/$id\r\n   $id = &quot;07281559-0695-0216-0000-c269be8b7592&quot;;\r\n   $result[] = $client-&gt;get(&#039;\/v3\/on_page\/summary\/&#039; . $id);\r\n   print_r($result);\r\n   \/\/ do something with result\r\n} catch (RestClientException $e) {\r\n   echo &quot;n&quot;;\r\n   print &quot;HTTP code: {$e-&gt;getHttpCode()}n&quot;;\r\n   print &quot;Error code: {$e-&gt;getCode()}n&quot;;\r\n   print &quot;Message: {$e-&gt;getMessage()}n&quot;;\r\n   print  $e-&gt;getTraceAsString();\r\n   echo &quot;n&quot;;\r\n}\r\n$client = null;\r\n?&gt;<\/code><\/pre><\/div><\/div><div id=\"javascript\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-javascript hljs\">const task_id = &#039;02231934-2604-0066-2000-570459f04879&#039;;\r\n\r\nconst axios = require(&#039;axios&#039;);\r\n\r\naxios({\r\n  method: &#039;get&#039;,\r\n  url: &#039;https:\/\/api.dataforseo.com\/v3\/on_page\/summary\/&#039; + task_id,\r\n  auth: {\r\n    username: &#039;login&#039;,\r\n    password: &#039;password&#039;\r\n  },\r\n  headers: {\r\n    &#039;content-type&#039;: &#039;application\/json&#039;\r\n  }\r\n}).then(function (response) {\r\n  var result = response[&#039;data&#039;][&#039;tasks&#039;];\r\n  \/\/ Result data\r\n  console.log(result);\r\n}).catch(function (error) {\r\n  console.log(error);\r\n});<\/code><\/pre><\/div><\/div><div id=\"python\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-python hljs\">from random import Random\r\nfrom client import RestClient\r\n# You can download this file from here https:\/\/api.dataforseo.com\/v3\/_examples\/python\/_python_Client.zip\r\nclient = RestClient(&quot;login&quot;, &quot;password&quot;)\r\n\r\n# using this method you can get summary for task\r\n# GET \/v3\/on_page\/summary\/$id\r\nid = &quot;07281559-0695-0216-0000-c269be8b7592&quot;\r\nresponse = client.get(&quot;\/v3\/on_page\/summary\/&quot; + id)\r\n# you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\nif response[&quot;status_code&quot;] == 20000:\r\n    print(response)\r\n    # do something with result\r\nelse:\r\n    print(&quot;error. Code: %d Message: %s&quot; % (response[&quot;status_code&quot;], response[&quot;status_message&quot;]))<\/code><\/pre><\/div><\/div><div id=\"csharp\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-csharp hljs\">using Newtonsoft.Json;\r\nusing System;\r\nusing System.Net.Http;\r\nusing System.Net.Http.Headers;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace DataForSeoDemos\r\n{\r\n    public static partial class Demos\r\n    {\r\n        public static async Task on_page_summary()\r\n        {\r\n            var httpClient = new HttpClient\r\n            {\r\n                BaseAddress = new Uri(&quot;https:\/\/api.dataforseo.com\/&quot;),\r\n                \/\/ Instead of &#039;login&#039; and &#039;password&#039; use your credentials from https:\/\/app.dataforseo.com\/api-access\r\n                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue(&quot;Basic&quot;, Convert.ToBase64String(Encoding.ASCII.GetBytes(&quot;login:password&quot;))) }\r\n            };\r\n            \/\/ using this method you can get summary for task\r\n            \/\/ GET \/v3\/on_page\/summary\/$id\r\n            \/\/ use the task identifier that you recieved upon setting a task\r\n            string id = &quot;07281559-0695-0216-0000-c269be8b7592&quot;;\r\n            var taskGetResponse = await httpClient.GetAsync(&quot;\/v3\/on_page\/summary\/&quot; + id);\r\n            var result = JsonConvert.DeserializeObject(await taskGetResponse.Content.ReadAsStringAsync());\r\n            if (result.tasks != null)\r\n            {\r\n                foreach (var taskResult in result.tasks)\r\n                {\r\n                    \/\/ you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\n                    if (taskResult.status_code &gt;= 40000 || taskResult.result == null)\r\n                        Console.WriteLine($&quot;error. Code: {taskResult.status_code} Message: {taskResult.status_message}&quot;);\r\n                    else\r\n                        \/\/ do something with result\r\n                        Console.WriteLine(String.Join(Environment.NewLine, taskResult));\r\n                }\r\n            }\r\n            else\r\n                Console.WriteLine($&quot;error. Code: {result.status_code} Message: {result.status_message}&quot;);\r\n        }\r\n    }\r\n}<\/code><\/pre><\/div><\/div><blockquote><p>The above command returns JSON structured like this:<\/p><\/blockquote><div class=\"example example--json\"><div class=\"example__content\"><div class=\"example__code example__code-json\"><pre><code class=\"language-json hljs\">{\r\n  &quot;version&quot;: &quot;0.1.20221214&quot;,\r\n  &quot;status_code&quot;: 20000,\r\n  &quot;status_message&quot;: &quot;Ok.&quot;,\r\n  &quot;time&quot;: &quot;1.0297 sec.&quot;,\r\n  &quot;cost&quot;: 0,\r\n  &quot;tasks_count&quot;: 1,\r\n  &quot;tasks_error&quot;: 0,\r\n  &quot;tasks&quot;: [\r\n    {\r\n      &quot;id&quot;: &quot;05021654-1535-0216-0000-bb170c8efb5b&quot;,\r\n      &quot;status_code&quot;: 20000,\r\n      &quot;status_message&quot;: &quot;Ok.&quot;,\r\n      &quot;time&quot;: &quot;1.0125 sec.&quot;,\r\n      &quot;cost&quot;: 0,\r\n      &quot;result_count&quot;: 1,\r\n      &quot;path&quot;: [\r\n        &quot;v3&quot;,\r\n        &quot;on_page&quot;,\r\n        &quot;summary&quot;,\r\n        &quot;05021654-1535-0216-0000-bb170c8efb5b&quot;\r\n      ],\r\n      &quot;data&quot;: {\r\n        &quot;api&quot;: &quot;on_page&quot;,\r\n        &quot;function&quot;: &quot;summary&quot;,\r\n        &quot;target&quot;: &quot;dataforseo.com&quot;,\r\n        &quot;max_crawl_pages&quot;: 1000,\r\n        &quot;enable_www_redirect_check&quot;: &quot;true&quot;\r\n      },\r\n      &quot;result&quot;: [\r\n        {\r\n          &quot;crawl_progress&quot;: &quot;in_progress&quot;,\r\n          &quot;crawl_status&quot;: {\r\n            &quot;max_crawl_pages&quot;: 1000,\r\n            &quot;pages_in_queue&quot;: 142,\r\n            &quot;pages_crawled&quot;: 15\r\n          },\r\n          &quot;crawl_gateway_address&quot;: &quot;168.119.141.170&quot;,\r\n          &quot;crawl_stop_reason&quot;: null,\r\n          &quot;domain_info&quot;: {\r\n            &quot;name&quot;: &quot;dataforseo.com&quot;,\r\n            &quot;cms&quot;: &quot;powered by wpbakery page builder - drag and drop page builder for wordpress.&quot;,\r\n            &quot;ip&quot;: &quot;104.26.6.202&quot;,\r\n            &quot;server&quot;: &quot;cloudflare&quot;,\r\n            &quot;crawl_start&quot;: &quot;2023-05-02 13:54:55 +00:00&quot;,\r\n            &quot;crawl_end&quot;: null,\r\n            &quot;extended_crawl_status&quot;: &quot;no_errors&quot;,\r\n            &quot;ssl_info&quot;: {\r\n              &quot;valid_certificate&quot;: true,\r\n              &quot;certificate_issuer&quot;: &quot;CN=GTS CA 1P5, O=Google Trust Services LLC, C=US&quot;,\r\n              &quot;certificate_subject&quot;: &quot;CN=dataforseo.com&quot;,\r\n              &quot;certificate_version&quot;: 3,\r\n              &quot;certificate_hash&quot;: &quot;sha256RSA&quot;,\r\n              &quot;certificate_expiration_date&quot;: &quot;2023-07-23 14:16:19 +00:00&quot;\r\n            },\r\n            &quot;checks&quot;: {\r\n              &quot;sitemap&quot;: true,\r\n              &quot;robots_txt&quot;: true,\r\n              &quot;start_page_deny_flag&quot;: false,\r\n              &quot;ssl&quot;: true,\r\n              &quot;http2&quot;: true,\r\n              &quot;test_canonicalization&quot;: false,\r\n              &quot;test_www_redirect&quot;: true,\r\n              &quot;test_hidden_server_signature&quot;: true,\r\n              &quot;test_page_not_found&quot;: true,\r\n              &quot;test_directory_browsing&quot;: true,\r\n              &quot;test_https_redirect&quot;: true\r\n            },\r\n            &quot;total_pages&quot;: 15,\r\n            &quot;total_uncrawlable_resources&quot;: 5,\r\n            &quot;page_not_found_status_code&quot;: 404,\r\n            &quot;canonicalization_status_code&quot;: 403,\r\n            &quot;directory_browsing_status_code&quot;: 301,\r\n            &quot;www_redirect_status_code&quot;: 301,\r\n            &quot;main_domain&quot;: &quot;dataforseo.com&quot;\r\n          },\r\n          &quot;page_metrics&quot;: {\r\n            &quot;links_external&quot;: 386,\r\n            &quot;links_internal&quot;: 1407,\r\n            &quot;duplicate_title&quot;: 0,\r\n            &quot;duplicate_description&quot;: 0,\r\n            &quot;duplicate_content&quot;: 4,\r\n            &quot;broken_links&quot;: 0,\r\n            &quot;broken_resources&quot;: 0,\r\n            &quot;links_relation_conflict&quot;: 0,\r\n            &quot;redirect_loop&quot;: 0,\r\n            &quot;onpage_score&quot;: 96.93,\r\n            &quot;non_indexable&quot;: 45,\r\n            &quot;checks&quot;: {\r\n              &quot;canonical&quot;: 15,\r\n              &quot;duplicate_meta_tags&quot;: 15,\r\n              &quot;no_description&quot;: 1,\r\n              &quot;frame&quot;: 0,\r\n              &quot;large_page_size&quot;: 0,\r\n              &quot;irrelevant_description&quot;: 0,\r\n              &quot;irrelevant_meta_keywords&quot;: 15,\r\n              &quot;is_https&quot;: 15,\r\n              &quot;is_http&quot;: 0,\r\n              &quot;title_too_long&quot;: 1,\r\n              &quot;low_content_rate&quot;: 15,\r\n              &quot;small_page_size&quot;: 0,\r\n              &quot;no_h1_tag&quot;: 0,\r\n              &quot;recursive_canonical&quot;: 0,\r\n              &quot;no_favicon&quot;: 0,\r\n              &quot;no_image_alt&quot;: 0,\r\n              &quot;no_image_title&quot;: 0,\r\n              &quot;seo_friendly_url&quot;: 15,\r\n              &quot;seo_friendly_url_characters_check&quot;: 15,\r\n              &quot;seo_friendly_url_dynamic_check&quot;: 15,\r\n              &quot;seo_friendly_url_keywords_check&quot;: 15,\r\n              &quot;seo_friendly_url_relative_length_check&quot;: 15,\r\n              &quot;title_too_short&quot;: 2,\r\n              &quot;no_content_encoding&quot;: 0,\r\n              &quot;high_waiting_time&quot;: 0,\r\n              &quot;high_loading_time&quot;: 0,\r\n              &quot;is_redirect&quot;: 0,\r\n              &quot;is_broken&quot;: 0,\r\n              &quot;is_4xx_code&quot;: 0,\r\n              &quot;is_5xx_code&quot;: 0,\r\n              &quot;is_www&quot;: 0,\r\n              &quot;no_doctype&quot;: 0,\r\n              &quot;no_encoding_meta_tag&quot;: 0,\r\n              &quot;high_content_rate&quot;: 0,\r\n              &quot;low_character_count&quot;: 0,\r\n              &quot;high_character_count&quot;: 0,\r\n              &quot;low_readability_rate&quot;: 0,\r\n              &quot;irrelevant_title&quot;: 0,\r\n              &quot;deprecated_html_tags&quot;: 0,\r\n              &quot;duplicate_title_tag&quot;: 0,\r\n              &quot;no_title&quot;: 0,\r\n              &quot;flash&quot;: 0,\r\n              &quot;lorem_ipsum&quot;: 0,\r\n              &quot;has_misspelling&quot;: null,\r\n              &quot;canonical_to_broken&quot;: 0,\r\n              &quot;canonical_to_redirect&quot;: 0,\r\n              &quot;has_links_to_redirects&quot;: 0,\r\n              &quot;is_orphan_page&quot;: 0,\r\n              &quot;has_meta_refresh_redirect&quot;: 0,\r\n              &quot;meta_charset_consistency&quot;: 15,\r\n              &quot;size_greater_than_3mb&quot;: 0,\r\n              &quot;has_html_doctype&quot;: 15,\r\n              &quot;https_to_http_links&quot;: 1,\r\n              &quot;has_render_blocking_resources&quot;: 15,\r\n              &quot;redirect_chain&quot;: 0,\r\n              &quot;canonical_chain&quot;: 0,\r\n              &quot;is_link_relation_conflict&quot;: 0\r\n            }\r\n          }\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}<\/code><\/pre><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text] OnPage API Summary \u200c Using this function, you can get the overall information on a website as well as drill down into exact on-page issues of a website that has been scanned. As a result, you will know what functions to use for receiving detailed data for each of the found issues. [\/vc_column_text] GET [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template.php","meta":{"apibase_doc_request_yaml":"parameters:\n  - name: id\n    type: string\n    description: |\n      <em>task identifier<\/em><br><strong>required field<\/strong><br>you can get this ID in the response of the <a href=\"\/v3\/on_page\/task_post\/\" target=\"_blank\" rel=\"noopener noreferrer\">Task POST<\/a> endpoint<br>example:<br>\u201c07131248-1535-0216-1000-17384017ad04\u201d","apibase_doc_request_additional_yaml":"","apibase_doc_response_yaml":"parameters:\n  - name: version\n    type: string\n    description: |\n      <em>the current version of the API<\/em>\n  - name: status_code\n    type: integer\n    description: |\n      <i>general status code<\/i><br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><br><strong>Note:<\/strong> we strongly recommend designing a necessary system for handling related exceptional or error conditions\n  - name: status_message\n    type: string\n    description: |\n      <em>general informational message<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a>\n  - name: time\n    type: string\n    description: |\n      <em>execution time, seconds<\/em>\n  - name: cost\n    type: float\n    description: |\n      <em>total <i>tasks<\/i> cost, USD<\/em>\n  - name: tasks_count\n    type: integer\n    description: |\n      <em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array<\/em>\n  - name: tasks_error\n    type: integer\n    description: |\n      <em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array returned with an error<\/em>\n  - name: tasks\n    type: array\n    description: |\n      <em>array of tasks<\/em>\n    items:\n      children:\n        - name: id\n          type: string\n          description: |\n            <em>task identifier<\/em><br><strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong>\n        - name: status_code\n          type: integer\n          description: |\n            <em>status code of the task<\/em><br>generated by DataForSEO; can be within the following range: 10000-60000<br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a>\n        - name: status_message\n          type: string\n          description: |\n            <em>informational message of the task<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a>\n        - name: time\n          type: string\n          description: |\n            <em>execution time, seconds<\/em>\n        - name: cost\n          type: float\n          description: |\n            <em>cost of the task, USD<\/em>\n        - name: result_count\n          type: integer\n          description: |\n            <em>number of elements in the <code>result<\/code> array<\/em>\n        - name: path\n          type: array\n          description: |\n            <em>URL path<\/em>\n        - name: data\n          type: object\n          description: |\n            <em>contains the same parameters that you specified in the POST request<br><\/em>\n        - name: result\n          type: array\n          description: |\n            <em>array of results<\/em>\n          items:\n            children:\n              - name: crawl_progress\n                type: string\n                description: |\n                  <em>status of the crawling session<\/em><br>possible values: <code>in_progress<\/code>, <code>finished<\/code>\n              - name: crawl_status\n                type: object\n                description: |\n                  <em>details of the crawling session<\/em>\n                children:\n                  - name: max_crawl_pages\n                    type: integer\n                    description: |\n                      <em>maximum number of pages to crawl<\/em><br>indicates the <code>max_crawl_pages<\/code> limit you specified when setting a task\n                  - name: pages_in_queue\n                    type: integer\n                    description: |\n                      <em>number of pages that are currently in the crawling queue<\/em>\n                  - name: pages_crawled\n                    type: integer\n                    description: |\n                      <em>number of crawled pages<\/em>\n              - name: crawl_gateway_address\n                type: string\n                description: |\n                  <em>crawler ip address<\/em><br>displays the IP address used by the crawler to initiate the current crawling session<br>you can find the full list of IPs used by our crawler in the <a href=\"\/v3\/on_page\/overview\" target=\"_blank\" rel=\"noopener noreferrer\">Overview section<\/a>\n              - name: crawl_stop_reason\n                type: string\n                description: |\n                  <em>reason why the crawling stopped<\/em><br>information about the reason why the crawling process stopped;<br>possible values:<br><code>limit_exceeded<\/code> - the limit set in the <code>max_crawl_pages<\/code> was exceeded;<br><code>empty_queue<\/code> - all URLs in the queue were crawled;<br><code>force_stopped<\/code> - the crawling process was halted using the<a href=\"\/v3\/on_page\/force_stop\" target=\"_blank\" rel=\"noopener noreferrer\"> On Page API Force Stop<\/a> function;<br><code>unexpected_exception<\/code> - an internal error was encountered while crawling the <code>target<\/code>, contact support for more info\n              - name: domain_info\n                type: object\n                description: |\n                  <em>domain-wide info<\/em><br>on-page information about the target domain and crawling process\n                children:\n                  - name: name\n                    type: string\n                    description: |\n                      <em>domain name<\/em>\n                  - name: cms\n                    type: string\n                    description: \"<em>content management system<\/em><br>content management system identified on a website<br>the content of_the <code>generator<\/code>_meta tag<br>the data is taken from the first random page that returns the 200 response code<br>if our crawler was unable to identify the cms, the value would be <code>null<\/code>n\"\n                  - name: ip\n                    type: string\n                    description: |\n                      <em>domain ip address<\/em>\n                  - name: server\n                    type: string\n                    description: |\n                      <em>website server<\/em><br>the version of the server detected on a website<br>the content of the <code class=\"prettyprint\">server<\/code> header<br>the information is taken from the first page which response code is 200\n                  - name: crawl_start\n                    type: string\n                    description: |\n                      <em>time when the crawling start<\/em><br>date and time when the website was sent for crawling<br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code>\n                  - name: crawl_end\n                    type: string\n                    description: |\n                      <em>time when the crawling ended<\/em><br>date and time when the crawling was finished<br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code><br><strong>Note:<\/strong> informative only if <code>\"crawl_progress\"<\/code> is <code>\"finished\"<\/code><br>if <code>\"crawl_progress\"<\/code> is <code>in_progress<\/code>, the value will be <code>null<\/code>\n                  - name: extended_crawl_status\n                    type: string\n                    description: |\n                      <em>crawl status and errors<\/em><br>indicates the reason why a website was not crawled;<br>can take the following values:<br><code>no_errors<\/code> - no crawling errors were detected;<br><code>site_unreachable<\/code> - our crawler could not reach a website and thus was not able to obtain a status code;<br><code>invalid_page_status_code<\/code> - status code of the first crawled page &gt;= 400;<br><code>forbidden_meta_tag<\/code> - the first crawled page contains the &lt;meta robots=\"noindex\"&gt; tag;<br><code>forbidden_robots<\/code> - robots.txt forbids crawling the page;<br><code>forbidden_http_header<\/code> - HTTP header of the page contains \"X-Robots-Tag: noindex\" ;<br><code>too_many_redirects<\/code> - the first crawled page has more than 10 redirects;<br><code>unknown<\/code> - the reason is unknown\n                  - name: ssl_info\n                    type: object\n                    description: |\n                      <em>ssl certificate info<\/em><br>information about the Secure Sockets Layer protocol detected on a website\n                    children:\n                      - name: valid_certificate\n                        type: boolean\n                        description: |\n                          <em>ssl certificate validity<\/em><br>indicates whether the ssl certificate detected on a website is not expired, suspended, revoked or invalid\n                      - name: certificate_issuer\n                        type: string\n                        description: |\n                          <em>ssl certificate authority<\/em><br>the entity that issued the detected ssl certificate\n                      - name: certificate_subject\n                        type: string\n                        description: |\n                          <em>ssl certificate subject<\/em><br>the entity associated with the public key\n                      - name: certificate_version\n                        type: string\n                        description: |\n                          <em>ssl certificate version<\/em><br>indicates the version of <a href=\"https:\/\/en.wikipedia.org\/wiki\/X.509\" target=\"_blank\" rel=\"noopener noreferrer\">X.509<\/a> used by an ssl certificate\n                      - name: certificate_hash\n                        type: string\n                        description: |\n                          <em>ssl certificate hash<\/em><br>the version of the ssl certificate's hash function\n                      - name: certificate_expiration_date\n                        type: string\n                        description: |\n                          <em>ssl certificate expiration date<\/em><br>the date and time when the ssl certificate expires<br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code>\n                  - name: checks\n                    type: object\n                    description: |\n                      <em>website checks<\/em><br>other on-page check-ups related to the website\n                    children:\n                      - name: sitemap\n                        type: boolean\n                        description: |\n                          <em>website sitemap<\/em><br>indicates whether a sitemap was detected on a target website\n                      - name: robots_txt\n                        type: boolean\n                        description: |\n                          <em>robots.txt file<\/em><br>indicates whether a target website has a robots.txt file\n                      - name: start_page_deny_flag\n                        type: boolean\n                        description: |\n                          <em>deny flag on a start page<\/em><br>indicates whether a start page on a target website has a <code>[F]<\/code> flag which causes the server to return a 403 Forbidden status code to the client\n                      - name: ssl\n                        type: boolean\n                        description: |\n                          <em>ssl certificate<\/em><br>indicates whether a target website has an SSL certificate\n                      - name: http2\n                        type: boolean\n                        description: |\n                          <em>HTTP\/2 protocol<\/em><br>indicates whether a target website is using the HTTP\/2 protocol\n                      - name: test_canonicalization\n                        type: boolean\n                        description: |\n                          <em>canonical tags<\/em><br>the checkup of the server behavior when our crawler tries to access the website via IP;<br>is <code>true<\/code> if the <code>canonicalization_status_code<\/code> returns <code>301<\/code>\n                      - name: test_www_redirect\n                        type: boolean\n                        description: |\n                          <em>www to non-www redirect<\/em><br>is <code>true<\/code> if the www to non-www or non-www to www redirect is implemented by the requested domain\n                      - name: test_hidden_server_signature\n                        type: object\n                        description: |\n                          <em>hidden server signature<\/em><br>indicates whether the server signature is hidden from crawlers<br>if the value is <code>false<\/code>, our crawler was able to access the website's server signature\n                        children:\n                          - name: test_page_not_found\n                            type: boolean\n                            description: |\n                              <em>404 status for a page that cannot be found<\/em><br>indicates whether a target responds with a 404 status code when the requested resource cannot be found\n                          - name: test_directory_browsing\n                            type: boolean\n                            description: |\n                              <em>directory browsing not accessible<\/em><br>indicates whether a target website doesn't allow accessing a file directory without authentication<br>if the directory is not accessible, the value is <code>true<\/code>\n                          - name: test_https_redirect\n                            type: boolean\n                            description: |\n                              <em>http requests are redirected to https<\/em><br>indicates whether a target website redirects http requests to the https version;<br>if the website's home page redirects http requests to https, the value is <code>true<\/code>\n                  - name: total_pages\n                    type: integer\n                    description: |\n                      <em>total crawled pages<\/em><br>the total number of crawled pages\n                  - name: total_uncrawlable_resources\n                    type: integer\n                    description: |\n                      <em>total uncrawlable resources<\/em><br>the total number of resources that could not be crawled;<br>the resource is considered uncrawlable when the actual content type of the resource doesn't match the content type expected by the crawler\n                  - name: page_not_found_status_code\n                    type: integer\n                    description: |\n                      <em>status code returned by a non-existent page<\/em><br>in most cases, it is recommended a server returns a 404 response code\n                  - name: canonicalization_status_code\n                    type: integer\n                    description: |\n                      <em>status code returned by a canonicalized page<\/em><br>the checkup of the server behavior when our crawler tries to access the website via IP;<br>in most cases, it is recommended that canonicalized pages respond with a <code>301<\/code> or <code>302<\/code> status code\n                  - name: directory_browsing_status_code\n                    type: integer\n                    description: |\n                      <em>status code returned by a directory<\/em><br>the status code returned by a directory page on a target website<br>in most cases, it is recommended that directories respond with a <code>403<\/code> or <code>401<\/code> status code\n                  - name: www_redirect_status_code\n                    type: integer\n                    description: |\n                      <em>redirect status code<\/em><br>the status code of the www to non-www redirect<br>in most cases, it is recommended that redirect returns a <code>301<\/code> status code\n                  - name: main_domain\n                    type: string\n                    description: |\n                      <em>root domain name<\/em>\n              - name: page_metrics\n                type: object\n                description: |\n                  <em>page-specific info<\/em><br>metrics information on the target website pages\n                children:\n                  - name: links_external\n                    type: integer\n                    description: |\n                      <em>number of external links<\/em><br>the number of links pointing to other websites\n                  - name: links_internal\n                    type: integer\n                    description: |\n                      <em>number of internal links<\/em><br>the number of links pointing to other pages within the target website\n                  - name: duplicate_title\n                    type: integer\n                    description: |\n                      <em>number of pages with duplicate titles<\/em>\n                  - name: duplicate_description\n                    type: integer\n                    description: |\n                      <em>number of pages with duplicate descriptions<\/em>\n                  - name: duplicate_content\n                    type: integer\n                    description: |\n                      <em>number of pages with duplicate content<\/em>\n                  - name: broken_links\n                    type: integer\n                    description: |\n                      <em>number of broken links<\/em><br>number of broken links across all crawled pages on a target website\n                  - name: broken_resources\n                    type: integer\n                    description: |\n                      <em>number of broken resources<\/em><br>the number of images and other resources with broken links\n                  - name: links_relation_conflict\n                    type: integer\n                    description: |\n                      <em>number of links present on the target website that may have a conflict<\/em><br>for example, if <code>\"links_relation_conflict\": 2<\/code>, the target website is referring to the same source by at least one internal link with the <code>rel=\"nofollow\"<\/code> attribute <strong>and<\/strong> by at least one dofollow link\n                  - name: redirect_loop\n                    type: integer\n                    description: |\n                      <em>number of redirect chains that start and end at the same URL<\/em><br>number of redirect chains where the destination URL redirects back to the original URL\n                  - name: onpage_score\n                    type: float\n                    description: |\n                      <em>shows how website is optimized on a 100-point scale<\/em><br>this field shows how website is optimized considering critical on-page issues and warnings detected;<br><code>100<\/code> is the highest possible score that means website does not have any critical on-page issues and important warnings;<br><strong>note<\/strong> that this value depends on the number of crawled pages;<br>learn more about how the metric is calculated in <a href=\"https:\/\/dataforseo.com\/help-center\/how-is-onpage-score-of-a-domain-calculated\" target=\"_blank\" rel=\"noopener noreferrer\">this help center article<\/a>\n                  - name: non_indexable\n                    type: integer\n                    description: |\n                      <em>number of non-indexable pages<\/em><br>number of pages that are blocked from being indexed by Google and other search engines by robots.txt, HTTP headers, or meta tags settings;<br>you can receive a list of non-indexable URLs using <a href=\"https:\/\/docs.dataforseo.com\/v3\/on_page\/non_indexable\/?bash\" target=\"_blank\" rel=\"noopener noreferrer\">this endpoint<\/a>\n                  - name: checks\n                    type: object\n                    description: |\n                      <em>page-specific on-page check-ups<\/em>\n                    children:\n                      - name: canonical\n                        type: integer\n                        description: |\n                          <em>number of canonical pages<\/em>\n                      - name: duplicate_meta_tags\n                        type: integer\n                        description: |\n                          <em>number of pages with duplicate meta tags<\/em><br>the number of pages with more than one meta tag of the same type;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: no_description\n                        type: integer\n                        description: |\n                          <em>number of pages with no description<\/em><br>the number of pages with an empty or absent <code>description<\/code> meta tag;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: frame\n                        type: integer\n                        description: |\n                          <em>number of pages with frames<\/em><br>the number of pages that contain <code>frame<\/code>, <code>iframe<\/code>, <code>frameset<\/code> tags\n                      - name: large_page_size\n                        type: integer\n                        description: |\n                          <em>number of heavy pages<\/em><br>the number of pages that have a size exceeding 1 megabyte;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: irrelevant_description\n                        type: integer\n                        description: |\n                          <em>number of pages with irrelevant description<\/em><br>the number of pages with <code>description<\/code> tags that are irrelevant to the content of a page;<br>the relevance threshold is <code>0.2<\/code>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: irrelevant_meta_keywords\n                        type: integer\n                        description: |\n                          <em>number of pages with irrelevant meta keywords<\/em><br>the number of pages with <code>keywords<\/code> tags that are irrelevant to the content of a page;<br>the relevance threshold is <code>0.6<\/code>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: is_https\n                        type: integer\n                        description: |\n                          <em>number of pages with the https protocol<\/em>\n                      - name: is_http\n                        type: integer\n                        description: |\n                          <em>number of pages with the http protocol<\/em>\n                      - name: title_too_long\n                        type: integer\n                        description: |\n                          <em>number of pages with long titles<\/em><br>the number of pages with the content of <code>title<\/code> tag exceeding 65 characters;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: low_content_rate\n                        type: integer\n                        description: |\n                          <em>number of pages with a low content rate<\/em><br>number of pages, which have the <code>plaintext size<\/code> to <code>page size<\/code> ratio of less than 0.1 or more than 0.9;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: small_page_size\n                        type: integer\n                        description: |\n                          <em>number of small pages<\/em><br>the number of pages that have the size smaller than 1024 bytes;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: no_h1_tag\n                        type: integer\n                        description: |\n                          <em>number of pages with empty or absent h1 tags<\/em><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: recursive_canonical\n                        type: integer\n                        description: |\n                          <em>recursive canonical error<\/em><br>indicates the number of pages that contain <code>rel=\"canonical\"<\/code> tag to another page, which in turn, refers back to the initial page\n                      - name: no_favicon\n                        type: integer\n                        description: |\n                          <em>number of pages with no favicon<\/em><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: no_image_alt\n                        type: integer\n                        description: |\n                          <em>number of pages containing images without <code>alt<\/code> tags<\/em><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: no_image_title\n                        type: integer\n                        description: |\n                          <em>number of pages containing images without <code>title<\/code> tags<\/em><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: seo_friendly_url\n                        type: integer\n                        description: |\n                          <em>number of pages with seo-frienldy urls<\/em><br>the \u2018SEO-friendliness\u2019 of a page URL is checked by four parameters:<br>\u2013 the length of the relative path is less than 120 characters<br>\u2013 no special characters<br>\u2013 no dynamic parameters<br>\u2013 relevance of the URL to the page<br>if at least one of them is failed then such URL is considered as not \u2018SEO-friendly\u2019<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: seo_friendly_url_characters_check\n                        type: integer\n                        description: |\n                          <em>url characters check-up<\/em><br>the number of pages with URLs containing only uppercase and lowercase Latin characters, digits and dashes\n                      - name: seo_friendly_url_dynamic_check\n                        type: integer\n                        description: |\n                          <em>url dynamic check-up<\/em><br>the number of pages with no dynamic parameters in the url\n                      - name: seo_friendly_url_keywords_check\n                        type: integer\n                        description: |\n                          <em>url keyword check-up<\/em><br>the number of pages that have URLs consistent with the <code>title<\/code> meta tag\n                      - name: seo_friendly_url_relative_length_check\n                        type: integer\n                        description: |\n                          <em>url leghth check-up<\/em><br>the number of pages with URLs no longer than 120 characters\n                      - name: title_too_short\n                        type: integer\n                        description: |\n                          <em>pages with short titles<\/em><br>the number of pages that have titles shorter than 30 characters;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: no_content_encoding\n                        type: integer\n                        description: |\n                          <em>pages with no content encoding<\/em><br>the number of pages with no <a href=\"http:\/\/www.iana.org\/assignments\/http-parameters\/http-parameters.xhtml#content-coding\" target=\"_blank\" rel=\"noopener noreferrer\">compression algorithm<\/a> of the content\n                      - name: high_waiting_time\n                        type: integer\n                        description: |\n                          <em>pages with high waiting time<\/em><br>the number of pages with waiting time (aka Time to First Byte) exceeding 1.5 seconds\n                      - name: high_loading_time\n                        type: integer\n                        description: |\n                          <em>pages with high loading time<\/em><br>the number of pages with loading time exceeding 3 seconds\n                      - name: is_redirect\n                        type: integer\n                        description: |\n                          <em>pages with redirects<\/em><br>the number of pages with <code>3XX<\/code> redirects to other pages\n                      - name: is_broken\n                        type: integer\n                        description: |\n                          <em>broken pages<\/em><br>the number of pages with response codes less than <code>200<\/code> or greater than <code>400<\/code>\n                      - name: is_4xx_code\n                        type: integer\n                        description: |\n                          <em>pages with <code>4xx<\/code> status codes<\/em><br>the number of pages with <code>4xx<\/code> response codes\n                      - name: is_5xx_code\n                        type: integer\n                        description: |\n                          <em>pages with <code>5xx<\/code> status codes<\/em><br>the number of pages with <code>5xx<\/code> response codes\n                      - name: is_www\n                        type: integer\n                        description: |\n                          <em>pages with www<\/em><br>the number of pages on a <code>www<\/code> subdomain\n                      - name: no_doctype\n                        type: integer\n                        description: |\n                          <em>pages with no doctype<\/em><br>the number of pages without the<code>DOCTYPE<\/code> declaration\n                      - name: no_encoding_meta_tag\n                        type: integer\n                        description: |\n                          <em>pages with no meta tag encoding<\/em><br>the number of pages without <code>Content-Type<\/code>;<br>informative only if the encoding is not explicit in the <code>Content-Type<\/code> header;<br>for example: <code>Content-Type: \"text\/html; charset=utf8\"<\/code>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: high_content_rate\n                        type: integer\n                        description: |\n                          <em>pages with high content rate<\/em><br>number of pages, which have the <code>plaintext size<\/code> to <code>page size<\/code> ratio of more than 0.9;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: low_character_count\n                        type: integer\n                        description: |\n                          <em>pages with low character count<\/em><br>the number of pages containing less than 1024 characters;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: high_character_count\n                        type: integer\n                        description: |\n                          <em>pages with high character count<\/em><br>the number of pages containing more than 256,000 characters;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: low_readability_rate\n                        type: integer\n                        description: |\n                          <em>pages with low readability rate<\/em><br>the number of pages that scored less than 15 points on the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Flesch%E2%80%93Kincaid_readability_tests\" target=\"_blank\" rel=\"noopener noreferrer\">Flesch\u2013Kincaid readability test<\/a>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: irrelevant_title\n                        type: integer\n                        description: |\n                          <em>pages with irrelevant titles<\/em><br>the number of pages with <code>title<\/code> tags that are irrelevant to the content of the page<br>the relevance threshold is <code>0.3<\/code><br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: deprecated_html_tags\n                        type: integer\n                        description: |\n                          <em>pages with deprecated tags<\/em><br>the number of pages with <a href=\"https:\/\/www.w3docs.com\/learn-html\/deprecated-html-tags.html\" target=\"_blank\" rel=\"noopener noreferrer\">deprecated HTML tags<\/a>;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: duplicate_title_tag\n                        type: integer\n                        description: |\n                          <em>pages with more than one title tag<\/em><br>the number of pages that have more than one <code>title<\/code> tag;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: no_title\n                        type: integer\n                        description: |\n                          <em>pages with no title<\/em><br>the number of pages with empty or absent <code>title<\/code> tags;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: flash\n                        type: integer\n                        description: |\n                          <em>pages with flash<\/em><br>the number of pages with flash elements\n                      - name: lorem_ipsum\n                        type: integer\n                        description: |\n                          <em>pages with lorem ipsum<\/em><br>the number of pages with <em>lorem ipsum<\/em> content;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: has_misspelling\n                        type: integer\n                        description: |\n                          <em>pages with misspelling<\/em><br>the number of pages with <em>spelling<\/em> mistakes<br>informative if the <code>check_spell<\/code> was set to <code>true<\/code> in the POST array\n                      - name: canonical_to_broken\n                        type: integer\n                        description: |\n                          <em>canonical pages pointing to broken pages<\/em><br>the number of pages with a canonical link element pointing to a page that responds with a 404 error\n                      - name: canonical_to_redirect\n                        type: integer\n                        description: |\n                          <em>canonical pages pointing to pages that redirect elsewhere<\/em><br>the number of pages with a canonical link element pointing to a page that responds with a 3XX redirect\n                      - name: has_links_to_redirects\n                        type: integer\n                        description: |\n                          <em>pages pointing to pages that redirect elsewhere<\/em><br>the number of pages pointing to a page that responds with a 3XX redirect\n                      - name: is_orphan_page\n                        type: integer\n                        description: |\n                          <em>pages with no internal links pointing to them<\/em><br>the number of pages with no reference from other pages of the domain\n                      - name: has_meta_refresh_redirect\n                        type: integer\n                        description: |\n                          <em>pages with meta refresh redirect<\/em><br>the number of pages with &lt;meta http-equiv=\"refresh\"&gt; tag that instructs a browser to load another page after a specified time span;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: meta_charset_consistency\n                        type: integer\n                        description: |\n                          <em>pages with meta charset inconsistency<\/em><br>the number of pages with charset encoding not matching the actual charset of the pages\n                      - name: size_greater_than_3mb\n                        type: integer\n                        description: |\n                          <em>pages with size larger than 3 MB<\/em><br>the number of pages with size exceeding 3 MB;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: has_html_doctype\n                        type: integer\n                        description: |\n                          <em>pages with HTML doctype declaration<\/em><br>the number of pages with the <code>DOCTYPE<\/code> declaration\n                      - name: https_to_http_links\n                        type: integer\n                        description: |\n                          <em>pages with HTTPS protocol that link to pages with HTTP protocol<\/em><br>the number of pages with secure HTTPS protocol that link to pages with unsecure HTTP protocol;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: has_render_blocking_resources\n                        type: integer\n                        description: |\n                          <em>pages with render-blocking resources<\/em><br>the number of pages with render-blocking resources;<br><strong>Note:<\/strong> available for pages with <code>canonical<\/code> check set to <code>true<\/code>\n                      - name: redirect_chain\n                        type: integer\n                        description: |\n                          <em>pages with multiple redirects<\/em><br>the number of pages with at least two redirects between the original page and the destination page\n                      - name: canonical_chain\n                        type: integer\n                        description: |\n                          <em>pages with canonical pointing to a page that has a canonical pointing elsewhere<\/em><br>the number of pages with a canonical link element pointing to a page that has a canonical pointing to a different page<br>e.g. page a is canonicalized to page b, which is canonicalized to page c\n                      - name: is_link_relation_conflict\n                        type: integer\n                        description: |\n                          <em>pages on the target website that may have a link relation conflict<\/em><br>for example, if <code>\"is_link_relation_conflict\": 1<\/code>, the target website has 1 page receiving at least one internal link with the <code>rel=\"nofollow\"<\/code> attribute <strong>and<\/strong> at least one dofollow link","footnotes":""},"class_list":["post-6296","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/6296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/comments?post=6296"}],"version-history":[{"count":111,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/6296\/revisions"}],"predecessor-version":[{"id":26179,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/6296\/revisions\/26179"}],"wp:attachment":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/media?parent=6296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}