Skip to content

Instantly share code, notes, and snippets.

@norisk-marketing
Last active September 27, 2017 10:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save norisk-marketing/1c541b0824381f3fb9a391783e0b3d1d to your computer and use it in GitHub Desktop.
Save norisk-marketing/1c541b0824381f3fb9a391783e0b3d1d to your computer and use it in GitHub Desktop.
This script uses ryte's JSON-payloads to fetch data from their zoom-API and writes the results to a Google sheet. ryte is a website quality management tool with an in-depth link and source code crawler.
/*
* ryteApiToGoogleSheetWriter
* Version: 1.1.0
* @author: Christopher Gutknecht
* norisk GmbH
* cgutknecht@noriskshop.de
*
* Description: uses ryte JSON-payloads to fetch data from API and writes to Google sheet
*/
function onPageApiCall() {
/****** CONFIG START ******/
var API_KEY = "$$apiKey$$"; // Get from ryte frontend. Should look like this: "j2f5bc4cb4ae6agb37eaed68c0775d44"
var LIMIT = 200; // Can be set to higher values
var PROJECT = "website.de"; // website-com Example: "noriskshop-de". Value can be retrieved from URL: https://my.ryte.com/noriskshop-de/website-success/
// Copy from this DEMO_SHEET: Example value: "1aEmGDa0-UCCNnGu5pI3jAF6t2K0LJKKfgPewjlsMX_8" || Copy from URL >> https://docs.google.com/spreadsheets/d/1aEmGDa0-UCCNnGu5pI3jAF6t2K0LJKKfgPewjlsMX_8/edit?pli=1#gid=0
var SPREADSHEET_ID = "";
var SHEET_NAME = "Ryte";
/****** CONFIG END ******/
/****** LIST OF ALL JSON_PAYLOADs ******/
/****** CAN BE EXTENDED: simply change API_KEY, PROJECT and LIMIT per row and extend ONPAGE_CALLS array" ****/
// 1. INDEXIERBARKEIT
// Seiten pro Indextype
var pb_1_pagesByIndexType_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["indexability_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"is_local","operator":"==","value":true}]}};
var pb_1_filesByStatus_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["inventory_group"],"sorting":[{"attribute":"count","direction":"DESC"}],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}]};
// Nicht in Sitemap (Non-Service)
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/sitemaps/usage/?filters=%7B%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22sitemap_group%22%3A%5B%22%3D%3D%22%2C%22not_included%22%5D%2C%22url%22%3A%7B%22AND%22%3A%5B%5B%22NOT_MATCH%22%2C%22Service%7CImpressum%22%5D%5D%7D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22sitemap_url%22%2C%22DESC%22%5D%7D
var pb_1_pageNotInSitemap_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["sitemap_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"header_status","operator":"<","value":300},{"field":"is_indexable","operator":"==","value":true},{"field":"is_local","operator":"==","value":true},{"AND":[{"field":"url","operator":"NOT_MATCH","value":"Service|Impressum"}]},{"field":"url_type_id","operator":"==","value":1}]}};
var pb_1_pageNotInSitemap_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","sitemap_url","hash","count_links_incoming_internal"],"sorting":[{"attribute":"sitemap_url","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"header_status","operator":"<","value":300},{"field":"is_indexable","operator":"==","value":true},{"field":"is_local","operator":"==","value":true},{"field":"sitemap_group","operator":"==","value":"not_included"},{"AND":[{"field":"url","operator":"NOT_MATCH","value":"Service|Impressum"}]},{"field":"url_type_id","operator":"==","value":1}]}};
// Langer Klickpfad von Home
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/links/clickpath/?filters=%7B%22analytics_visits%22%3A%7B%22AND%22%3A%5B%5B%22%3E%22%2C2%5D%5D%7D%2C%22count_minimum_clicks%22%3A%5B%22%3E%22%2C6%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22count_minimum_clicks%22%2C%22DESC%22%5D%7D
var pb_1_longClickPath_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["count_minimum_clicks_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"AND":[{"field":"analytics_visits","operator":">","value":2}]},{"field":"count_minimum_clicks","operator":">","value":6},{"field":"header_status","operator":"<","value":300},{"field":"is_indexable","operator":"==","value":true},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1}]}};
var pb_1_longClickPath_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","count_minimum_clicks"],"sorting":[{"attribute":"count_minimum_clicks","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"AND":[{"field":"analytics_visits","operator":">","value":2}]},{"field":"count_minimum_clicks","operator":">","value":6},{"field":"header_status","operator":"<","value":300},{"field":"is_indexable","operator":"==","value":true},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1}]}};
// In Sitemap, nicht indexierbar
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/sitemaps/usage/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22sitemap_group%22%3A%5B%22%3D%3D%22%2C%22included%22%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%7D&sort=%7B%22default_table%22%3A%5B%22sitemap_url%22%2C%22DESC%22%5D%7D
var pb_1_inSitemapNoIndex_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["sitemap_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":false},{"field":"header_status","operator":"<","value":300}]}};
var pb_1_inSitemapNoIndex_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","sitemap_url","hash","count_links_incoming_internal"],"sorting":[{"attribute":"sitemap_url","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":false},{"field":"sitemap_group","operator":"==","value":"included"},{"field":"header_status","operator":"<","value":300}]}};
// In Sitemap, ohne eingehende Links
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/links/orphaned/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22count_links_incoming_internal_follow%22%3A%5B%22%3D%3D%22%2C0%5D%2C%22is_sitemapped%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%7D&sort=%7B%22default_table%22%3A%5B%22opr%22%2C%22DESC%22%5D%7D
var pb_1_inSitemapNoIncomingLinks_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["count_links_incoming_internal_ranged_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":900},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"count_links_incoming_internal_follow","operator":"==","value":0},{"field":"is_sitemapped","operator":"==","value":true},{"field":"header_status","operator":"<","value":300}]}};
var pb_1_inSitemapNoIncomingLinks_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","count_links_incoming_internal_follow","count_links_incoming_internal_ignored","hash","count_links_incoming_internal"],"sorting":[{"attribute":"opr","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":900},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"count_links_incoming_internal_follow","operator":"==","value":0},{"field":"is_sitemapped","operator":"==","value":true},{"field":"header_status","operator":"<","value":300}]}};
// Orphaned: Kleiner 3 eingehende Links
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/links/orphaned/?filters=%7B%22analytics_visits%22%3A%7B%22AND%22%3A%5B%5B%22%3E%22%2C2%5D%5D%7D%2C%22count_links_incoming_internal%22%3A%5B%22%3C%22%2C3%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22opr%22%2C%22DESC%22%5D%7D
var pb_1_fewIncomingLinks_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["count_links_incoming_internal_ranged_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":900},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"count_links_incoming_internal","operator":"<","value":3},{"field":"header_status","operator":"<","value":300}]}}
var pb_1_fewIncomingLinks_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","count_links_incoming_internal_follow","count_links_incoming_internal_ignored","hash","count_links_incoming_internal"],"sorting":[{"attribute":"opr","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":900},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"AND":[{"field":"analytics_visits","operator":">","value":2}]},{"field":"count_links_incoming_internal","operator":"<","value":3},{"field":"header_status","operator":"<","value":300},{"field":"is_indexable","operator":"==","value":true},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1}]}};
// 2. CONTENT
// Mehrfache h1-Tags
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/content/headlines/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22count_h1%22%3A%5B%22%3E%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22count_h1%22%2C%22DESC%22%5D%7D
var pb_2_multipleH1Tags_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["count_h1_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"count_h1","operator":">","value":1}]}};
var pb_2_multipleH1Tags_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","h1","count_h1"],"sorting":[{"attribute":"count_h1","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"count_h1","operator":">","value":1}]}};
// Title-Duplikate
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/content/title/duplicates/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_meta_title_duplicate%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22count_duplicate_titles%22%3A%5B%22%3E%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22count_duplicate_titles%22%2C%22DESC%22%5D%7D
var pb_2_titleDuplicates_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["meta_title_duplicates_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"is_meta_title_duplicate","operator":"==","value":false},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"is_meta_title_duplicate","operator":"==","value":false},{"field":"count_duplicate_titles","operator":">=","value":1}]}};
var pb_2_titleDuplicates_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["url","header_status","meta_title","count_duplicate_titles","meta_title","hash"],"sorting":[{"attribute":"count_duplicate_titles","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"is_meta_title_duplicate","operator":"==","value":false},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"is_meta_title_duplicate","operator":"==","value":false},{"field":"count_duplicate_titles","operator":">=","value":1}]}};
// Nicht einzigartige Seiten
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/content/duplicate-content/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_duplicate%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22count_duplicate_contents%22%3A%5B%22%3E%3D%22%2C1%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%7D&sort=%7B%22default_table%22%3A%5B%22count_duplicate_contents%22%2C%22DESC%22%5D%7D
var pb_2_nonUniquePages_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["duplicate_content_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_duplicate","operator":"==","value":false},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"is_duplicate","operator":"==","value":false},{"field":"count_duplicate_contents","operator":">=","value":1},{"field":"header_status","operator":"<","value":300}]}};
var pb_2_nonUniquePages_List ={"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","body_md5","count_duplicate_contents","body_md5","hash"],"sorting":[{"attribute":"count_duplicate_contents","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_duplicate","operator":"==","value":false},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"is_indexable","operator":"==","value":true},{"field":"is_duplicate","operator":"==","value":false},{"field":"count_duplicate_contents","operator":">=","value":1},{"field":"header_status","operator":"<","value":300}]}};
// Bilder ohne Alt-Text
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/assets/images/alts/?filters=%7B%22image_alt%22%3A%5B%22%3D%3D%22%2C%22%22%5D%7D&sort=%7B%22default_table%22%3A%5B%22url%22%2C%22ASC%22%5D%7D
var pb_2_imgNoAltText_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","image_alt","image_url","image_header_status","image_mime","image_url"],"sorting":[{"attribute":"url","direction":"ASC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":900},{"field":"image_alt","operator":"==","value":""}]}};
// 3. TECHNIK
// Defekte Seiten
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/indexability/header-status/?filters=%7B%22inventory_group%22%3A%5B%22%3D%3D%22%2C%22broken_page%22%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22header_status%22%3A%5B%22%3C%22%2C900%5D%7D&sort=%7B%22default_table%22%3A%5B%22opr%22%2C%22DESC%22%5D%7D
var pb_3_status404_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["header_status_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"header_status","operator":"<","value":900}]}};
var pb_3_status404_List ={"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","header_status","server_load_time","analytics_visits"],"sorting":[{"attribute":"opr","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"is_local","operator":"==","value":true},{"field":"inventory_group","operator":"==","value":"broken_page"},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"header_status","operator":"<","value":900}]}};
// Langsame Seiten
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/performance/load-times/?filters=%7B%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22server_load_time_group%22%3A%7B%22OR%22%3A%5B%5B%22%3D%3D%22%2C%22ok%22%5D%2C%5B%22%3D%3D%22%2C%22slow%22%5D%2C%5B%22%3D%3D%22%2C%22timeout%22%5D%2C%5B%22%3D%3D%22%2C%22very_slow%22%5D%5D%7D%2C%22sitemap_group%22%3A%5B%22%3D%3D%22%2C%22included%22%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22server_first_byte%22%2C%22DESC%22%5D%7D
var pb_3_slowPages_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["server_load_time_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"header_status","operator":"<","value":300},{"field":"is_indexable","operator":"==","value":false},{"field":"is_local","operator":"==","value":true},{"field":"sitemap_group","operator":"==","value":"included"},{"field":"url_type_id","operator":"==","value":1}]}};
var pb_3_slowPages_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","server_connect_time","server_first_byte","server_load_time","analytics_visits"],"sorting":[{"attribute":"server_first_byte","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"header_status","operator":"<","value":300},{"field":"is_indexable","operator":"==","value":false},{"field":"is_local","operator":"==","value":true},{"OR":[{"field":"server_load_time_group","operator":"==","value":"ok"},{"field":"server_load_time_group","operator":"==","value":"slow"},{"field":"server_load_time_group","operator":"==","value":"timeout"},{"field":"server_load_time_group","operator":"==","value":"very_slow"}]},{"field":"sitemap_group","operator":"==","value":"included"},{"field":"url_type_id","operator":"==","value":1}]}};
// Seiten mit einer Gesamtgröße über 1 MB
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/performance/file-sizes/aggregated/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22file_size_aggregated%22%3A%5B%22%3E%3D%22%2C1048576%5D%7D&sort=%7B%22default_table%22%3A%5B%22file_size_aggregated%22%2C%22DESC%22%5D%7D
var pb_3_pageSizeLarge_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["file_size_aggregated_ranged_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"file_size_aggregated","operator":">=","value":1048576}]}};
var pb_3_pageSizeLarge_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","file_size_aggregated","analytics_visits"],"sorting":[{"attribute":"file_size_aggregated","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true},{"field":"url_type_id","operator":"==","value":1},{"field":"url_type_id","operator":"==","value":1},{"field":"is_local","operator":"==","value":true},{"field":"file_size_aggregated","operator":">=","value":1048576}]}};
// Dateien größer 1MB
// URL : "https://my.ryte.com/" + PROJECT + "/website-success/performance/file-sizes/?sort=%7B%22default_table%22%3A%5B%22file_size%22%2C%22DESC%22%5D%7D
var pb_3_fileSizeLarge_Aggr = {"action":"aggregate","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"group":["file_size_group"],"functions":[{"name":"count","method":"count","parameters":[{"attribute":"url"}]}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true}]}};
var pb_3_fileSizeLarge_List = {"action":"list","authentication":{"api_key": API_KEY,"project": PROJECT},"pagination":{"limit": LIMIT ,"offset":0},"attributes":["opr","is_indexable","hash","url","meta_title","header_status","passes_juice_to_url","is_local","mime","mime_error","language","country","file_size"],"sorting":[{"attribute":"file_size","direction":"DESC"},{"attribute":"opr","direction":"DESC"},{"attribute":"url","direction":"ASC"}],"filter":{"AND":[{"field":"header_status","operator":"<","value":300},{"field":"is_local","operator":"==","value":true}]}};
var ONPAGE_CALLS = [
{
name : "1_pagesByIndexType",
postBody_Aggr : pb_1_pagesByIndexType_Aggr,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/indexability/pages/?sort=%7B%22default_table%22%3A%5B%22opr%22%2C%22DESC%22%5D%7D"
},
{
name : "1_pageNotInSitemap",
postBody_Aggr : pb_1_pageNotInSitemap_Aggr,
postBody_List : pb_1_pageNotInSitemap_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/sitemaps/usage/?filters=%7B%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22sitemap_group%22%3A%5B%22%3D%3D%22%2C%22not_included%22%5D%2C%22url%22%3A%7B%22AND%22%3A%5B%5B%22NOT_MATCH%22%2C%22Service%7CImpressum%22%5D%5D%7D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22sitemap_url%22%2C%22DESC%22%5D%7D"
},
{
name : "1_longClickPath",
postBody_Aggr : pb_1_longClickPath_Aggr,
postBody_List : pb_1_longClickPath_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/links/clickpath/?filters=%7B%22analytics_visits%22%3A%7B%22AND%22%3A%5B%5B%22%3E%22%2C2%5D%5D%7D%2C%22count_minimum_clicks%22%3A%5B%22%3E%22%2C6%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22count_minimum_clicks%22%2C%22DESC%22%5D%7D"
},
{
name : "1_inSitemapNoIndex",
postBody_Aggr : pb_1_inSitemapNoIndex_Aggr,
postBody_List : pb_1_inSitemapNoIndex_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/sitemaps/usage/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22sitemap_group%22%3A%5B%22%3D%3D%22%2C%22included%22%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%7D&sort=%7B%22default_table%22%3A%5B%22sitemap_url%22%2C%22DESC%22%5D%7D"
},
{
name : "1_inSitemapNoIncomingLinks",
postBody_Aggr : pb_1_inSitemapNoIncomingLinks_Aggr,
postBody_List : pb_1_inSitemapNoIncomingLinks_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/links/orphaned/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22count_links_incoming_internal_follow%22%3A%5B%22%3D%3D%22%2C0%5D%2C%22is_sitemapped%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%7D&sort=%7B%22default_table%22%3A%5B%22opr%22%2C%22DESC%22%5D%7D"
},
{
name : "1_fewIncomingLinks",
postBody_Aggr : pb_1_fewIncomingLinks_Aggr,
postBody_List : pb_1_fewIncomingLinks_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/links/orphaned/?filters=%7B%22analytics_visits%22%3A%7B%22AND%22%3A%5B%5B%22%3E%22%2C2%5D%5D%7D%2C%22count_links_incoming_internal%22%3A%5B%22%3C%22%2C3%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22opr%22%2C%22DESC%22%5D%7D"
},
{
name : "2_multipleH1Tags",
postBody_Aggr : pb_2_multipleH1Tags_Aggr,
postBody_List : pb_2_multipleH1Tags_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/content/headlines/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22count_h1%22%3A%5B%22%3E%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22count_h1%22%2C%22DESC%22%5D%7D"
},
{
name : "2_titleDuplicates",
postBody_Aggr : pb_2_titleDuplicates_Aggr,
postBody_List : pb_2_titleDuplicates_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/content/title/duplicates/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_meta_title_duplicate%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22count_duplicate_titles%22%3A%5B%22%3E%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22count_duplicate_titles%22%2C%22DESC%22%5D%7D"
},
{
name : "2_nonUniquePages",
postBody_Aggr : pb_2_nonUniquePages_Aggr,
postBody_List : pb_2_nonUniquePages_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/content/duplicate-content/?filters=%7B%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22is_duplicate%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22count_duplicate_contents%22%3A%5B%22%3E%3D%22%2C1%5D%2C%22header_status%22%3A%5B%22%3C%22%2C300%5D%7D&sort=%7B%22default_table%22%3A%5B%22count_duplicate_contents%22%2C%22DESC%22%5D%7D"
},
{
name : "2_imgNoAltText",
postBody_List : pb_2_imgNoAltText_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/assets/images/alts/?filters=%7B%22image_alt%22%3A%5B%22%3D%3D%22%2C%22%22%5D%7D&sort=%7B%22default_table%22%3A%5B%22url%22%2C%22ASC%22%5D%7D"
},
{
name : "3_status404",
postBody_Aggr : pb_3_status404_Aggr,
postBody_List : pb_3_status404_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/indexability/header-status/?filters=%7B%22inventory_group%22%3A%5B%22%3D%3D%22%2C%22broken_page%22%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22header_status%22%3A%5B%22%3C%22%2C900%5D%7D&sort=%7B%22default_table%22%3A%5B%22opr%22%2C%22DESC%22%5D%7D"
},
{
name : "3_slowPages",
postBody_Aggr : pb_3_slowPages_Aggr,
postBody_List : pb_3_slowPages_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/performance/load-times/?filters=%7B%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22server_load_time_group%22%3A%7B%22OR%22%3A%5B%5B%22%3D%3D%22%2C%22ok%22%5D%2C%5B%22%3D%3D%22%2C%22slow%22%5D%2C%5B%22%3D%3D%22%2C%22timeout%22%5D%2C%5B%22%3D%3D%22%2C%22very_slow%22%5D%5D%7D%2C%22sitemap_group%22%3A%5B%22%3D%3D%22%2C%22included%22%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22server_first_byte%22%2C%22DESC%22%5D%7D"
},
{
name : "3_pageSizeLarge",
postBody_Aggr : pb_3_pageSizeLarge_Aggr,
postBody_List : pb_3_pageSizeLarge_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/performance/load-times/?filters=%7B%22header_status%22%3A%5B%22%3C%22%2C300%5D%2C%22is_indexable%22%3A%5B%22%3D%3D%22%2Cfalse%5D%2C%22is_local%22%3A%5B%22%3D%3D%22%2Ctrue%5D%2C%22server_load_time_group%22%3A%7B%22OR%22%3A%5B%5B%22%3D%3D%22%2C%22ok%22%5D%2C%5B%22%3D%3D%22%2C%22slow%22%5D%2C%5B%22%3D%3D%22%2C%22timeout%22%5D%2C%5B%22%3D%3D%22%2C%22very_slow%22%5D%5D%7D%2C%22sitemap_group%22%3A%5B%22%3D%3D%22%2C%22included%22%5D%2C%22url_type_id%22%3A%5B%22%3D%3D%22%2C1%5D%7D&sort=%7B%22default_table%22%3A%5B%22server_first_byte%22%2C%22DESC%22%5D%7D"
},
{
name : "3_fileSizeLarge",
postBody_Aggr : pb_3_fileSizeLarge_Aggr,
postBody_List : pb_3_fileSizeLarge_List,
URL : "https://my.ryte.com/" + PROJECT + "/website-success/performance/file-sizes/?sort=%7B%22default_table%22%3A%5B%22file_size%22%2C%22DESC%22%5D%7D"
}
];
/*********** CALL PROCEDURE ***********/
var ss = SpreadsheetApp.openById(SPREADSHEET_ID);
var sheet = ss.getSheetByName(SHEET_NAME);
sheet.getRange('a:z').clearContent();
var headerRow = ["Name", "Typ", "Anzahl", "Tool-URL", "Inhalt"];
var aggregatedCallResults = buildResultArray(ONPAGE_CALLS, "aggr");
var listCallResults = buildResultArray(ONPAGE_CALLS, "list");
// Prints values to sheet
sheet.getRange(1,1,1, headerRow.length).setValues([headerRow]);
sheet.getRange(2,1,aggregatedCallResults.length, aggregatedCallResults[0].length).setValues(aggregatedCallResults);
sheet.getRange(16,1,listCallResults.length, listCallResults[0].length).setValues(listCallResults);
}
/**************************************/
/*********** FUNCTION DEFINITIONS *****/
/**************************************/
/*
* @param array ONPAGE_CALLS
* @param string type
* @return array resultArray
*/
function buildResultArray(ONPAGE_CALLS, type) {
var resultArray = [];
for(i = 0; i < ONPAGE_CALLS.length; i++) {
// early return if postBody attribute non-existent
if(type == "aggr" && !ONPAGE_CALLS[i].postBody_Aggr) continue;
if(type == "list" && !ONPAGE_CALLS[i].postBody_List) continue;
var requestUrl = 'https://api.ryte.com/zoom/json';
var payload = JSON.stringify(
type == "aggr" ? ONPAGE_CALLS[i].postBody_Aggr : ONPAGE_CALLS[i].postBody_List
);
var response = UrlFetchApp.fetch(requestUrl,{ "method" : "post", "contentType" : "application/json", "payload" : payload, "muteHttpExceptions" : true } );
var parsedResponse = JSON.parse(response);
var resultBody = parsedResponse.results == 0 ? "-" : parsedResponse.result;
var valueRow = [ONPAGE_CALLS[i].name,type, parsedResponse.results, ONPAGE_CALLS[i].URL, resultBody];
resultArray.push(valueRow);
}
// Logger.log("result for " + type + ":" + resultArray);
return resultArray;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment