{"baseUrl":"https://nikcub.me","timestamp":"2026-02-07T23:47:16.047Z","totalPages":51,"passed":4576,"warnings":504,"failed":98,"siteChecks":[{"name":"title-unique","status":"warn","message":"1 duplicate title(s) affecting 5 pages","items":[{"id":"articles | nik cubrilovic","label":"\"articles | nik cubrilovic...\" (5 pages)","sourcePages":["https://nikcub.me/posts","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"],"meta":{"pageCount":5}}],"details":{"totalDuplicates":1,"totalPages":5}},{"name":"duplicate-title","status":"warn","message":"1 duplicate title(s) found across 5 pages","items":[{"id":"articles | nik cubrilovic","label":"\"articles | nik cubrilovic...\" (5 pages)","sourcePages":["https://nikcub.me/posts","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"],"meta":{"pageCount":5}}],"details":{"totalDuplicates":1,"totalPages":5}},{"name":"duplicate-description","status":"warn","message":"1 duplicate description(s) found across 5 pages","items":[{"id":"long-form writing on security, privacy, and technology","label":"\"long-form writing on security, privacy, ...\" (5 pages)","sourcePages":["https://nikcub.me/posts","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"],"meta":{"pageCount":5}}],"details":{"totalDuplicates":1,"totalPages":5}},{"name":"broken-links","status":"pass","message":"No broken internal links detected"},{"name":"broken-external-links","status":"warn","message":"72 broken external link(s): 26 with 404, 2 with 429, 26 failed, 3 with 520, 5 with 500, 1 with 403, 3 with 401, 5 with 503, 1 with 999","items":[{"id":"http://www.gq-magazine.co.uk/article/bitcoin-creator-satoshi-nakamoto-craig-wright","label":"http://www.gq-magazine.co.uk/article/bitcoin-creator-satoshi-nakamoto-craig-wright (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"http://www.lrb.co.uk/2016/05/01/andrew-ohagan/the-search-for-satoshi","label":"http://www.lrb.co.uk/2016/05/01/andrew-ohagan/the-search-for-satoshi (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"http://www.mcgrathnicol.com/app/uploads/D14-140526-Hotwire439AReport-BFK.pdf","label":"http://www.mcgrathnicol.com/app/uploads/D14-140526-Hotwire439AReport-BFK.pdf (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"https://github.com/spesmilo/electrum/blob/master/lib/interface.py#L117","label":"https://github.com/spesmilo/electrum/blob/master/lib/interface.py#L117 (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"https://github.com/spesmilo/electrum/blob/master/lib/network.py#L367-384","label":"https://github.com/spesmilo/electrum/blob/master/lib/network.py#L367-384 (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"http://archive.is/3UwA7","label":"http://archive.is/3UwA7 (429)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":429,"error":null}},{"id":"https://www.nikcub.com/posts/onymous-part1/","label":"https://www.nikcub.com/posts/onymous-part1/ (404)","sourcePages":["https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"],"meta":{"status":404,"error":null}},{"id":"http://www.thoughtcrime.org/software/sslstrip/","label":"http://www.thoughtcrime.org/software/sslstrip/ (404)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":404,"error":null}},{"id":"http://www.networking4all.com/en/ssl+certificates/faq/change+san+issue/","label":"http://www.networking4all.com/en/ssl+certificates/faq/change+san+issue/ (404)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":404,"error":null}},{"id":"https://cabforum.org/wp-content/uploads/Guidance-Deprecated-Internal-Names.pdf","label":"https://cabforum.org/wp-content/uploads/Guidance-Deprecated-Internal-Names.pdf (404)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":404,"error":null}},{"id":"https://github.com/chris-barry/darkweb-everywhere/tree/master/src/chrome/content/rules","label":"https://github.com/chris-barry/darkweb-everywhere/tree/master/src/chrome/content/rules (404)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":404,"error":null}},{"id":"http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf","label":"http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf (Error: Unable to connect. Is the computer able to access the url?)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":null,"error":"Unable to connect. Is the computer able to access the url?"}},{"id":"http://www.twitter.com/lamoustache","label":"http://www.twitter.com/lamoustache (520)","sourcePages":["https://nikcub.me/posts/onymous-part1"],"meta":{"status":520,"error":null}},{"id":"http://www.deepdotweb.com/","label":"http://www.deepdotweb.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/onymous-part1"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://allyour4nert7pkh.onion/wiki/index.php?title=Onion_Cloner","label":"http://allyour4nert7pkh.onion/wiki/index.php?title=Onion_Cloner (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/onymous-part1"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://www.jump-in.com.au/show/60minutes/stories/2014/september/the-dark-web/","label":"http://www.jump-in.com.au/show/60minutes/stories/2014/september/the-dark-web/ (Error: Unable to connect. Is the computer able to access the url?)","sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"],"meta":{"status":null,"error":"Unable to connect. Is the computer able to access the url?"}},{"id":"http://www.jump-in.com.au/show/60minutes/videos/3784171895001/","label":"http://www.jump-in.com.au/show/60minutes/videos/3784171895001/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://www.tor2web.org/","label":"http://www.tor2web.org/ (Error: ERR_TLS_CERT_ALTNAME_INVALID fetching \"http://www.tor2web.org/\". For more information, pass `verbose: true` in the second argument to fetch())","sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"],"meta":{"status":null,"error":"ERR_TLS_CERT_ALTNAME_INVALID fetching \"http://www.tor2web.org/\". For more information, pass `verbose: true` in the second argument to fetch()"}},{"id":"https://metrics.torproject.org/users.html","label":"https://metrics.torproject.org/users.html (404)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":404,"error":null}},{"id":"http://ia700603.us.archive.org/21/items/gov.uscourts.nysd.422824/gov.uscourts.nysd.422824.57.0.pdf","label":"http://ia700603.us.archive.org/21/items/gov.uscourts.nysd.422824/gov.uscourts.nysd.422824.57.0.pdf (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://antilop.cc/sr/img/2013_03_16_stack_overflow_question.png","label":"http://antilop.cc/sr/img/2013_03_16_stack_overflow_question.png (Error: timeout)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":null,"error":"timeout"}},{"id":"http://www.twitter.com/harisec","label":"http://www.twitter.com/harisec (520)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":520,"error":null}},{"id":"http://www.twitter.com/thegrugq","label":"http://www.twitter.com/thegrugq (520)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":520,"error":null}},{"id":"http://antilop.cc/sr/","label":"http://antilop.cc/sr/ (Error: timeout)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":null,"error":"timeout"}},{"id":"http://www.disqus.com/","label":"http://www.disqus.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://disqus.com/","label":"http://disqus.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://blog.cs-cart.com/2014/07/21/cs-cart-4-2-1-released-new-styles-e-mail-marketing-and-more/","label":"http://blog.cs-cart.com/2014/07/21/cs-cart-4-2-1-released-new-styles-e-mail-marketing-and-more/ (404)","sourcePages":["https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"],"meta":{"status":404,"error":null}},{"id":"http://www.amta.org.au/articles/Delivering.user-friendly.Government.services.online","label":"http://www.amta.org.au/articles/Delivering.user-friendly.Government.services.online (404)","sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"],"meta":{"status":404,"error":null}},{"id":"http://www.archive.dbcde.gov.au/2013/september/national_digital_economy_strategy/advancing_australia_as_a_digital_economy/part_three_achieving_o%20ur_goalsbuilding_on_the_2011_national_digital_economystrategy/online_government_service_delivery","label":"http://www.archive.dbcde.gov.au/2013/september/national_digital_economy_strategy/advancing_australia_as_a_digital_economy/part_three_achieving_o%20ur_goalsbuilding_on_the_2011_national_digital_economystrategy/online_government_service_delivery (Error: timeout)","sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"],"meta":{"status":null,"error":"timeout"}},{"id":"http://sxp.yimg.com/ei/ynano/YAxis_Chrome_v1_0_20120520.crx","label":"http://sxp.yimg.com/ei/ynano/YAxis_Chrome_v1_0_20120520.crx (500)","sourcePages":["https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"],"meta":{"status":500,"error":null}},{"id":"http://blogs.msdn.com/b/ie/archive/2012/02/20/google-bypassing-user-privacy-settings.aspx","label":"http://blogs.msdn.com/b/ie/archive/2012/02/20/google-bypassing-user-privacy-settings.aspx (403)","sourcePages":["https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"],"meta":{"status":403,"error":null}},{"id":"http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html","label":"http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html (401)","sourcePages":["https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"],"meta":{"status":401,"error":null}},{"id":"https://ssd.eff.org/book/export/html/42","label":"https://ssd.eff.org/book/export/html/42 (404)","sourcePages":["https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"],"meta":{"status":404,"error":null}},{"id":"http://twitter.com/byoogle","label":"http://twitter.com/byoogle (500)","sourcePages":["https://nikcub.me/posts/frictionless-browser-plugin","https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"],"meta":{"status":500,"error":null}},{"id":"https://www.mondaynote.com/2011/12/05/behind-rim%E2%80%99s-485m-write-off/","label":"https://www.mondaynote.com/2011/12/05/behind-rim%E2%80%99s-485m-write-off/ (Error: Unable to connect. Is the computer able to access the url?)","sourcePages":["https://nikcub.me/posts/google-android-the-accidental-empire"],"meta":{"status":null,"error":"Unable to connect. Is the computer able to access the url?"}},{"id":"http://blogs.wsj.com/tech-europe/2011/02/09/full-text-nokia-ceo-stephen-elops-burning-platform-memo/","label":"http://blogs.wsj.com/tech-europe/2011/02/09/full-text-nokia-ceo-stephen-elops-burning-platform-memo/ (401)","sourcePages":["https://nikcub.me/posts/google-android-the-accidental-empire"],"meta":{"status":401,"error":null}},{"id":"http://chitika.com/","label":"http://chitika.com/ (Error: certificate has expired)","sourcePages":["https://nikcub.me/posts/lies-damn-lies-and-google-statistics"],"meta":{"status":null,"error":"certificate has expired"}},{"id":"http://insights.chitika.com/2011/failure-to-launch-google-growth-spurt-short-lived/","label":"http://insights.chitika.com/2011/failure-to-launch-google-growth-spurt-short-lived/ (Error: certificate has expired)","sourcePages":["https://nikcub.me/posts/lies-damn-lies-and-google-statistics"],"meta":{"status":null,"error":"certificate has expired"}},{"id":"http://twitter.com/arrington","label":"http://twitter.com/arrington (500)","sourcePages":["https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"],"meta":{"status":500,"error":null}},{"id":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html","label":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html (401)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":401,"error":null}},{"id":"http://nikcub.appspot.com/logging-out-of-facebook-is-not-enough","label":"http://nikcub.appspot.com/logging-out-of-facebook-is-not-enough (503)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":503,"error":null}},{"id":"http://nikcub.appspot.com/fb-table.html","label":"http://nikcub.appspot.com/fb-table.html (503)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":503,"error":null}},{"id":"http://nikcub.appspot.com/facebook-fixes-logout-issue-explains-cookies","label":"http://nikcub.appspot.com/facebook-fixes-logout-issue-explains-cookies (503)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":503,"error":null}},{"id":"http://www.datatilsynet.no/upload/Dokumenter/utredninger%20av%20Datatilsynet/From%20Facebook%20-%20Norway-DPA.pdf","label":"http://www.datatilsynet.no/upload/Dokumenter/utredninger%20av%20Datatilsynet/From%20Facebook%20-%20Norway-DPA.pdf (404)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":404,"error":null}},{"id":"http://twitter.com/#!/jonathanmayer","label":"http://twitter.com/#!/jonathanmayer (500)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":500,"error":null}},{"id":"http://www.microsoft.com/security/online-privacy/passwords-create.aspx","label":"http://www.microsoft.com/security/online-privacy/passwords-create.aspx (404)","sourcePages":["https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"],"meta":{"status":404,"error":null}},{"id":"http://twitter.com/#!/sacca/status/88653313096163329","label":"http://twitter.com/#!/sacca/status/88653313096163329 (500)","sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"],"meta":{"status":500,"error":null}},{"id":"http://bitbucket.org/nik/blockplus","label":"http://bitbucket.org/nik/blockplus (404)","sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"],"meta":{"status":404,"error":null}},{"id":"http://nikcub.appspot.com/static/blockplus-2.crx","label":"http://nikcub.appspot.com/static/blockplus-2.crx (503)","sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"],"meta":{"status":503,"error":null}},{"id":"https://bitbucket.org/nik/blockplus/issues","label":"https://bitbucket.org/nik/blockplus/issues (404)","sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"],"meta":{"status":404,"error":null}},{"id":"http://www.miaminewtimes.com/content/printVersion/240700/","label":"http://www.miaminewtimes.com/content/printVersion/240700/ (404)","sourcePages":["https://nikcub.me/posts/pain-and-gain"],"meta":{"status":404,"error":null}},{"id":"http://www.miaminewtimes.com/content/printVersion/240723/","label":"http://www.miaminewtimes.com/content/printVersion/240723/ (404)","sourcePages":["https://nikcub.me/posts/pain-and-gain"],"meta":{"status":404,"error":null}},{"id":"http://www.miaminewtimes.com/content/printVersion/240747/","label":"http://www.miaminewtimes.com/content/printVersion/240747/ (404)","sourcePages":["https://nikcub.me/posts/pain-and-gain"],"meta":{"status":404,"error":null}},{"id":"http://www.webmasterworld.com/","label":"http://www.webmasterworld.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://discuss.joelonsoftware.com/?biz","label":"http://discuss.joelonsoftware.com/?biz (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://nikcub.appspot.com/guide-to-finding-a-good-and-safe-company-or-product-name","label":"http://nikcub.appspot.com/guide-to-finding-a-good-and-safe-company-or-product-name (503)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"status":503,"error":null}},{"id":"http://www.rentacoder.com/","label":"http://www.rentacoder.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://knowem.com/","label":"http://knowem.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://www.usernamecheck.com/","label":"http://www.usernamecheck.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://vebtools.com/google-banned-checker/","label":"http://vebtools.com/google-banned-checker/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://vebtools.com/","label":"http://vebtools.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://www.siteadvisor.com/","label":"http://www.siteadvisor.com/ (Error: timeout)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"timeout"}},{"id":"http://hosts-file.net/","label":"http://hosts-file.net/ (Error: timeout)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"timeout"}},{"id":"http://www.nxdom.com/","label":"http://www.nxdom.com/ (404)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":404,"error":null}},{"id":"http://crastinate.com/2008/07/07/dont-believe-the-twitter-hype/","label":"http://crastinate.com/2008/07/07/dont-believe-the-twitter-hype/ (404)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"status":404,"error":null}},{"id":"http://venturebeat.com/2009/10/14/ea-exec-says-social-gaming-bubble-resembles-mobile-games-hype/","label":"http://venturebeat.com/2009/10/14/ea-exec-says-social-gaming-bubble-resembles-mobile-games-hype/ (429)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"status":429,"error":null}},{"id":"http://beta.gawker.com/","label":"http://beta.gawker.com/ (404)","sourcePages":["https://nikcub.me/posts/relevance-time-for-twitter"],"meta":{"status":404,"error":null}},{"id":"https://addons.mozilla.org/en-US/firefox/addon/12714/","label":"https://addons.mozilla.org/en-US/firefox/addon/12714/ (404)","sourcePages":["https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"],"meta":{"status":404,"error":null}},{"id":"https://linkedin.com/in/nikcub","label":"https://linkedin.com/in/nikcub (999)","sourcePages":["https://nikcub.me/contact"],"meta":{"status":999,"error":null}},{"id":"https://infotorch.org/social","label":"https://infotorch.org/social (Error: timeout)","sourcePages":["https://nikcub.me/about"],"meta":{"status":null,"error":"timeout"}},{"id":"https://beatcov.org/","label":"https://beatcov.org/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/about"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://0day.today/author/21985","label":"http://0day.today/author/21985 (404)","sourcePages":["https://nikcub.me/about"],"meta":{"status":404,"error":null}}],"details":{"totalBroken":72,"totalChecked":363}},{"name":"waf-blocked-external-links","status":"info","message":"25 external link(s) blocked by WAF - status unverifiable","items":[{"id":"http://www.forbes.com/sites/thomasbrewster/2015/12/11/bitcoin-creator-satoshi-craig-wright-lies-hoax/?platform=hootsuite","label":"http://www.forbes.com/sites/thomasbrewster/2015/12/11/bitcoin-creator-satoshi-craig-wright-lies-hoax/?platform=hootsuite (datadome)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"wafProvider":"datadome"}},{"id":"http://dl.acm.org/citation.cfm?id=185247","label":"http://dl.acm.org/citation.cfm?id=185247 (cloudflare)","sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.businesswire.com/news/home/20140902006384/en/Apple-Media-Advisory","label":"http://www.businesswire.com/news/home/20140902006384/en/Apple-Media-Advisory (akamai)","sourcePages":["https://nikcub.me/posts/notes-on-the-celebrity-data-theft"],"meta":{"wafProvider":"akamai"}},{"id":"http://www.bloomberg.com/news/2012-02-17/f-commerce-trips-as-gap-to-penney-shut-facebook-stores-retail.html","label":"http://www.bloomberg.com/news/2012-02-17/f-commerce-trips-as-gap-to-penney-shut-facebook-stores-retail.html (perimeterx)","sourcePages":["https://nikcub.me/posts/facebook-is-losing-e-commerce"],"meta":{"wafProvider":"perimeterx"}},{"id":"http://docs.justia.com/cases/federal/district-courts/california/candce/5:2011cv01846/239768/279/","label":"http://docs.justia.com/cases/federal/district-courts/california/candce/5:2011cv01846/239768/279/ (cloudflare)","sourcePages":["https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://tech.fortune.cnn.com/2010/08/04/google-passes-the-200000-android-activationsday-mark/","label":"http://tech.fortune.cnn.com/2010/08/04/google-passes-the-200000-android-activationsday-mark/ (aws-waf)","sourcePages":["https://nikcub.me/posts/google-android-the-accidental-empire"],"meta":{"wafProvider":"aws-waf"}},{"id":"http://www.forbes.com/sites/timworstall/2011/10/09/google-plus-traffic-down-60/","label":"http://www.forbes.com/sites/timworstall/2011/10/09/google-plus-traffic-down-60/ (datadome)","sourcePages":["https://nikcub.me/posts/lies-damn-lies-and-google-statistics"],"meta":{"wafProvider":"datadome"}},{"id":"http://www.quora.com/","label":"http://www.quora.com/ (cloudflare)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.namejet.com/","label":"http://www.namejet.com/ (cloudflare)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.nytimes.com/2004/08/06/business/technology-loving-google-but-not-its-public-offering.html","label":"http://www.nytimes.com/2004/08/06/business/technology-loving-google-but-not-its-public-offering.html (datadome)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"wafProvider":"datadome"}},{"id":"http://crunchbase.com/company/facebook","label":"http://crunchbase.com/company/facebook (cloudflare)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.crunchbase.com/company/twitter","label":"http://www.crunchbase.com/company/twitter (cloudflare)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.crunchbase.com/company/zynga","label":"http://www.crunchbase.com/company/zynga (cloudflare)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/crunchfund","label":"https://www.crunchbase.com/organization/crunchfund (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/digitalocean","label":"https://www.crunchbase.com/organization/digitalocean (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/gitlab-com","label":"https://www.crunchbase.com/organization/gitlab-com (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/streamable","label":"https://www.crunchbase.com/organization/streamable (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/readme-io","label":"https://www.crunchbase.com/organization/readme-io (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/pachyderm#/entity","label":"https://www.crunchbase.com/organization/pachyderm#/entity (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/predictionio#/entity","label":"https://www.crunchbase.com/organization/predictionio#/entity (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.theaustralian.com.au/australian-it/opinion/frictionless-sharing-a-cause-for-concern/story-e6frgb0o-1226157574498","label":"http://www.theaustralian.com.au/australian-it/opinion/frictionless-sharing-a-cause-for-concern/story-e6frgb0o-1226157574498 (akamai)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"akamai"}},{"id":"http://www.theaustralian.com.au/australian-it/live-blog-about-facebook-privacy-and-security-with-nik-cubrilovic-at-3pm-aest/story-e6frgakx-1226151189067","label":"http://www.theaustralian.com.au/australian-it/live-blog-about-facebook-privacy-and-security-with-nik-cubrilovic-at-3pm-aest/story-e6frgakx-1226151189067 (akamai)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"akamai"}},{"id":"http://www.crunchbase.com/bloggerboard/tech/author/nik-cubrilovic","label":"http://www.crunchbase.com/bloggerboard/tech/author/nik-cubrilovic (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://angel.co/nik","label":"https://angel.co/nik (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/person/nik-cubrilovic","label":"https://www.crunchbase.com/person/nik-cubrilovic (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}}]},{"name":"redirect-chains","status":"pass","message":"No redirects detected"},{"name":"orphan-pages","status":"warn","message":"25 orphan page(s) with <2 incoming links","items":[{"id":"https://nikcub.me/asides"},{"id":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"id":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"id":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"id":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"id":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"id":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"id":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"id":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"id":"https://nikcub.me/posts/the-download-dot-con"},{"id":"https://nikcub.me/posts/frictionless-browser-plugin"},{"id":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"id":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"id":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"id":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"id":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"id":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"id":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"id":"https://nikcub.me/posts/pain-and-gain"},{"id":"https://nikcub.me/posts/numeronym"},{"id":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"id":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"id":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"id":"https://nikcub.me/posts/relevance-time-for-twitter"},{"id":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"}],"details":{"total":25},"value":"/asides\n/posts/two-google-chrome-privacy-issues\n/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites\n/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file\n/posts/facebook-also-doesnt-honor-p3p\n+20 more"},{"name":"weak-internal-links","status":"warn","message":"24 page(s) have only 1 internal link","items":[{"id":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"id":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"id":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"id":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"id":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"id":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"id":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"id":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"id":"https://nikcub.me/posts/the-download-dot-con"},{"id":"https://nikcub.me/posts/frictionless-browser-plugin"},{"id":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"id":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"id":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"id":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"id":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"id":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"id":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"id":"https://nikcub.me/posts/pain-and-gain"},{"id":"https://nikcub.me/posts/numeronym"},{"id":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"id":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"id":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"id":"https://nikcub.me/posts/relevance-time-for-twitter"},{"id":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"}],"details":{"total":24},"value":"/posts/two-google-chrome-privacy-issues\n/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites\n/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file\n/posts/facebook-also-doesnt-honor-p3p\n/posts/facebook-is-losing-e-commerce\n+19 more"},{"name":"image-file-size","status":"pass","message":"All image files are within size limits"},{"name":"broken-images","status":"pass","message":"No obviously broken images detected"},{"name":"http-to-https","status":"warn","message":"20 HTTP URL(s) redirect to HTTPS","items":[{"id":"http://nikcub.me/","label":"http://nikcub.me/ → https://nikcub.me/ (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/","finalUrl":"https://nikcub.me/","hops":[{"url":"http://nikcub.me/","statusCode":308,"type":"http"},{"url":"https://nikcub.me/","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts","label":"http://nikcub.me/posts → https://nikcub.me/posts (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts","finalUrl":"https://nikcub.me/posts","hops":[{"url":"http://nikcub.me/posts","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/asides","label":"http://nikcub.me/asides → https://nikcub.me/asides (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/asides","finalUrl":"https://nikcub.me/asides","hops":[{"url":"http://nikcub.me/asides","statusCode":308,"type":"http"},{"url":"https://nikcub.me/asides","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/subscribe","label":"http://nikcub.me/subscribe → https://nikcub.me/subscribe (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/subscribe","finalUrl":"https://nikcub.me/subscribe","hops":[{"url":"http://nikcub.me/subscribe","statusCode":308,"type":"http"},{"url":"https://nikcub.me/subscribe","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","label":"http://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto → https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","finalUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","hops":[{"url":"http://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","label":"http://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site → https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","finalUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","hops":[{"url":"http://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","label":"http://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl → https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","finalUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","hops":[{"url":"http://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/onymous-part1","label":"http://nikcub.me/posts/onymous-part1 → https://nikcub.me/posts/onymous-part1 (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/onymous-part1","finalUrl":"https://nikcub.me/posts/onymous-part1","hops":[{"url":"http://nikcub.me/posts/onymous-part1","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/onymous-part1","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","label":"http://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin → https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","finalUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","hops":[{"url":"http://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/analyzing-fbi-explanation-silk-road","label":"http://nikcub.me/posts/analyzing-fbi-explanation-silk-road → https://nikcub.me/posts/analyzing-fbi-explanation-silk-road (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/analyzing-fbi-explanation-silk-road","finalUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","hops":[{"url":"http://nikcub.me/posts/analyzing-fbi-explanation-silk-road","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/notes-on-the-celebrity-data-theft","label":"http://nikcub.me/posts/notes-on-the-celebrity-data-theft → https://nikcub.me/posts/notes-on-the-celebrity-data-theft (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/notes-on-the-celebrity-data-theft","finalUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","hops":[{"url":"http://nikcub.me/posts/notes-on-the-celebrity-data-theft","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","label":"http://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin → https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","finalUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","hops":[{"url":"http://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","label":"http://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities → https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","finalUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","hops":[{"url":"http://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","label":"http://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government → https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","finalUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","hops":[{"url":"http://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/two-google-chrome-privacy-issues","label":"http://nikcub.me/posts/two-google-chrome-privacy-issues → https://nikcub.me/posts/two-google-chrome-privacy-issues (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/two-google-chrome-privacy-issues","finalUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","hops":[{"url":"http://nikcub.me/posts/two-google-chrome-privacy-issues","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/two-google-chrome-privacy-issues","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","label":"http://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites → https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","finalUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","hops":[{"url":"http://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","label":"http://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file → https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","finalUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","hops":[{"url":"http://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/facebook-also-doesnt-honor-p3p","label":"http://nikcub.me/posts/facebook-also-doesnt-honor-p3p → https://nikcub.me/posts/facebook-also-doesnt-honor-p3p (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/facebook-also-doesnt-honor-p3p","finalUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","hops":[{"url":"http://nikcub.me/posts/facebook-also-doesnt-honor-p3p","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/facebook-is-losing-e-commerce","label":"http://nikcub.me/posts/facebook-is-losing-e-commerce → https://nikcub.me/posts/facebook-is-losing-e-commerce (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/facebook-is-losing-e-commerce","finalUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","hops":[{"url":"http://nikcub.me/posts/facebook-is-losing-e-commerce","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/facebook-is-losing-e-commerce","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","label":"http://nikcub.me/posts/how-megaupload-was-investigated-and-indicted → https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","finalUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","hops":[{"url":"http://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}}],"details":{"total":20,"sampled":20}},{"name":"hsts","status":"pass","message":"HSTS configured correctly","value":"max-age=63072000"},{"name":"csp-missing","status":"warn","message":"No Content-Security-Policy header","value":"Site vulnerable to XSS without CSP","expected":"Content-Security-Policy header with script-src directive"},{"name":"x-frame-options","status":"pass","message":"X-Frame-Options header present","value":"DENY"},{"name":"x-content-type","status":"pass","message":"X-Content-Type-Options: nosniff is set"},{"name":"referrer-policy","status":"pass","message":"Referrer-Policy header present","value":"strict-origin-when-cross-origin"},{"name":"permissions-policy","status":"info","message":"No Permissions-Policy header","value":"Consider restricting browser features"},{"name":"leaked-secrets","status":"pass","message":"No leaked API keys or secrets detected"},{"name":"css-file-size","status":"pass","message":"All CSS files are within size limits"},{"name":"js-redirects","status":"pass","message":"No JavaScript resources are redirecting"},{"name":"total-byte-weight","status":"pass","message":"Total tracked resources: 1344KB","details":{"pagesAnalyzed":49,"css":"14KB","cssBreakdown":"inline: 2KB, external: 12KB","cssFiles":2,"js":"463KB","jsFiles":10,"images":"867KB","imageFiles":33},"value":"1344KB","expected":"< 1600KB"},{"name":"robots-txt-exists","status":"pass","message":"robots.txt exists","value":"https://nikcub.me/robots.txt"},{"name":"robots-txt-syntax","status":"pass","message":"robots.txt syntax is valid"},{"name":"robots-txt-disallow","status":"pass","message":"robots.txt does not block all crawling"},{"name":"robots-txt-sitemap","status":"pass","message":"Sitemap referenced in robots.txt","items":[{"id":"https://nikcub.me/sitemap.xml"}]},{"name":"sitemap-exists","status":"pass","message":"1 sitemap(s) found","items":[{"id":"https://nikcub.me/sitemap.xml","meta":{"urlCount":44}}]},{"name":"sitemap-in-robots","status":"pass","message":"Sitemap referenced in robots.txt","value":"https://nikcub.me/sitemap.xml"},{"name":"sitemap-urls","status":"info","message":"Sitemap contains 44 URL(s)"},{"name":"sitemap-syntax","status":"pass","message":"Sitemap XML syntax is valid"},{"name":"sitemap-size","status":"pass","message":"All sitemaps within URL limits"},{"name":"sitemap-missing","status":"info","message":"1 crawled page(s) not in sitemap","items":[{"id":"https://nikcub.me/fb-table.html"}]},{"name":"sitemap-4xx","status":"pass","message":"No sitemap URL checks available"},{"name":"sitemap-domain","status":"pass","message":"All sitemap URLs match site domain","details":{"host":"nikcub.me"}},{"name":"sitemap-coverage","status":"warn","message":"1 indexable page(s) not in sitemap (2%)","items":[{"id":"https://nikcub.me/fb-table.html"}],"details":{"percentage":2,"total":1}},{"name":"robots-conflict","status":"pass","message":"No robots meta/robots.txt conflicts detected"},{"name":"noindex-in-sitemap","status":"pass","message":"No noindexed pages in sitemap"},{"name":"all-noindex","status":"pass","message":"All pages are indexable"},{"name":"conflicts","status":"pass","message":"No indexability conflicts detected"},{"name":"schema-noindex","status":"pass","message":"No schema+noindex conflicts"},{"name":"redirect-chain","status":"pass","message":"No redirect chains exceed 2 hops"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","value":"Add schema if this is a local business"},{"name":"service-area","status":"info","message":"No dedicated location pages found","value":"Consider adding for multi-location businesses"},{"name":"author-byline","status":"warn","message":"Only 0% of content pages have author attribution","value":"Add author bylines to build E-E-A-T"},{"name":"date-published","status":"warn","message":"Only 0% of content has datePublished","value":"Add dates to Article schema"},{"name":"date-modified","status":"info","message":"0% of content has dateModified","value":"Add dateModified to show freshness"},{"name":"author-expertise","status":"pass","message":"Author expertise signals found","items":[{"id":"Person schema"}]},{"name":"citations","status":"pass","message":"29 authoritative citation(s) found","value":"Across 19 page(s)"},{"name":"about-page","status":"pass","message":"About page exists with substantial content","value":"https://nikcub.me/about"},{"name":"editorial-policy","status":"info","message":"No editorial/content policy pages found","value":"Consider adding for content-heavy sites"},{"name":"contact-page","status":"pass","message":"Contact page exists","value":"https://nikcub.me/contact"},{"name":"physical-address","status":"info","message":"No address schema markup detected","value":"Add PostalAddress schema if applicable"},{"name":"privacy-policy","status":"pass","message":"Privacy Policy page exists","value":"https://nikcub.me/privacy"},{"name":"privacy-linked","status":"pass","message":"Privacy policy linked from 98% of pages"},{"name":"terms-of-service","status":"info","message":"No Terms of Service page found","value":"Consider adding for e-commerce/SaaS sites"},{"name":"trust-signals","status":"info","message":"Limited trust signals detected","value":"Consider adding reviews, testimonials, or certifications"},{"name":"ymyl-content","status":"info","message":"YMYL content detected - apply higher E-E-A-T standards","items":[{"id":"Health (1 pages)"},{"id":"Finance (2 pages)"},{"id":"Legal (1 pages)"}]},{"name":"ymyl-requirements","status":"info","message":"YMYL content should have expert authors, disclaimers, and citations"},{"name":"disclaimer-page","status":"info","message":"No dedicated disclaimer page found","value":"Consider adding if you have YMYL or affiliate content"},{"name":"affiliate-disclosure","status":"info","message":"No affiliate links or disclosure page detected"}],"pages":[{"url":"https://nikcub.me","statusCode":200,"loadTime":18,"meta":{"title":"Nik Cubrilovic | Engineer writing about AI, data, and digital society","description":"Engineer writing about AI, data engineering, and digital society. Long-form articles and observations on technology's impact on our world.","canonical":"https://nikcub.me","robots":null},"og":{"title":"Nik Cubrilovic | Engineer writing about AI, data, and digital society","description":"Engineer writing about AI, data engineering, and digital society. Long-form articles and observations on technology's impact on our world.","url":"https://nikcub.me","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Nik Cubrilovic | Engineer writing about AI, data, and digital society","description":"Engineer writing about AI, data engineering, and digital society. Long-form articles and observations on technology's impact on our world.","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Nik Cubrilovic - Engineer"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (69 chars, max 60)","pageUrl":"https://nikcub.me/","value":"Nik Cubrilovic | Engineer writing about AI, data, and digital society","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (138 chars)","pageUrl":"https://nikcub.me/","value":"Engineer writing about AI, data engineering, and digital society. Long-form articles and observations on technology's impact on our world."},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/","value":"https://nikcub.me"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/","value":"Nik Cubrilovic - Engineer"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/","value":"title: Nik Cubrilovic | Engineer writ..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/"},{"name":"long-headings","status":"info","message":"2 heading(s) over 70 characters","pageUrl":"https://nikcub.me/","items":[{"id":"H2","label":"FBI seizes fake Tor hosted Jihad funding website a","meta":{"level":2,"length":98}},{"id":"H2","label":"Large Number of Tor Hidden Sites Seized by the FBI","meta":{"level":2,"length":96}}]},{"name":"word-count","status":"warn","message":"Thin content: 250 words (min 300)","pageUrl":"https://nikcub.me/","value":"250","expected":"300"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 18.9)","pageUrl":"https://nikcub.me/","value":"Flesch score: 13/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/","value":"30 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"14 internal link(s)","pageUrl":"https://nikcub.me/","value":"14"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/","value":"12"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/"},{"name":"svg-inline","status":"pass","message":"15 inline SVG(s), 4.8KB total","pageUrl":"https://nikcub.me/"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/"},{"name":"breadcrumb-schema","status":"info","message":"Homepage - breadcrumbs not typically needed","pageUrl":"https://nikcub.me/"},{"name":"website-schema","status":"info","message":"No WebSite schema on homepage","pageUrl":"https://nikcub.me/","value":"Consider adding for sitelinks searchbox"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"10 potential color contrast issue(s)","pageUrl":"https://nikcub.me/","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"mt-4 inline-flex items-center ...\" may have low contrast"},{"id":"h2 with class \"text-xs font-medium uppercase ...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"a with class \"mt-8 inline-flex items-center ...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":20,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/","details":{"headingsChecked":7}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/","details":{"headingsChecked":7}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (203 nodes)","pageUrl":"https://nikcub.me/","value":"203","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (14 levels)","pageUrl":"https://nikcub.me/","value":"14"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (50)","pageUrl":"https://nikcub.me/","value":"50"},{"name":"ttfb","status":"pass","message":"Fast server response (17ms)","pageUrl":"https://nikcub.me/","value":"17","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/","value":"indexable"},{"name":"page-redirect-chain","status":"warn","message":"Page redirects before content is served","pageUrl":"https://nikcub.me/","items":[{"id":"https://nikcub.me","label":"https://nikcub.me → https://nikcub.me/","meta":{"finalUrl":"https://nikcub.me/","chain":{"sourceUrl":"https://nikcub.me/","finalUrl":"https://nikcub.me/","hops":[{"url":"https://nikcub.me/","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}}}]},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/"},{"name":"url-length","status":"pass","message":"URL length is optimal (17 chars)","pageUrl":"https://nikcub.me/"},{"name":"slug-keywords","status":"info","message":"Root URL (no slug to analyze)","pageUrl":"https://nikcub.me/"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/"},{"name":"trailing-slash","status":"info","message":"Root URL (trailing slash check not applicable)","pageUrl":"https://nikcub.me/"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/"},{"name":"tap-targets","status":"info","message":"20 interactive element(s) found","pageUrl":"https://nikcub.me/","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"x15kd5jkk5166v\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"2695","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/","finalUrl":"https://nikcub.me/","hops":[{"url":"https://nikcub.me/","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts","statusCode":200,"loadTime":555,"meta":{"title":"Articles | Nik Cubrilovic","description":"Long-form writing on security, privacy, and technology","canonical":"https://nikcub.me/posts","robots":null},"og":{"title":"Articles","description":"Long-form writing on security, privacy, and technology","url":"https://nikcub.me/posts","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Articles","description":"Long-form writing on security, privacy, and technology","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Articles"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts","value":"https://nikcub.me/posts"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts","value":"Articles"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts","value":"title: Articles..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts"},{"name":"long-headings","status":"info","message":"3 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts","items":[{"id":"H2","label":"FBI seizes fake Tor hosted Jihad funding website a","meta":{"level":2,"length":98}},{"id":"H2","label":"Large Number of Tor Hidden Sites Seized by the FBI","meta":{"level":2,"length":96}},{"id":"H2","label":"Multiple Vulnerabilities in MyGov, the Australian ","meta":{"level":2,"length":106}}]},{"name":"word-count","status":"info","message":"Content could be longer: 392 words","pageUrl":"https://nikcub.me/posts","value":"392"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts","items":[{"id":"min","label":"\"min\" (3.1%)","meta":{"count":10,"density":3.0959752321981426}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 22.1)","pageUrl":"https://nikcub.me/posts","value":"Flesch score: 5/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts","value":"38 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"19 internal link(s)","pageUrl":"https://nikcub.me/posts","value":"19"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts","value":"17"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts"},{"name":"svg-inline","status":"pass","message":"25 inline SVG(s), 7.9KB total","pageUrl":"https://nikcub.me/posts"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":31,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts","details":{"headingsChecked":11}},{"name":"link-text-generic","status":"warn","message":"2 link(s) with generic text","pageUrl":"https://nikcub.me/posts","items":[{"id":"subscribe"},{"id":"next"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts","details":{"headingsChecked":11}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (287 nodes)","pageUrl":"https://nikcub.me/posts","value":"287","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts","value":"33"},{"name":"ttfb","status":"pass","message":"Fast server response (450ms)","pageUrl":"https://nikcub.me/posts","value":"450","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 105ms","pageUrl":"https://nikcub.me/posts","value":"105"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts"},{"name":"url-length","status":"pass","message":"URL length is optimal (23 chars)","pageUrl":"https://nikcub.me/posts"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts","value":"posts"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts"},{"name":"tap-targets","status":"info","message":"25 interactive element(s) found","pageUrl":"https://nikcub.me/posts","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"private, no-cache, no-store, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":null,"server":"Vercel","lastModified":null,"link":"</_next/static/media/68d403cf9f2c68c5-s.p.f9f15f61.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\", </_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\"","serverTiming":null,"age":"0","xCache":null,"cfCacheStatus":null,"xVercelCache":"MISS","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts","finalUrl":"https://nikcub.me/posts","hops":[{"url":"https://nikcub.me/posts","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/asides","statusCode":200,"loadTime":460,"meta":{"title":"Brief Notes & Asides | Nik Cubrilovic","description":"Short observations on security, technology, and current events","canonical":"https://nikcub.me/asides","robots":null},"og":{"title":"Brief Notes & Asides","description":"Short observations on security, technology, and current events","url":"https://nikcub.me/asides","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Brief Notes & Asides","description":"Short observations on security, technology, and current events","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Asides"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/asides","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/asides","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (37 chars)","pageUrl":"https://nikcub.me/asides","value":"Brief Notes & Asides | Nik Cubrilovic"},{"name":"meta-description","status":"warn","message":"Description too short (62 chars, min 120)","pageUrl":"https://nikcub.me/asides","value":"Short observations on security, technology, and current events","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/asides","value":"https://nikcub.me/asides"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/asides","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/asides","value":"Asides"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/asides","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/asides"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/asides","value":"title: Brief Notes & Asides..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/asides","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/asides","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/asides"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/asides"},{"name":"word-count","status":"warn","message":"Thin content: 40 words (min 300)","pageUrl":"https://nikcub.me/asides","value":"40","expected":"300"},{"name":"keyword-stuffing","status":"info","message":"Content too short for keyword density analysis","pageUrl":"https://nikcub.me/asides"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/asides"},{"name":"reading-level","status":"info","message":"Content too short for readability analysis","pageUrl":"https://nikcub.me/asides"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/asides","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/asides","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/asides","items":[{"id":"description","label":"description=\"Short observations on security, technology, and cu...\"","meta":{"content":"Short observations on security, technology, and cu..."}},{"id":"og:title","label":"og:title=\"Brief Notes & Asides\"","meta":{"content":"Brief Notes & Asides"}},{"id":"og:description","label":"og:description=\"Short observations on security, technology, and cu...\"","meta":{"content":"Short observations on security, technology, and cu..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/asides\"","meta":{"content":"https://nikcub.me/asides"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Brief Notes & Asides\"","meta":{"content":"Brief Notes & Asides"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Brief Notes & Asides\"","meta":{"content":"Brief Notes & Asides"}},{"id":"twitter:description","label":"twitter:description=\"Short observations on security, technology, and cu...\"","meta":{"content":"Short observations on security, technology, and cu..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/asides","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/asides","value":"8"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/asides","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/asides"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/asides"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/asides","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/asides"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/asides"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/asides"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/asides"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/asides","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/asides"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/asides","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/asides","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/asides"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/asides","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/asides"},{"name":"svg-inline","status":"pass","message":"4 inline SVG(s), 1.5KB total","pageUrl":"https://nikcub.me/asides"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/asides","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/asides","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/asides","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/asides","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/asides"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/asides"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/asides"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/asides","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/asides"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/asides"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/asides"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/asides","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/asides"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/asides"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/asides","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/asides"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/asides"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/asides"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/asides","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/asides","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/asides","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/asides","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/asides","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":9,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/asides"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/asides","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/asides"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/asides"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/asides"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/asides","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/asides","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/asides"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/asides"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/asides"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/asides"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/asides"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/asides"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/asides"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/asides"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/asides"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/asides"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/asides"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/asides"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/asides"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/asides","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/asides"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/asides"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/asides"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/asides"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/asides","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/asides"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/asides"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/asides"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/asides"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/asides"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/asides"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/asides","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/asides"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/asides"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/asides"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/asides","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/asides"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/asides"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/asides"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/asides"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/asides"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/asides"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/asides"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/asides","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/asides","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/asides"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/asides","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/asides","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/asides","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/asides"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/asides"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/asides","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/asides"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/asides"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/asides","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/asides"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (111 nodes)","pageUrl":"https://nikcub.me/asides","value":"111","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/asides","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/asides","value":"33"},{"name":"ttfb","status":"pass","message":"Fast server response (459ms)","pageUrl":"https://nikcub.me/asides","value":"459","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/asides","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/asides","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/asides"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/asides","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/asides","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/asides","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/asides","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/asides","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/asides"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/asides"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/asides","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/asides","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/asides","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/asides","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/asides","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/asides"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/asides","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/asides"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/asides","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/asides"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/asides"},{"name":"url-length","status":"pass","message":"URL length is optimal (24 chars)","pageUrl":"https://nikcub.me/asides"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/asides","value":"asides"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/asides"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/asides"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/asides","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/asides"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/asides"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/asides"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/asides"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/asides"},{"name":"tap-targets","status":"info","message":"14 interactive element(s) found","pageUrl":"https://nikcub.me/asides","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/asides","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/asides"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/asides"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/asides","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/asides","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/asides","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/asides","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/asides"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/asides"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/asides"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/asides","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/asides"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"private, no-cache, no-store, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":null,"server":"Vercel","lastModified":null,"link":"</_next/static/media/68d403cf9f2c68c5-s.p.f9f15f61.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\", </_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\"","serverTiming":null,"age":"0","xCache":null,"cfCacheStatus":null,"xVercelCache":"MISS","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/asides","finalUrl":"https://nikcub.me/asides","hops":[{"url":"https://nikcub.me/asides","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/subscribe","statusCode":200,"loadTime":653,"meta":{"title":"Subscribe | Nik Cubrilovic","description":"Get notified when I publish new articles. Subscribe via email newsletter or RSS feed. No spam, unsubscribe anytime.","canonical":"https://nikcub.me/subscribe","robots":null},"og":{"title":"Subscribe","description":"Get notified when I publish new articles. Subscribe via email newsletter or RSS feed. No spam, unsubscribe anytime.","url":"https://nikcub.me/subscribe","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Subscribe","description":"Get notified when I publish new articles. Subscribe via email newsletter or RSS feed. No spam, unsubscribe anytime.","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://feedly.com/i/subscription/feed%2Fhttps%3A%2F%2Fnikcub.me%2Ffeed.xml","text":"Add to Feedly →","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.inoreader.com/search/feeds/https%3A%2F%2Fnikcub.me%2Ffeed.xml","text":"Add to Inoreader →","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Subscribe"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/subscribe","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/subscribe","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too short (26 chars, min 30)","pageUrl":"https://nikcub.me/subscribe","value":"Subscribe | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (115 chars, min 120)","pageUrl":"https://nikcub.me/subscribe","value":"Get notified when I publish new articles. Subscribe via email newsletter or RSS feed. No spam, unsubscribe anytime.","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/subscribe","value":"https://nikcub.me/subscribe"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/subscribe","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/subscribe","value":"Subscribe"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/subscribe","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/subscribe"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/subscribe","value":"title: Subscribe..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/subscribe","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/subscribe"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/subscribe"},{"name":"word-count","status":"warn","message":"Thin content: 78 words (min 300)","pageUrl":"https://nikcub.me/subscribe","value":"78","expected":"300"},{"name":"keyword-stuffing","status":"info","message":"Content too short for keyword density analysis","pageUrl":"https://nikcub.me/subscribe"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/subscribe"},{"name":"reading-level","status":"info","message":"Content too short for readability analysis","pageUrl":"https://nikcub.me/subscribe"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/subscribe"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/subscribe","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/subscribe","value":"8"},{"name":"external-links","status":"pass","message":"4 external link(s)","pageUrl":"https://nikcub.me/subscribe","value":"4"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/subscribe"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/subscribe"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/subscribe","value":"7"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/subscribe"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/subscribe"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/subscribe"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/subscribe"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/subscribe","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/subscribe"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/subscribe","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/subscribe","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/subscribe"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.2KB total","pageUrl":"https://nikcub.me/subscribe"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/subscribe","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/subscribe","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/subscribe","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"form-captcha","status":"warn","message":"2 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"form[0]"},{"id":"form[1]"}]},{"name":"noopener","status":"pass","message":"4 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/subscribe"},{"name":"noreferrer","status":"pass","message":"4 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/subscribe"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/subscribe","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/subscribe","details":{"buttonsChecked":2}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/subscribe","details":{"inputsChecked":2}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/subscribe","details":{"inputsChecked":2}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"input with class \"h-11 flex-1 rounded-sm border ...\" may have low contrast"},{"id":"p with class \"mt-3 text-xs text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mb-4 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-xs text-muted-foreground ...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":15,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/subscribe"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/subscribe","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/subscribe"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/subscribe"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/subscribe"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/subscribe","details":{"headingsChecked":3}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/subscribe","details":{"buttonsChecked":2}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/subscribe"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/subscribe"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/subscribe","details":{"headingsChecked":3}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/subscribe"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/subscribe"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/subscribe"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/subscribe"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/subscribe","details":{"idsChecked":2}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/subscribe"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/subscribe"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/subscribe"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/subscribe","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/subscribe"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/subscribe"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/subscribe"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/subscribe"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/subscribe"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/subscribe"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/subscribe"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/subscribe","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/subscribe","details":{"inputsChecked":2}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/subscribe"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/subscribe","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/subscribe","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/subscribe"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/subscribe","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/subscribe"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/subscribe"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/subscribe"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (144 nodes)","pageUrl":"https://nikcub.me/subscribe","value":"144","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/subscribe","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (50)","pageUrl":"https://nikcub.me/subscribe","value":"50"},{"name":"ttfb","status":"warn","message":"Slow server response (652ms)","pageUrl":"https://nikcub.me/subscribe","value":"652","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/subscribe","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/subscribe","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/subscribe","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/subscribe","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/subscribe"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/subscribe","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/subscribe","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/subscribe","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/subscribe"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/subscribe","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/subscribe"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-length","status":"pass","message":"URL length is optimal (27 chars)","pageUrl":"https://nikcub.me/subscribe"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/subscribe","value":"subscribe"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/subscribe"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/subscribe","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/subscribe"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/subscribe"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/subscribe"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/subscribe","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/subscribe","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/subscribe","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/subscribe","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/subscribe"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"2d1a7b0c0b556c79a6499fb21bacfca2\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"23956","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/subscribe","finalUrl":"https://nikcub.me/subscribe","hops":[{"url":"https://nikcub.me/subscribe","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","statusCode":200,"loadTime":365,"meta":{"title":"Craig Wright is not Satoshi Nakamoto | Nik Cubrilovic","description":"A detailed investigation into Craig Wright's claim to be Bitcoin creator Satoshi Nakamoto, examining forged evidence, tax fraud allegations, and failed cryptographic proofs","canonical":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","robots":null},"og":{"title":"Craig Wright is not Satoshi Nakamoto","description":"A detailed investigation into Craig Wright's claim to be Bitcoin creator Satoshi Nakamoto, examining forged evidence, tax fraud allegations, and failed cryptographic proofs","url":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","type":"article","image":"https://nikcub.me/images/posts/craig_wright.webp","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Craig Wright is not Satoshi Nakamoto","description":"A detailed investigation into Craig Wright's claim to be Bitcoin creator Satoshi Nakamoto, examining forged evidence, tax fraud allegations, and failed cryptographic proofs","image":"https://nikcub.me/images/posts/craig_wright.webp"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Craig Wright is not Satoshi Nakamoto\",\"description\":\"A detailed investigation into Craig Wright's claim to be Bitcoin creator Satoshi Nakamoto, examining forged evidence, tax fraud allegations, and failed cryptographic proofs\",\"url\":\"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto\",\"datePublished\":\"2016-05-02T19:55:25+0000\",\"dateModified\":\"2016-05-02T19:55:25+0000\",\"image\":\"https://nikcub.me/images/posts/craig_wright.webp\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto\"}}"},"links":[{"url":"http://archive.is/3UwA7","text":"copy of his blog from 2011","isInternal":false,"status":429},{"url":"http://gavinandresen.ninja/satoshi","text":"Gavin Andresen","isInternal":false,"status":200},{"url":"http://gavinandresen.ninja/satoshi","text":"posted","isInternal":false,"status":200},{"url":"http://gizmodo.com/this-australian-says-he-and-his-dead-friend-invented-bi-1746958692","text":"Gizmodo","isInternal":false,"status":200},{"url":"http://imgur.com/IPDPXZm","text":"was a simple error","isInternal":false,"status":200},{"url":"http://pastebin.com/g3ME3Grc","text":"has been posted here","isInternal":false,"status":200},{"url":"http://prwire.com.au/pr/51565/the-demorgan-ltd-group-of-companies-to-receive-up-to-54-million-from-ausindustry-r-amp-d-tax-rebate-scheme-1","text":"as per their own press release","isInternal":false,"status":200},{"url":"http://themonetaryfuture.blogspot.sg/2016/05/how-i-met-satoshi.html","text":"Jon Matonis","isInternal":false,"status":200},{"url":"http://themonetaryfuture.blogspot.sg/2016/05/how-i-met-satoshi.html","text":"wrote a blog post","isInternal":false,"status":200},{"url":"http://www.abc.net.au/news/2015-12-09/bitcoin-suspected-founder-craig-wright-home-raided-by-afp/7014254","text":"were raided by agents","isInternal":false,"status":200},{"url":"http://www.bbc.com/news/technology-36168863","text":"The BBC","isInternal":false,"status":200},{"url":"http://www.bbc.com/news/technology-36185267","text":"The BBC","isInternal":false,"status":200},{"url":"http://www.drcraigwright.net/jean-paul-sartre-signing-significance/","text":"his own blog","isInternal":false,"status":200},{"url":"http://www.drcraigwright.net/jean-paul-sartre-signing-significance/","text":"blog post he made today","isInternal":false,"status":200},{"url":"http://www.economist.com/news/business-and-finance/21698060-craig-wright-reveals-himself-as-satoshi-nakamoto","text":"The Economist","isInternal":false,"status":200},{"url":"http://www.economist.com/news/business-and-finance/21698060-craig-wright-reveals-himself-as-satoshi-nakamoto","text":"The Economist concluded","isInternal":false,"status":200},{"url":"http://www.forbes.com/sites/thomasbrewster/2015/12/11/bitcoin-creator-satoshi-craig-wright-lies-hoax/?platform=hootsuite","text":"told Forbes","isInternal":false,"status":403},{"url":"http://www.gq-magazine.co.uk/article/bitcoin-creator-satoshi-nakamoto-craig-wright","text":"GQ","isInternal":false,"status":404},{"url":"http://www.lrb.co.uk/2016/05/01/andrew-ohagan/the-search-for-satoshi","text":"preview of a feature about Wright","isInternal":false,"status":404},{"url":"http://www.mcgrathnicol.com/app/uploads/D14-140526-Hotwire439AReport-BFK.pdf","text":"The administrators note from May 2014","isInternal":false,"status":404},{"url":"http://www.zdnet.com/article/sgi-denies-links-with-alleged-bitcoin-founder-craig-wright/","text":"SGI told Forbes","isInternal":false,"status":200},{"url":"https://cp4space.wordpress.com/2016/05/02/is-craig-wright/","text":"“Is Craig Wright?”","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/spesmilo/electrum/blob/master/lib/interface.py#L117","text":"that SSL isn’t enforced","isInternal":false,"status":404},{"url":"https://github.com/spesmilo/electrum/blob/master/lib/network.py#L367-384","text":"it’s failure mode is to keep trying the next set until it can connect","isInternal":false,"status":404},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/Bitcoin/comments/3w027x/dr_craig_steven_wright_alleged_satoshi_by_wired/cxslii7","text":"found that","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/Bitcoin/comments/4hf4xj/creator_of_bitcoin_reveals_identity/d2pf70v","text":"found by JoukeH on reddit","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/Bitcoin/comments/4hflr3/craig_wrights_signature_is_worthless/","text":"in this reddit post","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/Bitcoin/comments/4hfwg7/steve_wrights_proof_isnt_valid_because_he_uses/","text":"syadasti on reddit","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/Bitcoin/comments/4hgas6/wrights_signature_verification_script_has_a_fatal/","text":"throwaway account on reddit","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/Bitcoin/comments/4hhecv/gavin_explains_how_craig_wright_convinced_him/d2q16yv","text":"couldn’t find a single download","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/Bitcoin/comments/4hqbux/fun_fact_craig_wright_lost_14_in_mtgox/","text":"“Craig Wright lost 14 Bitcoin at MtGox”","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/Bitcoin/comments/4hx3q9/according_to_the_mtgox_leaks_from_early_2014_our/","text":"Wright’s trading history on MtGox","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/btc/comments/4hfyyo/gavin_can_you_please_detail_all_parts_of_the/d2plygg","text":"a comment from Gavin Andresen","isInternal":false,"status":200},{"url":"https://www.reddit.com/r/btc/comments/4i1hiv/if_you_want_proof_craig_wright_isnt_satoshi/","text":"user avirunes on reddit","isInternal":false,"status":200},{"url":"https://www.reddit.com/user/apoefjmqdsfls","text":"apoefjmqdsfls","isInternal":false,"status":200},{"url":"https://www.reddit.com/user/winlifeat","text":"winlifeat","isInternal":false,"status":200},{"url":"https://www.twitter.com/octal","text":"@octal","isInternal":false,"status":200},{"url":"https://www.twitter.com/securedmh","text":"@securedmh","isInternal":false,"status":200},{"url":"https://www.wired.com/2015/12/bitcoins-creator-satoshi-nakamoto-is-probably-this-unknown-australian-genius/","text":"Wired","isInternal":false,"status":200},{"url":"https://www.wired.com/2015/12/new-clues-suggest-satoshi-suspect-craig-wright-may-be-a-hoaxer/","text":"Wired","isInternal":false,"status":200},{"url":"https://www.wired.com/2016/04/prove-youre-bitcoin-creator-satoshi-nakamoto/","text":"Wired","isInternal":false,"status":200},{"url":"https://www.wired.com/2016/05/craig-wright-privately-proved-hes-bitcoins-creator/","text":"followup interview he conducted with Wired","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Craig Wright is not Satoshi Nakamoto"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (53 chars)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Craig Wright is not Satoshi Nakamoto | Nik Cubrilovic"},{"name":"meta-description","status":"warn","message":"Description too long (172 chars, max 160)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"A detailed investigation into Craig Wright's claim to be Bitcoin creator Satoshi Nakamoto, examining forged evidence, tax fraud allegations, and failed cryptographic proofs","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Craig Wright is not Satoshi Nakamoto"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"title: Craig Wright is not Satoshi Na..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"8"},{"name":"external-links","status":"pass","message":"44 external links","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"44"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"word-count","status":"pass","message":"Good content length: 5182 words","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"5182"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"wright","label":"\"wright\" (3.2%)","meta":{"count":129,"density":3.1978185423896877}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.7)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Flesch score: 53/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"8"},{"name":"external-links","status":"pass","message":"44 external link(s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"44"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"https-downgrade","status":"warn","message":"21 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"http://gizmodo.com/this-australian-says-he-and-his-dead-friend-invented-bi-1746958692"},{"id":"http://www.drcraigwright.net/jean-paul-sartre-signing-significance/"},{"id":"http://www.bbc.com/news/technology-36168863"},{"id":"http://www.economist.com/news/business-and-finance/21698060-craig-wright-reveals-himself-as-satoshi-nakamoto"},{"id":"http://www.gq-magazine.co.uk/article/bitcoin-creator-satoshi-nakamoto-craig-wright"},{"id":"http://themonetaryfuture.blogspot.sg/2016/05/how-i-met-satoshi.html"},{"id":"http://gavinandresen.ninja/satoshi"},{"id":"http://www.drcraigwright.net/jean-paul-sartre-signing-significance/"},{"id":"http://themonetaryfuture.blogspot.sg/2016/05/how-i-met-satoshi.html"},{"id":"http://gavinandresen.ninja/satoshi"},{"id":"http://www.economist.com/news/business-and-finance/21698060-craig-wright-reveals-himself-as-satoshi-nakamoto"},{"id":"http://www.bbc.com/news/technology-36185267"},{"id":"http://www.lrb.co.uk/2016/05/01/andrew-ohagan/the-search-for-satoshi"},{"id":"http://www.zdnet.com/article/sgi-denies-links-with-alleged-bitcoin-founder-craig-wright/"},{"id":"http://www.forbes.com/sites/thomasbrewster/2015/12/11/bitcoin-creator-satoshi-craig-wright-lies-hoax/?platform=hootsuite"},{"id":"http://www.abc.net.au/news/2015-12-09/bitcoin-suspected-founder-craig-wright-home-raided-by-afp/7014254"},{"id":"http://www.mcgrathnicol.com/app/uploads/D14-140526-Hotwire439AReport-BFK.pdf"},{"id":"http://prwire.com.au/pr/51565/the-demorgan-ltd-group-of-companies-to-receive-up-to-54-million-from-ausindustry-r-amp-d-tax-rebate-scheme-1"},{"id":"http://imgur.com/IPDPXZm"},{"id":"http://pastebin.com/g3ME3Grc"},{"id":"http://archive.is/3UwA7"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"image-dimensions","status":"pass","message":"All 3 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"3"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"pass","message":"1 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"lazy-loading-missing","status":"info","message":"2 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding loading='lazy' for below-fold images"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"totalImages":3}},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"figure-figcaption","status":"info","message":"1/2 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Add descriptive captions to figures"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"44 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"noreferrer","status":"pass","message":"44 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"10 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":12,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"headingsChecked":6}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"headingsChecked":6}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"list-structure","status":"pass","message":"3 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"listitem","status":"pass","message":"17 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"linksChecked":48}},{"name":"identical-links-same-purpose","status":"warn","message":"2 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"\"wired\" → 3 different URLs"},{"id":"\"the bbc\" → 2 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"\"Craig Wright's tweet...\" duplicates figcaption"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"null"},{"name":"lcp-preload","status":"warn","message":"2 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2Fcraig_wright.webp&w=1920&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"warn","message":"1 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2FChcGSpBUUAArMOs.webp&w=1920&q=75"}]},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (360 nodes)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"360","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"11"},{"name":"dom-max-children","status":"warn","message":"Element with 118 children found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"118","expected":"≤ 60 children per element"},{"name":"ttfb","status":"pass","message":"Fast server response (365ms)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"365","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"https://nikcub.me/images/posts/craig_wright.webp"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-length","status":"pass","message":"URL length is optimal (60 chars)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"craig-wright-is-not-satoshi-nakamoto"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"is"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"tap-targets","status":"info","message":"62 interactive element(s) found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"189h3ruprf83cw9\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"156","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","finalUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","hops":[{"url":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","statusCode":200,"loadTime":65,"meta":{"title":"FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site | Nik Cubrilovic","description":"During Operation Onymous the FBI seized a fake clone of a jihad funding site while leaving the real version online, highlighting the scattershot nature of the takedowns","canonical":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","robots":null},"og":{"title":"FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site","description":"During Operation Onymous the FBI seized a fake clone of a jihad funding site while leaving the real version online, highlighting the scattershot nature of the takedowns","url":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site","description":"During Operation Onymous the FBI seized a fake clone of a jihad funding site while leaving the real version online, highlighting the scattershot nature of the takedowns","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site\",\"description\":\"During Operation Onymous the FBI seized a fake clone of a jihad funding site while leaving the real version online, highlighting the scattershot nature of the takedowns\",\"url\":\"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site\",\"datePublished\":\"2014-11-17T17:31:23+0000\",\"dateModified\":\"2014-11-17T17:31:23+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site\"}}"},"links":[{"url":"https://blockchain.info/address/13Pcmh4dKJE8Aqrhq4ZZwmM1sbKFcMQEEV","text":"13Pcmh4dKJE8Aqrhq4ZZwmM1sbKFcMQEEV","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.nikcub.com/posts/onymous-part1/","text":"some 276 Tor hidden services","isInternal":false,"status":404}],"images":[],"h1Count":1,"h1Text":["FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (115 chars, max 60)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too long (168 chars, max 160)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"During Operation Onymous the FBI seized a fake clone of a jihad funding site while leaving the real version online, highlighting the scattershot nature of the takedowns","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"title: FBI seizes fake Tor hosted Jih..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"8"},{"name":"external-links","status":"pass","message":"4 external links","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"4"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"H1","label":"FBI seizes fake Tor hosted Jihad funding website a","meta":{"level":1,"length":98}}]},{"name":"word-count","status":"warn","message":"Thin content: 266 words (min 300)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"266","expected":"300"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.8)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Flesch score: 48/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"8"},{"name":"external-links","status":"pass","message":"4 external link(s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"4"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"1"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"totalImages":2}},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"4 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"noreferrer","status":"pass","message":"4 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"linksChecked":2}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"imagesChecked":2}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"/images/posts/Fund-20The-20Islamic-20Struggle-20Anonymously.webp"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (134 nodes)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"134","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"52"},{"name":"ttfb","status":"pass","message":"Fast server response (65ms)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"65","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-length","status":"warn","message":"URL is 121 characters (over 100)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-fun..."},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"as"},{"id":"of"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"tap-targets","status":"info","message":"16 interactive element(s) found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"12zsirm7talzkx\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"1116","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","finalUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","hops":[{"url":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","statusCode":200,"loadTime":352,"meta":{"title":"Securing Blockchain.info Users with Tor and SSL | Nik Cubrilovic","description":"Helping Blockchain.info become the second site after Facebook to offer a Tor hidden service with a CA-signed SSL certificate, protecting users from MITM attacks","canonical":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","robots":null},"og":{"title":"Securing Blockchain.info Users with Tor and SSL","description":"Helping Blockchain.info become the second site after Facebook to offer a Tor hidden service with a CA-signed SSL certificate, protecting users from MITM attacks","url":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Securing Blockchain.info Users with Tor and SSL","description":"Helping Blockchain.info become the second site after Facebook to offer a Tor hidden service with a CA-signed SSL certificate, protecting users from MITM attacks","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Securing Blockchain.info Users with Tor and SSL\",\"description\":\"Helping Blockchain.info become the second site after Facebook to offer a Tor hidden service with a CA-signed SSL certificate, protecting users from MITM attacks\",\"url\":\"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl\",\"datePublished\":\"2014-12-03T16:13:03+0000\",\"dateModified\":\"2014-12-03T16:13:03+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl\"}}"},"links":[{"url":"http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security","text":"Strict Transport Security","isInternal":false,"status":200},{"url":"http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf","text":"shouldn’t run","isInternal":false,"error":"Unable to connect. Is the computer able to access the url?"},{"url":"http://tools.ietf.org/html/draft-ietf-websec-key-pinning-01","text":"HPKP","isInternal":false,"status":200},{"url":"http://www.networking4all.com/en/ssl+certificates/faq/change+san+issue/","text":"deprecate the use of local names in CA signed SAN certificates","isInternal":false,"status":404},{"url":"http://www.reddit.com/r/Bitcoin/comments/2nkias/this_is_a_list_of_rbitcoin_users_who_had_their/","text":"other examples","isInternal":false,"status":200},{"url":"http://www.reddit.com/r/Bitcoin/comments/2nrf12/my_blockchaininfo_account_was_hacked_thanksgiving/","text":"many","isInternal":false,"status":200},{"url":"http://www.thoughtcrime.org/","text":"Moxie’s blog","isInternal":false,"status":200},{"url":"http://www.thoughtcrime.org/software/sslstrip/","text":"sslstrip","isInternal":false,"status":404},{"url":"https://bitcointalk.org/index.php?topic=875805.0","text":"63 bitcoin","isInternal":false,"status":200},{"url":"https://cabforum.org/","text":"CA/Browser Forum","isInternal":false,"status":200},{"url":"https://cabforum.org/wp-content/uploads/Guidance-Deprecated-Internal-Names.pdf","text":"from CAB in this PDF","isInternal":false,"status":404},{"url":"https://github.com/chris-barry/darkweb-everywhere","text":"Darkweb Everywhere","isInternal":false,"status":200},{"url":"https://github.com/chris-barry/darkweb-everywhere/tree/master/src/chrome/content/rules","text":"an index of rules","isInternal":false,"status":404},{"url":"https://github.com/lachesis/scallion","text":"Scallion","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://gitweb.torproject.org/torspec.git/blob_plain/HEAD:/proposals/ideas/xxx-encrypted-services.txt","text":"old draft proposal","isInternal":false,"status":200},{"url":"https://lists.torproject.org/pipermail/tor-talk/2014-May/032907.html","text":"one of the Tor mailing lists","isInternal":false,"status":200},{"url":"https://publicsuffix.org/","text":"public suffix list","isInternal":false,"status":200},{"url":"https://trac.torproject.org/projects/tor/ticket/6116","text":"fees sought by ICANN for new TLD registration","isInternal":false,"status":200},{"url":"https://twitter.com/alecmuffett/status/538991864582782976","text":"on Twitter","isInternal":false,"status":200},{"url":"https://twitter.com/blockchain/status/522454637115617280","text":"despite warnings","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.digicert.com/","text":"DigiCert","isInternal":false,"status":200},{"url":"https://www.digicert.com/","text":"DigiCert","isInternal":false,"status":200},{"url":"https://www.eff.org/HTTPS-EVERYWHERE","text":"HTTPSEverywhere","isInternal":false,"status":200},{"url":"https://www.facebook.com/notes/protect-the-graph/making-connections-to-facebook-more-secure/1526085754298237","text":"announced their own","isInternal":false,"status":200},{"url":"https://www.torproject.org/about/torusers.html.en","text":"many other use cases","isInternal":false,"status":200},{"url":"https://www.youtube.com/watch?v=MFol6IMbZ7Y","text":"2009 talk at the Black Hat security conference","isInternal":false,"status":200},{"url":"https://www.youtube.com/watch?v=MFol6IMbZ7Y","text":"Black Hat talk","isInternal":false,"status":200},{"url":"https://www.youtube.com/watch?v=ibF36Yyeehw","text":"followup talk","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Securing Blockchain.info Users with Tor and SSL"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (64 chars, max 60)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Securing Blockchain.info Users with Tor and SSL | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (160 chars)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Helping Blockchain.info become the second site after Facebook to offer a Tor hidden service with a CA-signed SSL certificate, protecting users from MITM attacks"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Securing Blockchain.info Users with Tor and SSL"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"title: Securing Blockchain.info Users..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"11 internal links","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"11"},{"name":"external-links","status":"pass","message":"30 external links","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"30"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"word-count","status":"pass","message":"Good content length: 1732 words","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"1732"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.3)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Flesch score: 52/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"11 internal link(s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"11"},{"name":"external-links","status":"pass","message":"30 external link(s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"30"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"11"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"https-downgrade","status":"warn","message":"8 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"http://www.reddit.com/r/Bitcoin/comments/2nrf12/my_blockchaininfo_account_was_hacked_thanksgiving/"},{"id":"http://www.reddit.com/r/Bitcoin/comments/2nkias/this_is_a_list_of_rbitcoin_users_who_had_their/"},{"id":"http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security"},{"id":"http://tools.ietf.org/html/draft-ietf-websec-key-pinning-01"},{"id":"http://www.thoughtcrime.org/software/sslstrip/"},{"id":"http://www.thoughtcrime.org"},{"id":"http://www.networking4all.com/en/ssl+certificates/faq/change+san+issue/"},{"id":"http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"alt-text","status":"pass","message":"All 5 image(s) have alt text","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"image-dimensions","status":"warn","message":"4 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"4"},{"name":"modern-format","status":"pass","message":"All 5 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"srcset","status":"info","message":"5 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"5 images without lazy loading","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Add loading='lazy' to below-fold images"},{"name":"offscreen-images-not-lazy","status":"warn","message":"2 below-fold image(s) without lazy loading","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf-20-page-2069-20of-2099-.webp"},{"id":"Screen-20Shot-202014-12-04-20at-202.00.01-20AM.webp"}]},{"name":"modern-image-formats","status":"pass","message":"4 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"filename-quality","status":"pass","message":"All 5 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"figure-usage","status":"info","message":"5 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"30 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"noreferrer","status":"pass","message":"30 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"headingsChecked":9}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"headingsChecked":9}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"listitem","status":"pass","message":"1 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"idsChecked":2}},{"name":"a11y/duplicate-id-aria-error","status":"fail","message":"Rule error: CSS is not defined","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"linksChecked":34}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"label-content-name-mismatch","status":"fail","message":"1 element(s) where visible text doesn't match accessible name","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"a: visible=\"↩\" vs aria-label=\"back to reference 1\""}],"details":{"issue":"Voice control users may not be able to activate these controls"}},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"alt=\"blockchain-tor\" matches filename"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"warn","message":"4 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"/images/posts/blockchain-tor.webp"},{"id":"/images/posts/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf-20-page-2025-20of-2099-.webp"},{"id":"/images/posts/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf-20-page-2069-20of-2099-.webp"},{"id":"/images/posts/Screen-20Shot-202014-12-04-20at-202.00.01-20AM.webp"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (213 nodes)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"213","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (55)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"55"},{"name":"ttfb","status":"pass","message":"Fast server response (351ms)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"351","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":9}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"social-profiles","status":"pass","message":"3 social platform(s) linked","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"Twitter/X"},{"id":"Facebook"},{"id":"YouTube"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-length","status":"pass","message":"URL length is optimal (66 chars)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"securing-blockchain-users-with-tor-and-ssl"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"with"},{"id":"and"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"tap-targets","status":"info","message":"47 interactive element(s) found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"6cb17effzk1vjb\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"157","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","finalUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","hops":[{"url":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/onymous-part1","statusCode":200,"loadTime":303,"meta":{"title":"Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites | Nik Cubrilovic","description":"The FBI announced the seizure of a large number of darkweb sites to much fanfare. It turns out most of what they got were fake clone sites","canonical":"https://nikcub.me/posts/onymous-part1","robots":null},"og":{"title":"Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites","description":"The FBI announced the seizure of a large number of darkweb sites to much fanfare. It turns out most of what they got were fake clone sites","url":"https://nikcub.me/posts/onymous-part1","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites","description":"The FBI announced the seizure of a large number of darkweb sites to much fanfare. It turns out most of what they got were fake clone sites","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites\",\"description\":\"The FBI announced the seizure of a large number of darkweb sites to much fanfare. It turns out most of what they got were fake clone sites\",\"url\":\"https://nikcub.me/posts/onymous-part1\",\"datePublished\":\"2014-11-17T17:10:12+0000\",\"dateModified\":\"2014-11-17T17:10:12+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/onymous-part1\"}}"},"links":[{"url":"http://allyour4nert7pkh.onion/wiki/index.php?title=Onion_Cloner","text":"was discovered","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://en.wikipedia.org/wiki/Operation_Onymous","text":"Operation Onymous","isInternal":false,"status":200},{"url":"http://www.deepdotweb.com/","text":"deepdotweb","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://www.fbi.gov/newyork/press-releases/2014/dozens-of-online-dark-markets-seized-pursuant-to-forfeiture-complaint-filed-in-manhattan-federal-court-in-conjunction-with-the-arrest-of-the-operator-of-silk-road-2.0","text":"FBI press release","isInternal":false,"status":200},{"url":"http://www.fbi.gov/newyork/press-releases/2014/dozens-of-online-dark-markets-seized-pursuant-to-forfeiture-complaint-filed-in-manhattan-federal-court-in-conjunction-with-the-arrest-of-the-operator-of-silk-road-2.0","text":"FBI press release","isInternal":false,"status":200},{"url":"http://www.gwern.net/","text":"gwern","isInternal":false,"status":200},{"url":"http://www.twitter.com/lamoustache","text":"lamoustache","isInternal":false,"status":520},{"url":"https://ahmia.fi/search/","text":"Tor Hidden Service Index","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/nikcub/tordata","text":"posted to this GitHub repository","isInternal":false,"status":200},{"url":"https://github.com/nikcub/torsurvey","text":"also available on GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/1mp0ster","text":"@imposter","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://twitter.com/secruedmh","text":"@secruedmh","isInternal":false,"status":200},{"url":"https://www.nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site/","text":"was seized, while the real website remains live","isInternal":false,"status":200},{"url":"https://www.scribd.com/doc/246222731/Operation-Onymous-Dark-Markets-Seizure-Forfeiture-Complaint","text":"DOJ seizure notice","isInternal":false,"status":200},{"url":"https://www.scribd.com/doc/246222731/Operation-Onymous-Dark-Markets-Seizure-Forfeiture-Complaint","text":"DOJ seizure notice","isInternal":false,"status":200},{"url":"https://www.twitter.com/nikcub","text":"follow on twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/onymous-part1","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (113 chars, max 60)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (138 chars)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"The FBI announced the seizure of a large number of darkweb sites to much fanfare. It turns out most of what they got were fake clone sites"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"https://nikcub.me/posts/onymous-part1"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/onymous-part1","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"title: Large Number of Tor Hidden Sit..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"8"},{"name":"external-links","status":"pass","message":"18 external links","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"18"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"H1","label":"Large Number of Tor Hidden Sites Seized by the FBI","meta":{"level":1,"length":96}}]},{"name":"word-count","status":"pass","message":"Good content length: 1331 words","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"1331"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 9.5)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Flesch score: 39/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/onymous-part1","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"8"},{"name":"external-links","status":"pass","message":"18 external link(s)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"18"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"http://en.wikipedia.org/wiki/Operation_Onymous"},{"id":"http://www.twitter.com/lamoustache"},{"id":"http://www.gwern.net"},{"id":"http://www.deepdotweb.com/"},{"id":"http://allyour4nert7pkh.onion/wiki/index.php?title=Onion_Cloner"},{"id":"http://www.fbi.gov/newyork/press-releases/2014/dozens-of-online-dark-markets-seized-pursuant-to-forfeiture-complaint-filed-in-manhattan-federal-court-in-conjunction-with-the-arrest-of-the-operator-of-silk-road-2.0"},{"id":"http://www.fbi.gov/newyork/press-releases/2014/dozens-of-online-dark-markets-seized-pursuant-to-forfeiture-complaint-filed-in-manhattan-federal-court-in-conjunction-with-the-arrest-of-the-operator-of-silk-road-2.0"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/onymous-part1","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"18 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"noreferrer","status":"pass","message":"18 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"headingsChecked":3}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"pass","message":"All 1 data table(s) have headers","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"headingsChecked":3}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"listitem","status":"pass","message":"13 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"td-headers-attr","status":"info","message":"No td elements with headers attribute found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"th-has-data-cells","status":"pass","message":"All table headers have associated data cells","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"tablesChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"linksChecked":16}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"Only one table found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"dom-total-nodes","status":"warn","message":"Large DOM (2106 nodes)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"2106","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"11"},{"name":"dom-max-children","status":"warn","message":"Element with 276 children found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"276","expected":"≤ 60 children per element"},{"name":"ttfb","status":"pass","message":"Fast server response (303ms)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"303","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-length","status":"pass","message":"URL length is optimal (37 chars)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"onymous-part1"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"tap-targets","status":"info","message":"30 interactive element(s) found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"info","message":"Elements may cause horizontal scroll on mobile","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"1 table(s) - ensure responsive"}]},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/onymous-part1"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"3djupssd6068zl\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"156","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/onymous-part1","finalUrl":"https://nikcub.me/posts/onymous-part1","hops":[{"url":"https://nikcub.me/posts/onymous-part1","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","statusCode":200,"loadTime":304,"meta":{"title":"60 Minutes Australia on Silk Road and Bitcoin | Nik Cubrilovic","description":"A breakdown of 60 Minutes Australia's story on Silk Road and Bitcoin, including their confusion between the Deepweb and Darknet concepts","canonical":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","robots":null},"og":{"title":"60 Minutes Australia on Silk Road and Bitcoin","description":"A breakdown of 60 Minutes Australia's story on Silk Road and Bitcoin, including their confusion between the Deepweb and Darknet concepts","url":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"60 Minutes Australia on Silk Road and Bitcoin","description":"A breakdown of 60 Minutes Australia's story on Silk Road and Bitcoin, including their confusion between the Deepweb and Darknet concepts","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"60 Minutes Australia on Silk Road and Bitcoin\",\"description\":\"A breakdown of 60 Minutes Australia's story on Silk Road and Bitcoin, including their confusion between the Deepweb and Darknet concepts\",\"url\":\"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin\",\"datePublished\":\"2014-09-14T14:41:46+0000\",\"dateModified\":\"2014-09-14T14:41:46+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin\"}}"},"links":[{"url":"http://dl.acm.org/citation.cfm?id=185247","text":"“The Internet Business Book”","isInternal":false,"status":403},{"url":"http://en.wikipedia.org/wiki/25I-NBOMe","text":"NBOMe","isInternal":false,"status":200},{"url":"http://en.wikipedia.org/wiki/Hector_Xavier_Monsegur","text":"Hector Monsegur","isInternal":false,"status":200},{"url":"http://en.wikipedia.org/wiki/Streisand_effect","text":"Streisand effect","isInternal":false,"status":200},{"url":"http://quod.lib.umich.edu/j/jep/3336451.0007.104?view=text;rgn=main","text":"“The Deep Web: Surfacing Hidden Value”","isInternal":false,"status":200},{"url":"http://web.archive.org/web/19961205083117/http://tcp.ca/Jan96/BusandMark.html","text":"this 1996 interview","isInternal":false,"status":200},{"url":"http://www.abc.net.au/news/2014-06-09/perth-teenager-preston-bridge/5510606","text":"story of Preston Bridge","isInternal":false,"status":200},{"url":"http://www.dailymotion.com/video/x25y1be_60-minutes-australia-silk-road-and-bitcoin-story-september-2014_news","text":"mirrored here on DailyMotion","isInternal":false,"status":200},{"url":"http://www.jump-in.com.au/show/60minutes/stories/2014/september/the-dark-web/","text":"aired a story","isInternal":false,"error":"Unable to connect. Is the computer able to access the url?"},{"url":"http://www.jump-in.com.au/show/60minutes/videos/3784171895001/","text":"now available on their website","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://www.tor2web.org/","text":"Tor2web","isInternal":false,"error":"ERR_TLS_CERT_ALTNAME_INVALID fetching \"http://www.tor2web.org/\". For more information, pass `verbose: true` in the second argument to fetch()"},{"url":"https://encrypted.google.com/search?q=list+of+tor+sites+silkroad","text":"do the same search","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/60Mins/status/511102393665069056","text":"account was “Are you aware of the Darkweb?”","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.nikcub.me/posts/analyzing-fbi-explanation-silk-road/","text":"how the FBI located the Silk Road server","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["60 Minutes Australia on Silk Road and Bitcoin"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (62 chars, max 60)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"60 Minutes Australia on Silk Road and Bitcoin | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (136 chars)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"A breakdown of 60 Minutes Australia's story on Silk Road and Bitcoin, including their confusion between the Deepweb and Darknet concepts"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"60 Minutes Australia on Silk Road and Bitcoin"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"title: 60 Minutes Australia on Silk R..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"8"},{"name":"external-links","status":"pass","message":"16 external links","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"16"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"word-count","status":"pass","message":"Good content length: 1181 words","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"1181"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 12.2)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Flesch score: 53/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"26 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"8"},{"name":"external-links","status":"pass","message":"16 external link(s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"16"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"https-downgrade","status":"warn","message":"11 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"http://www.jump-in.com.au/show/60minutes/stories/2014/september/the-dark-web/"},{"id":"http://www.jump-in.com.au/show/60minutes/videos/3784171895001/"},{"id":"http://www.dailymotion.com/video/x25y1be_60-minutes-australia-silk-road-and-bitcoin-story-september-2014_news"},{"id":"http://www.abc.net.au/news/2014-06-09/perth-teenager-preston-bridge/5510606"},{"id":"http://en.wikipedia.org/wiki/25I-NBOMe"},{"id":"http://en.wikipedia.org/wiki/Hector_Xavier_Monsegur"},{"id":"http://www.tor2web.org"},{"id":"http://dl.acm.org/citation.cfm?id=185247"},{"id":"http://web.archive.org/web/19961205083117/http://tcp.ca/Jan96/BusandMark.html"},{"id":"http://quod.lib.umich.edu/j/jep/3336451.0007.104?view=text;rgn=main"},{"id":"http://en.wikipedia.org/wiki/Streisand_effect"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"alt-text","status":"pass","message":"All 7 image(s) have alt text","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"image-dimensions","status":"pass","message":"All 7 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"7"},{"name":"modern-format","status":"pass","message":"All 7 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"srcset","status":"info","message":"7 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"pass","message":"6 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading-used","status":"pass","message":"4 image(s) use lazy loading","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"filename-quality","status":"pass","message":"All 7 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"figure-figcaption","status":"pass","message":"All 6 figure(s) have captions","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"16 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"noreferrer","status":"pass","message":"16 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":16,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"headingsChecked":3}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"headingsChecked":3}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"linksChecked":14}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"image-redundant-alt","status":"warn","message":"6 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"\"60 minutes silk road...\" duplicates figcaption"},{"id":"\"\"60_screenshot_expor...\" duplicates figcaption"},{"id":"\"\"tweet_04_exported\"...\" duplicates figcaption"},{"id":"\"\"tweet_03_exported\"...\" duplicates figcaption"},{"id":"\"\"tweet_02_exported\"...\" duplicates figcaption"},{"id":"\"\"tweet_01_exported\"...\" duplicates figcaption"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"warn","message":"2 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2F60min-silkroad_export.webp&w=1920&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2F60_screenshot_export.webp&w=1920&q=75"}]},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (194 nodes)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"194","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (304ms)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"304","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-length","status":"pass","message":"URL length is optimal (69 chars)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"on"},{"id":"and"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"tap-targets","status":"info","message":"28 interactive element(s) found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"q62ye938ci1j7n\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"13344","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","finalUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","hops":[{"url":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","statusCode":200,"loadTime":313,"meta":{"title":"Analyzing the FBI’s Explanation of How They Located Silk Road | Nik Cubrilovic","description":"A technical analysis of the FBI's claims about how they located Silk Road's server, showing their explanation doesn't match how Tor hidden services work","canonical":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","robots":null},"og":{"title":"Analyzing the FBI’s Explanation of How They Located Silk Road","description":"A technical analysis of the FBI's claims about how they located Silk Road's server, showing their explanation doesn't match how Tor hidden services work","url":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Analyzing the FBI’s Explanation of How They Located Silk Road","description":"A technical analysis of the FBI's claims about how they located Silk Road's server, showing their explanation doesn't match how Tor hidden services work","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Analyzing the FBI’s Explanation of How They Located Silk Road\",\"description\":\"A technical analysis of the FBI's claims about how they located Silk Road's server, showing their explanation doesn't match how Tor hidden services work\",\"url\":\"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road\",\"datePublished\":\"2014-09-07T18:55:24+0000\",\"dateModified\":\"2014-09-07T18:55:24+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road\"}}"},"links":[{"url":"http://antilop.cc/sr/","text":"Silk Road timeline","isInternal":false,"error":"timeout"},{"url":"http://antilop.cc/sr/img/2013_03_16_stack_overflow_question.png","text":"posted a question","isInternal":false,"error":"timeout"},{"url":"http://en.wikipedia.org/wiki/Silk_Road_(marketplace)","text":"Silk Road","isInternal":false,"status":200},{"url":"http://ia700603.us.archive.org/21/items/gov.uscourts.nysd.422824/gov.uscourts.nysd.422824.57.0.pdf","text":"affidavit from the FBI tech team","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://krebsonsecurity.com/2014/09/dread-pirate-sunk-by-leaky-captcha/","text":"“leaky CAPTCHA”","isInternal":false,"status":200},{"url":"http://security.stackexchange.com/a/43280/31518","text":"my answer on Stack Exchange","isInternal":false,"status":200},{"url":"http://www.reddit.com/r/SilkRoad/comments/1b1lvy/warning_the_silk_road_revealed_its_public_ip_last/","text":"27th of March 2013 a user posted on reddit “WARNING: The Silk Road Revealed it’s Public IP Last Night”","isInternal":false,"status":200},{"url":"http://www.reddit.com/r/SilkRoad/comments/1dmznd/should_we_be_worried_showing_on_login_page/","text":"“Should we be worried? Showing on login page”","isInternal":false,"status":200},{"url":"http://www.scribd.com/doc/215745393/USA-v-Ulbricht-motion-to-dismiss-charges","text":"motion to dismiss","isInternal":false,"status":200},{"url":"http://www.scribd.com/doc/233234104/Forrest-Denial-of-Defense-Motion-in-Silk-Road-Case","text":"subsequently denied","isInternal":false,"status":200},{"url":"http://www.scribd.com/doc/235866098/USA-v-Ross-Ulbricht","text":"the indictment","isInternal":false,"status":200},{"url":"http://www.scribd.com/doc/238796613/Silk-Road-Prosecution-4th-Amendment-Rebuttall","text":"the DOJ filing","isInternal":false,"status":200},{"url":"http://www.theguardian.com/world/2013/oct/04/tor-attacks-nsa-users-online-anonymity","text":"target Tor","isInternal":false,"status":200},{"url":"http://www.theguardian.com/world/interactive/2013/oct/04/tor-stinks-nsa-presentation-document","text":"has struggled","isInternal":false,"status":200},{"url":"http://www.twitter.com/harisec","text":"harisec","isInternal":false,"status":520},{"url":"http://www.twitter.com/thegrugq","text":"thegrugq","isInternal":false,"status":520},{"url":"http://www.wired.com/2013/09/freedom-hosting-fbi/","text":"used by the FBI","isInternal":false,"status":200},{"url":"http://www.wired.com/2014/09/the-fbi-finally-says-how-it-legally-pinpointed-silk-roads-server/","text":"Wired reported","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://metrics.torproject.org/users.html","text":"numbering in the millions","isInternal":false,"status":404},{"url":"https://trac.torproject.org/projects/tor/","text":"https://trac.torproject.org/projects/tor/","isInternal":false,"status":200},{"url":"https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO","text":"cited wiki page","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://twitter.com/lamoustache/","text":"moustach","isInternal":false,"status":200},{"url":"https://www.torproject.org/","text":"Tor","isInternal":false,"status":200},{"url":"https://www.torproject.org/docs/tor-hidden-service.html.en","text":"on the main Tor project website","isInternal":false,"status":200},{"url":"https://www.whonix.org/wiki/Hidden_Services","text":"at the Whonix project","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Analyzing the FBI’s Explanation of How They Located Silk Road"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (78 chars, max 60)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Analyzing the FBI’s Explanation of How They Located Silk Road | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (152 chars)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"A technical analysis of the FBI's claims about how they located Silk Road's server, showing their explanation doesn't match how Tor hidden services work"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Analyzing the FBI’s Explanation of How They Located Silk Road"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"title: Analyzing the FBI’s Explanatio..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"9 internal links","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"9"},{"name":"external-links","status":"pass","message":"27 external links","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"27"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"word-count","status":"pass","message":"Good content length: 3011 words","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"3011"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 12)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Flesch score: 55/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"26 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"9 internal link(s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"9"},{"name":"external-links","status":"pass","message":"27 external link(s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"27"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"9"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"https-downgrade","status":"warn","message":"18 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"http://en.wikipedia.org/wiki/Silk_Road_(marketplace)"},{"id":"http://www.scribd.com/doc/235866098/USA-v-Ross-Ulbricht"},{"id":"http://www.scribd.com/doc/215745393/USA-v-Ulbricht-motion-to-dismiss-charges"},{"id":"http://www.scribd.com/doc/233234104/Forrest-Denial-of-Defense-Motion-in-Silk-Road-Case"},{"id":"http://www.theguardian.com/world/2013/oct/04/tor-attacks-nsa-users-online-anonymity"},{"id":"http://www.theguardian.com/world/interactive/2013/oct/04/tor-stinks-nsa-presentation-document"},{"id":"http://www.wired.com/2014/09/the-fbi-finally-says-how-it-legally-pinpointed-silk-roads-server/"},{"id":"http://www.scribd.com/doc/238796613/Silk-Road-Prosecution-4th-Amendment-Rebuttall"},{"id":"http://ia700603.us.archive.org/21/items/gov.uscourts.nysd.422824/gov.uscourts.nysd.422824.57.0.pdf"},{"id":"http://krebsonsecurity.com/2014/09/dread-pirate-sunk-by-leaky-captcha/"},{"id":"http://antilop.cc/sr/img/2013_03_16_stack_overflow_question.png"},{"id":"http://www.reddit.com/r/SilkRoad/comments/1b1lvy/warning_the_silk_road_revealed_its_public_ip_last/"},{"id":"http://security.stackexchange.com/a/43280/31518"},{"id":"http://www.reddit.com/r/SilkRoad/comments/1dmznd/should_we_be_worried_showing_on_login_page/"},{"id":"http://www.twitter.com/harisec"},{"id":"http://www.twitter.com/thegrugq"},{"id":"http://antilop.cc/sr/"},{"id":"http://www.wired.com/2013/09/freedom-hosting-fbi/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"image-dimensions","status":"pass","message":"All 2 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"2"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"pass","message":"1 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding loading='lazy' for below-fold images"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"totalImages":2}},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"figure-figcaption","status":"pass","message":"All 1 figure(s) have captions","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"27 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"noreferrer","status":"pass","message":"27 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":11,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"headingsChecked":3}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"headingsChecked":3}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"listitem","status":"pass","message":"1 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"linksChecked":27}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"\"\"sr_reddit_screnshot...\" duplicates figcaption"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"warn","message":"1 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2Fsr_reddit_screnshot.webp&w=1920&q=75"}]},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (228 nodes)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"228","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (54)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"54"},{"name":"ttfb","status":"pass","message":"Fast server response (312ms)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"312","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-length","status":"pass","message":"URL length is optimal (59 chars)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"analyzing-fbi-explanation-silk-road"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"tap-targets","status":"info","message":"40 interactive element(s) found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"vywm4rggy925me\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"18286","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","finalUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","hops":[{"url":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","statusCode":200,"loadTime":324,"meta":{"title":"Notes on the Celebrity Data Theft | Nik Cubrilovic","description":"An in-depth look at the underground networks behind \"The Fappening\" - how they operate, the techniques used to compromise iCloud accounts, and Apple's security weaknesses","canonical":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","robots":null},"og":{"title":"Notes on the Celebrity Data Theft","description":"An in-depth look at the underground networks behind \"The Fappening\" - how they operate, the techniques used to compromise iCloud accounts, and Apple's security weaknesses","url":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Notes on the Celebrity Data Theft","description":"An in-depth look at the underground networks behind \"The Fappening\" - how they operate, the techniques used to compromise iCloud accounts, and Apple's security weaknesses","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Notes on the Celebrity Data Theft\",\"description\":\"An in-depth look at the underground networks behind \\\"The Fappening\\\" - how they operate, the techniques used to compromise iCloud accounts, and Apple's security weaknesses\",\"url\":\"https://nikcub.me/posts/notes-on-the-celebrity-data-theft\",\"datePublished\":\"2014-09-02T19:40:28+0000\",\"dateModified\":\"2014-09-02T19:40:28+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/notes-on-the-celebrity-data-theft\"}}"},"links":[{"url":"http://www.apple.com/pr/library/2014/09/02Apple-Media-Advisory.html","text":"available in its original form on the Apple website","isInternal":false,"status":200},{"url":"http://www.businesswire.com/news/home/20140902006384/en/Apple-Media-Advisory","text":"released a statement","isInternal":false,"status":403},{"url":"http://www.elcomsoft.com/eprb.html","text":"Elcomsoft EPRB","isInternal":false,"status":200},{"url":"http://www.elcomsoft.com/help/en/eppb/extracting_authentication_mac.html","text":"atex","isInternal":false,"status":200},{"url":"http://www.reddit.com/r/TheFappening/comments/2fa2a1/meta_effective_immediately_any/","text":"desperately asking users","isInternal":false,"status":200},{"url":"https://en.wikipedia.org/wiki/ICloud_leaks_of_celebrity_photos","text":"celebrity iCloud data and photos","isInternal":false,"status":200},{"url":"https://github.com/hackappcom/ibrute","text":"and exploited in iBrute","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://twitter.com/nikcub/status/506864963047022592","text":"if it is valid or not if you attempt to sign up a new account using the same email","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Notes on the Celebrity Data Theft"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (50 chars)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Notes on the Celebrity Data Theft | Nik Cubrilovic"},{"name":"meta-description","status":"warn","message":"Description too long (170 chars, max 160)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"An in-depth look at the underground networks behind \"The Fappening\" - how they operate, the techniques used to compromise iCloud accounts, and Apple's security weaknesses","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Notes on the Celebrity Data Theft"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"title: Notes on the Celebrity Data Th..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"9 internal links","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"9"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"10"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"word-count","status":"pass","message":"Good content length: 2601 words","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"2601"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.5)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Flesch score: 51/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"9 internal link(s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"9"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"10"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"http://www.elcomsoft.com/eprb.html"},{"id":"http://www.elcomsoft.com/help/en/eppb/extracting_authentication_mac.html"},{"id":"http://www.reddit.com/r/TheFappening/comments/2fa2a1/meta_effective_immediately_any/"},{"id":"http://www.businesswire.com/news/home/20140902006384/en/Apple-Media-Advisory"},{"id":"http://www.apple.com/pr/library/2014/09/02Apple-Media-Advisory.html"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"image-dimensions","status":"pass","message":"All 2 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"2"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"pass","message":"1 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding loading='lazy' for below-fold images"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"totalImages":2}},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"figure-figcaption","status":"pass","message":"All 1 figure(s) have captions","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"10 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"noreferrer","status":"pass","message":"10 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":11,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"list-structure","status":"pass","message":"2 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"listitem","status":"pass","message":"8 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"linksChecked":9}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"\"ransomware...\" duplicates figcaption"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"warn","message":"1 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2FScreen_Shot_2014-09-03_at_6.22.13_AM.webp&w=1920&q=75"}]},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (208 nodes)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"208","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (324ms)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"324","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-length","status":"pass","message":"URL length is optimal (57 chars)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"notes-on-the-celebrity-data-theft"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"on"},{"id":"the"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"tap-targets","status":"info","message":"23 interactive element(s) found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"pass","message":"Terms of service link found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"https://en.wikipedia.org/wiki/ICloud_leaks_of_celebrity_photos"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"cf3y9jjltn1szf\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"19130","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","finalUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","hops":[{"url":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","statusCode":200,"loadTime":545,"meta":{"title":"Multiple Vulnerabilities in Disqus WordPress Plugin | Nik Cubrilovic","description":"Disclosure and fixes for a number of bugs in the Wordpress plugin for the popular Disqus commenting system","canonical":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","robots":null},"og":{"title":"Multiple Vulnerabilities in Disqus WordPress Plugin","description":"Disclosure and fixes for a number of bugs in the Wordpress plugin for the popular Disqus commenting system","url":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Multiple Vulnerabilities in Disqus WordPress Plugin","description":"Disclosure and fixes for a number of bugs in the Wordpress plugin for the popular Disqus commenting system","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Multiple Vulnerabilities in Disqus WordPress Plugin\",\"description\":\"Disclosure and fixes for a number of bugs in the Wordpress plugin for the popular Disqus commenting system\",\"url\":\"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin\",\"datePublished\":\"2014-08-12T21:08:35+0000\",\"dateModified\":\"2014-08-12T21:08:35+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin\"}}"},"links":[{"url":"http://codex.wordpress.org/Function_Reference/update_option","text":"documentation for update_option","isInternal":false,"status":200},{"url":"http://codex.wordpress.org/Function_Reference/wp_verify_nonce","text":"documentation","isInternal":false,"status":200},{"url":"http://disqus.com/","text":"Disqus","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://wordpress.org/plugins/browse/popular/","text":"15th most popular overall","isInternal":false,"status":200},{"url":"http://wordpress.org/plugins/disqus-comment-system/","text":"disqus plugin for WordPress","isInternal":false,"status":200},{"url":"http://www.disqus.com/","text":"Disqus for WordPress","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"https://gist.github.com/nikcub/cb5dc7a5464276c8424a","text":"Manage.php CSRF+XSS admin exploit","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://wordpress.org/plugins/disqus-comment-system/other_notes/","text":"v2.7.6 release","isInternal":false,"status":200},{"url":"https://wordpress.org/plugins/disqus-comment-system/other_notes/","text":"Disqus for WordPress v2.7.6","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Multiple Vulnerabilities in Disqus WordPress Plugin"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (68 chars, max 60)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Multiple Vulnerabilities in Disqus WordPress Plugin | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (106 chars, min 120)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Disclosure and fixes for a number of bugs in the Wordpress plugin for the popular Disqus commenting system","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Multiple Vulnerabilities in Disqus WordPress Plugin"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"title: Multiple Vulnerabilities in Di..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"8"},{"name":"external-links","status":"pass","message":"11 external links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"11"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"word-count","status":"pass","message":"Good content length: 719 words","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"719"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9.5)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Flesch score: 60/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"8"},{"name":"external-links","status":"pass","message":"11 external link(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"11"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"https-downgrade","status":"warn","message":"6 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"http://www.disqus.com/"},{"id":"http://disqus.com/"},{"id":"http://wordpress.org/plugins/disqus-comment-system/"},{"id":"http://wordpress.org/plugins/browse/popular/"},{"id":"http://codex.wordpress.org/Function_Reference/update_option"},{"id":"http://codex.wordpress.org/Function_Reference/wp_verify_nonce"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"1"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"totalImages":2}},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"figure-figcaption","status":"info","message":"1/1 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Add descriptive captions to figures"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"11 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"noreferrer","status":"pass","message":"11 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"headingsChecked":5}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"headingsChecked":5}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"linksChecked":9}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"imagesChecked":2}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"/images/posts/Disqus-20-E2-80-B9-20nikcub-20test-20-E2-80-94-20WordPress.webp"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (193 nodes)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"193","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"52"},{"name":"ttfb","status":"pass","message":"Fast server response (545ms)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"545","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-length","status":"pass","message":"URL length is optimal (75 chars)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"in"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"tap-targets","status":"info","message":"23 interactive element(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"89ik507wy21bek\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"8317","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","finalUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","hops":[{"url":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","statusCode":200,"loadTime":351,"meta":{"title":"CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities | Nik Cubrilovic","description":"How weak session ID generation using uniqid() in CS-Cart allows session hijacking through targeted brute-force, plus a frustrating disclosure timeline","canonical":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","robots":null},"og":{"title":"CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities","description":"How weak session ID generation using uniqid() in CS-Cart allows session hijacking through targeted brute-force, plus a frustrating disclosure timeline","url":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities","description":"How weak session ID generation using uniqid() in CS-Cart allows session hijacking through targeted brute-force, plus a frustrating disclosure timeline","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities\",\"description\":\"How weak session ID generation using uniqid() in CS-Cart allows session hijacking through targeted brute-force, plus a frustrating disclosure timeline\",\"url\":\"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities\",\"datePublished\":\"2014-08-07T01:00:19+0000\",\"dateModified\":\"2014-08-07T01:00:19+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities\"}}"},"links":[{"url":"http://au1.php.net/uniqid","text":"the PHP manual","isInternal":false,"status":200},{"url":"http://blog.cs-cart.com/2014/07/21/cs-cart-4-2-1-released-new-styles-e-mail-marketing-and-more/","text":"CS-Cart announce v4.2.1","isInternal":false,"status":404},{"url":"http://www.cs-cart.com/","text":"CS-Cart","isInternal":false,"status":200},{"url":"http://www.cs-cart.com/","text":"CS-Cart","isInternal":false,"status":200},{"url":"http://www.cs-cart.com/changelog421.html","text":"in the changelog without mentioning security","isInternal":false,"status":200},{"url":"https://gist.github.com/nikcub/a0686e48ddeb943fd610","text":"Exploit on GitHub","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/php/php-src/blob/af6c11c5f060870d052a2b765dc634d9e47d0f18/ext/standard/uniqid.c#L44-L87","text":"relevant source code","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (75 chars, max 60)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (150 chars)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"How weak session ID generation using uniqid() in CS-Cart allows session hijacking through targeted brute-force, plus a frustrating disclosure timeline"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"title: CS-Cart v4.2.0 Session Hijacki..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"8"},{"name":"external-links","status":"pass","message":"9 external links","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"9"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"word-count","status":"pass","message":"Good content length: 1025 words","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"1025"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"session","label":"\"session\" (3.6%)","meta":{"count":29,"density":3.61145703611457}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Flesch score: 61/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"8"},{"name":"external-links","status":"pass","message":"9 external link(s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"9"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"http://www.cs-cart.com/"},{"id":"http://www.cs-cart.com/"},{"id":"http://au1.php.net/uniqid"},{"id":"http://blog.cs-cart.com/2014/07/21/cs-cart-4-2-1-released-new-styles-e-mail-marketing-and-more/"},{"id":"http://www.cs-cart.com/changelog421.html"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"headingsChecked":7}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"headingsChecked":7}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"linksChecked":7}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (208 nodes)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"208","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (350ms)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"350","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-length","status":"info","message":"URL is 82 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"and"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"ujo0nr0me41f49\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"24751","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","finalUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","hops":[{"url":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","statusCode":200,"loadTime":289,"meta":{"title":"Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services. | Nik Cubrilovic","description":"Discovering XSS, SQL injection indicators, and poor cookie security in Australia's myGov portal that could expose 2.2 million citizens' tax and health records","canonical":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","robots":null},"og":{"title":"Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services.","description":"Discovering XSS, SQL injection indicators, and poor cookie security in Australia's myGov portal that could expose 2.2 million citizens' tax and health records","url":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services.","description":"Discovering XSS, SQL injection indicators, and poor cookie security in Australia's myGov portal that could expose 2.2 million citizens' tax and health records","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services.\",\"description\":\"Discovering XSS, SQL injection indicators, and poor cookie security in Australia's myGov portal that could expose 2.2 million citizens' tax and health records\",\"url\":\"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government\",\"datePublished\":\"2014-05-15T03:56:45+0000\",\"dateModified\":\"2014-05-15T03:56:45+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government\"}}"},"links":[{"url":"http://my.gov.au/","text":"myGov","isInternal":false,"status":200},{"url":"http://www.amta.org.au/articles/Delivering.user-friendly.Government.services.online","text":"Digital First","isInternal":false,"status":404},{"url":"http://www.archive.dbcde.gov.au/2013/september/national_digital_economy_strategy/advancing_australia_as_a_digital_economy/part_three_achieving_o%20ur_goalsbuilding_on_the_2011_national_digital_economystrategy/online_government_service_delivery","text":"citizens be digital by 2020","isInternal":false,"error":"timeout"},{"url":"http://www.scribd.com/doc/224070691/Australian-Government-myGov-Website-Security-Issues?secret_password=xDLo231FFKMT9GPQnDlP","text":"Australian Government myGov Website Security Issues","isInternal":false,"status":200},{"url":"http://www.scribd.com/doc/224260090/MyGov-Security-Gov-Response","text":"MyGov Security Gov Response","isInternal":false,"status":200},{"url":"http://www.scribd.com/nikcub","text":"nikcub","isInternal":false,"status":200},{"url":"http://www.scribd.com/nikcub","text":"nikcub","isInternal":false,"status":200},{"url":"http://www.smh.com.au/it-pro/government-it/australians-private-government-details-at-mercy-of-hackers-say-it-security-experts-20140428-zqzkg.html","text":"reported that","isInternal":false,"status":200},{"url":"http://www.smh.com.au/it-pro/security-it/revealed-serious-flaws-in-mygov-site-exposed-millions-of-australians-private-information-20140515-zrczw.html","text":"on the Sydney Morning Herald website","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services."],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (123 chars, max 60)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services. | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (158 chars)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Discovering XSS, SQL injection indicators, and poor cookie security in Australia's myGov portal that could expose 2.2 million citizens' tax and health records"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services."},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"title: Multiple Vulnerabilities in My..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"8"},{"name":"external-links","status":"pass","message":"11 external links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"11"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"H1","label":"Multiple Vulnerabilities in MyGov, the Australian ","meta":{"level":1,"length":106}}]},{"name":"word-count","status":"pass","message":"Good content length: 1587 words","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"1587"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.8)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Flesch score: 55/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"8"},{"name":"external-links","status":"pass","message":"11 external link(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"11"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"https-downgrade","status":"warn","message":"9 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"http://www.smh.com.au/it-pro/security-it/revealed-serious-flaws-in-mygov-site-exposed-millions-of-australians-private-information-20140515-zrczw.html"},{"id":"http://www.amta.org.au/articles/Delivering.user-friendly.Government.services.online"},{"id":"http://www.archive.dbcde.gov.au/2013/september/national_digital_economy_strategy/advancing_australia_as_a_digital_economy/part_three_achieving_o%20ur_goalsbuilding_on_the_2011_national_digital_economystrategy/online_government_service_delivery"},{"id":"http://my.gov.au"},{"id":"http://www.smh.com.au/it-pro/government-it/australians-private-government-details-at-mercy-of-hackers-say-it-security-experts-20140428-zqzkg.html"},{"id":"http://www.scribd.com/doc/224070691/Australian-Government-myGov-Website-Security-Issues?secret_password=xDLo231FFKMT9GPQnDlP"},{"id":"http://www.scribd.com/nikcub"},{"id":"http://www.scribd.com/doc/224260090/MyGov-Security-Gov-Response"},{"id":"http://www.scribd.com/nikcub"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"image-dimensions","status":"warn","message":"2 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"2"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"3 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"totalImages":3}},{"name":"modern-image-formats","status":"pass","message":"2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"figure-figcaption","status":"info","message":"1/1 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Add descriptive captions to figures"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"11 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"noreferrer","status":"pass","message":"11 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"headingsChecked":5}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"frame-title","status":"fail","message":"2 iframe(s) without title attribute","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"iframe (www.scribd.com)"},{"id":"iframe (www.scribd.com)"}]},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"headingsChecked":5}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"linksChecked":9}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"imagesChecked":3}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"warn","message":"2 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"/images/posts/gqvpbGx.webp"},{"id":"/images/posts/myGov-20-20Home.webp"}]},{"name":"cls-iframes","status":"warn","message":"2 iframe(s) without dimensions","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"//www.scribd.com/embeds/224070691/content?start_page=1&view_mode=scroll&access_key=key-0NVekfWBPaKGMp7lca97&show_recommendations=true"},{"id":"//www.scribd.com/embeds/224260090/content?start_page=1&view_mode=scroll&access_key=key-j9B707GMs1zWZwc5kLui&show_recommendations=true"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (189 nodes)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"189","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (53)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"53"},{"name":"ttfb","status":"pass","message":"Fast server response (288ms)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"288","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":7}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-length","status":"info","message":"URL is 79 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"in"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"tap-targets","status":"info","message":"23 interactive element(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"17o8xyforvo1l25\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"1363","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","finalUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","hops":[{"url":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/two-google-chrome-privacy-issues","statusCode":200,"loadTime":310,"meta":{"title":"Two Google Chrome Privacy Issues | Nik Cubrilovic","description":"Two privacy issues in Chrome where browsing history data persists after deletion - zoom level settings and DNS prefetch data leave traces of visited domains","canonical":"https://nikcub.me/posts/two-google-chrome-privacy-issues","robots":null},"og":{"title":"Two Google Chrome Privacy Issues","description":"Two privacy issues in Chrome where browsing history data persists after deletion - zoom level settings and DNS prefetch data leave traces of visited domains","url":"https://nikcub.me/posts/two-google-chrome-privacy-issues","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Two Google Chrome Privacy Issues","description":"Two privacy issues in Chrome where browsing history data persists after deletion - zoom level settings and DNS prefetch data leave traces of visited domains","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Two Google Chrome Privacy Issues\",\"description\":\"Two privacy issues in Chrome where browsing history data persists after deletion - zoom level settings and DNS prefetch data leave traces of visited domains\",\"url\":\"https://nikcub.me/posts/two-google-chrome-privacy-issues\",\"datePublished\":\"2012-08-08T14:12:17.000Z\",\"dateModified\":\"2012-08-08T14:12:17.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/two-google-chrome-privacy-issues\"}}"},"links":[{"url":"http://blog.chromium.org/2008/09/dns-prefetching-or-pre-resolving.html","text":"thorough blog post","isInternal":false,"status":200},{"url":"http://code.google.com/p/chromium/issues/detail?id=137412","text":"files as a bug","isInternal":false,"status":200},{"url":"http://code.google.com/p/chromium/issues/detail?id=137414","text":"also filed as a bug","isInternal":false,"status":200},{"url":"http://www.mydigitallife.info/turn-off-dns-prefetching-in-google-chrome-to-fix-resolving-host-and-cannot-load-page-error/","text":"blog post here","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Two Google Chrome Privacy Issues"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (49 chars)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Two Google Chrome Privacy Issues | Nik Cubrilovic"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Two privacy issues in Chrome where browsing history data persists after deletion - zoom level settings and DNS prefetch data leave traces of visited domains"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Two Google Chrome Privacy Issues"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"title: Two Google Chrome Privacy Issu..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"8"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"6"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"word-count","status":"pass","message":"Good content length: 780 words","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"780"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 7.5)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Flesch score: 61/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"8"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"6"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"http://code.google.com/p/chromium/issues/detail?id=137412"},{"id":"http://blog.chromium.org/2008/09/dns-prefetching-or-pre-resolving.html"},{"id":"http://code.google.com/p/chromium/issues/detail?id=137414"},{"id":"http://www.mydigitallife.info/turn-off-dns-prefetching-in-google-chrome-to-fix-resolving-host-and-cannot-load-page-error/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"figure-figcaption","status":"info","message":"1/1 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Add descriptive captions to figures"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"headingsChecked":4}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"headingsChecked":4}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"linksChecked":4}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (231 nodes)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"231","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (310ms)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"310","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-length","status":"pass","message":"URL length is optimal (56 chars)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"two-google-chrome-privacy-issues"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"icst59dvzk1dps\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"8319","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","finalUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","hops":[{"url":"https://nikcub.me/posts/two-google-chrome-privacy-issues","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","statusCode":200,"loadTime":292,"meta":{"title":"BlockPlus v4 - Block Google+ widgets and links from other Google sites | Nik Cubrilovic","description":"An update to the BlockPlus browser extension which removes Google+ and other sites from the Google homepage and other properties","canonical":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","robots":null},"og":{"title":"BlockPlus v4 - Block Google+ widgets and links from other Google sites","description":"An update to the BlockPlus browser extension which removes Google+ and other sites from the Google homepage and other properties","url":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"BlockPlus v4 - Block Google+ widgets and links from other Google sites","description":"An update to the BlockPlus browser extension which removes Google+ and other sites from the Google homepage and other properties","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"BlockPlus v4 - Block Google+ widgets and links from other Google sites\",\"description\":\"An update to the BlockPlus browser extension which removes Google+ and other sites from the Google homepage and other properties\",\"url\":\"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites\",\"datePublished\":\"2012-02-21T08:22:02.000Z\",\"dateModified\":\"2012-02-21T08:22:02.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites\"}}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/nikcub/Blockplus","text":"https://github.com/nikcub/Blockplus","isInternal":false,"status":200},{"url":"https://github.com/nikcub/Blockplus/issues","text":"https://github.com/nikcub/Blockplus/issues","isInternal":false,"status":200},{"url":"https://github.com/nikcub/Blockplus/raw/master/chrome/build/blockplus-4.crx","text":"https://github.com/nikcub/Blockplus/raw/master/chrome/build/blockplus-4.crx","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["BlockPlus v4 - Block Google+ widgets and links from other Google sites"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (87 chars, max 60)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"BlockPlus v4 - Block Google+ widgets and links from other Google sites | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (128 chars)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"An update to the BlockPlus browser extension which removes Google+ and other sites from the Google homepage and other properties"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"BlockPlus v4 - Block Google+ widgets and links from other Google sites"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"title: BlockPlus v4 - Block Google+ w..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"8"},{"name":"external-links","status":"pass","message":"5 external links","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"5"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"word-count","status":"info","message":"Content could be longer: 311 words","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"311"},{"name":"keyword-stuffing","status":"warn","message":"2 word(s) may be overused","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"google","label":"\"google\" (4.4%)","meta":{"count":12,"density":4.428044280442804}},{"id":"blockplus","label":"\"blockplus\" (3.3%)","meta":{"count":9,"density":3.3210332103321036}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9.6)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Flesch score: 53/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"8"},{"name":"external-links","status":"pass","message":"5 external link(s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"5"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"image-dimensions","status":"pass","message":"All 3 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"3"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"pass","message":"2 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding loading='lazy' for below-fold images"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"totalImages":3}},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"figure-figcaption","status":"pass","message":"All 2 figure(s) have captions","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"5 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"noreferrer","status":"pass","message":"5 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"buttonsChecked":2}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":12,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"headingsChecked":2}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"buttonsChecked":2}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"headingsChecked":2}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"linksChecked":3}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"image-redundant-alt","status":"warn","message":"2 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"\"Google Plus logo wid...\" duplicates figcaption"},{"id":"\"blockplus demo...\" duplicates figcaption"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"warn","message":"2 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2F5909374213_cbae62eb55_m.webp&w=1920&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2F5909661385_79445883de_b.webp&w=1920&q=75"}]},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (144 nodes)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"144","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (291ms)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"291","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-length","status":"info","message":"URL is 100 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"and"},{"id":"from"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"fnv9a91cl711fg\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"82100","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","finalUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","hops":[{"url":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","statusCode":200,"loadTime":699,"meta":{"title":"Yahoo Axis Chrome Extension Leaks Private Certificate File | Nik Cubrilovic","description":"Yahoo shipped their Axis browser extension with the private certificate file used to sign it, allowing attackers to create forged extensions that Chrome trusts","canonical":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","robots":null},"og":{"title":"Yahoo Axis Chrome Extension Leaks Private Certificate File","description":"Yahoo shipped their Axis browser extension with the private certificate file used to sign it, allowing attackers to create forged extensions that Chrome trusts","url":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Yahoo Axis Chrome Extension Leaks Private Certificate File","description":"Yahoo shipped their Axis browser extension with the private certificate file used to sign it, allowing attackers to create forged extensions that Chrome trusts","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Yahoo Axis Chrome Extension Leaks Private Certificate File\",\"description\":\"Yahoo shipped their Axis browser extension with the private certificate file used to sign it, allowing attackers to create forged extensions that Chrome trusts\",\"url\":\"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file\",\"datePublished\":\"2012-05-24T04:16:17.000Z\",\"dateModified\":\"2012-05-24T04:16:17.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file\"}}"},"links":[{"url":"http://axis.yahoo.com/","text":"Axis","isInternal":false,"status":200},{"url":"http://github.com/nikcub/yahoo-spoof","text":"http://github.com/nikcub/yahoo-spoof","isInternal":false,"status":200},{"url":"http://support.google.com/chrome/bin/answer.py?hl=en&answer=113907","text":"how to remove extensions permanently","isInternal":false,"status":200},{"url":"http://support.google.com/chrome/bin/answer.py?hl=en&answer=187443","text":"detailed instructions on the Google Support website on managing extensions","isInternal":false,"status":200},{"url":"http://sxp.yimg.com/ei/ynano/YAxis_Chrome_v1_0_20120520.crx","text":"Chrome extension","isInternal":false,"status":500},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/nikcub/yahoo-spoof/blob/master/src/content.js#L2","text":"this content script","isInternal":false,"status":200},{"url":"https://github.com/nikcub/yahoo-spoof/raw/master/build/yahoo-spoof.crx","text":"a link","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://twitter.com/nikcub/status/205489752684765185","text":"with tweet","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Yahoo Axis Chrome Extension Leaks Private Certificate File"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (75 chars, max 60)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Yahoo Axis Chrome Extension Leaks Private Certificate File | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (159 chars)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Yahoo shipped their Axis browser extension with the private certificate file used to sign it, allowing attackers to create forged extensions that Chrome trusts"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Yahoo Axis Chrome Extension Leaks Private Certificate File"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"title: Yahoo Axis Chrome Extension Le..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"8"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"10"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"word-count","status":"pass","message":"Good content length: 748 words","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"748"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"extension","label":"\"extension\" (3.7%)","meta":{"count":22,"density":3.691275167785235}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9.9)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Flesch score: 54/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"8"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"10"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"http://axis.yahoo.com"},{"id":"http://sxp.yimg.com/ei/ynano/YAxis_Chrome_v1_0_20120520.crx"},{"id":"http://github.com/nikcub/yahoo-spoof"},{"id":"http://support.google.com/chrome/bin/answer.py?hl=en&answer=187443"},{"id":"http://support.google.com/chrome/bin/answer.py?hl=en&answer=113907"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"image-dimensions","status":"pass","message":"All 3 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"3"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"pass","message":"2 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding loading='lazy' for below-fold images"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"totalImages":3}},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"figure-figcaption","status":"pass","message":"All 2 figure(s) have captions","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"10 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"noreferrer","status":"pass","message":"10 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":12,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"headingsChecked":4}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"headingsChecked":4}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"linksChecked":8}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"image-redundant-alt","status":"warn","message":"2 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"\"yahoo private key...\" duplicates figcaption"},{"id":"\"disable yahoo extens...\" duplicates figcaption"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"warn","message":"2 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2Fyahoo-private-key.webp&w=1920&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2Fyahoo-extension-disable.webp&w=1920&q=75"}]},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (169 nodes)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"169","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (699ms)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"699","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-length","status":"info","message":"URL is 82 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"tap-targets","status":"info","message":"22 interactive element(s) found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"15z1i1hdxz019jj\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"31557","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","finalUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","hops":[{"url":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","statusCode":200,"loadTime":726,"meta":{"title":"Facebook and many other sites also bypass Internet Explorer privacy controls | Nik Cubrilovic","description":"Microsoft called out Google for P3P bypass but ignored Facebook doing the same thing - and a survey shows 5% of top sites set invalid P3P headers","canonical":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","robots":null},"og":{"title":"Facebook and many other sites also bypass Internet Explorer privacy controls","description":"Microsoft called out Google for P3P bypass but ignored Facebook doing the same thing - and a survey shows 5% of top sites set invalid P3P headers","url":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Facebook and many other sites also bypass Internet Explorer privacy controls","description":"Microsoft called out Google for P3P bypass but ignored Facebook doing the same thing - and a survey shows 5% of top sites set invalid P3P headers","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Facebook and many other sites also bypass Internet Explorer privacy controls\",\"description\":\"Microsoft called out Google for P3P bypass but ignored Facebook doing the same thing - and a survey shows 5% of top sites set invalid P3P headers\",\"url\":\"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p\",\"datePublished\":\"2012-02-21T04:40:52.000Z\",\"dateModified\":\"2012-02-21T04:40:52.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p\"}}"},"links":[{"url":"http://blogs.msdn.com/b/ie/archive/2012/02/20/google-bypassing-user-privacy-settings.aspx","text":"a post","isInternal":false,"status":403},{"url":"http://en.wikipedia.org/wiki/P3P","text":"P3P protocol","isInternal":false,"status":200},{"url":"http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html","text":"big story last week","isInternal":false,"status":401},{"url":"http://www.facebook.com/help/?page=219494461411349","text":"that is linked","isInternal":false,"status":200},{"url":"http://www.shodanhq.com/research/","text":"Shodan Research HTTP archive","isInternal":false,"status":200},{"url":"http://www.shodanhq.com/research/infodisc/header/P3P","text":"P3P","isInternal":false,"status":200},{"url":"http://www.shodanhq.com/research/infodisc/header/p3p","text":"p3p","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/#!/ashk4n/status/171808741816147968","text":"ask4n","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Facebook and many other sites also bypass Internet Explorer privacy controls"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (93 chars, max 60)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Facebook and many other sites also bypass Internet Explorer privacy controls | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (145 chars)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Microsoft called out Google for P3P bypass but ignored Facebook doing the same thing - and a survey shows 5% of top sites set invalid P3P headers"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Facebook and many other sites also bypass Internet Explorer privacy controls"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"title: Facebook and many other sites ..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"8"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"10"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"H1","label":"Facebook and many other sites also bypass Internet","meta":{"level":1,"length":76}}]},{"name":"word-count","status":"pass","message":"Good content length: 725 words","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"725"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 8.9)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Flesch score: 59/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"8"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"10"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"http://blogs.msdn.com/b/ie/archive/2012/02/20/google-bypassing-user-privacy-settings.aspx"},{"id":"http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html"},{"id":"http://en.wikipedia.org/wiki/P3P"},{"id":"http://www.facebook.com/help/?page=219494461411349"},{"id":"http://www.shodanhq.com/research/"},{"id":"http://www.shodanhq.com/research/infodisc/header/P3P"},{"id":"http://www.shodanhq.com/research/infodisc/header/p3p"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"figure-figcaption","status":"info","message":"3/3 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Add descriptive captions to figures"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"10 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"noreferrer","status":"pass","message":"10 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"headingsChecked":2}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"headingsChecked":2}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"linksChecked":8}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (285 nodes)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"285","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (725ms)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"725","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"social-profiles","status":"pass","message":"2 social platform(s) linked","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"Facebook"},{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-length","status":"pass","message":"URL length is optimal (54 chars)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"facebook-also-doesnt-honor-p3p"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"tap-targets","status":"info","message":"22 interactive element(s) found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"duu12vcddn1jeh\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"25907","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","finalUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","hops":[{"url":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/facebook-is-losing-e-commerce","statusCode":200,"loadTime":355,"meta":{"title":"Facebook Is Losing E-Commerce | Nik Cubrilovic","description":"Analysis of Facebook's declining e-commerce presence and why users prefer external shopping experiences over Facebook's platform integration","canonical":"https://nikcub.me/posts/facebook-is-losing-e-commerce","robots":null},"og":{"title":"Facebook Is Losing E-Commerce","description":"Analysis of Facebook's declining e-commerce presence and why users prefer external shopping experiences over Facebook's platform integration","url":"https://nikcub.me/posts/facebook-is-losing-e-commerce","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Facebook Is Losing E-Commerce","description":"Analysis of Facebook's declining e-commerce presence and why users prefer external shopping experiences over Facebook's platform integration","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Facebook Is Losing E-Commerce\",\"description\":\"Analysis of Facebook's declining e-commerce presence and why users prefer external shopping experiences over Facebook's platform integration\",\"url\":\"https://nikcub.me/posts/facebook-is-losing-e-commerce\",\"datePublished\":\"2012-02-19T02:45:12.000Z\",\"dateModified\":\"2012-02-19T02:45:12.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/facebook-is-losing-e-commerce\"}}"},"links":[{"url":"http://sec.gov/Archives/edgar/data/1326801/000119312512034517/d287954ds1.htm","text":"S-1 with the SEC","isInternal":false,"status":200},{"url":"http://techcrunch.com/2012/02/17/pinsanity/","text":"recent estimates","isInternal":false,"status":200},{"url":"http://www.bloomberg.com/news/2012-02-17/f-commerce-trips-as-gap-to-penney-shut-facebook-stores-retail.html","text":"out today","isInternal":false,"status":403},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Facebook Is Losing E-Commerce"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (46 chars)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Facebook Is Losing E-Commerce | Nik Cubrilovic"},{"name":"meta-description","status":"pass","message":"Description length OK (140 chars)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Analysis of Facebook's declining e-commerce presence and why users prefer external shopping experiences over Facebook's platform integration"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Facebook Is Losing E-Commerce"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"title: Facebook Is Losing E-Commerce..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"8"},{"name":"external-links","status":"pass","message":"5 external links","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"5"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"word-count","status":"pass","message":"Good content length: 1661 words","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"1661"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"facebook","label":"\"facebook\" (3.5%)","meta":{"count":46,"density":3.5303146584804295}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.8)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Flesch score: 45/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"8"},{"name":"external-links","status":"pass","message":"5 external link(s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"5"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"https-downgrade","status":"warn","message":"3 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"http://www.bloomberg.com/news/2012-02-17/f-commerce-trips-as-gap-to-penney-shut-facebook-stores-retail.html"},{"id":"http://sec.gov/Archives/edgar/data/1326801/000119312512034517/d287954ds1.htm"},{"id":"http://techcrunch.com/2012/02/17/pinsanity/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"5 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"noreferrer","status":"pass","message":"5 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"headingsChecked":6}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"headingsChecked":6}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"listitem","status":"pass","message":"10 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"linksChecked":3}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (185 nodes)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"185","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (353ms)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"353","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 2ms","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"2"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-length","status":"pass","message":"URL length is optimal (53 chars)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"facebook-is-losing-e-commerce"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"is"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"tap-targets","status":"info","message":"17 interactive element(s) found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"mm2ugxx031gsl\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"1408","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","finalUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","hops":[{"url":"https://nikcub.me/posts/facebook-is-losing-e-commerce","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","statusCode":200,"loadTime":286,"meta":{"title":"How Megaupload Was Investigated and Indicted | Nik Cubrilovic","description":"Security research and technology analysis","canonical":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","robots":null},"og":{"title":"How Megaupload Was Investigated and Indicted","description":"Security research and technology analysis","url":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"How Megaupload Was Investigated and Indicted","description":"Security research and technology analysis","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"How Megaupload Was Investigated and Indicted\",\"description\":\"Security research and technology analysis\",\"url\":\"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted\",\"datePublished\":\"2012-01-20T16:47:06.000Z\",\"dateModified\":\"2012-01-20T16:47:06.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted\"}}"},"links":[{"url":"http://torrentfreak.com/riaa-label-artists-a-list-stars-endorse-megaupload-in-new-song-111209/","text":"supporters video","isInternal":false,"status":200},{"url":"http://www.techmeme.com/120119/p97#a120119p97","text":"taken down","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://ssd.eff.org/book/export/html/42","text":"this guide","isInternal":false,"status":404},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.scribd.com/doc/78800989/Mega-Indictment","text":"the indictment","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["How Megaupload Was Investigated and Indicted"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (61 chars, max 60)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"How Megaupload Was Investigated and Indicted | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (41 chars, min 120)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Security research and technology analysis","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"How Megaupload Was Investigated and Indicted"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"title: How Megaupload Was Investigate..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"8"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"6"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"word-count","status":"pass","message":"Good content length: 859 words","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"859"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 11.8)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Flesch score: 49/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"8"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"6"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"https-downgrade","status":"warn","message":"2 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"http://www.techmeme.com/120119/p97#a120119p97"},{"id":"http://torrentfreak.com/riaa-label-artists-a-list-stars-endorse-megaupload-in-new-song-111209/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"1"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"totalImages":2}},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"filename-quality","status":"info","message":"1 image(s) with non-descriptive filenames","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"image66.webp"}]},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":9,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"listitem","status":"pass","message":"4 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"linksChecked":4}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"imagesChecked":2}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"/images/posts/image66.webp"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (146 nodes)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"146","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"52"},{"name":"ttfb","status":"pass","message":"Fast server response (286ms)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"286","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-length","status":"pass","message":"URL length is optimal (68 chars)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"how-megaupload-was-investigated-and-indicted"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"was"},{"id":"and"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"146e8e1844h1558\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"26988","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","finalUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","hops":[{"url":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","statusCode":200,"loadTime":300,"meta":{"title":"The Google Firefox search deal, Chrome and Lady GaGa | Nik Cubrilovic","description":"Why Google's claim that Chrome is purely altruistic doesn't match their $4.9B marketing spend including Lady Gaga ads and Super Bowl spots","canonical":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","robots":null},"og":{"title":"The Google Firefox search deal, Chrome and Lady GaGa","description":"Why Google's claim that Chrome is purely altruistic doesn't match their $4.9B marketing spend including Lady Gaga ads and Super Bowl spots","url":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"The Google Firefox search deal, Chrome and Lady GaGa","description":"Why Google's claim that Chrome is purely altruistic doesn't match their $4.9B marketing spend including Lady Gaga ads and Super Bowl spots","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"The Google Firefox search deal, Chrome and Lady GaGa\",\"description\":\"Why Google's claim that Chrome is purely altruistic doesn't match their $4.9B marketing spend including Lady Gaga ads and Super Bowl spots\",\"url\":\"https://nikcub.me/posts/google-firefox-chrome-lady-gaga\",\"datePublished\":\"2011-12-25T11:37:14.000Z\",\"dateModified\":\"2011-12-25T11:37:14.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/google-firefox-chrome-lady-gaga\"}}"},"links":[{"url":"http://parislemon.com/post/14695710791/pay-to-stay","text":"MG Siegler's post","isInternal":false,"status":200},{"url":"http://searchengineland.com/where-is-google-investing-its-marketing-spend-internationally-75226","text":"up 69%","isInternal":false,"status":200},{"url":"http://techcrunch.com/2011/12/24/safari-and-chrome/","text":"other post today","isInternal":false,"status":200},{"url":"http://www.physorg.com/news/2011-12-google-ramps.html","text":"here on where Google is spending that budget","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://plus.google.com/114128403856330399812/posts/9dKsD7Mi7JU","text":"posted to Google+","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.youtube.com/watch?v=sDPJ-o1leAw","text":"Lady GaGa appearing","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["The Google Firefox search deal, Chrome and Lady GaGa"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (69 chars, max 60)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"The Google Firefox search deal, Chrome and Lady GaGa | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (138 chars)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Why Google's claim that Chrome is purely altruistic doesn't match their $4.9B marketing spend including Lady Gaga ads and Super Bowl spots"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"The Google Firefox search deal, Chrome and Lady GaGa"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"title: The Google Firefox search deal..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"external-links","status":"pass","message":"8 external links","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"word-count","status":"pass","message":"Good content length: 733 words","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"733"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.8)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Flesch score: 52/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"external-links","status":"pass","message":"8 external link(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"http://parislemon.com/post/14695710791/pay-to-stay"},{"id":"http://searchengineland.com/where-is-google-investing-its-marketing-spend-internationally-75226"},{"id":"http://www.physorg.com/news/2011-12-google-ramps.html"},{"id":"http://techcrunch.com/2011/12/24/safari-and-chrome/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"1"},{"name":"modern-format","status":"info","message":"1 modern format(s), 1 legacy format(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider converting remaining images to WebP/AVIF"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"totalImages":2}},{"name":"filename-quality","status":"info","message":"1 image(s) with non-descriptive filenames","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"20111225-pmyb3unhb18e2drdnyr1wuna5k.jpg-20class"}]},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"8 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"noreferrer","status":"pass","message":"8 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"listitem","status":"pass","message":"5 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"linksChecked":6}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"imagesChecked":2}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"null"},{"name":"lcp-preload","status":"warn","message":"2 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"},{"id":"/images/posts/20111225-pmyb3unhb18e2drdnyr1wuna5k.jpg-20class"}]},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"/images/posts/20111225-pmyb3unhb18e2drdnyr1wuna5k.jpg-20class"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (147 nodes)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"147","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"52"},{"name":"ttfb","status":"pass","message":"Fast server response (300ms)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"300","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"social-profiles","status":"pass","message":"2 social platform(s) linked","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"YouTube"},{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-length","status":"pass","message":"URL length is optimal (55 chars)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"google-firefox-chrome-lady-gaga"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"tap-targets","status":"info","message":"20 interactive element(s) found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"ropy0quz7e15n1\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"33053","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","finalUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","hops":[{"url":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","statusCode":200,"loadTime":713,"meta":{"title":"The Crunchpad is proof of obviousness in the iPad design | Nik Cubrilovic","description":"How the CrunchPad tablet project demonstrates the obviousness of the iPad's design, challenging Apple's claims of revolutionary innovation","canonical":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","robots":null},"og":{"title":"The Crunchpad is proof of obviousness in the iPad design","description":"How the CrunchPad tablet project demonstrates the obviousness of the iPad's design, challenging Apple's claims of revolutionary innovation","url":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"The Crunchpad is proof of obviousness in the iPad design","description":"How the CrunchPad tablet project demonstrates the obviousness of the iPad's design, challenging Apple's claims of revolutionary innovation","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"The Crunchpad is proof of obviousness in the iPad design\",\"description\":\"How the CrunchPad tablet project demonstrates the obviousness of the iPad's design, challenging Apple's claims of revolutionary innovation\",\"url\":\"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design\",\"datePublished\":\"2011-12-09T13:09:38.000Z\",\"dateModified\":\"2011-12-09T13:09:38.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design\"}}"},"links":[{"url":"http://assets.sbnation.com/assets/807407/Apple_Reply_Expert_declaration.pdf","text":"Apple has given Samsung","isInternal":false,"status":200},{"url":"http://assets.sbnation.com/assets/807407/Apple_Reply_Expert_declaration.pdf","text":"the testimony","isInternal":false,"status":200},{"url":"http://docs.justia.com/cases/federal/district-courts/california/candce/5:2011cv01846/239768/279/","text":"online version","isInternal":false,"status":403},{"url":"http://en.wikipedia.org/wiki/Crunchpad","text":"Crunchpad","isInternal":false,"status":200},{"url":"http://techcrunch.com/2008/07/21/we-want-a-dead-simple-web-tablet-help-us-build-it/","text":"first post","isInternal":false,"status":200},{"url":"http://www.baekdal.com/opinion/apple-never-designed-the-ipad-they-undesigned-it/","text":"this post","isInternal":false,"status":200},{"url":"http://www.theverge.com/2011/12/2/2596527/apple-samsung-design-patent-iphone-ipad-work-around","text":"reported on","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["The Crunchpad is proof of obviousness in the iPad design"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (73 chars, max 60)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"The Crunchpad is proof of obviousness in the iPad design | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (138 chars)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"How the CrunchPad tablet project demonstrates the obviousness of the iPad's design, challenging Apple's claims of revolutionary innovation"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"The Crunchpad is proof of obviousness in the iPad design"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"title: The Crunchpad is proof of obvi..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"8"},{"name":"external-links","status":"pass","message":"9 external links","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"9"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"word-count","status":"pass","message":"Good content length: 1109 words","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"1109"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.9)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Flesch score: 44/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"8"},{"name":"external-links","status":"pass","message":"9 external link(s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"9"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"http://www.theverge.com/2011/12/2/2596527/apple-samsung-design-patent-iphone-ipad-work-around"},{"id":"http://assets.sbnation.com/assets/807407/Apple_Reply_Expert_declaration.pdf"},{"id":"http://assets.sbnation.com/assets/807407/Apple_Reply_Expert_declaration.pdf"},{"id":"http://docs.justia.com/cases/federal/district-courts/california/candce/5:2011cv01846/239768/279/"},{"id":"http://www.baekdal.com/opinion/apple-never-designed-the-ipad-they-undesigned-it/"},{"id":"http://en.wikipedia.org/wiki/Crunchpad"},{"id":"http://techcrunch.com/2008/07/21/we-want-a-dead-simple-web-tablet-help-us-build-it/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"1"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"totalImages":2}},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"filename-quality","status":"info","message":"1 image(s) with non-descriptive filenames","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"2689708043_3afee5af69_o.webp"}]},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"headingsChecked":7}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"headingsChecked":7}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"listitem","status":"pass","message":"7 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"linksChecked":7}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"imagesChecked":2}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"/images/posts/2689708043_3afee5af69_o.webp"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (186 nodes)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"186","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"52"},{"name":"ttfb","status":"warn","message":"Slow server response (713ms)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"713","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-length","status":"pass","message":"URL length is optimal (66 chars)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"in"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"wco3hfbcgt1d74\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"50270","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","finalUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","hops":[{"url":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/the-download-dot-con","statusCode":200,"loadTime":796,"meta":{"title":"The Download Dot-Con | Nik Cubrilovic","description":"How CNet's Download.com bundles adware and toolbars with popular open source software, making them no different from the fake download sites they claim to protect against","canonical":"https://nikcub.me/posts/the-download-dot-con","robots":null},"og":{"title":"The Download Dot-Con","description":"How CNet's Download.com bundles adware and toolbars with popular open source software, making them no different from the fake download sites they claim to protect against","url":"https://nikcub.me/posts/the-download-dot-con","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"The Download Dot-Con","description":"How CNet's Download.com bundles adware and toolbars with popular open source software, making them no different from the fake download sites they claim to protect against","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"The Download Dot-Con\",\"description\":\"How CNet's Download.com bundles adware and toolbars with popular open source software, making them no different from the fake download sites they claim to protect against\",\"url\":\"https://nikcub.me/posts/the-download-dot-con\",\"datePublished\":\"2011-12-08T17:15:33.000Z\",\"dateModified\":\"2011-12-08T17:15:33.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/the-download-dot-con\"}}"},"links":[{"url":"http://download.cnet.com/8301-2007_4-57338809-12/a-note-from-sean-regarding-the-download.com-installer/","text":"issued a statement","isInternal":false,"status":200},{"url":"http://download.cnet.com/DivX-Plus-Software/3000-13632_4-10062728.html","text":"DivX player","isInternal":false,"status":200},{"url":"http://insecure.org/news/download-com-fiasco.html","text":"past few days","isInternal":false,"status":200},{"url":"http://seclists.org/nmap-hackers/2011/5","text":"to public attention","isInternal":false,"status":200},{"url":"http://www.cnet.com/2723-13403_1-461-16.html","text":"Download.com Adware and Spyware Notice","isInternal":false,"status":200},{"url":"http://www.ghacks.net/2011/08/17/the-cnet-download-com-installer/","text":"install toolbars and other adware","isInternal":false,"status":200},{"url":"http://www.google.com/safebrowsing/report_badware/","text":"to Google as an unsafe badware site","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["The Download Dot-Con"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (37 chars)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"The Download Dot-Con | Nik Cubrilovic"},{"name":"meta-description","status":"warn","message":"Description too long (170 chars, max 160)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"How CNet's Download.com bundles adware and toolbars with popular open source software, making them no different from the fake download sites they claim to protect against","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"https://nikcub.me/posts/the-download-dot-con"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"The Download Dot-Con"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"title: The Download Dot-Con..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"8"},{"name":"external-links","status":"pass","message":"9 external links","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"9"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"word-count","status":"pass","message":"Good content length: 1024 words","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"1024"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"download","label":"\"download\" (4.0%)","meta":{"count":35,"density":4.022988505747127}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 7.9)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Flesch score: 66/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"8"},{"name":"external-links","status":"pass","message":"9 external link(s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"9"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"http://insecure.org/news/download-com-fiasco.html"},{"id":"http://seclists.org/nmap-hackers/2011/5"},{"id":"http://download.cnet.com/8301-2007_4-57338809-12/a-note-from-sean-regarding-the-download.com-installer/"},{"id":"http://www.cnet.com/2723-13403_1-461-16.html"},{"id":"http://www.ghacks.net/2011/08/17/the-cnet-download-com-installer/"},{"id":"http://download.cnet.com/DivX-Plus-Software/3000-13632_4-10062728.html"},{"id":"http://www.google.com/safebrowsing/report_badware/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"image-dimensions","status":"pass","message":"All 2 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"2"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"pass","message":"1 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding loading='lazy' for below-fold images"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"totalImages":2}},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"figure-figcaption","status":"pass","message":"All 1 figure(s) have captions","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":11,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"linksChecked":7}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"\"download dot con...\" duplicates figcaption"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"warn","message":"1 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2Fdownload-dotcon.webp&w=1920&q=75"}]},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (165 nodes)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"165","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (796ms)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"796","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-length","status":"pass","message":"URL length is optimal (44 chars)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"the-download-dot-con"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"the"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"vs53eg6nqm1aql\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"66823","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/the-download-dot-con","finalUrl":"https://nikcub.me/posts/the-download-dot-con","hops":[{"url":"https://nikcub.me/posts/the-download-dot-con","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/frictionless-browser-plugin","statusCode":200,"loadTime":305,"meta":{"title":"Introducing Frictionless - Taking the friction out of Facebook social-sharing applications | Nik Cubrilovic","description":"Launching Frictionless, a Chrome extension that bypasses Facebook's social reader apps and takes you directly to the original article without sharing your activity","canonical":"https://nikcub.me/posts/frictionless-browser-plugin","robots":null},"og":{"title":"Introducing Frictionless - Taking the friction out of Facebook social-sharing applications","description":"Launching Frictionless, a Chrome extension that bypasses Facebook's social reader apps and takes you directly to the original article without sharing your activity","url":"https://nikcub.me/posts/frictionless-browser-plugin","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Introducing Frictionless - Taking the friction out of Facebook social-sharing applications","description":"Launching Frictionless, a Chrome extension that bypasses Facebook's social reader apps and takes you directly to the original article without sharing your activity","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Introducing Frictionless - Taking the friction out of Facebook social-sharing applications\",\"description\":\"Launching Frictionless, a Chrome extension that bypasses Facebook's social reader apps and takes you directly to the original article without sharing your activity\",\"url\":\"https://nikcub.me/posts/frictionless-browser-plugin\",\"datePublished\":\"2011-12-04T21:02:09.000Z\",\"dateModified\":\"2011-12-04T21:02:09.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/frictionless-browser-plugin\"}}"},"links":[{"url":"http://disconnect.me/","text":"Disconnect","isInternal":false,"status":200},{"url":"http://github.com/byoogle/frictionless/issues","text":"filed at GitHub","isInternal":false,"status":200},{"url":"http://news.cnet.com/8301-31322_3-57324406-256/how-facebook-is-ruining-sharing/","text":"amongst bloggers","isInternal":false,"status":200},{"url":"http://twitter.com/byoogle","text":"Brian Kennish","isInternal":false,"status":500},{"url":"http://www.twitter.com/nikcub","text":"on Twitter","isInternal":false,"status":200},{"url":"https://chrome.google.com/webstore/detail/ajingfifiphifhhjfmfcpklnphcijocg","text":"Frictionless","isInternal":false,"status":200},{"url":"https://chrome.google.com/webstore/detail/ajingfifiphifhhjfmfcpklnphcijocg","text":"Chrome Web Store","isInternal":false,"status":200},{"url":"https://github.com/byoogle/frictionless/","text":"at GitHub","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Introducing Frictionless - Taking the friction out of Facebook social-sharing applications"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (107 chars, max 60)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Introducing Frictionless - Taking the friction out of Facebook social-sharing applications | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too long (163 chars, max 160)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Launching Frictionless, a Chrome extension that bypasses Facebook's social reader apps and takes you directly to the original article without sharing your activity","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Introducing Frictionless - Taking the friction out of Facebook social-sharing applications"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"title: Introducing Frictionless - Tak..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"8"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"10"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"H1","label":"Introducing Frictionless - Taking the friction out","meta":{"level":1,"length":90}}]},{"name":"word-count","status":"pass","message":"Good content length: 585 words","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"585"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.6)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Flesch score: 44/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"8"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"10"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"http://news.cnet.com/8301-31322_3-57324406-256/how-facebook-is-ruining-sharing/"},{"id":"http://twitter.com/byoogle"},{"id":"http://disconnect.me/"},{"id":"http://github.com/byoogle/frictionless/issues"},{"id":"http://www.twitter.com/nikcub"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"1"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"totalImages":2}},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"10 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"noreferrer","status":"pass","message":"10 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"linksChecked":8}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"imagesChecked":2}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"/images/posts/promo.webp"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (145 nodes)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"145","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"52"},{"name":"ttfb","status":"pass","message":"Fast server response (304ms)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"304","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-length","status":"pass","message":"URL length is optimal (51 chars)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"frictionless-browser-plugin"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"tap-targets","status":"info","message":"22 interactive element(s) found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"12e53c9h4z014tx\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"88232","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/frictionless-browser-plugin","finalUrl":"https://nikcub.me/posts/frictionless-browser-plugin","hops":[{"url":"https://nikcub.me/posts/frictionless-browser-plugin","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/google-android-the-accidental-empire","statusCode":200,"loadTime":311,"meta":{"title":"Google Android -  The Accidental Empire | Nik Cubrilovic","description":"How Larry and Sergey purchased Android for $50M without telling Eric Schmidt, and accidentally created a smartphone empire that crushed Nokia and Blackberry","canonical":"https://nikcub.me/posts/google-android-the-accidental-empire","robots":null},"og":{"title":"Google Android -  The Accidental Empire","description":"How Larry and Sergey purchased Android for $50M without telling Eric Schmidt, and accidentally created a smartphone empire that crushed Nokia and Blackberry","url":"https://nikcub.me/posts/google-android-the-accidental-empire","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Google Android -  The Accidental Empire","description":"How Larry and Sergey purchased Android for $50M without telling Eric Schmidt, and accidentally created a smartphone empire that crushed Nokia and Blackberry","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Google Android -  The Accidental Empire\",\"description\":\"How Larry and Sergey purchased Android for $50M without telling Eric Schmidt, and accidentally created a smartphone empire that crushed Nokia and Blackberry\",\"url\":\"https://nikcub.me/posts/google-android-the-accidental-empire\",\"datePublished\":\"2011-12-07T17:39:48.000Z\",\"dateModified\":\"2011-12-07T17:39:48.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/google-android-the-accidental-empire\"}}"},"links":[{"url":"http://blogs.wsj.com/tech-europe/2011/02/09/full-text-nokia-ceo-stephen-elops-burning-platform-memo/","text":"Nokia","isInternal":false,"status":401},{"url":"http://searchengineland.com/comscore-android-nears-50-us-smartphone-market-share-95768","text":"44% of the smartphone market","isInternal":false,"status":200},{"url":"http://tech.fortune.cnn.com/2010/08/04/google-passes-the-200000-android-activationsday-mark/","text":"200,000","isInternal":false,"status":403},{"url":"http://techcrunch.com/2009/10/07/a-conversation-with-sergey-brin/","text":"at Techcrunch","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.mondaynote.com/2011/12/05/behind-rim%E2%80%99s-485m-write-off/","text":"RIM","isInternal":false,"error":"Unable to connect. Is the computer able to access the url?"}],"images":[],"h1Count":1,"h1Text":["Google Android -  The Accidental Empire"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (56 chars)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Google Android -  The Accidental Empire | Nik Cubrilovic"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"How Larry and Sergey purchased Android for $50M without telling Eric Schmidt, and accidentally created a smartphone empire that crushed Nokia and Blackberry"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Google Android -  The Accidental Empire"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"title: Google Android -  The Accident..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"8"},{"name":"external-links","status":"pass","message":"7 external links","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"7"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"word-count","status":"pass","message":"Good content length: 690 words","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"690"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 11.3)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Flesch score: 50/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"8"},{"name":"external-links","status":"pass","message":"7 external link(s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"7"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"http://searchengineland.com/comscore-android-nears-50-us-smartphone-market-share-95768"},{"id":"http://blogs.wsj.com/tech-europe/2011/02/09/full-text-nokia-ceo-stephen-elops-burning-platform-memo/"},{"id":"http://tech.fortune.cnn.com/2010/08/04/google-passes-the-200000-android-activationsday-mark/"},{"id":"http://techcrunch.com/2009/10/07/a-conversation-with-sergey-brin/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"7 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"noreferrer","status":"pass","message":"7 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"linksChecked":5}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (140 nodes)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"140","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (310ms)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"310","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-length","status":"pass","message":"URL length is optimal (60 chars)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"google-android-the-accidental-empire"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"the"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"tap-targets","status":"info","message":"19 interactive element(s) found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"eivgijsat0147t\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"63607","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","finalUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","hops":[{"url":"https://nikcub.me/posts/google-android-the-accidental-empire","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","statusCode":200,"loadTime":707,"meta":{"title":"Lies, Damn Lies and Google+ Statistics | Nik Cubrilovic","description":"Debunking the viral \"Google+ traffic drops 60%\" story based on flawed Chitika statistics with no published methodology - and misunderstanding launch bumps","canonical":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","robots":null},"og":{"title":"Lies, Damn Lies and Google+ Statistics","description":"Debunking the viral \"Google+ traffic drops 60%\" story based on flawed Chitika statistics with no published methodology - and misunderstanding launch bumps","url":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Lies, Damn Lies and Google+ Statistics","description":"Debunking the viral \"Google+ traffic drops 60%\" story based on flawed Chitika statistics with no published methodology - and misunderstanding launch bumps","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Lies, Damn Lies and Google+ Statistics\",\"description\":\"Debunking the viral \\\"Google+ traffic drops 60%\\\" story based on flawed Chitika statistics with no published methodology - and misunderstanding launch bumps\",\"url\":\"https://nikcub.me/posts/lies-damn-lies-and-google-statistics\",\"datePublished\":\"2011-10-11T00:46:03.000Z\",\"dateModified\":\"2011-10-11T00:46:03.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/lies-damn-lies-and-google-statistics\"}}"},"links":[{"url":"http://chitika.com/","text":"Chitika","isInternal":false,"error":"certificate has expired"},{"url":"http://insights.chitika.com/2011/failure-to-launch-google-growth-spurt-short-lived/","text":"this blog post","isInternal":false,"error":"certificate has expired"},{"url":"http://www.dailymail.co.uk/news/article-2046955/Traffic-plunges-Google-60-users-log-off.html%22","text":"Daily Mail","isInternal":false,"status":200},{"url":"http://www.forbes.com/sites/timworstall/2011/10/09/google-plus-traffic-down-60/","text":"blog post at Forbes","isInternal":false,"status":403},{"url":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331303447","text":"left a comment","isInternal":false,"status":200},{"url":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331305489","text":"ReadWriteWeb post about this story","isInternal":false,"status":200},{"url":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331310620","text":"response was","isInternal":false,"status":200},{"url":"http://www.techmeme.com/111010/p53#a111010p53","text":"big stories","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Lies, Damn Lies and Google+ Statistics"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (55 chars)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Lies, Damn Lies and Google+ Statistics | Nik Cubrilovic"},{"name":"meta-description","status":"pass","message":"Description length OK (154 chars)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Debunking the viral \"Google+ traffic drops 60%\" story based on flawed Chitika statistics with no published methodology - and misunderstanding launch bumps"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Lies, Damn Lies and Google+ Statistics"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"title: Lies, Damn Lies and Google+ St..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"8"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"10"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"word-count","status":"info","message":"Content could be longer: 485 words","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"485"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.4)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Flesch score: 55/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"8"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"10"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"https-downgrade","status":"warn","message":"8 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"http://www.techmeme.com/111010/p53#a111010p53"},{"id":"http://chitika.com"},{"id":"http://www.dailymail.co.uk/news/article-2046955/Traffic-plunges-Google-60-users-log-off.html\""},{"id":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331303447"},{"id":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331305489"},{"id":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331310620"},{"id":"http://www.forbes.com/sites/timworstall/2011/10/09/google-plus-traffic-down-60/"},{"id":"http://insights.chitika.com/2011/failure-to-launch-google-growth-spurt-short-lived/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"linksChecked":8}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (146 nodes)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"146","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (707ms)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"707","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-length","status":"pass","message":"URL length is optimal (60 chars)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"lies-damn-lies-and-google-statistics"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"and"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"tap-targets","status":"info","message":"22 interactive element(s) found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"wsk3qws48713v0\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"24380","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","finalUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","hops":[{"url":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","statusCode":200,"loadTime":361,"meta":{"title":"Unicode U+F8FF - aka. The Apple Logo Character, on Macs | Nik Cubrilovic","description":"The Apple logo character U+F8FF only renders on Mac - on Windows it shows as boxes, Elvish, Tibetan, or embarrassingly as the Windows logo in Wingdings","canonical":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","robots":null},"og":{"title":"Unicode U+F8FF - aka. The Apple Logo Character, on Macs","description":"The Apple logo character U+F8FF only renders on Mac - on Windows it shows as boxes, Elvish, Tibetan, or embarrassingly as the Windows logo in Wingdings","url":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Unicode U+F8FF - aka. The Apple Logo Character, on Macs","description":"The Apple logo character U+F8FF only renders on Mac - on Windows it shows as boxes, Elvish, Tibetan, or embarrassingly as the Windows logo in Wingdings","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Unicode U+F8FF - aka. The Apple Logo Character, on Macs\",\"description\":\"The Apple logo character U+F8FF only renders on Mac - on Windows it shows as boxes, Elvish, Tibetan, or embarrassingly as the Windows logo in Wingdings\",\"url\":\"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs\",\"datePublished\":\"2011-10-08T07:31:40.000Z\",\"dateModified\":\"2011-10-08T07:31:40.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs\"}}"},"links":[{"url":"http://en.wikipedia.org/wiki/U%2BF8FF","text":"U+F8FF","isInternal":false,"status":200},{"url":"http://twitter.com/arrington","text":"Mike Arrington at","isInternal":false,"status":500},{"url":"http://uncrunched.com/","text":"Uncrunched","isInternal":false,"status":200},{"url":"http://uncrunched.com/2011/10/05/goodbye-steve/","text":"his blog in tribute to Jobs","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Unicode U+F8FF - aka. The Apple Logo Character, on Macs"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (72 chars, max 60)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Unicode U+F8FF - aka. The Apple Logo Character, on Macs | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (151 chars)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"The Apple logo character U+F8FF only renders on Mac - on Windows it shows as boxes, Elvish, Tibetan, or embarrassingly as the Windows logo in Wingdings"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Unicode U+F8FF - aka. The Apple Logo Character, on Macs"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"title: Unicode U+F8FF - aka. The Appl..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"8"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"6"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"word-count","status":"info","message":"Content could be longer: 384 words","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"384"},{"name":"keyword-stuffing","status":"warn","message":"2 word(s) may be overused","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"character","label":"\"character\" (3.6%)","meta":{"count":10,"density":3.6231884057971016}},{"id":"logo","label":"\"logo\" (3.3%)","meta":{"count":9,"density":3.260869565217391}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 13.3)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Flesch score: 45/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"25 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"8"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"6"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"http://en.wikipedia.org/wiki/U%2BF8FF"},{"id":"http://twitter.com/arrington"},{"id":"http://uncrunched.com/"},{"id":"http://uncrunched.com/2011/10/05/goodbye-steve/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"listitem","status":"pass","message":"5 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"linksChecked":4}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (150 nodes)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"150","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (361ms)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"361","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-length","status":"pass","message":"URL length is optimal (74 chars)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"the"},{"id":"on"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"9rk2eance911bu\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"1689","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","finalUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","hops":[{"url":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","statusCode":200,"loadTime":293,"meta":{"title":"Facebook Re-Enables Controversial Tracking Cookie | Nik Cubrilovic","description":"Facebook quietly re-enabled the datr tracking cookie on third-party sites after previously removing it, setting cookies on users who never visited Facebook","canonical":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","robots":null},"og":{"title":"Facebook Re-Enables Controversial Tracking Cookie","description":"Facebook quietly re-enabled the datr tracking cookie on third-party sites after previously removing it, setting cookies on users who never visited Facebook","url":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Facebook Re-Enables Controversial Tracking Cookie","description":"Facebook quietly re-enabled the datr tracking cookie on third-party sites after previously removing it, setting cookies on users who never visited Facebook","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Facebook Re-Enables Controversial Tracking Cookie\",\"description\":\"Facebook quietly re-enabled the datr tracking cookie on third-party sites after previously removing it, setting cookies on users who never visited Facebook\",\"url\":\"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie\",\"datePublished\":\"2011-10-03T18:21:30.000Z\",\"dateModified\":\"2011-10-03T18:21:30.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie\"}}"},"links":[{"url":"http://europe-v-facebook.org/","text":"EU vs Facebook","isInternal":false,"status":200},{"url":"http://nikcub.appspot.com/facebook-fixes-logout-issue-explains-cookies","text":"per Facebook","isInternal":false,"status":503},{"url":"http://nikcub.appspot.com/fb-table.html","text":"the table published","isInternal":false,"status":503},{"url":"http://nikcub.appspot.com/logging-out-of-facebook-is-not-enough","text":"Facebook logout issue","isInternal":false,"status":503},{"url":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html","text":"Wall Street Journal reported","isInternal":false,"status":401},{"url":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html","text":"WSJ article","isInternal":false,"status":401},{"url":"http://twitter.com/#!/jonathanmayer","text":"@jonathanmayer","isInternal":false,"status":500},{"url":"http://www.datatilsynet.no/upload/Dokumenter/utredninger%20av%20Datatilsynet/From%20Facebook%20-%20Norway-DPA.pdf","text":"Facebook's response","isInternal":false,"status":404},{"url":"http://www.seobythesea.com/2011/09/facebook-patent-application-target-ads","text":"Bill Slawski","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/ashk4n","text":"Ashkan","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.seobythesea.com/2011/09/facebook-patent-application-target-ads","text":"the patents","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Facebook Re-Enables Controversial Tracking Cookie"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (66 chars, max 60)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Facebook Re-Enables Controversial Tracking Cookie | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (155 chars)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Facebook quietly re-enabled the datr tracking cookie on third-party sites after previously removing it, setting cookies on users who never visited Facebook"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Facebook Re-Enables Controversial Tracking Cookie"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"title: Facebook Re-Enables Controvers..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"8"},{"name":"external-links","status":"pass","message":"13 external links","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"13"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"word-count","status":"pass","message":"Good content length: 1053 words","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"1053"},{"name":"keyword-stuffing","status":"warn","message":"2 word(s) may be overused","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"facebook","label":"\"facebook\" (3.9%)","meta":{"count":33,"density":3.896103896103896}},{"id":"cookie","label":"\"cookie\" (3.2%)","meta":{"count":27,"density":3.187721369539551}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.3)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Flesch score: 55/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"8"},{"name":"external-links","status":"pass","message":"13 external link(s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"13"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"https-downgrade","status":"warn","message":"9 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html"},{"id":"http://nikcub.appspot.com/logging-out-of-facebook-is-not-enough"},{"id":"http://nikcub.appspot.com/fb-table.html"},{"id":"http://nikcub.appspot.com/facebook-fixes-logout-issue-explains-cookies"},{"id":"http://europe-v-facebook.org"},{"id":"http://www.datatilsynet.no/upload/Dokumenter/utredninger%20av%20Datatilsynet/From%20Facebook%20-%20Norway-DPA.pdf"},{"id":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html"},{"id":"http://twitter.com/#!/jonathanmayer"},{"id":"http://www.seobythesea.com/2011/09/facebook-patent-application-target-ads"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"image-dimensions","status":"pass","message":"All 3 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"3"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"pass","message":"2 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding loading='lazy' for below-fold images"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"totalImages":3}},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"figure-figcaption","status":"pass","message":"All 2 figure(s) have captions","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"13 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"noreferrer","status":"pass","message":"13 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":12,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"headingsChecked":4}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"headingsChecked":4}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"linksChecked":11}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"\"facbeook datr cookie...\" duplicates figcaption"}]},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"warn","message":"2 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2Ffacebook-reenable01.webp&w=1920&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2Ffacebook-reenable02.webp&w=1920&q=75"}]},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (191 nodes)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"191","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (292ms)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"292","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-length","status":"pass","message":"URL length is optimal (73 chars)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"facebook-re-enables-controversial-tracking-cookie"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"tap-targets","status":"info","message":"25 interactive element(s) found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"pwo7h97nv61frr\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"1408","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","finalUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","hops":[{"url":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","statusCode":200,"loadTime":721,"meta":{"title":"How To Setup secure and private Facebook browsing | Nik Cubrilovic","description":"Step-by-step guide to securing your Facebook account with two-factor authentication, disabling tracking features, and setting up private browsing","canonical":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","robots":null},"og":{"title":"How To Setup secure and private Facebook browsing","description":"Step-by-step guide to securing your Facebook account with two-factor authentication, disabling tracking features, and setting up private browsing","url":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"How To Setup secure and private Facebook browsing","description":"Step-by-step guide to securing your Facebook account with two-factor authentication, disabling tracking features, and setting up private browsing","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"How To Setup secure and private Facebook browsing\",\"description\":\"Step-by-step guide to securing your Facebook account with two-factor authentication, disabling tracking features, and setting up private browsing\",\"url\":\"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing\",\"datePublished\":\"2011-10-02T07:20:31.000Z\",\"dateModified\":\"2011-10-02T07:20:31.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing\"}}"},"links":[{"url":"http://disconnect.me/","text":"Disconnect","isInternal":false,"status":200},{"url":"http://www.aboutcookies.org/Default.aspx?page=2","text":"how to delete cookies","isInternal":false,"status":200},{"url":"http://www.getfirefox.com/","text":"Firefox","isInternal":false,"status":200},{"url":"http://www.google.com/chrome","text":"Chrome","isInternal":false,"status":200},{"url":"http://www.microsoft.com/security/online-privacy/passwords-create.aspx","text":"choosing a strong password","isInternal":false,"status":404},{"url":"https://addons.mozilla.org/en-US/firefox/addon/adblock-plus/","text":"Firefox","isInternal":false,"status":200},{"url":"https://chrome.google.com/webstore/detail/gighmmpiobklfepjocnamgkkbiglidom","text":"Chrome","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.facebook.com/settings/?tab=applications","text":"Applications page","isInternal":false,"status":200},{"url":"https://www.facebook.com/settings/?tab=privacy","text":"Privacy Settings","isInternal":false,"status":200},{"url":"https://www.facebook.com/settings/?tab=privacy","text":"","isInternal":false,"status":200},{"url":"https://www.facebook.com/settings/?tab=privacy","text":"Privacy Settings","isInternal":false,"status":200},{"url":"https://www.facebook.com/settings?tab=security%C2%A7ion=browsing&t","text":"Security Settings","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["How To Setup secure and private Facebook browsing"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (66 chars, max 60)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"How To Setup secure and private Facebook browsing | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (145 chars)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Step-by-step guide to securing your Facebook account with two-factor authentication, disabling tracking features, and setting up private browsing"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"How To Setup secure and private Facebook browsing"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"title: How To Setup secure and privat..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"8"},{"name":"external-links","status":"pass","message":"14 external links","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"14"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"word-count","status":"pass","message":"Good content length: 688 words","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"688"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.2)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Flesch score: 52/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"8"},{"name":"external-links","status":"pass","message":"14 external link(s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"14"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"8"},{"name":"empty-anchor","status":"warn","message":"1 link(s) have empty anchor text","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"https://www.facebook.com/settings/?tab=privacy"}]},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"http://www.microsoft.com/security/online-privacy/passwords-create.aspx"},{"id":"http://www.google.com/chrome"},{"id":"http://www.getfirefox.com"},{"id":"http://disconnect.me"},{"id":"http://www.aboutcookies.org/Default.aspx?page=2"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"14 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"noreferrer","status":"pass","message":"14 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"headingsChecked":4}},{"name":"link-text-empty","status":"fail","message":"1 link(s) with no accessible text","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"https://www.facebook.com/settings/?tab=privacy","label":"empty"}],"details":{"reasons":["empty"]}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-command-name","status":"fail","message":"1 command element(s) without accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"a[href=\"https://www.facebook.com/setti...\"]"}]},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"headingsChecked":4}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"list-structure","status":"pass","message":"2 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"listitem","status":"pass","message":"9 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"linksChecked":14}},{"name":"identical-links-same-purpose","status":"warn","message":"2 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"\"chrome\" → 2 different URLs"},{"id":"\"firefox\" → 2 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (187 nodes)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"187","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (721ms)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"721","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"social-profiles","status":"pass","message":"2 social platform(s) linked","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"Facebook"},{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-length","status":"pass","message":"URL length is optimal (72 chars)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"howto-setup-secure-and-private-facebook-browsing"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"and"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"tap-targets","status":"info","message":"26 interactive element(s) found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"https://www.facebook.com/settings/?tab=privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"16d9k7mx0ao1av2\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"156179","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","finalUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","hops":[{"url":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","statusCode":200,"loadTime":279,"meta":{"title":"Facebook Fixes Logout Issue, Explains Cookies | Nik Cubrilovic","description":"Follow-up on Facebook's response to the logout cookie tracking issue, detailing the fixes they made and their explanation of how each cookie is used","canonical":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","robots":null},"og":{"title":"Facebook Fixes Logout Issue, Explains Cookies","description":"Follow-up on Facebook's response to the logout cookie tracking issue, detailing the fixes they made and their explanation of how each cookie is used","url":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Facebook Fixes Logout Issue, Explains Cookies","description":"Follow-up on Facebook's response to the logout cookie tracking issue, detailing the fixes they made and their explanation of how each cookie is used","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Facebook Fixes Logout Issue, Explains Cookies\",\"description\":\"Follow-up on Facebook's response to the logout cookie tracking issue, detailing the fixes they made and their explanation of how each cookie is used\",\"url\":\"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies\",\"datePublished\":\"2011-09-27T13:53:48.000Z\",\"dateModified\":\"2011-09-27T13:53:48.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies\"}}"},"links":[{"url":"http://ashkansoltani.org/","text":"Ashkan Soltani","isInternal":false,"status":200},{"url":"http://disconnect.me/","text":"disconnect","isInternal":false,"status":200},{"url":"http://en.wikipedia.org/wiki/Unix_time","text":"UNIX epoch","isInternal":false,"status":200},{"url":"http://twitter.com/byoogle","text":"Brian Kennish","isInternal":false,"status":500},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Facebook Fixes Logout Issue, Explains Cookies"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (62 chars, max 60)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Facebook Fixes Logout Issue, Explains Cookies | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (148 chars)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Follow-up on Facebook's response to the logout cookie tracking issue, detailing the fixes they made and their explanation of how each cookie is used"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Facebook Fixes Logout Issue, Explains Cookies"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"title: Facebook Fixes Logout Issue, E..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"11 internal links","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"11"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"6"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"word-count","status":"pass","message":"Good content length: 1229 words","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"1229"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.9)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Flesch score: 55/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"11 internal link(s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"11"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"6"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"11"},{"name":"generic-anchor","status":"info","message":"1 link(s) use generic anchor text","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"\"here\"","label":"\"here\""}]},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"http://en.wikipedia.org/wiki/Unix_time"},{"id":"http://ashkansoltani.org/"},{"id":"http://twitter.com/byoogle"},{"id":"http://disconnect.me/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"headingsChecked":5}},{"name":"link-text-generic","status":"warn","message":"2 link(s) with generic text","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"subscribe"},{"id":"here"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"headingsChecked":5}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"listitem","status":"pass","message":"4 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"linksChecked":7}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (191 nodes)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"191","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (279ms)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"279","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-length","status":"pass","message":"URL length is optimal (68 chars)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"facebook-fixes-logout-issue-explains-cookies"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"xa9mg23uxm1eyi\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"53983","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","finalUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","hops":[{"url":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","statusCode":200,"loadTime":652,"meta":{"title":"Persistent and Unblockable Cookies Using HTTP Headers | Nik Cubrilovic","description":"Using HTTP headers as unblockable super-cookies","canonical":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","robots":null},"og":{"title":"Persistent and Unblockable Cookies Using HTTP Headers","description":"Using HTTP headers as unblockable super-cookies","url":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Persistent and Unblockable Cookies Using HTTP Headers","description":"Using HTTP headers as unblockable super-cookies","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Persistent and Unblockable Cookies Using HTTP Headers\",\"description\":\"Using HTTP headers as unblockable super-cookies\",\"url\":\"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers\",\"datePublished\":\"2011-08-19T04:40:44+0000\",\"dateModified\":\"2011-08-19T04:40:44+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers\"}}"},"links":[{"url":"http://ashkansoltani.org/","text":"Ashkan Soltani","isInternal":false,"status":200},{"url":"http://ashkansoltani.org/docs/respawn_redux.html","text":"story","isInternal":false,"status":200},{"url":"http://ashkansoltani.org/docs/respawn_redux.html","text":"research piece","isInternal":false,"status":200},{"url":"http://blog.kissmetrics.com/official-kissmetrics-response-to-data-collection-practices/","text":"denied","isInternal":false,"status":200},{"url":"http://github.com/nikcub/parley","text":"Parley","isInternal":false,"status":200},{"url":"http://www.arctic.org/~dean/tracking-without-cookies.html","text":"last decade","isInternal":false,"status":200},{"url":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19","text":"spec","isInternal":false,"status":200},{"url":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25","text":"spec","isInternal":false,"status":200},{"url":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25","text":"spec","isInternal":false,"status":200},{"url":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29","text":"spec","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Persistent and Unblockable Cookies Using HTTP Headers"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (70 chars, max 60)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Persistent and Unblockable Cookies Using HTTP Headers | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (47 chars, min 120)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Using HTTP headers as unblockable super-cookies","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Persistent and Unblockable Cookies Using HTTP Headers"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"title: Persistent and Unblockable Coo..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"10 internal links","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"10"},{"name":"external-links","status":"pass","message":"12 external links","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"12"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"word-count","status":"pass","message":"Good content length: 733 words","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"733"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"broken-html","status":"info","message":"1 HTML issue(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"Deprecated <strike> element"}]},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.3)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Flesch score: 55/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"10 internal link(s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"10"},{"name":"external-links","status":"pass","message":"12 external link(s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"12"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"10"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"https-downgrade","status":"warn","message":"10 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"http://ashkansoltani.org/docs/respawn_redux.html"},{"id":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19"},{"id":"http://blog.kissmetrics.com/official-kissmetrics-response-to-data-collection-practices/"},{"id":"http://www.arctic.org/~dean/tracking-without-cookies.html"},{"id":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29"},{"id":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25"},{"id":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25"},{"id":"http://github.com/nikcub/parley"},{"id":"http://ashkansoltani.org/docs/respawn_redux.html"},{"id":"http://ashkansoltani.org/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"12 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"noreferrer","status":"pass","message":"12 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"headingsChecked":5}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"headingsChecked":5}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"linksChecked":12}},{"name":"identical-links-same-purpose","status":"warn","message":"1 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"\"spec\" → 3 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (170 nodes)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"170","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (652ms)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"652","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-length","status":"info","message":"URL is 77 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"and"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"tap-targets","status":"info","message":"26 interactive element(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"llybnbg4rt18ye\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"26213","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","finalUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","hops":[{"url":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","statusCode":200,"loadTime":841,"meta":{"title":"BlockPlus - A browser extension to block Google+ notifications | Nik Cubrilovic","description":"Releasing BlockPlus, a Chrome extension that removes Google+ links and notifications from the nav bar to prevent the constant distraction of the new social network","canonical":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","robots":null},"og":{"title":"BlockPlus - A browser extension to block Google+ notifications","description":"Releasing BlockPlus, a Chrome extension that removes Google+ links and notifications from the nav bar to prevent the constant distraction of the new social network","url":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"BlockPlus - A browser extension to block Google+ notifications","description":"Releasing BlockPlus, a Chrome extension that removes Google+ links and notifications from the nav bar to prevent the constant distraction of the new social network","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"BlockPlus - A browser extension to block Google+ notifications\",\"description\":\"Releasing BlockPlus, a Chrome extension that removes Google+ links and notifications from the nav bar to prevent the constant distraction of the new social network\",\"url\":\"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications\",\"datePublished\":\"2011-07-06T21:06:08+0000\",\"dateModified\":\"2011-07-06T21:06:08+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications\"}}"},"links":[{"url":"http://bitbucket.org/nik/blockplus","text":"BlockPlus","isInternal":false,"status":404},{"url":"http://nikcub.appspot.com/static/blockplus-2.crx","text":"clicking here","isInternal":false,"status":503},{"url":"http://plus.google.com/","text":"Google+","isInternal":false,"status":200},{"url":"http://twitter.com/#!/sacca/status/88653313096163329","text":"a tweet from Sacca","isInternal":false,"status":500},{"url":"https://bitbucket.org/nik/blockplus/issues","text":"submit a ticket","isInternal":false,"status":404},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://plus.google.com/105854725972317368943","text":"signed up","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["BlockPlus - A browser extension to block Google+ notifications"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (79 chars, max 60)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"BlockPlus - A browser extension to block Google+ notifications | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too long (163 chars, max 160)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Releasing BlockPlus, a Chrome extension that removes Google+ links and notifications from the nav bar to prevent the constant distraction of the new social network","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"BlockPlus - A browser extension to block Google+ notifications"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"title: BlockPlus - A browser extensio..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"external-links","status":"pass","message":"8 external links","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"word-count","status":"warn","message":"Thin content: 289 words (min 300)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"289","expected":"300"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"google","label":"\"google\" (3.9%)","meta":{"count":9,"density":3.9301310043668125}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.8)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Flesch score: 51/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"external-links","status":"pass","message":"8 external link(s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"http://plus.google.com"},{"id":"http://twitter.com/#!/sacca/status/88653313096163329"},{"id":"http://bitbucket.org/nik/blockplus"},{"id":"http://nikcub.appspot.com/static/blockplus-2.crx"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"image-dimensions","status":"warn","message":"2 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"2"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"3 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"totalImages":3}},{"name":"modern-image-formats","status":"pass","message":"2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"filename-quality","status":"info","message":"2 image(s) with non-descriptive filenames","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"5909374213_cbae62eb55_m.webp"},{"id":"5909661385_79445883de_b.webp"}]},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"figure-usage","status":"info","message":"3 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"8 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"noreferrer","status":"pass","message":"8 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"buttonsChecked":2}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"headingsChecked":2}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"buttonsChecked":2}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"headingsChecked":2}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"linksChecked":6}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"imagesChecked":3}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"warn","message":"2 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"/images/posts/5909374213_cbae62eb55_m.webp"},{"id":"/images/posts/5909661385_79445883de_b.webp"}]},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (140 nodes)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"140","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (53)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"53"},{"name":"ttfb","status":"warn","message":"Slow server response (841ms)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"841","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":7}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-length","status":"info","message":"URL is 83 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"a"},{"id":"to"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"wpkk3qcatl1120\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"1436","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","finalUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","hops":[{"url":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","statusCode":200,"loadTime":661,"meta":{"title":"Logging out of Facebook is not enough | Nik Cubrilovic","description":"When it comes to losing track of Facebook online and preserving your digital privacy - being logged out is far from enough. We find some privacy issues with Facebook and report them.","canonical":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","robots":null},"og":{"title":"Logging out of Facebook is not enough","description":"When it comes to losing track of Facebook online and preserving your digital privacy - being logged out is far from enough. We find some privacy issues with Facebook and report them.","url":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Logging out of Facebook is not enough","description":"When it comes to losing track of Facebook online and preserving your digital privacy - being logged out is far from enough. We find some privacy issues with Facebook and report them.","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Logging out of Facebook is not enough\",\"description\":\"When it comes to losing track of Facebook online and preserving your digital privacy - being logged out is far from enough. We find some privacy issues with Facebook and report them.\",\"url\":\"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough\",\"datePublished\":\"2011-09-25T08:09:52+0000\",\"dateModified\":\"2011-09-25T08:09:52+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough\"}}"},"links":[{"url":"http://scripting.com/stories/2011/09/24/facebookIsScaringMe.html","text":"Facebook is scaring him","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Logging out of Facebook is not enough"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (54 chars)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Logging out of Facebook is not enough | Nik Cubrilovic"},{"name":"meta-description","status":"warn","message":"Description too long (182 chars, max 160)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"When it comes to losing track of Facebook online and preserving your digital privacy - being logged out is far from enough. We find some privacy issues with Facebook and report them.","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Logging out of Facebook is not enough"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"title: Logging out of Facebook is not..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"10 internal links","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"10"},{"name":"external-links","status":"pass","message":"3 external links","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"3"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"word-count","status":"pass","message":"Good content length: 1504 words","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"1504"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"facebook","label":"\"facebook\" (4.2%)","meta":{"count":52,"density":4.170008019246191}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9.2)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Flesch score: 59/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"10 internal link(s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"10"},{"name":"external-links","status":"pass","message":"3 external link(s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"3"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"10"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"https-downgrade","status":"warn","message":"1 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"http://scripting.com/stories/2011/09/24/facebookIsScaringMe.html"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"figure-figcaption","status":"info","message":"3/3 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Add descriptive captions to figures"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"3 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"noreferrer","status":"pass","message":"3 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"headingsChecked":5}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"headingsChecked":5}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"linksChecked":3}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (246 nodes)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"246","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (659ms)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"659","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 2ms","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"2"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-length","status":"pass","message":"URL length is optimal (61 chars)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"logging-out-of-facebook-is-not-enough"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"of"},{"id":"is"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"tap-targets","status":"info","message":"17 interactive element(s) found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"mxocow1ocm1l5s\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"24384","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","finalUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","hops":[{"url":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/pain-and-gain","statusCode":200,"loadTime":693,"meta":{"title":"Pain and Gain | Nik Cubrilovic","description":"The true story of Miami bodybuilders turned amateur criminals using torture as a motivational tool, later adapted into a Michael Bay film","canonical":"https://nikcub.me/posts/pain-and-gain","robots":null},"og":{"title":"Pain and Gain","description":"The true story of Miami bodybuilders turned amateur criminals using torture as a motivational tool, later adapted into a Michael Bay film","url":"https://nikcub.me/posts/pain-and-gain","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Pain and Gain","description":"The true story of Miami bodybuilders turned amateur criminals using torture as a motivational tool, later adapted into a Michael Bay film","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Pain and Gain\",\"description\":\"The true story of Miami bodybuilders turned amateur criminals using torture as a motivational tool, later adapted into a Michael Bay film\",\"url\":\"https://nikcub.me/posts/pain-and-gain\",\"datePublished\":\"2010-12-21T08:35:00.000Z\",\"dateModified\":\"2010-12-21T08:35:00.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/pain-and-gain\"}}"},"links":[{"url":"http://en.wikipedia.org/wiki/Michael_Bay#Current_projects","text":"Michael Bay","isInternal":false,"status":200},{"url":"http://www.miaminewtimes.com/content/printVersion/240700/","text":"Pain & Gain Part 1","isInternal":false,"status":404},{"url":"http://www.miaminewtimes.com/content/printVersion/240723/","text":"Pain & Gain Part 2","isInternal":false,"status":404},{"url":"http://www.miaminewtimes.com/content/printVersion/240747/","text":"Pain & Gain Part 3","isInternal":false,"status":404},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Pain and Gain"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/pain-and-gain","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (30 chars)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Pain and Gain | Nik Cubrilovic"},{"name":"meta-description","status":"pass","message":"Description length OK (137 chars)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"The true story of Miami bodybuilders turned amateur criminals using torture as a motivational tool, later adapted into a Michael Bay film"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"https://nikcub.me/posts/pain-and-gain"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/pain-and-gain","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Pain and Gain"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"title: Pain and Gain..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"8"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"6"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"word-count","status":"info","message":"Content could be longer: 326 words","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"326"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"story","label":"\"story\" (3.6%)","meta":{"count":9,"density":3.643724696356275}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 13.3)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Flesch score: 47/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"26 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"8"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"6"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"http://en.wikipedia.org/wiki/Michael_Bay#Current_projects"},{"id":"http://www.miaminewtimes.com/content/printVersion/240700/"},{"id":"http://www.miaminewtimes.com/content/printVersion/240723/"},{"id":"http://www.miaminewtimes.com/content/printVersion/240747/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"listitem","status":"pass","message":"3 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"linksChecked":4}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (137 nodes)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"137","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (693ms)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"693","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-length","status":"pass","message":"URL length is optimal (37 chars)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"pain-and-gain"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"and"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/pain-and-gain"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"buuw6pf40z8o\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"119871","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/pain-and-gain","finalUrl":"https://nikcub.me/posts/pain-and-gain","hops":[{"url":"https://nikcub.me/posts/pain-and-gain","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/numeronym","statusCode":200,"loadTime":606,"meta":{"title":"Numeronym | Nik Cubrilovic","description":"What i18n and l10n have in common with a16z - the history and rising popularity of numeronyms where letters between first and last are replaced with a count","canonical":"https://nikcub.me/posts/numeronym","robots":null},"og":{"title":"Numeronym","description":"What i18n and l10n have in common with a16z - the history and rising popularity of numeronyms where letters between first and last are replaced with a count","url":"https://nikcub.me/posts/numeronym","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Numeronym","description":"What i18n and l10n have in common with a16z - the history and rising popularity of numeronyms where letters between first and last are replaced with a count","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Numeronym\",\"description\":\"What i18n and l10n have in common with a16z - the history and rising popularity of numeronyms where letters between first and last are replaced with a count\",\"url\":\"https://nikcub.me/posts/numeronym\",\"datePublished\":\"2011-04-07T08:46:21+0000\",\"dateModified\":\"2011-04-07T08:46:21+0000\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/numeronym\"}}"},"links":[{"url":"http://en.wikipedia.org/wiki/Numeronym","text":"Numeronym.","isInternal":false,"status":200},{"url":"http://www.a16z.com/","text":"a16z.com","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Numeronym"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/numeronym","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/numeronym","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too short (26 chars, min 30)","pageUrl":"https://nikcub.me/posts/numeronym","value":"Numeronym | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/numeronym","value":"What i18n and l10n have in common with a16z - the history and rising popularity of numeronyms where letters between first and last are replaced with a count"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/numeronym","value":"https://nikcub.me/posts/numeronym"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/numeronym","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/numeronym","value":"Numeronym"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/numeronym","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/numeronym","value":"title: Numeronym..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/numeronym","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/numeronym","value":"8"},{"name":"external-links","status":"pass","message":"4 external links","pageUrl":"https://nikcub.me/posts/numeronym","value":"4"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"word-count","status":"warn","message":"Thin content: 220 words (min 300)","pageUrl":"https://nikcub.me/posts/numeronym","value":"220","expected":"300"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 11.5)","pageUrl":"https://nikcub.me/posts/numeronym","value":"Flesch score: 41/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/numeronym","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/numeronym","value":"8"},{"name":"external-links","status":"pass","message":"4 external link(s)","pageUrl":"https://nikcub.me/posts/numeronym","value":"4"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/numeronym","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"https-downgrade","status":"warn","message":"2 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"http://en.wikipedia.org/wiki/Numeronym"},{"id":"http://www.a16z.com"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/numeronym","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/numeronym","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/numeronym","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/numeronym","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/numeronym","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"4 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"noreferrer","status":"pass","message":"4 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/numeronym","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/numeronym","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/numeronym","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/numeronym","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/numeronym","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/numeronym","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/numeronym","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/numeronym","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/numeronym","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/numeronym","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/numeronym","details":{"linksChecked":2}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/numeronym","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/numeronym","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/numeronym","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/numeronym","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/numeronym","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (131 nodes)","pageUrl":"https://nikcub.me/posts/numeronym","value":"131","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/numeronym","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/numeronym","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (606ms)","pageUrl":"https://nikcub.me/posts/numeronym","value":"606","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/numeronym","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/numeronym","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/numeronym","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/numeronym","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/numeronym","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/numeronym","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/numeronym","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/numeronym","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-length","status":"pass","message":"URL length is optimal (33 chars)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/numeronym","value":"numeronym"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/numeronym","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"tap-targets","status":"info","message":"16 interactive element(s) found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/numeronym","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/numeronym"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"2mm0uur5qux51\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"2619","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/numeronym","finalUrl":"https://nikcub.me/posts/numeronym","hops":[{"url":"https://nikcub.me/posts/numeronym","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/finding-a-technical-co-founder","statusCode":200,"loadTime":628,"meta":{"title":"Finding a Technical Co-Founder | Nik Cubrilovic","description":"Advice on finding a technical co-founder including where to network, how to prepare your startup materials, and evaluating technical capabilities","canonical":"https://nikcub.me/posts/finding-a-technical-co-founder","robots":null},"og":{"title":"Finding a Technical Co-Founder","description":"Advice on finding a technical co-founder including where to network, how to prepare your startup materials, and evaluating technical capabilities","url":"https://nikcub.me/posts/finding-a-technical-co-founder","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Finding a Technical Co-Founder","description":"Advice on finding a technical co-founder including where to network, how to prepare your startup materials, and evaluating technical capabilities","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Finding a Technical Co-Founder\",\"description\":\"Advice on finding a technical co-founder including where to network, how to prepare your startup materials, and evaluating technical capabilities\",\"url\":\"https://nikcub.me/posts/finding-a-technical-co-founder\",\"datePublished\":\"2010-11-05T12:51:34.000Z\",\"dateModified\":\"2010-11-05T12:51:34.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/finding-a-technical-co-founder\"}}"},"links":[{"url":"http://99designs.com/","text":"99designs","isInternal":false,"status":200},{"url":"http://discuss.joelonsoftware.com/?biz","text":"Business of Software","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://evernote.com/","text":"Evernote","isInternal":false,"status":200},{"url":"http://mixergy.com/free-apps-interview/","text":"conducted an excellent interview","isInternal":false,"status":200},{"url":"http://news.ycombinator.com/","text":"Hacker News","isInternal":false,"status":200},{"url":"http://nikcub.appspot.com/guide-to-finding-a-good-and-safe-company-or-product-name","text":"See my recent post here about naming a product or company","isInternal":false,"status":503},{"url":"http://www.elance.com/","text":"Elance","isInternal":false,"status":200},{"url":"http://www.freenode.net/","text":"IRC","isInternal":false,"status":200},{"url":"http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=site:news.ycombinator.com+technical+AND+co-founder+OR+cofounder","text":"a very frequent topic","isInternal":false,"status":200},{"url":"http://www.guru.com/","text":"Guru","isInternal":false,"status":200},{"url":"http://www.odesk.com/","text":"Odesk","isInternal":false,"status":200},{"url":"http://www.quora.com/","text":"Quora","isInternal":false,"status":403},{"url":"http://www.reddit.com/","text":"Reddit","isInternal":false,"status":200},{"url":"http://www.rentacoder.com/","text":"Rent-a-coder","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://www.sitepoint.com/forums/","text":"SitePoint Forums","isInternal":false,"status":200},{"url":"http://www.slashdot.org/","text":"Slashdot","isInternal":false,"status":200},{"url":"http://www.stackoverflow.com/","text":"Stack Overflow","isInternal":false,"status":200},{"url":"http://www.twitter.com/","text":"Twitter","isInternal":false,"status":200},{"url":"http://www.webmasterworld.com/","text":"Webmasterworld","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Finding a Technical Co-Founder"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (47 chars)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Finding a Technical Co-Founder | Nik Cubrilovic"},{"name":"meta-description","status":"pass","message":"Description length OK (145 chars)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Advice on finding a technical co-founder including where to network, how to prepare your startup materials, and evaluating technical capabilities"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Finding a Technical Co-Founder"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"title: Finding a Technical Co-Founder..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"8"},{"name":"external-links","status":"pass","message":"21 external links","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"21"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"word-count","status":"pass","message":"Good content length: 2271 words","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"2271"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.6)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Flesch score: 53/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"8"},{"name":"external-links","status":"pass","message":"21 external link(s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"21"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"https-downgrade","status":"warn","message":"19 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=site:news.ycombinator.com+technical+AND+co-founder+OR+cofounder"},{"id":"http://news.ycombinator.com"},{"id":"http://www.reddit.com"},{"id":"http://www.slashdot.org"},{"id":"http://www.stackoverflow.com"},{"id":"http://www.quora.com"},{"id":"http://www.webmasterworld.com"},{"id":"http://www.sitepoint.com/forums/"},{"id":"http://discuss.joelonsoftware.com/?biz"},{"id":"http://www.twitter.com"},{"id":"http://www.freenode.net"},{"id":"http://evernote.com"},{"id":"http://nikcub.appspot.com/guide-to-finding-a-good-and-safe-company-or-product-name"},{"id":"http://99designs.com"},{"id":"http://mixergy.com/free-apps-interview/"},{"id":"http://www.elance.com"},{"id":"http://www.odesk.com"},{"id":"http://www.rentacoder.com"},{"id":"http://www.guru.com"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"21 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"noreferrer","status":"pass","message":"21 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"headingsChecked":7}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"headingsChecked":7}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"list-structure","status":"pass","message":"3 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"listitem","status":"pass","message":"21 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"linksChecked":19}},{"name":"identical-links-same-purpose","status":"warn","message":"1 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"\"twitter\" → 2 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (203 nodes)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"203","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (628ms)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"628","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-length","status":"pass","message":"URL length is optimal (54 chars)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"finding-a-technical-co-founder"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"a"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"tap-targets","status":"info","message":"33 interactive element(s) found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"f0bjpfn91f1s7j\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"17627","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","finalUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","hops":[{"url":"https://nikcub.me/posts/finding-a-technical-co-founder","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","statusCode":200,"loadTime":633,"meta":{"title":"Guide to Finding a Good and Safe Company or Product Name | Nik Cubrilovic","description":"A comprehensive guide to selecting a business or product name, covering domain availability, trademark safety, SEO considerations, and social media presence","canonical":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","robots":null},"og":{"title":"Guide to Finding a Good and Safe Company or Product Name","description":"A comprehensive guide to selecting a business or product name, covering domain availability, trademark safety, SEO considerations, and social media presence","url":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Guide to Finding a Good and Safe Company or Product Name","description":"A comprehensive guide to selecting a business or product name, covering domain availability, trademark safety, SEO considerations, and social media presence","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Guide to Finding a Good and Safe Company or Product Name\",\"description\":\"A comprehensive guide to selecting a business or product name, covering domain availability, trademark safety, SEO considerations, and social media presence\",\"url\":\"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name\",\"datePublished\":\"2010-11-04T14:07:06.000Z\",\"dateModified\":\"2010-11-04T14:07:06.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name\"}}"},"links":[{"url":"http://archive.org/","text":"archive.org","isInternal":false,"status":200},{"url":"http://hosts-file.net/","text":"hosts-file.net","isInternal":false,"error":"timeout"},{"url":"http://instantdomainsearch.com/","text":"InstantDomainSearch","isInternal":false,"status":200},{"url":"http://instantdomainsearch.com/","text":"Instant Domain Search","isInternal":false,"status":200},{"url":"http://joker.com/","text":"Joker","isInternal":false,"status":200},{"url":"http://knowem.com/","text":"Knowem","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://markmonitor.com/","text":"MarkMonitor","isInternal":false,"status":200},{"url":"http://nameboy.com/","text":"NameBoy","isInternal":false,"status":200},{"url":"http://nameboy.com/","text":"NameBoy","isInternal":false,"status":200},{"url":"http://namechk.com/","text":"Namechk","isInternal":false,"status":200},{"url":"http://tess2.uspto.gov/","text":"Tess","isInternal":false,"status":200},{"url":"http://thesaurus.com/","text":"Thesaurus.com","isInternal":false,"status":200},{"url":"http://thesaurus.com/","text":"Thesaurus.com","isInternal":false,"status":200},{"url":"http://vebtools.com/","text":"Vebtools.com","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://vebtools.com/","text":"VebTools","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://vebtools.com/google-banned-checker/","text":"Google Blacklist Checker","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"http://www.company-name-generator.com/","text":"Name Generator","isInternal":false,"status":200},{"url":"http://www.company-name-generator.com/","text":"Name Generator","isInternal":false,"status":200},{"url":"http://www.domaintools.com/","text":"Domaintools","isInternal":false,"status":200},{"url":"http://www.dotomator.com/web20.html","text":"web 2.0 name generator","isInternal":false,"status":200},{"url":"http://www.dotomator.com/web20.html","text":"web 2.0 name generator","isInternal":false,"status":200},{"url":"http://www.easydns.com/","text":"EasyDNS","isInternal":false,"status":200},{"url":"http://www.eurodns.com/domain-name-search/","text":"EuroDNS search","isInternal":false,"status":200},{"url":"http://www.eurodns.com/domain-name-search/","text":"EuroDNS search","isInternal":false,"status":200},{"url":"http://www.namejet.com/","text":"NameJet","isInternal":false,"status":403},{"url":"http://www.nxdom.com/","text":"Nxdom","isInternal":false,"status":404},{"url":"http://www.phishtank.com/","text":"PhishTank","isInternal":false,"status":200},{"url":"http://www.siteadvisor.com/","text":"McAfee SiteAdvisor","isInternal":false,"error":"timeout"},{"url":"http://www.usernamecheck.com/","text":"Usernamecheck","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://safeweb.norton.com/","text":"Norton Safeweb","isInternal":false,"status":200},{"url":"https://sedo.com/","text":"Sedo","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://www.moniker.com/domainname.jsp","text":"Moniker","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Guide to Finding a Good and Safe Company or Product Name"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (73 chars, max 60)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Guide to Finding a Good and Safe Company or Product Name | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"A comprehensive guide to selecting a business or product name, covering domain availability, trademark safety, SEO considerations, and social media presence"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Guide to Finding a Good and Safe Company or Product Name"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"title: Guide to Finding a Good and Sa..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"8"},{"name":"external-links","status":"pass","message":"34 external links","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"34"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"word-count","status":"pass","message":"Good content length: 1693 words","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"1693"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"domain","label":"\"domain\" (3.5%)","meta":{"count":46,"density":3.50076103500761}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 8.2)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Flesch score: 65/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"8"},{"name":"external-links","status":"pass","message":"34 external link(s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"34"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"https-downgrade","status":"warn","message":"29 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"http://thesaurus.com"},{"id":"http://nameboy.com"},{"id":"http://www.company-name-generator.com/"},{"id":"http://www.dotomator.com/web20.html"},{"id":"http://markmonitor.com/"},{"id":"http://knowem.com/"},{"id":"http://namechk.com/"},{"id":"http://www.usernamecheck.com/"},{"id":"http://instantdomainsearch.com/"},{"id":"http://www.eurodns.com/domain-name-search/"},{"id":"http://joker.com/"},{"id":"http://www.easydns.com/"},{"id":"http://vebtools.com/google-banned-checker/"},{"id":"http://vebtools.com/"},{"id":"http://archive.org"},{"id":"http://www.siteadvisor.com"},{"id":"http://hosts-file.net/"},{"id":"http://www.phishtank.com/"},{"id":"http://tess2.uspto.gov/"},{"id":"http://www.eurodns.com/domain-name-search/"},{"id":"http://instantdomainsearch.com"},{"id":"http://www.nxdom.com/"},{"id":"http://nameboy.com"},{"id":"http://thesaurus.com"},{"id":"http://www.domaintools.com"},{"id":"http://www.namejet.com/"},{"id":"http://www.company-name-generator.com/"},{"id":"http://www.dotomator.com/web20.html"},{"id":"http://vebtools.com/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"34 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"noreferrer","status":"pass","message":"34 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"headingsChecked":9}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"headingsChecked":9}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"list-structure","status":"pass","message":"7 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"listitem","status":"pass","message":"33 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"linksChecked":32}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (247 nodes)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"247","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (631ms)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"631","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 2ms","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"2"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-length","status":"info","message":"URL is 80 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-stop-words","status":"info","message":"URL contains 4 stop words","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"to"},{"id":"a"},{"id":"and"},{"id":"or"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"tap-targets","status":"info","message":"46 interactive element(s) found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"vgpv2s5vzn1vhr\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"1389","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","finalUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","hops":[{"url":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/the-google-ipo-skeptics","statusCode":200,"loadTime":311,"meta":{"title":"The Google IPO Skeptics | Nik Cubrilovic","description":"A look back at the skepticism that surrounded the Google IPO in 2004, when tech industry experts warned investors away from buying shares","canonical":"https://nikcub.me/posts/the-google-ipo-skeptics","robots":null},"og":{"title":"The Google IPO Skeptics","description":"A look back at the skepticism that surrounded the Google IPO in 2004, when tech industry experts warned investors away from buying shares","url":"https://nikcub.me/posts/the-google-ipo-skeptics","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"The Google IPO Skeptics","description":"A look back at the skepticism that surrounded the Google IPO in 2004, when tech industry experts warned investors away from buying shares","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"The Google IPO Skeptics\",\"description\":\"A look back at the skepticism that surrounded the Google IPO in 2004, when tech industry experts warned investors away from buying shares\",\"url\":\"https://nikcub.me/posts/the-google-ipo-skeptics\",\"datePublished\":\"2010-11-03T03:49:50.000Z\",\"dateModified\":\"2010-11-03T03:49:50.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/the-google-ipo-skeptics\"}}"},"links":[{"url":"http://37signals.com/svn/posts/2585-facebook-is-not-worth-33000000000","text":"met","isInternal":false,"status":200},{"url":"http://crastinate.com/2008/07/07/dont-believe-the-twitter-hype/","text":"with","isInternal":false,"status":404},{"url":"http://crunchbase.com/company/facebook","text":"Facebook","isInternal":false,"status":403},{"url":"http://venturebeat.com/2009/10/14/ea-exec-says-social-gaming-bubble-resembles-mobile-games-hype/","text":"skepticism","isInternal":false,"status":429},{"url":"http://www.crunchbase.com/company/twitter","text":"Twitter","isInternal":false,"status":403},{"url":"http://www.crunchbase.com/company/zynga","text":"Zynga","isInternal":false,"status":403},{"url":"http://www.nytimes.com/2004/08/06/business/technology-loving-google-but-not-its-public-offering.html","text":"“Loving Google but not its public offering”","isInternal":false,"status":403},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["The Google IPO Skeptics"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (40 chars)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"The Google IPO Skeptics | Nik Cubrilovic"},{"name":"meta-description","status":"pass","message":"Description length OK (137 chars)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"A look back at the skepticism that surrounded the Google IPO in 2004, when tech industry experts warned investors away from buying shares"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"The Google IPO Skeptics"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"title: The Google IPO Skeptics..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"8"},{"name":"external-links","status":"pass","message":"9 external links","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"9"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"word-count","status":"info","message":"Content could be longer: 462 words","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"462"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"google","label":"\"google\" (3.3%)","meta":{"count":12,"density":3.296703296703297}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 11.7)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Flesch score: 48/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"8"},{"name":"external-links","status":"pass","message":"9 external link(s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"9"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"http://www.nytimes.com/2004/08/06/business/technology-loving-google-but-not-its-public-offering.html"},{"id":"http://37signals.com/svn/posts/2585-facebook-is-not-worth-33000000000"},{"id":"http://crastinate.com/2008/07/07/dont-believe-the-twitter-hype/"},{"id":"http://venturebeat.com/2009/10/14/ea-exec-says-social-gaming-bubble-resembles-mobile-games-hype/"},{"id":"http://crunchbase.com/company/facebook"},{"id":"http://www.crunchbase.com/company/twitter"},{"id":"http://www.crunchbase.com/company/zynga"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"headingsChecked":1}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"linksChecked":7}},{"name":"identical-links-same-purpose","status":"warn","message":"1 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"\"twitter\" → 2 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (146 nodes)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"146","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (310ms)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"310","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-length","status":"pass","message":"URL length is optimal (47 chars)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"the-google-ipo-skeptics"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"the"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"10ykrgrbkbr131w\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"78143","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","finalUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","hops":[{"url":"https://nikcub.me/posts/the-google-ipo-skeptics","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/relevance-time-for-twitter","statusCode":200,"loadTime":301,"meta":{"title":"Relevance Time for Twitter | Nik Cubrilovic","description":"Why chronological ordering in Twitter is baggage from old computer systems and why relevance-based sorting using user gestures is inevitable","canonical":"https://nikcub.me/posts/relevance-time-for-twitter","robots":null},"og":{"title":"Relevance Time for Twitter","description":"Why chronological ordering in Twitter is baggage from old computer systems and why relevance-based sorting using user gestures is inevitable","url":"https://nikcub.me/posts/relevance-time-for-twitter","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Relevance Time for Twitter","description":"Why chronological ordering in Twitter is baggage from old computer systems and why relevance-based sorting using user gestures is inevitable","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Relevance Time for Twitter\",\"description\":\"Why chronological ordering in Twitter is baggage from old computer systems and why relevance-based sorting using user gestures is inevitable\",\"url\":\"https://nikcub.me/posts/relevance-time-for-twitter\",\"datePublished\":\"2010-10-29T13:57:31.000Z\",\"dateModified\":\"2010-10-29T13:57:31.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/relevance-time-for-twitter\"}}"},"links":[{"url":"http://beta.gawker.com/","text":"Gawker beta","isInternal":false,"status":404},{"url":"http://techcrunch.com/2009/10/12/relevance-over-time/","text":"Relevance over Time","isInternal":false,"status":200},{"url":"http://www.avc.com/a_vc/2010/10/the-impact-of-priority-inbox.html","text":"Fred Wilson points out","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Relevance Time for Twitter"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (43 chars)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Relevance Time for Twitter | Nik Cubrilovic"},{"name":"meta-description","status":"pass","message":"Description length OK (140 chars)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Why chronological ordering in Twitter is baggage from old computer systems and why relevance-based sorting using user gestures is inevitable"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Relevance Time for Twitter"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"title: Relevance Time for Twitter..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"8"},{"name":"external-links","status":"pass","message":"5 external links","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"5"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"word-count","status":"pass","message":"Good content length: 1000 words","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"1000"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.9)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Flesch score: 46/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"8"},{"name":"external-links","status":"pass","message":"5 external link(s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"5"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"https-downgrade","status":"warn","message":"3 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"http://techcrunch.com/2009/10/12/relevance-over-time/"},{"id":"http://www.avc.com/a_vc/2010/10/the-impact-of-priority-inbox.html"},{"id":"http://beta.gawker.com"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"5 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"noreferrer","status":"pass","message":"5 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"headingsChecked":2}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"headingsChecked":2}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"listitem","status":"pass","message":"1 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"idsChecked":2}},{"name":"a11y/duplicate-id-aria-error","status":"fail","message":"Rule error: CSS is not defined","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"linksChecked":6}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"label-content-name-mismatch","status":"fail","message":"1 element(s) where visible text doesn't match accessible name","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"a: visible=\"↩\" vs aria-label=\"back to reference 1\""}],"details":{"issue":"Voice control users may not be able to activate these controls"}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (149 nodes)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"149","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (300ms)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"300","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-length","status":"pass","message":"URL length is optimal (50 chars)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"relevance-time-for-twitter"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"for"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"tap-targets","status":"info","message":"19 interactive element(s) found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"q24e7f4nam17du\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"1354","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/relevance-time-for-twitter","finalUrl":"https://nikcub.me/posts/relevance-time-for-twitter","hops":[{"url":"https://nikcub.me/posts/relevance-time-for-twitter","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","statusCode":200,"loadTime":635,"meta":{"title":"Fidelio - A browser plugin for secure web browsing | Nik Cubrilovic","description":"Releasing Fidelio, a Chrome plugin that defends against Firesheep by forcing HTTPS, rewriting embedded widgets, and setting secure flags on existing cookies","canonical":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","robots":null},"og":{"title":"Fidelio - A browser plugin for secure web browsing","description":"Releasing Fidelio, a Chrome plugin that defends against Firesheep by forcing HTTPS, rewriting embedded widgets, and setting secure flags on existing cookies","url":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","type":"article","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Fidelio - A browser plugin for secure web browsing","description":"Releasing Fidelio, a Chrome plugin that defends against Firesheep by forcing HTTPS, rewriting embedded widgets, and setting secure flags on existing cookies","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person","Article"],"valid":false,"errors":["Validation: Article.publisher.logo is required"],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Fidelio - A browser plugin for secure web browsing\",\"description\":\"Releasing Fidelio, a Chrome plugin that defends against Firesheep by forcing HTTPS, rewriting embedded widgets, and setting secure flags on existing cookies\",\"url\":\"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing\",\"datePublished\":\"2010-10-27T09:20:57.000Z\",\"dateModified\":\"2010-10-27T09:20:57.000Z\",\"image\":\"https://nikcub.me/og-default.png\",\"author\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\"},\"publisher\":{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\"},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing\"}}"},"links":[{"url":"http://github.com/nikcub/fidelio","text":"Fidelio","isInternal":false,"status":200},{"url":"https://addons.mozilla.org/en-US/firefox/addon/12714/","text":"Force-TLS","isInternal":false,"status":404},{"url":"https://github.com/codebutler/firesheep","text":"Firesheep","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/nikcub/fidelio","text":"available on GitHub","isInternal":false,"status":200},{"url":"https://github.com/nikcub/fidelio/issues","text":"logged on GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Fidelio - A browser plugin for secure web browsing"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too long (67 chars, max 60)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Fidelio - A browser plugin for secure web browsing | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Releasing Fidelio, a Chrome plugin that defends against Firesheep by forcing HTTPS, rewriting embedded widgets, and setting secure flags on existing cookies"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Fidelio - A browser plugin for secure web browsing"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"title: Fidelio - A browser plugin for..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"internal-links","status":"pass","message":"9 internal links","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"9"},{"name":"external-links","status":"pass","message":"7 external links","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"7"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"word-count","status":"pass","message":"Good content length: 719 words","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"719"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.3)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Flesch score: 56/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"9 internal link(s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"9"},{"name":"external-links","status":"pass","message":"7 external link(s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"7"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"9"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"https-downgrade","status":"warn","message":"1 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"http://github.com/nikcub/fidelio"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","skipReason":"Page has no picture elements"},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"7 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"noreferrer","status":"pass","message":"7 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"headingsChecked":3}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"headingsChecked":3}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"listitem","status":"pass","message":"4 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"linksChecked":6}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (153 nodes)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"153","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (634ms)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"634","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-length","status":"pass","message":"URL length is optimal (72 chars)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"a"},{"id":"for"}]},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"tap-targets","status":"info","message":"20 interactive element(s) found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"289tr7zegi15gi\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"37325","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","finalUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","hops":[{"url":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/contact","statusCode":200,"loadTime":592,"meta":{"title":"Contact | Nik Cubrilovic","description":"Get in touch with Nik Cubrilovic for collaboration or media inquiries.","canonical":"https://nikcub.me/contact","robots":null},"og":{"title":"Contact","description":"Get in touch with Nik Cubrilovic for collaboration or media inquiries.","url":"https://nikcub.me/contact","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Contact","description":"Get in touch with Nik Cubrilovic for collaboration or media inquiries.","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}\n{\"@context\":\"https://schema.org\",\"@type\":\"Person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"email\":\"nik@nikcub.me\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://linkedin.com/in/nikcub\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://linkedin.com/in/nikcub","text":"LinkedIn","isInternal":false,"status":999},{"url":"https://twitter.com/dir","text":"@dir on Twitter","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Contact"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/contact","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/contact","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too short (24 chars, min 30)","pageUrl":"https://nikcub.me/contact","value":"Contact | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (70 chars, min 120)","pageUrl":"https://nikcub.me/contact","value":"Get in touch with Nik Cubrilovic for collaboration or media inquiries.","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/contact","value":"https://nikcub.me/contact"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/contact","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/contact","value":"Contact"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/contact","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/contact"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/contact","value":"title: Contact..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/contact","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/contact","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/contact"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/contact"},{"name":"word-count","status":"warn","message":"Thin content: 80 words (min 300)","pageUrl":"https://nikcub.me/contact","value":"80","expected":"300"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/contact"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/contact"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 20.1)","pageUrl":"https://nikcub.me/contact","value":"Flesch score: 11/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/contact","value":"34 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/contact","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/contact","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/contact"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/contact","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"7 internal link(s)","pageUrl":"https://nikcub.me/contact","value":"7"},{"name":"external-links","status":"pass","message":"5 external link(s)","pageUrl":"https://nikcub.me/contact","value":"5"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/contact"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/contact"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/contact","value":"6"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/contact"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/contact"},{"name":"mailto-links","status":"pass","message":"2 mailto: link(s) found","pageUrl":"https://nikcub.me/contact"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/contact"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/contact","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/contact"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/contact","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/contact","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/contact"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/contact","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/contact"},{"name":"svg-inline","status":"pass","message":"8 inline SVG(s), 3.1KB total","pageUrl":"https://nikcub.me/contact"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/contact","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/contact","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/contact","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/contact","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/contact"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/contact"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/contact"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/contact","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/contact"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/contact"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/contact"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/contact","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/contact"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/contact"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/contact","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"5 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/contact"},{"name":"noreferrer","status":"pass","message":"5 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/contact"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/contact"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/contact","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/contact","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/contact","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/contact","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/contact","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"flex items-center gap-3 text-s...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":13,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/contact"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/contact","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/contact"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/contact"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/contact"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/contact","details":{"headingsChecked":4}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/contact","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/contact"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/contact"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/contact"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/contact"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/contact"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/contact"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/contact"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/contact"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/contact"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/contact"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/contact"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/contact"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/contact"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/contact","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/contact"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/contact"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/contact"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/contact"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/contact","details":{"headingsChecked":4}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/contact"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/contact"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/contact"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/contact"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/contact"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/contact"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/contact","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/contact"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/contact"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/contact"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/contact","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/contact"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/contact"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/contact"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/contact"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/contact"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/contact"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/contact"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/contact","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/contact","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/contact"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/contact","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/contact","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/contact","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/contact"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/contact"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/contact","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/contact"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/contact"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/contact","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/contact"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (146 nodes)","pageUrl":"https://nikcub.me/contact","value":"146","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/contact","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (50)","pageUrl":"https://nikcub.me/contact","value":"50"},{"name":"ttfb","status":"pass","message":"Fast server response (592ms)","pageUrl":"https://nikcub.me/contact","value":"592","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/contact","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/contact","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/contact"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/contact","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/contact","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/contact","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/contact","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/contact","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/contact"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/contact"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/contact","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/contact","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/contact","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/contact","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/contact","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/contact"},{"name":"social-profiles","status":"pass","message":"2 social platform(s) linked","pageUrl":"https://nikcub.me/contact","items":[{"id":"Twitter/X"},{"id":"LinkedIn"}]},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/contact"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/contact","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/contact"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/contact"},{"name":"url-length","status":"pass","message":"URL length is optimal (25 chars)","pageUrl":"https://nikcub.me/contact"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/contact","value":"contact"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/contact"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/contact"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/contact","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/contact"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/contact"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/contact"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/contact"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/contact"},{"name":"tap-targets","status":"info","message":"17 interactive element(s) found","pageUrl":"https://nikcub.me/contact","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/contact","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/contact"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/contact"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/contact","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/contact","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/contact","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/contact","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/contact"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/contact"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/contact"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/contact","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/contact"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"68df3c6ff3f6efd8524068e491fefc7a\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"20313","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/contact","finalUrl":"https://nikcub.me/contact","hops":[{"url":"https://nikcub.me/contact","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/about","statusCode":200,"loadTime":645,"meta":{"title":"About Nik Cubrilovic | Nik Cubrilovic","description":"Australian engineer working on data systems and AI, writing about the intersection of technology and digital society.","canonical":"https://nikcub.me/about","robots":null},"og":{"title":"About Nik Cubrilovic","description":"Australian engineer working on data systems and AI, writing about the intersection of technology and digital society.","url":"https://nikcub.me/about","type":"website","image":"https://nikcub.me/images/posts/nik.profile.webp","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"About Nik Cubrilovic","description":"Australian engineer working on data systems and AI, writing about the intersection of technology and digital society.","image":"https://nikcub.me/images/posts/nik.profile.webp"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"http://0day.today/author/21985","text":"in my own name","isInternal":false,"status":404},{"url":"http://bits.blogs.nytimes.com/2011/09/29/privacy-groups-ask-f-t-c-to-review-new-facebook-features/","text":"New York Times: Privacy Groups ask FTC to investigate Facebook","isInternal":false,"status":200},{"url":"http://creativecommons.org/licenses/by/3.0/","text":"Creative Commons Attribution 3.0 License","isInternal":false,"status":200},{"url":"http://techcrunch.com/author/nik-cubrilovic/","text":"at Techcrunch from 2007","isInternal":false,"status":200},{"url":"http://techcrunch.com/author/nik-cubrilovic/","text":"TechCrunch – Posts by Nik Cubrilovic","isInternal":false,"status":200},{"url":"http://thelede.blogs.nytimes.com/2009/12/19/update-on-latest-attack-on-twitter/","text":"Update on latest Twitter attack","isInternal":false,"status":200},{"url":"http://wayback.archive.org/web/*/http://bulletin.ninemsn.com.au/article.aspx?id=266916","text":"in 2007 as one of Australia’s ‘Smart 100’","isInternal":false,"status":200},{"url":"http://www.bbc.co.uk/news/technology-15091674","text":"BBC – Facebook fixed cookie ID glitch","isInternal":false,"status":200},{"url":"http://www.crunchbase.com/","text":"CrunchBase","isInternal":false,"status":200},{"url":"http://www.crunchbase.com/bloggerboard/tech/author/nik-cubrilovic","text":"Blog posts on Techmeme (since 2007)","isInternal":false,"status":403},{"url":"http://www.dailymail.co.uk/news/article-2629200/Millions-Australians-private-information-risk-security-expert-reveals-flaws-Government-website.html","text":"Daily Mail: Millions of Australians’ private information at risk after security expert reveals serious flaws in Government website","isInternal":false,"status":200},{"url":"http://www.itnews.com.au/news/how-an-aussie-hacker-used-information-leakage-to-trade-stocks-420171","text":"How an Aussie hacker used information leakage to trade stocks","isInternal":false,"status":200},{"url":"http://www.smh.com.au/digital-life/consumer-security/icloud-celebrity-photo-hack-texts-address-books-and-more-also-accessible-20140903-10bov5.html","text":"iCloud celebrity photo hack: texts, address books and more ‘also accessible’","isInternal":false,"status":200},{"url":"http://www.smh.com.au/it-pro/security-it/revealed-serious-flaws-in-mygov-site-exposed-millions-of-australians-private-information-20140515-zrczw.html","text":"Sydney Morning Herald: Revealed: serious flaws in myGov site exposed millions of Australians’ private information","isInternal":false,"status":200},{"url":"http://www.techcrunch.com/","text":"Techcrunch","isInternal":false,"status":200},{"url":"http://www.theaustralian.com.au/australian-it/live-blog-about-facebook-privacy-and-security-with-nik-cubrilovic-at-3pm-aest/story-e6frgakx-1226151189067","text":"The Australian – Live Blog with Nik Cubrilovic","isInternal":false,"status":403},{"url":"http://www.theaustralian.com.au/australian-it/opinion/frictionless-sharing-a-cause-for-concern/story-e6frgb0o-1226157574498","text":"“Frictionless Sharing A Cause For Concern” — Editorial in The Australian by Nik Cubrilovic","isInternal":false,"status":403},{"url":"https://angel.co/nik","text":"AngelList - nik","isInternal":false,"status":403},{"url":"https://beatcov.org/","text":"BeatCovid","isInternal":false,"error":"Was there a typo in the url or port?"},{"url":"https://facebook.com/cubrilovic","text":"Facebook","isInternal":false,"status":200},{"url":"https://github.com/beatcovid","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/infotorch","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub - nc9","isInternal":false,"status":200},{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://github.com/opennem","text":"GitHub","isInternal":false,"status":200},{"url":"https://infotorch.org/social","text":"Infotorch","isInternal":false,"error":"timeout"},{"url":"https://news.ycombinator.com/user?id=nikcub","text":"Hacker News – nikcub","isInternal":false,"status":200},{"url":"https://nineprimes.com/","text":"Nineprimes","isInternal":false,"status":200},{"url":"https://opennem.org.au/","text":"OpenNEM","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200},{"url":"https://twitter.com/nik","text":"Twitter – Nik Cubrilovic","isInternal":false,"status":200},{"url":"https://www.crunchbase.com/organization/crunchfund","text":"CrunchFund","isInternal":false,"status":403},{"url":"https://www.crunchbase.com/organization/digitalocean","text":"DigitalOcean","isInternal":false,"status":403},{"url":"https://www.crunchbase.com/organization/gitlab-com","text":"GitLab","isInternal":false,"status":403},{"url":"https://www.crunchbase.com/organization/pachyderm#/entity","text":"Pachyderm","isInternal":false,"status":403},{"url":"https://www.crunchbase.com/organization/predictionio#/entity","text":"prediction.io","isInternal":false,"status":403},{"url":"https://www.crunchbase.com/organization/readme-io","text":"ReadMe.io","isInternal":false,"status":403},{"url":"https://www.crunchbase.com/organization/streamable","text":"Streamable","isInternal":false,"status":403},{"url":"https://www.crunchbase.com/person/nik-cubrilovic","text":"Nik Cubrilovic on CrunchBase","isInternal":false,"status":403},{"url":"https://www.facebook.com/photo.php?fbid=10150340347923820&set=a.10150340347413820.357562.500073819&type=3&l=84607ef406&theater","text":"Sunday Sun Herald Feature: Beware cookie monster – Hacker exposed Facebook flaws","isInternal":false,"status":200},{"url":"https://youtube.com/nik","text":"YouTube – Nik Cubrilovic","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["About Nik Cubrilovic"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/about","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/about","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (37 chars)","pageUrl":"https://nikcub.me/about","value":"About Nik Cubrilovic | Nik Cubrilovic"},{"name":"meta-description","status":"warn","message":"Description too short (117 chars, min 120)","pageUrl":"https://nikcub.me/about","value":"Australian engineer working on data systems and AI, writing about the intersection of technology and digital society.","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/about","value":"https://nikcub.me/about"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/about","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/about","value":"About Nik Cubrilovic"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/about","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/about"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/about","value":"title: About Nik Cubrilovic..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/about","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/about","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/about"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/about"},{"name":"word-count","status":"pass","message":"Good content length: 567 words","pageUrl":"https://nikcub.me/about","value":"567"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/about"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/about"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 13.8)","pageUrl":"https://nikcub.me/about","value":"Flesch score: 33/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/about","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/about","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/about"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/about","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/about","value":"8"},{"name":"external-links","status":"pass","message":"41 external link(s)","pageUrl":"https://nikcub.me/about","value":"41"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/about"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/about"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/about","value":"7"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/about"},{"name":"https-downgrade","status":"warn","message":"17 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/about","items":[{"id":"http://www.techcrunch.com"},{"id":"http://www.crunchbase.com"},{"id":"http://techcrunch.com/author/nik-cubrilovic/"},{"id":"http://wayback.archive.org/web/*/http://bulletin.ninemsn.com.au/article.aspx?id=266916"},{"id":"http://0day.today/author/21985"},{"id":"http://www.itnews.com.au/news/how-an-aussie-hacker-used-information-leakage-to-trade-stocks-420171"},{"id":"http://www.smh.com.au/digital-life/consumer-security/icloud-celebrity-photo-hack-texts-address-books-and-more-also-accessible-20140903-10bov5.html"},{"id":"http://www.dailymail.co.uk/news/article-2629200/Millions-Australians-private-information-risk-security-expert-reveals-flaws-Government-website.html"},{"id":"http://www.smh.com.au/it-pro/security-it/revealed-serious-flaws-in-mygov-site-exposed-millions-of-australians-private-information-20140515-zrczw.html"},{"id":"http://bits.blogs.nytimes.com/2011/09/29/privacy-groups-ask-f-t-c-to-review-new-facebook-features/"},{"id":"http://www.bbc.co.uk/news/technology-15091674"},{"id":"http://www.theaustralian.com.au/australian-it/opinion/frictionless-sharing-a-cause-for-concern/story-e6frgb0o-1226157574498"},{"id":"http://www.theaustralian.com.au/australian-it/live-blog-about-facebook-privacy-and-security-with-nik-cubrilovic-at-3pm-aest/story-e6frgakx-1226151189067"},{"id":"http://thelede.blogs.nytimes.com/2009/12/19/update-on-latest-attack-on-twitter/"},{"id":"http://www.crunchbase.com/bloggerboard/tech/author/nik-cubrilovic"},{"id":"http://techcrunch.com/author/nik-cubrilovic/"},{"id":"http://creativecommons.org/licenses/by/3.0/"}]},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/about"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/about"},{"name":"image-dimensions","status":"pass","message":"All 2 image(s) have dimensions","pageUrl":"https://nikcub.me/about","value":"2"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/about"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/about","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/about","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/about"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/about","details":{"totalImages":2}},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/about"},{"name":"svg-inline","status":"pass","message":"4 inline SVG(s), 1.5KB total","pageUrl":"https://nikcub.me/about"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/about","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/about","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/about","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/about","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/about"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/about"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/about"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/about","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/about"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/about"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/about"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/about","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/about"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/about"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/about","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"41 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/about"},{"name":"noreferrer","status":"pass","message":"41 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/about"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/about"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/about","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/about","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/about","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/about","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/about","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/about"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/about","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/about"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/about"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/about"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/about","details":{"headingsChecked":6}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/about","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/about"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/about"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/about"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/about"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/about"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/about"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/about"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/about"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/about"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/about"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/about"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/about"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/about"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/about"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/about"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/about"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/about","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/about"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/about"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/about"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/about"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/about","details":{"headingsChecked":6}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/about"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/about"},{"name":"list-structure","status":"pass","message":"5 list(s) are properly structured","pageUrl":"https://nikcub.me/about"},{"name":"listitem","status":"pass","message":"26 list item(s) are inside lists","pageUrl":"https://nikcub.me/about"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/about"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/about"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/about","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/about"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/about"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/about"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/about","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/about"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/about"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/about"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/about"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/about","details":{"linksChecked":39}},{"name":"identical-links-same-purpose","status":"warn","message":"1 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/about","items":[{"id":"\"github\" → 4 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/about"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/about","details":{"imagesChecked":2}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/about","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/about"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/about"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/about","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/about","value":"null"},{"name":"lcp-preload","status":"warn","message":"2 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/about","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2Fnik.profile.webp&w=1920&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/about"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/about"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/about","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/about"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/about"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/about","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/about"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (203 nodes)","pageUrl":"https://nikcub.me/about","value":"203","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/about","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/about","value":"52"},{"name":"ttfb","status":"warn","message":"Slow server response (644ms)","pageUrl":"https://nikcub.me/about","value":"644","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/about","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/about","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/about"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/about","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/about","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/about","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/about","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/about","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/about"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/about"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/about","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/about","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/about","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/about","value":"https://nikcub.me/images/posts/nik.profile.webp"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/about","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/about"},{"name":"social-profiles","status":"pass","message":"3 social platform(s) linked","pageUrl":"https://nikcub.me/about","items":[{"id":"Facebook"},{"id":"Twitter/X"},{"id":"YouTube"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/about"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/about","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/about"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/about"},{"name":"url-length","status":"pass","message":"URL length is optimal (23 chars)","pageUrl":"https://nikcub.me/about"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/about","value":"about"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/about"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/about"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/about","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/about"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/about"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/about"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/about"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/about"},{"name":"tap-targets","status":"info","message":"53 interactive element(s) found","pageUrl":"https://nikcub.me/about","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/about","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/about"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/about"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/about","value":"http://bits.blogs.nytimes.com/2011/09/29/privacy-groups-ask-f-t-c-to-review-new-facebook-features/"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/about","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/about","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/about","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/about"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/about"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/about"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/about","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/about"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"48yk37fz8m1j4s\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"5611","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/about","finalUrl":"https://nikcub.me/about","hops":[{"url":"https://nikcub.me/about","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/privacy","statusCode":200,"loadTime":297,"meta":{"title":"Privacy Policy | Nik Cubrilovic","description":"Privacy policy for nikcub.me - how we handle your data and protect your privacy","canonical":"https://nikcub.me/privacy","robots":null},"og":{"title":"Privacy Policy","description":"Privacy policy for nikcub.me - how we handle your data and protect your privacy","url":"https://nikcub.me/privacy","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Privacy Policy","description":"Privacy policy for nikcub.me - how we handle your data and protect your privacy","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Privacy Policy"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/privacy","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/privacy","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (31 chars)","pageUrl":"https://nikcub.me/privacy","value":"Privacy Policy | Nik Cubrilovic"},{"name":"meta-description","status":"warn","message":"Description too short (79 chars, min 120)","pageUrl":"https://nikcub.me/privacy","value":"Privacy policy for nikcub.me - how we handle your data and protect your privacy","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/privacy","value":"https://nikcub.me/privacy"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/privacy","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/privacy","value":"Privacy Policy"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/privacy","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/privacy"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/privacy","value":"title: Privacy Policy..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/privacy","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/privacy","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/privacy"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/privacy"},{"name":"word-count","status":"warn","message":"Thin content: 182 words (min 300)","pageUrl":"https://nikcub.me/privacy","value":"182","expected":"300"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/privacy"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/privacy"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 13.4)","pageUrl":"https://nikcub.me/privacy","value":"Flesch score: 26/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/privacy","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/privacy","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/privacy"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/privacy","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"9 internal link(s)","pageUrl":"https://nikcub.me/privacy","value":"9"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/privacy","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/privacy"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/privacy"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/privacy","value":"8"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/privacy"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/privacy"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/privacy"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/privacy"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/privacy","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/privacy"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/privacy","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/privacy","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/privacy"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/privacy","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/privacy"},{"name":"svg-inline","status":"pass","message":"4 inline SVG(s), 1.5KB total","pageUrl":"https://nikcub.me/privacy"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/privacy","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/privacy","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/privacy","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/privacy","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/privacy","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/privacy","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/privacy"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/privacy"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/privacy","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/privacy"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/privacy"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/privacy"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/privacy","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/privacy","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/privacy","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/privacy","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/privacy","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":9,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/privacy"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/privacy","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/privacy"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/privacy"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/privacy"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/privacy","details":{"headingsChecked":6}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/privacy","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/privacy"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/privacy"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/privacy","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/privacy"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/privacy"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/privacy","details":{"headingsChecked":6}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/privacy"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/privacy"},{"name":"listitem","status":"pass","message":"2 list item(s) are inside lists","pageUrl":"https://nikcub.me/privacy"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/privacy"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/privacy"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/privacy","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/privacy"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/privacy"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/privacy"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/privacy","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/privacy"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/privacy"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/privacy"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/privacy"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/privacy","details":{"linksChecked":1}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/privacy"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/privacy"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/privacy","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/privacy","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/privacy"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/privacy","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/privacy","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/privacy","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/privacy"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/privacy"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/privacy","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/privacy"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/privacy"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/privacy","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/privacy"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (128 nodes)","pageUrl":"https://nikcub.me/privacy","value":"128","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/privacy","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/privacy","value":"51"},{"name":"ttfb","status":"pass","message":"Fast server response (297ms)","pageUrl":"https://nikcub.me/privacy","value":"297","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/privacy","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/privacy","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/privacy"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/privacy","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/privacy","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/privacy","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/privacy","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/privacy","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/privacy"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/privacy"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/privacy","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/privacy","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/privacy","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/privacy","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/privacy","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/privacy"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/privacy","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/privacy"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/privacy","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/privacy"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/privacy"},{"name":"url-length","status":"pass","message":"URL length is optimal (25 chars)","pageUrl":"https://nikcub.me/privacy"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/privacy","value":"privacy"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/privacy"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/privacy"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/privacy","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/privacy"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/privacy"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/privacy"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/privacy"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/privacy"},{"name":"tap-targets","status":"info","message":"15 interactive element(s) found","pageUrl":"https://nikcub.me/privacy","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/privacy","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/privacy"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/privacy","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/privacy","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/privacy","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/privacy","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/privacy"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/privacy","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/privacy"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"ake6ef961bte4\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"14970","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/privacy","finalUrl":"https://nikcub.me/privacy","hops":[{"url":"https://nikcub.me/privacy","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/tracking-cookie","statusCode":200,"loadTime":675,"meta":{"title":"Tracking Cookie Demo | Nik Cubrilovic","description":"Demonstration of how tracking cookies work and persist across browsing sessions","canonical":"https://nikcub.me/tracking-cookie","robots":null},"og":{"title":"Tracking Cookie Demo","description":"Demonstration of how tracking cookies work and persist across browsing sessions","url":"https://nikcub.me/tracking-cookie","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Tracking Cookie Demo","description":"Demonstration of how tracking cookies work and persist across browsing sessions","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Tracking Cookie Demo"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/tracking-cookie","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/tracking-cookie","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"pass","message":"Title length OK (37 chars)","pageUrl":"https://nikcub.me/tracking-cookie","value":"Tracking Cookie Demo | Nik Cubrilovic"},{"name":"meta-description","status":"warn","message":"Description too short (79 chars, min 120)","pageUrl":"https://nikcub.me/tracking-cookie","value":"Demonstration of how tracking cookies work and persist across browsing sessions","expected":"120-160 characters"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/tracking-cookie","value":"https://nikcub.me/tracking-cookie"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/tracking-cookie","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/tracking-cookie","value":"Tracking Cookie Demo"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/tracking-cookie","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/tracking-cookie","value":"title: Tracking Cookie Demo..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/tracking-cookie","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"word-count","status":"warn","message":"Thin content: 186 words (min 300)","pageUrl":"https://nikcub.me/tracking-cookie","value":"186","expected":"300"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"cookies","label":"\"cookies\" (6.6%)","meta":{"count":11,"density":6.58682634730539}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 15.8)","pageUrl":"https://nikcub.me/tracking-cookie","value":"Flesch score: 24/100"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/tracking-cookie","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"10 internal link(s)","pageUrl":"https://nikcub.me/tracking-cookie","value":"10"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/tracking-cookie","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/tracking-cookie","value":"10"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/tracking-cookie","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/tracking-cookie","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/tracking-cookie","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"svg-inline","status":"pass","message":"4 inline SVG(s), 1.5KB total","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/tracking-cookie","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/tracking-cookie","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/tracking-cookie","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/tracking-cookie","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/tracking-cookie","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/tracking-cookie","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":9,"cssIssues":0,"patternIssues":0}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/tracking-cookie","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/tracking-cookie","details":{"headingsChecked":5}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"subscribe"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/tracking-cookie","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/tracking-cookie","details":{"headingsChecked":5}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"listitem","status":"pass","message":"3 list item(s) are inside lists","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/tracking-cookie","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/tracking-cookie","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/tracking-cookie","details":{"linksChecked":2}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/tracking-cookie","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/tracking-cookie","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/tracking-cookie","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/tracking-cookie","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/tracking-cookie","details":{"async":14,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (129 nodes)","pageUrl":"https://nikcub.me/tracking-cookie","value":"129","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/tracking-cookie","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/tracking-cookie","value":"51"},{"name":"ttfb","status":"warn","message":"Slow server response (675ms)","pageUrl":"https://nikcub.me/tracking-cookie","value":"675","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/tracking-cookie","value":"0"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/tracking-cookie","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/tracking-cookie","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/tracking-cookie","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/tracking-cookie","details":{"scriptsAnalyzed":14}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/tracking-cookie","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/tracking-cookie","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/tracking-cookie","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-length","status":"pass","message":"URL length is optimal (33 chars)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/tracking-cookie","value":"tracking-cookie"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/tracking-cookie","value":"Ensure consistency across site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"tap-targets","status":"info","message":"16 interactive element(s) found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/tracking-cookie","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/tracking-cookie"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":"W/\"x0bbpsz03itsm\"","server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"138386","xCache":null,"cfCacheStatus":null,"xVercelCache":"STALE","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/tracking-cookie","finalUrl":"https://nikcub.me/tracking-cookie","hops":[{"url":"https://nikcub.me/tracking-cookie","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts?page=2","statusCode":200,"loadTime":556,"meta":{"title":"Articles | Nik Cubrilovic","description":"Long-form writing on security, privacy, and technology","canonical":"https://nikcub.me/posts","robots":null},"og":{"title":"Articles","description":"Long-form writing on security, privacy, and technology","url":"https://nikcub.me/posts","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Articles","description":"Long-form writing on security, privacy, and technology","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Articles"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts?page=2","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts?page=2","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts?page=2","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts?page=2","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"canonical","status":"info","message":"Canonical points to different URL","pageUrl":"https://nikcub.me/posts?page=2","value":"https://nikcub.me/posts"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts?page=2","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts?page=2","value":"Articles"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts?page=2","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts?page=2","value":"title: Articles..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts?page=2","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"H2","label":"Facebook and many other sites also bypass Internet","meta":{"level":2,"length":76}}]},{"name":"word-count","status":"info","message":"Content could be longer: 340 words","pageUrl":"https://nikcub.me/posts?page=2","value":"340"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"min","label":"\"min\" (3.5%)","meta":{"count":10,"density":3.546099290780142}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 33.4)","pageUrl":"https://nikcub.me/posts?page=2","value":"Flesch score: 0/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts?page=2","value":"65 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts?page=2","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"20 internal link(s)","pageUrl":"https://nikcub.me/posts?page=2","value":"20"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts?page=2","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts?page=2","value":"17"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts?page=2","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts?page=2","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts?page=2","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"svg-inline","status":"pass","message":"26 inline SVG(s), 8.1KB total","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts?page=2","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts?page=2","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts?page=2","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=2","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts?page=2","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts?page=2","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":31,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts?page=2","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts?page=2","details":{"headingsChecked":11}},{"name":"link-text-generic","status":"warn","message":"3 link(s) with generic text","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"subscribe"},{"id":"previous"},{"id":"next"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=2","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts?page=2","details":{"headingsChecked":11}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts?page=2","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts?page=2","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts?page=2","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts?page=2","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts?page=2","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts?page=2","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts?page=2","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (289 nodes)","pageUrl":"https://nikcub.me/posts?page=2","value":"289","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts?page=2","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts?page=2","value":"33"},{"name":"ttfb","status":"pass","message":"Fast server response (352ms)","pageUrl":"https://nikcub.me/posts?page=2","value":"352","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 204ms","pageUrl":"https://nikcub.me/posts?page=2","value":"204"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts?page=2","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts?page=2","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts?page=2","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts?page=2","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts?page=2","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts?page=2","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts?page=2","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"canonical-target","status":"info","message":"Page canonicalizes to different URL","pageUrl":"https://nikcub.me/posts?page=2","value":"https://nikcub.me/posts"},{"name":"pagination-canonical","status":"warn","message":"Paginated page canonicalizes to non-paginated URL","pageUrl":"https://nikcub.me/posts?page=2","value":"Page 2 → https://nikcub.me/posts"},{"name":"pagination-links","status":"info","message":"No rel=next/prev links (optional)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"url-length","status":"pass","message":"URL length is optimal (30 chars)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts?page=2","value":"posts"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts?page=2","value":"Ensure consistency across site"},{"name":"url-parameters","status":"info","message":"URL has 1 parameter(s)","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"page"}]},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"tap-targets","status":"info","message":"26 interactive element(s) found","pageUrl":"https://nikcub.me/posts?page=2","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts?page=2","value":"/posts/two-google-chrome-privacy-issues"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts?page=2"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"private, no-cache, no-store, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":null,"server":"Vercel","lastModified":null,"link":"</_next/static/media/68d403cf9f2c68c5-s.p.f9f15f61.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\", </_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\"","serverTiming":null,"age":"0","xCache":null,"cfCacheStatus":null,"xVercelCache":"MISS","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts?page=2","finalUrl":"https://nikcub.me/posts?page=2","hops":[{"url":"https://nikcub.me/posts?page=2","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/fb-table.html","statusCode":200,"loadTime":18,"meta":{"title":"Facebook Cookie Analysis","description":null,"canonical":null,"robots":null},"og":{"title":null,"description":null,"url":null,"type":null,"image":null,"siteName":null},"twitter":{"card":null,"title":null,"description":null,"image":null},"schema":{"types":[],"valid":true,"errors":[],"raw":null},"links":[],"images":[],"h1Count":1,"h1Text":["Facebook Cookie Analysis"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/fb-table.html","value":"<!DOCTYPE html>"},{"name":"charset","status":"pass","message":"UTF-8 charset declared early in head","pageUrl":"https://nikcub.me/fb-table.html","value":"utf-8"},{"name":"meta-title","status":"warn","message":"Title too short (24 chars, min 30)","pageUrl":"https://nikcub.me/fb-table.html","value":"Facebook Cookie Analysis","expected":"30-60 characters"},{"name":"meta-description","status":"fail","message":"Missing meta description","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"canonical","status":"warn","message":"Missing canonical URL","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/fb-table.html","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/fb-table.html","value":"Facebook Cookie Analysis"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"og-title","status":"warn","message":"Missing og:title","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"https://nikcub.me/fb-table.html"}],"value":"null"},{"name":"og-description","status":"warn","message":"Missing og:description","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"https://nikcub.me/fb-table.html"}],"value":"null"},{"name":"og-image","status":"warn","message":"Missing og:image - social shares will lack imagery","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"https://nikcub.me/fb-table.html"}],"value":"null"},{"name":"og-type","status":"info","message":"Missing og:type (defaults to website)","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"twitter-card","status":"warn","message":"No Twitter card or Open Graph tags for Twitter sharing","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"favicon","status":"warn","message":"No favicon found","pageUrl":"https://nikcub.me/fb-table.html","value":"Add <link rel='icon'> for brand recognition"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"word-count","status":"warn","message":"Thin content: 189 words (min 300)","pageUrl":"https://nikcub.me/fb-table.html","value":"189","expected":"300"},{"name":"keyword-stuffing","status":"warn","message":"4 word(s) may be overused","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"deleted","label":"\"deleted\" (9.2%)","meta":{"count":14,"density":9.15032679738562}},{"id":"request","label":"\"request\" (4.6%)","meta":{"count":7,"density":4.57516339869281}},{"id":"facebook","label":"\"facebook\" (3.9%)","meta":{"count":6,"density":3.9215686274509802}},{"id":"lzfw","label":"\"lzfw\" (3.9%)","meta":{"count":6,"density":3.9215686274509802}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"reading-level","status":"info","message":"Readability: Easy (Grade 7.3)","pageUrl":"https://nikcub.me/fb-table.html","value":"Flesch score: 71/100"},{"name":"http-last-modified","status":"pass","message":"Last-Modified header present","pageUrl":"https://nikcub.me/fb-table.html","value":"Thu, 22 Jan 2026 05:07:12 GMT"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"mime-type","status":"pass","message":"Correct MIME type for .html","pageUrl":"https://nikcub.me/fb-table.html","value":"text/html"},{"name":"internal-links","status":"warn","message":"Too few internal links (0, min 1)","pageUrl":"https://nikcub.me/fb-table.html","value":"0","expected":"1"},{"name":"external-links","status":"info","message":"No external links on page","pageUrl":"https://nikcub.me/fb-table.html","value":"0"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"dead-end","status":"warn","message":"Page has no outgoing internal links (dead-end)","pageUrl":"https://nikcub.me/fb-table.html","value":"0","expected":"1"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"tel-mailto","status":"info","message":"No tel: or mailto: links found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"alt-text","status":"pass","message":"No images on page","pageUrl":"https://nikcub.me/fb-table.html","value":"0"},{"name":"image-dimensions","status":"pass","message":"No images on page","pageUrl":"https://nikcub.me/fb-table.html","value":"0"},{"name":"modern-format","status":"skipped","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"srcset","status":"skipped","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"responsive-size","status":"info","message":"No images found on page","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"lazy-loading","status":"skipped","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"offscreen-lazy","status":"info","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"image-optimization","status":"info","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"filename-quality","status":"skipped","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"svg-inline","status":"info","message":"No inline SVGs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"figure-figcaption","status":"skipped","message":"No images or figures found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/fb-table.html","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"info","message":"No JSON-LD structured data found","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/fb-table.html","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"form-captcha","status":"info","message":"No forms on page","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"new-tab-security","status":"info","message":"No external target=\"_blank\" links found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"skip-link","status":"warn","message":"No bypass mechanism for repetitive content","pageUrl":"https://nikcub.me/fb-table.html","details":{"found":["early heading"],"suggestion":"Add skip link or ensure <main> landmark with <nav> landmark"}},{"name":"form-labels","status":"info","message":"No form inputs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"paste-inputs","status":"info","message":"No text inputs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"color-contrast","status":"warn","message":"2 potential color contrast issue(s)","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"White text (verify background): 2 instance(s)"},{"id":"Very light text color: 1 instance(s)"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":0,"cssIssues":0,"patternIssues":2}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/fb-table.html","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"warn","message":"No <main> landmark found","pageUrl":"https://nikcub.me/fb-table.html","value":"Add <main> element around primary content"},{"name":"landmark-nav","status":"info","message":"No <nav> landmark found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"landmark-footer","status":"info","message":"No <footer> landmark found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/fb-table.html","details":{"headingsChecked":1}},{"name":"table-headers","status":"warn","message":"1 table(s) without <th> headers","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"Table 1"}]},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"button-name","status":"info","message":"No buttons found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/fb-table.html","details":{"headingsChecked":1}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"td-headers-attr","status":"info","message":"No td elements with headers attribute found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"th-has-data-cells","status":"pass","message":"All table headers have associated data cells","pageUrl":"https://nikcub.me/fb-table.html","details":{"tablesChecked":2}},{"name":"duplicate-id-active","status":"info","message":"No focusable elements with IDs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/fb-table.html","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"landmark-one-main","status":"warn","message":"Page has no main landmark","pageUrl":"https://nikcub.me/fb-table.html","expected":"One <main> element or role='main'"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"identical-links-same-purpose","status":"info","message":"No links found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"image-redundant-alt","status":"info","message":"No images with alt text found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"form-field-multiple-labels","status":"info","message":"No form inputs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"tables-without-names","status":"warn","message":"1 table(s) without accessible names","pageUrl":"https://nikcub.me/fb-table.html","details":{"note":"Add caption or aria-label to distinguish tables"}},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/fb-table.html","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"lcp-preload","status":"pass","message":"LCP images appear to be optimized","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"render-blocking","status":"pass","message":"No significant render-blocking resources","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (195 nodes)","pageUrl":"https://nikcub.me/fb-table.html","value":"195","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (6 levels)","pageUrl":"https://nikcub.me/fb-table.html","value":"6"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (27)","pageUrl":"https://nikcub.me/fb-table.html","value":"27"},{"name":"ttfb","status":"pass","message":"Fast server response (17ms)","pageUrl":"https://nikcub.me/fb-table.html","value":"17","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/fb-table.html","value":"1"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"potentially-unminified-css","status":"info","message":"1 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"minified-js","status":"pass","message":"JavaScript appears to be minified","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/fb-table.html","value":"public, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/fb-table.html","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/fb-table.html","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/fb-table.html","details":{"scriptsAnalyzed":0}},{"name":"critical-request-chains","status":"pass","message":"No critical request chains detected","pageUrl":"https://nikcub.me/fb-table.html","details":{"preloads":0}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-size","status":"info","message":"No og:image tag found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"og-url-match","status":"info","message":"No og:url tag found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"social-profiles","status":"info","message":"No social media profile links found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding to footer"},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/fb-table.html","value":"indexable"},{"name":"canonical-chain","status":"skipped","message":"No canonical tag found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-length","status":"pass","message":"URL length is optimal (31 chars)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/fb-table.html","value":"fb-table.html"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"trailing-slash","status":"pass","message":"File URL correctly has no trailing slash","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/fb-table.html","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"info","message":"Elements may cause horizontal scroll on mobile","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"2 table(s) - ensure responsive"}]},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"privacy-policy","status":"warn","message":"No privacy policy link found","pageUrl":"https://nikcub.me/fb-table.html","value":"Add a link to your privacy policy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/fb-table.html","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/fb-table.html"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"public, max-age=0, must-revalidate","vary":null,"etag":"\"c43b41fd21ac51f956c377a6ac07bd04\"","server":"Vercel","lastModified":"Thu, 22 Jan 2026 05:07:12 GMT","link":null,"serverTiming":null,"age":"926587","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":"bytes"},"redirectChain":{"sourceUrl":"https://nikcub.me/fb-table.html","finalUrl":"https://nikcub.me/fb-table.html","hops":[{"url":"https://nikcub.me/fb-table.html","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/fb-headers.txt","statusCode":200,"loadTime":80,"meta":{"title":null,"description":null,"canonical":null,"robots":null},"og":{"title":null,"description":null,"url":null,"type":null,"image":null,"siteName":null},"twitter":{"card":null,"title":null,"description":null,"image":null},"schema":{"types":[],"valid":true,"errors":[],"raw":null},"links":[],"images":[],"h1Count":0,"h1Text":[],"checks":[],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/plain","contentEncoding":null,"cacheControl":"public, max-age=0, must-revalidate","vary":null,"etag":"\"b021d9edcf89d4b0f8dee3e648dd16f2\"","server":"Vercel","lastModified":"Thu, 22 Jan 2026 05:07:16 GMT","link":null,"serverTiming":null,"age":"926584","xCache":null,"cfCacheStatus":null,"xVercelCache":"HIT","altSvc":null,"acceptRanges":"bytes"},"redirectChain":{"sourceUrl":"https://nikcub.me/fb-headers.txt","finalUrl":"https://nikcub.me/fb-headers.txt","hops":[{"url":"https://nikcub.me/fb-headers.txt","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/feed.xml","statusCode":200,"loadTime":776,"meta":{"title":"Nik Cubrilovic","description":null,"canonical":null,"robots":null},"og":{"title":null,"description":null,"url":null,"type":null,"image":null,"siteName":null},"twitter":{"card":null,"title":null,"description":null,"image":null},"schema":{"types":[],"valid":true,"errors":[],"raw":null},"links":[],"images":[],"h1Count":0,"h1Text":[],"checks":[],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"application/xml","contentEncoding":"br","cacheControl":"public, max-age=3600","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":null,"server":"Vercel","lastModified":null,"link":null,"serverTiming":null,"age":"0","xCache":null,"cfCacheStatus":null,"xVercelCache":"MISS","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/feed.xml","finalUrl":"https://nikcub.me/feed.xml","hops":[{"url":"https://nikcub.me/feed.xml","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts?page=1","statusCode":200,"loadTime":543,"meta":{"title":"Articles | Nik Cubrilovic","description":"Long-form writing on security, privacy, and technology","canonical":"https://nikcub.me/posts","robots":null},"og":{"title":"Articles","description":"Long-form writing on security, privacy, and technology","url":"https://nikcub.me/posts","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Articles","description":"Long-form writing on security, privacy, and technology","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Articles"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts?page=1","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts?page=1","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts?page=1","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts?page=1","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"canonical","status":"info","message":"Canonical points to different URL","pageUrl":"https://nikcub.me/posts?page=1","value":"https://nikcub.me/posts"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts?page=1","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts?page=1","value":"Articles"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts?page=1","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts?page=1","value":"title: Articles..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts?page=1","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"long-headings","status":"info","message":"3 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"H2","label":"FBI seizes fake Tor hosted Jihad funding website a","meta":{"level":2,"length":98}},{"id":"H2","label":"Large Number of Tor Hidden Sites Seized by the FBI","meta":{"level":2,"length":96}},{"id":"H2","label":"Multiple Vulnerabilities in MyGov, the Australian ","meta":{"level":2,"length":106}}]},{"name":"word-count","status":"info","message":"Content could be longer: 392 words","pageUrl":"https://nikcub.me/posts?page=1","value":"392"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"min","label":"\"min\" (3.1%)","meta":{"count":10,"density":3.0959752321981426}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 22.1)","pageUrl":"https://nikcub.me/posts?page=1","value":"Flesch score: 5/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts?page=1","value":"38 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts?page=1","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"19 internal link(s)","pageUrl":"https://nikcub.me/posts?page=1","value":"19"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts?page=1","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts?page=1","value":"17"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts?page=1","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts?page=1","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts?page=1","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"svg-inline","status":"pass","message":"25 inline SVG(s), 7.9KB total","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts?page=1","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts?page=1","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts?page=1","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=1","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts?page=1","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts?page=1","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":31,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts?page=1","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts?page=1","details":{"headingsChecked":11}},{"name":"link-text-generic","status":"warn","message":"2 link(s) with generic text","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"subscribe"},{"id":"next"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=1","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts?page=1","details":{"headingsChecked":11}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts?page=1","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts?page=1","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts?page=1","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts?page=1","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts?page=1","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts?page=1","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts?page=1","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (287 nodes)","pageUrl":"https://nikcub.me/posts?page=1","value":"287","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts?page=1","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts?page=1","value":"33"},{"name":"ttfb","status":"pass","message":"Fast server response (323ms)","pageUrl":"https://nikcub.me/posts?page=1","value":"323","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 220ms","pageUrl":"https://nikcub.me/posts?page=1","value":"220"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts?page=1","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts?page=1","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts?page=1","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts?page=1","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts?page=1","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts?page=1","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts?page=1","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"canonical-target","status":"info","message":"Page canonicalizes to different URL","pageUrl":"https://nikcub.me/posts?page=1","value":"https://nikcub.me/posts"},{"name":"pagination-canonical","status":"warn","message":"Paginated page canonicalizes to non-paginated URL","pageUrl":"https://nikcub.me/posts?page=1","value":"Page 1 → https://nikcub.me/posts"},{"name":"pagination-links","status":"info","message":"No rel=next/prev links (optional)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"url-length","status":"pass","message":"URL length is optimal (30 chars)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts?page=1","value":"posts"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts?page=1","value":"Ensure consistency across site"},{"name":"url-parameters","status":"info","message":"URL has 1 parameter(s)","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"page"}]},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"tap-targets","status":"info","message":"25 interactive element(s) found","pageUrl":"https://nikcub.me/posts?page=1","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts?page=1","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts?page=1"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"private, no-cache, no-store, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":null,"server":"Vercel","lastModified":null,"link":"</_next/static/media/68d403cf9f2c68c5-s.p.f9f15f61.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\", </_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\"","serverTiming":null,"age":"0","xCache":null,"cfCacheStatus":null,"xVercelCache":"MISS","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts?page=1","finalUrl":"https://nikcub.me/posts?page=1","hops":[{"url":"https://nikcub.me/posts?page=1","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts?page=3","statusCode":200,"loadTime":570,"meta":{"title":"Articles | Nik Cubrilovic","description":"Long-form writing on security, privacy, and technology","canonical":"https://nikcub.me/posts","robots":null},"og":{"title":"Articles","description":"Long-form writing on security, privacy, and technology","url":"https://nikcub.me/posts","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Articles","description":"Long-form writing on security, privacy, and technology","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Articles"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts?page=3","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts?page=3","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts?page=3","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts?page=3","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"canonical","status":"info","message":"Canonical points to different URL","pageUrl":"https://nikcub.me/posts?page=3","value":"https://nikcub.me/posts"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts?page=3","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts?page=3","value":"Articles"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts?page=3","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts?page=3","value":"title: Articles..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts?page=3","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"H2","label":"Introducing Frictionless - Taking the friction out","meta":{"level":2,"length":90}}]},{"name":"word-count","status":"info","message":"Content could be longer: 359 words","pageUrl":"https://nikcub.me/posts?page=3","value":"359"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"min","label":"\"min\" (3.5%)","meta":{"count":10,"density":3.546099290780142}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 30.8)","pageUrl":"https://nikcub.me/posts?page=3","value":"Flesch score: 0/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts?page=3","value":"58 words/sentence"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts?page=3","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"20 internal link(s)","pageUrl":"https://nikcub.me/posts?page=3","value":"20"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts?page=3","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts?page=3","value":"17"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts?page=3","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts?page=3","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts?page=3","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"svg-inline","status":"pass","message":"26 inline SVG(s), 8.1KB total","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts?page=3","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts?page=3","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts?page=3","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=3","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts?page=3","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts?page=3","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":32,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts?page=3","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts?page=3","details":{"headingsChecked":11}},{"name":"link-text-generic","status":"warn","message":"3 link(s) with generic text","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"subscribe"},{"id":"previous"},{"id":"next"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=3","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts?page=3","details":{"headingsChecked":11}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts?page=3","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts?page=3","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts?page=3","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts?page=3","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts?page=3","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts?page=3","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts?page=3","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (290 nodes)","pageUrl":"https://nikcub.me/posts?page=3","value":"290","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts?page=3","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts?page=3","value":"33"},{"name":"ttfb","status":"pass","message":"Fast server response (560ms)","pageUrl":"https://nikcub.me/posts?page=3","value":"560","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 10ms","pageUrl":"https://nikcub.me/posts?page=3","value":"10"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts?page=3","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts?page=3","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts?page=3","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts?page=3","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts?page=3","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts?page=3","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding for better engagement"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts?page=3","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"canonical-target","status":"info","message":"Page canonicalizes to different URL","pageUrl":"https://nikcub.me/posts?page=3","value":"https://nikcub.me/posts"},{"name":"pagination-canonical","status":"warn","message":"Paginated page canonicalizes to non-paginated URL","pageUrl":"https://nikcub.me/posts?page=3","value":"Page 3 → https://nikcub.me/posts"},{"name":"pagination-links","status":"info","message":"No rel=next/prev links (optional)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"url-length","status":"pass","message":"URL length is optimal (30 chars)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts?page=3","value":"posts"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts?page=3","value":"Ensure consistency across site"},{"name":"url-parameters","status":"info","message":"URL has 1 parameter(s)","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"page"}]},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"tap-targets","status":"info","message":"26 interactive element(s) found","pageUrl":"https://nikcub.me/posts?page=3","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts?page=3","value":"/posts/logging-out-of-facebook-is-not-enough"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts?page=3"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"private, no-cache, no-store, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":null,"server":"Vercel","lastModified":null,"link":"</_next/static/media/68d403cf9f2c68c5-s.p.f9f15f61.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\", </_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\"","serverTiming":null,"age":"0","xCache":null,"cfCacheStatus":null,"xVercelCache":"MISS","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts?page=3","finalUrl":"https://nikcub.me/posts?page=3","hops":[{"url":"https://nikcub.me/posts?page=3","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}},{"url":"https://nikcub.me/posts?page=4","statusCode":200,"loadTime":615,"meta":{"title":"Articles | Nik Cubrilovic","description":"Long-form writing on security, privacy, and technology","canonical":"https://nikcub.me/posts","robots":null},"og":{"title":"Articles","description":"Long-form writing on security, privacy, and technology","url":"https://nikcub.me/posts","type":"website","image":"https://nikcub.me/og-default.png","siteName":"Nik Cubrilovic"},"twitter":{"card":"summary_large_image","title":"Articles","description":"Long-form writing on security, privacy, and technology","image":"https://nikcub.me/og-default.png"},"schema":{"types":["WebSite","Person"],"valid":true,"errors":[],"raw":"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https://nikcub.me/#website\",\"url\":\"https://nikcub.me\",\"name\":\"Nik Cubrilovic\",\"description\":\"Engineer writing about AI, data engineering, and digital society\",\"publisher\":{\"@id\":\"https://nikcub.me/#person\"}},{\"@type\":\"Person\",\"@id\":\"https://nikcub.me/#person\",\"name\":\"Nik Cubrilovic\",\"url\":\"https://nikcub.me\",\"image\":\"https://nikcub.me/avatar.webp\",\"sameAs\":[\"https://twitter.com/dir\",\"https://github.com/nc9\",\"https://en.wikipedia.org/wiki/Nik_Cubrilovic\"],\"jobTitle\":\"Engineer\",\"description\":\"Engineer writing about AI, data engineering, and digital society\"}]}"},"links":[{"url":"https://github.com/nc9","text":"GitHub","isInternal":false,"status":200},{"url":"https://twitter.com/dir","text":"Twitter","isInternal":false,"status":200}],"images":[],"h1Count":1,"h1Text":["Articles"],"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts?page=4","value":"<!DOCTYPE html>"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts?page=4","expected":"<meta charset=\"UTF-8\">"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts?page=4","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts?page=4","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"canonical","status":"info","message":"Canonical points to different URL","pageUrl":"https://nikcub.me/posts?page=4","value":"https://nikcub.me/posts"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts?page=4","skipReason":"Page has no HTTP Link canonical header"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts?page=4","value":"Articles"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts?page=4","value":"null"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts?page=4","value":"title: Articles..."},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts?page=4","value":"summary_large_image"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"word-count","status":"warn","message":"Thin content: 218 words (min 300)","pageUrl":"https://nikcub.me/posts?page=4","value":"218","expected":"300"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"min","label":"\"min\" (3.5%)","meta":{"count":6,"density":3.5294117647058822}}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"reading-level","status":"info","message":"Content too short for readability analysis","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding date schema or Last-Modified header"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding author attribution for E-E-A-T"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts?page=4","skipReason":"URL has no file extension"},{"name":"internal-links","status":"pass","message":"15 internal link(s)","pageUrl":"https://nikcub.me/posts?page=4","value":"15"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts?page=4","value":"2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts?page=4","value":"13"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts?page=4","value":"1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts?page=4","value":"Add srcset for multiple image sizes"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"image (56x56, no srcset)"}]},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts?page=4","details":{"totalImages":1}},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"svg-inline","status":"pass","message":"17 inline SVG(s), 5.4KB total","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider using <figure> for images that need captions"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts?page=4","skipReason":"Page has no picture elements"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding for blog/news content"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding for non-homepage"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts?page=4","value":"https:"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"form[0]"}]},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts?page=4","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=4","details":{"buttonsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts?page=4","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts?page=4","details":{"inputsChecked":1}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":23,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts?page=4","value":"Verify buttons/links are at least 44x44px"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts?page=4","details":{"headingsChecked":7}},{"name":"link-text-generic","status":"warn","message":"2 link(s) with generic text","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"subscribe"},{"id":"previous"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=4","details":{"buttonsChecked":1}},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts?page=4","details":{"headingsChecked":7}},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts?page=4","details":{"idsChecked":1}},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts?page=4","value":"en"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts?page=4","details":{"imagesChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts?page=4","details":{"inputsChecked":1}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts?page=4","value":"en"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts?page=4","value":"null"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts?page=4","details":{"async":13,"defer":0,"blocking":1}},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (219 nodes)","pageUrl":"https://nikcub.me/posts?page=4","value":"219","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts?page=4","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts?page=4","value":"33"},{"name":"ttfb","status":"pass","message":"Fast server response (485ms)","pageUrl":"https://nikcub.me/posts?page=4","value":"485","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 130ms","pageUrl":"https://nikcub.me/posts?page=4","value":"130"},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts?page=4","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts?page=4","value":"br"},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts?page=4","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts?page=4","details":{"scriptsAnalyzed":13}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts?page=4","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts?page=4","value":"1200x630"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"Twitter/X"}]},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts?page=4","value":"indexable"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"canonical-target","status":"info","message":"Page canonicalizes to different URL","pageUrl":"https://nikcub.me/posts?page=4","value":"https://nikcub.me/posts"},{"name":"pagination-canonical","status":"warn","message":"Paginated page canonicalizes to non-paginated URL","pageUrl":"https://nikcub.me/posts?page=4","value":"Page 4 → https://nikcub.me/posts"},{"name":"pagination-links","status":"info","message":"No rel=next/prev links (optional)","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"url-length","status":"pass","message":"URL length is optimal (30 chars)","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts?page=4","value":"posts"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts?page=4","value":"Ensure consistency across site"},{"name":"url-parameters","status":"info","message":"URL has 1 parameter(s)","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"page"}]},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts?page=4","value":"Ensure tap targets are at least 44x44px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Verify body text is at least 16px"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts?page=4","value":"/privacy"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Required for GDPR compliance if using cookies"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding terms of service for legal protection"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding for local businesses"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding analytics to measure performance"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts?page=4"}],"security":{"isHttps":true,"hasMixedContent":false,"mixedContentUrls":[],"insecureFormActions":[],"headers":{"hsts":"max-age=63072000","csp":null,"xFrameOptions":"DENY","xContentTypeOptions":"nosniff","referrerPolicy":"strict-origin-when-cross-origin","permissionsPolicy":null,"xRobotsTag":null},"httpToHttpsRedirect":false},"responseHeaders":{"contentType":"text/html","contentEncoding":"br","cacheControl":"private, no-cache, no-store, max-age=0, must-revalidate","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch","etag":null,"server":"Vercel","lastModified":null,"link":"</_next/static/media/68d403cf9f2c68c5-s.p.f9f15f61.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\", </_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\"","serverTiming":null,"age":"0","xCache":null,"cfCacheStatus":null,"xVercelCache":"MISS","altSvc":null,"acceptRanges":null},"redirectChain":{"sourceUrl":"https://nikcub.me/posts?page=4","finalUrl":"https://nikcub.me/posts?page=4","hops":[{"url":"https://nikcub.me/posts?page=4","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}}],"summary":{"missingTitles":["https://nikcub.me/fb-headers.txt"],"missingDescriptions":["https://nikcub.me/fb-table.html","https://nikcub.me/fb-headers.txt","https://nikcub.me/feed.xml"],"missingOgTags":["https://nikcub.me/fb-table.html","https://nikcub.me/fb-headers.txt","https://nikcub.me/feed.xml"],"missingTwitterCards":["https://nikcub.me/fb-table.html","https://nikcub.me/fb-headers.txt","https://nikcub.me/feed.xml"],"missingSchemas":["https://nikcub.me/fb-table.html","https://nikcub.me/fb-headers.txt","https://nikcub.me/feed.xml"],"missingAltText":[],"multipleH1s":[],"thinContentPages":["https://nikcub.me/","https://nikcub.me/asides","https://nikcub.me/subscribe","https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","https://nikcub.me/posts/numeronym","https://nikcub.me/contact","https://nikcub.me/privacy","https://nikcub.me/tracking-cookie","https://nikcub.me/fb-table.html","https://nikcub.me/fb-headers.txt","https://nikcub.me/feed.xml","https://nikcub.me/posts?page=4"],"urlIssues":[],"redirectChains":[],"securityIssues":[]},"robotsTxt":{"exists":true,"url":"https://nikcub.me/robots.txt","content":"User-Agent: *\nAllow: /\n\nSitemap: https://nikcub.me/sitemap.xml\n","sizeBytes":63,"sitemaps":["https://nikcub.me/sitemap.xml"],"rules":[],"errors":[]},"sitemaps":{"discovered":[{"url":"https://nikcub.me/sitemap.xml","type":"urlset","urls":[{"loc":"https://nikcub.me","lastmod":"2026-02-02T12:28:40.922Z","changefreq":"weekly","priority":1},{"loc":"https://nikcub.me/posts","lastmod":"2026-02-02T12:28:40.922Z","changefreq":"weekly","priority":0.8},{"loc":"https://nikcub.me/asides","lastmod":"2026-02-02T12:28:40.922Z","changefreq":"weekly","priority":0.7},{"loc":"https://nikcub.me/subscribe","lastmod":"2026-02-02T12:28:40.922Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","lastmod":"2016-05-02T19:55:25.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","lastmod":"2014-12-03T16:13:03.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","lastmod":"2014-11-17T17:31:23.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/onymous-part1","lastmod":"2014-11-17T17:10:12.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","lastmod":"2014-09-14T14:41:46.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","lastmod":"2014-09-07T18:55:24.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","lastmod":"2014-09-02T19:40:28.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","lastmod":"2014-08-12T21:08:35.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","lastmod":"2014-08-07T01:00:19.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","lastmod":"2014-05-15T03:56:45.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/two-google-chrome-privacy-issues","lastmod":"2012-08-08T14:12:17.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","lastmod":"2012-05-24T04:16:17.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","lastmod":"2012-02-21T08:22:02.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","lastmod":"2012-02-21T04:40:52.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/facebook-is-losing-e-commerce","lastmod":"2012-02-19T02:45:12.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","lastmod":"2012-01-20T16:47:06.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","lastmod":"2011-12-25T11:37:14.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","lastmod":"2011-12-09T13:09:38.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/the-download-dot-con","lastmod":"2011-12-08T17:15:33.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/google-android-the-accidental-empire","lastmod":"2011-12-07T17:39:48.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/frictionless-browser-plugin","lastmod":"2011-12-04T21:02:09.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","lastmod":"2011-10-11T00:46:03.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","lastmod":"2011-10-08T07:31:40.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","lastmod":"2011-10-03T18:21:30.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","lastmod":"2011-10-02T07:20:31.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","lastmod":"2011-09-27T13:53:48.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","lastmod":"2011-09-25T08:09:52.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","lastmod":"2011-08-19T04:40:44.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","lastmod":"2011-07-06T21:06:08.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/numeronym","lastmod":"2011-04-07T08:46:21.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/pain-and-gain","lastmod":"2010-12-21T08:35:00.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/finding-a-technical-co-founder","lastmod":"2010-11-05T12:51:34.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","lastmod":"2010-11-04T14:07:06.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/the-google-ipo-skeptics","lastmod":"2010-11-03T03:49:50.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/relevance-time-for-twitter","lastmod":"2010-10-29T13:57:31.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","lastmod":"2010-10-27T09:20:57.000Z","changefreq":"monthly","priority":0.6},{"loc":"https://nikcub.me/about","lastmod":"2026-02-02T12:28:41.117Z","changefreq":"monthly","priority":0.5},{"loc":"https://nikcub.me/contact","lastmod":"2026-02-02T12:28:41.117Z","changefreq":"monthly","priority":0.5},{"loc":"https://nikcub.me/privacy","lastmod":"2026-02-02T12:28:41.117Z","changefreq":"monthly","priority":0.5},{"loc":"https://nikcub.me/tracking-cookie","lastmod":"2026-02-02T12:28:41.117Z","changefreq":"monthly","priority":0.5}],"childSitemaps":[],"errors":[],"urlCount":44}],"sources":{"robotsTxt":["https://nikcub.me/sitemap.xml"],"commonLocations":[]},"totalUrls":44,"orphanPages":[],"missingPages":["https://nikcub.me/fb-table.html","https://nikcub.me/fb-headers.txt","https://nikcub.me/feed.xml"],"failed":[]},"healthScore":{"overall":63,"categories":[{"category":"core","name":"Core SEO","score":79,"passed":428,"warnings":61,"failed":49,"total":538},{"category":"schema","name":"Structured Data","score":19,"passed":12,"warnings":0,"failed":36,"total":48},{"category":"a11y","name":"Accessibility","score":83,"passed":1376,"warnings":117,"failed":7,"total":1500},{"category":"content","name":"Content","score":81,"passed":270,"warnings":33,"failed":6,"total":309},{"category":"perf","name":"Performance","score":90,"passed":649,"warnings":134,"failed":0,"total":783},{"category":"images","name":"Images","score":93,"passed":300,"warnings":58,"failed":0,"total":358},{"category":"security","name":"Security","score":88,"passed":248,"warnings":50,"failed":0,"total":298},{"category":"links","name":"Links","score":81,"passed":353,"warnings":41,"failed":0,"total":394},{"category":"crawl","name":"Crawlability","score":94,"passed":113,"warnings":6,"failed":0,"total":119},{"category":"eeat","name":"E-E-A-T","score":83,"passed":6,"warnings":2,"failed":0,"total":8},{"category":"legal","name":"Legal Compliance","score":99,"passed":49,"warnings":1,"failed":0,"total":50},{"category":"url","name":"URL Structure","score":100,"passed":318,"warnings":1,"failed":0,"total":319},{"category":"i18n","name":"Internationalization","score":100,"passed":49,"warnings":0,"failed":0,"total":49},{"category":"mobile","name":"Mobile","score":100,"passed":194,"warnings":0,"failed":0,"total":194},{"category":"social","name":"Social Media","score":100,"passed":211,"warnings":0,"failed":0,"total":211}],"errorCount":98,"warningCount":504,"passedCount":4576,"debug":{"base":89,"curved":86,"penalties":23,"issuePenalty":23,"issueDensity":27}},"resourceSizes":{"css":[{"url":"https://nikcub.me/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R","status":200,"error":null,"contentType":"text/css; charset=utf-8","sizeBytes":11161,"sourcePages":["https://nikcub.me/","https://nikcub.me/posts","https://nikcub.me/asides","https://nikcub.me/subscribe","https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","https://nikcub.me/posts/onymous-part1","https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","https://nikcub.me/posts/notes-on-the-celebrity-data-theft","https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","https://nikcub.me/posts/two-google-chrome-privacy-issues","https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","https://nikcub.me/posts/facebook-is-losing-e-commerce","https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","https://nikcub.me/posts/google-firefox-chrome-lady-gaga","https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","https://nikcub.me/posts/the-download-dot-con","https://nikcub.me/posts/frictionless-browser-plugin","https://nikcub.me/posts/google-android-the-accidental-empire","https://nikcub.me/posts/lies-damn-lies-and-google-statistics","https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","https://nikcub.me/posts/pain-and-gain","https://nikcub.me/posts/numeronym","https://nikcub.me/posts/finding-a-technical-co-founder","https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","https://nikcub.me/posts/the-google-ipo-skeptics","https://nikcub.me/posts/relevance-time-for-twitter","https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","https://nikcub.me/contact","https://nikcub.me/about","https://nikcub.me/privacy","https://nikcub.me/tracking-cookie","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"]},{"url":"https://nikcub.me/_next/static/chunks/265585aabe611319.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R","status":200,"error":null,"contentType":"text/css; charset=utf-8","sizeBytes":1014,"sourcePages":["https://nikcub.me/","https://nikcub.me/posts","https://nikcub.me/asides","https://nikcub.me/subscribe","https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","https://nikcub.me/posts/onymous-part1","https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","https://nikcub.me/posts/notes-on-the-celebrity-data-theft","https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","https://nikcub.me/posts/two-google-chrome-privacy-issues","https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","https://nikcub.me/posts/facebook-is-losing-e-commerce","https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","https://nikcub.me/posts/google-firefox-chrome-lady-gaga","https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","https://nikcub.me/posts/the-download-dot-con","https://nikcub.me/posts/frictionless-browser-plugin","https://nikcub.me/posts/google-android-the-accidental-empire","https://nikcub.me/posts/lies-damn-lies-and-google-statistics","https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","https://nikcub.me/posts/pain-and-gain","https://nikcub.me/posts/numeronym","https://nikcub.me/posts/finding-a-technical-co-founder","https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","https://nikcub.me/posts/the-google-ipo-skeptics","https://nikcub.me/posts/relevance-time-for-twitter","https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","https://nikcub.me/contact","https://nikcub.me/about","https://nikcub.me/privacy","https://nikcub.me/tracking-cookie","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"]}],"images":[{"url":"https://nikcub.me/_next/image?url=%2Favatar.webp&w=128&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":3328,"sourcePages":["https://nikcub.me/","https://nikcub.me/posts","https://nikcub.me/asides","https://nikcub.me/subscribe","https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","https://nikcub.me/posts/onymous-part1","https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","https://nikcub.me/posts/notes-on-the-celebrity-data-theft","https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","https://nikcub.me/posts/two-google-chrome-privacy-issues","https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","https://nikcub.me/posts/facebook-is-losing-e-commerce","https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","https://nikcub.me/posts/google-firefox-chrome-lady-gaga","https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","https://nikcub.me/posts/the-download-dot-con","https://nikcub.me/posts/frictionless-browser-plugin","https://nikcub.me/posts/google-android-the-accidental-empire","https://nikcub.me/posts/lies-damn-lies-and-google-statistics","https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","https://nikcub.me/posts/pain-and-gain","https://nikcub.me/posts/numeronym","https://nikcub.me/posts/finding-a-technical-co-founder","https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","https://nikcub.me/posts/the-google-ipo-skeptics","https://nikcub.me/posts/relevance-time-for-twitter","https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","https://nikcub.me/contact","https://nikcub.me/about","https://nikcub.me/privacy","https://nikcub.me/tracking-cookie","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Fcraig_wright.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/webp","sizeBytes":21034,"sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2FChcGSpBUUAArMOs.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":56193,"sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"]},{"url":"https://nikcub.me/images/posts/Fund-20The-20Islamic-20Struggle-20Anonymously.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":44988,"sourcePages":["https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"]},{"url":"https://nikcub.me/images/posts/blockchain-tor.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":37930,"sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"]},{"url":"https://nikcub.me/images/posts/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf-20-page-2025-20of-2099-.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":29002,"sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"]},{"url":"https://nikcub.me/images/posts/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf-20-page-2069-20of-2099-.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":39762,"sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"]},{"url":"https://nikcub.me/images/posts/Screen-20Shot-202014-12-04-20at-202.00.01-20AM.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":54306,"sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2F60min-silkroad_export.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":54573,"sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2F60_screenshot_export.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":24346,"sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Ftweet_04_exported.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/webp","sizeBytes":13462,"sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Ftweet_03_exported.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":17750,"sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Ftweet_02_exported.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/webp","sizeBytes":12010,"sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Ftweet_01_exported.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":17889,"sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Fsr_reddit_screnshot.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":47986,"sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2FScreen_Shot_2014-09-03_at_6.22.13_AM.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/webp","sizeBytes":12194,"sourcePages":["https://nikcub.me/posts/notes-on-the-celebrity-data-theft"]},{"url":"https://nikcub.me/images/posts/Disqus-20-E2-80-B9-20nikcub-20test-20-E2-80-94-20WordPress.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":43112,"sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"]},{"url":"https://nikcub.me/images/posts/gqvpbGx.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":30626,"sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"]},{"url":"https://nikcub.me/images/posts/myGov-20-20Home.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":20790,"sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2F5909374213_cbae62eb55_m.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/webp","sizeBytes":4336,"sourcePages":["https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2F5909661385_79445883de_b.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/webp","sizeBytes":22218,"sourcePages":["https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Fyahoo-private-key.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":46631,"sourcePages":["https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Fyahoo-extension-disable.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":21520,"sourcePages":["https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"]},{"url":"https://nikcub.me/images/posts/image66.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":11136,"sourcePages":["https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"]},{"url":"https://nikcub.me/images/posts/20111225-pmyb3unhb18e2drdnyr1wuna5k.jpg-20class","status":200,"error":null,"contentType":"application/octet-stream","sizeBytes":52781,"sourcePages":["https://nikcub.me/posts/google-firefox-chrome-lady-gaga"]},{"url":"https://nikcub.me/images/posts/2689708043_3afee5af69_o.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":29334,"sourcePages":["https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Fdownload-dotcon.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":3061,"sourcePages":["https://nikcub.me/posts/the-download-dot-con"]},{"url":"https://nikcub.me/images/posts/promo.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":4630,"sourcePages":["https://nikcub.me/posts/frictionless-browser-plugin"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Ffacebook-reenable01.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/webp","sizeBytes":39454,"sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Ffacebook-reenable02.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":13067,"sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"]},{"url":"https://nikcub.me/images/posts/5909374213_cbae62eb55_m.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":4336,"sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"]},{"url":"https://nikcub.me/images/posts/5909661385_79445883de_b.webp","status":200,"error":null,"contentType":"image/webp","sizeBytes":22218,"sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"]},{"url":"https://nikcub.me/_next/image?url=%2Fimages%2Fposts%2Fnik.profile.webp&w=1920&q=75","status":200,"error":null,"contentType":"image/jpeg","sizeBytes":32017,"sourcePages":["https://nikcub.me/about"]}]},"sitemapUrlStatuses":[],"ruleResults":{"a11y/accesskeys":{"meta":{"id":"a11y/accesskeys","name":"Access Keys","description":"Checks that accesskey values are unique","solution":"Access keys provide keyboard shortcuts for elements. Duplicate access keys cause only one to work, confusing users. Ensure each accesskey value is unique. Consider whether access keys are necessary at all, as they can conflict with browser/OS shortcuts.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/asides"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/subscribe"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/contact"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/about"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/privacy"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"accesskeys","status":"info","message":"No access keys defined","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-allowed-attr":{"meta":{"id":"a11y/aria-allowed-attr","name":"ARIA Allowed Attributes","description":"Checks that ARIA attributes are allowed on their elements","solution":"Some ARIA attributes are not appropriate for certain roles or elements. For example, role='presentation' should not have aria-label since it removes semantic meaning. Remove conflicting attributes or reconsider the element's role.","category":"a11y","scope":"page","severity":"warning","weight":6},"checks":[{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/asides"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/contact"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/about"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-allowed-attr","status":"pass","message":"All ARIA attributes are appropriate for their elements","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-command-name":{"meta":{"id":"a11y/aria-command-name","name":"ARIA Command Name","description":"Checks that command elements have accessible names","solution":"Command elements (buttons, links, menu items) must have accessible names. Add text content, aria-label, aria-labelledby, or title attribute. For icon-only buttons, use aria-label to describe the action (e.g., aria-label='Close').","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/asides"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-command-name","status":"fail","message":"1 command element(s) without accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"a[href=\"https://www.facebook.com/setti...\"]"}]},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/contact"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/about"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-command-name","status":"pass","message":"All command elements have accessible names","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-deprecated-role":{"meta":{"id":"a11y/aria-deprecated-role","name":"Deprecated ARIA Roles","description":"Checks for deprecated or abstract ARIA roles","solution":"Avoid deprecated or abstract ARIA roles. Use the recommended alternatives. Abstract roles are never meant to be used directly - they're base types that other roles extend. Replace with specific, concrete roles.","category":"a11y","scope":"page","severity":"error","weight":6},"checks":[{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/about"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-deprecated-role","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-dialog-name":{"meta":{"id":"a11y/aria-dialog-name","name":"ARIA Dialog Name","description":"Checks that dialog elements have accessible names","solution":"Elements with role='dialog' or role='alertdialog' (and native <dialog>) must have an accessible name. Add aria-label with a descriptive label, or use aria-labelledby pointing to a visible heading inside the dialog. A title attribute also works but is less preferred. Without a name, screen reader users won't know the purpose of the dialog.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-dialog-name","status":"info","message":"No dialog elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-hidden-body":{"meta":{"id":"a11y/aria-hidden-body","name":"ARIA Hidden Body","description":"Ensures document body is not set to aria-hidden","solution":"Never set aria-hidden='true' on the <body> element. This makes the entire page invisible to assistive technology. If you need to hide content when a modal is open, add aria-hidden to sibling elements of the modal, not to body.","category":"a11y","scope":"page","severity":"error","weight":10},"checks":[{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/asides"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/contact"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/about"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-hidden-body","status":"pass","message":"Document body is not hidden from assistive technology","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-hidden-focus":{"meta":{"id":"a11y/aria-hidden-focus","name":"ARIA Hidden Focus","description":"Ensures aria-hidden elements do not contain focusable content","solution":"Elements with aria-hidden='true' should not contain focusable content. When an element is hidden from assistive technology but still focusable, keyboard users can tab to it but screen reader users won't know what they're interacting with. Either remove aria-hidden or make children non-focusable with tabindex='-1'.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-hidden-focus","status":"info","message":"No aria-hidden elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-input-field-name":{"meta":{"id":"a11y/aria-input-field-name","name":"ARIA Input Field Name","description":"Checks that input fields have accessible names","solution":"All input fields need accessible names. Best options: 1) Use <label for='inputId'>. 2) Use aria-label or aria-labelledby. 3) Wrap input in <label>. Placeholder alone is not sufficient as it disappears when typing.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/asides"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/contact"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/about"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-input-field-name","status":"pass","message":"All input fields have accessible names","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-labels":{"meta":{"id":"a11y/aria-labels","name":"ARIA Labels","description":"Checks that interactive elements have accessible names","solution":"All interactive elements (buttons, links, inputs) need accessible names for screen readers. Use: visible text content, aria-label for icon-only buttons, aria-labelledby to reference existing text, or the title attribute as a fallback. Icon buttons especially need aria-label: <button aria-label='Close'>×</button>. Test with a screen reader or browser accessibility inspector.","category":"a11y","scope":"page","severity":"error","weight":6},"checks":[{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/asides","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/subscribe","details":{"buttonsChecked":2}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"buttonsChecked":2}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"buttonsChecked":2}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/numeronym","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/contact","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/about","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/privacy","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/tracking-cookie","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=2","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=1","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=3","details":{"buttonsChecked":1}},{"name":"aria-buttons","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=4","details":{"buttonsChecked":1}}]},"a11y/aria-meter-name":{"meta":{"id":"a11y/aria-meter-name","name":"ARIA Meter Name","description":"Checks that meter elements have accessible names","solution":"Meter elements must have accessible names to describe what they're measuring. Add aria-label, aria-labelledby, or an associated <label>. Example: <meter aria-label='Battery level' value='0.8'>80%</meter>","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-meter-name","status":"info","message":"No meter elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-progressbar-name":{"meta":{"id":"a11y/aria-progressbar-name","name":"ARIA Progressbar Name","description":"Checks that progressbar elements have accessible names","solution":"Progressbar elements must have accessible names to describe what process is being tracked. Add aria-label, aria-labelledby, or an associated <label>. Example: <progress aria-label='Upload progress' value='50' max='100'>50%</progress>","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-progressbar-name","status":"info","message":"No progressbar elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-required-attr":{"meta":{"id":"a11y/aria-required-attr","name":"ARIA Required Attributes","description":"Checks that elements have required ARIA attributes for their roles","solution":"Some ARIA roles require specific attributes to be present. For example, role='checkbox' requires aria-checked, role='slider' requires aria-valuenow. Add the missing required attributes with appropriate values.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/about"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-required-attr","status":"info","message":"No elements with ARIA roles found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-required-children":{"meta":{"id":"a11y/aria-required-children","name":"ARIA Required Children","description":"Checks that elements with certain roles have required child roles","solution":"Some ARIA roles require specific child roles. For example, role='list' must contain role='listitem', role='menu' must contain menu items. Add the required child elements with appropriate roles.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/asides"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/contact"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/about"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-required-children","status":"pass","message":"All elements have required child roles","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-required-parent":{"meta":{"id":"a11y/aria-required-parent","name":"ARIA Required Parent","description":"Checks that elements with certain roles have required parent roles","solution":"Some ARIA roles must be contained within specific parent roles. For example, role='listitem' must be within role='list', role='option' must be within role='listbox'. Restructure your markup to ensure proper parent-child relationships.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/asides"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/contact"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/about"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-required-parent","status":"pass","message":"All elements have required parent roles","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-roles":{"meta":{"id":"a11y/aria-roles","name":"ARIA Valid Roles","description":"Checks for valid ARIA role values","solution":"Use only valid ARIA role values as defined in the WAI-ARIA specification. Common mistakes include using made-up roles or misspelling valid roles. Roles are case-sensitive and must be lowercase. Multiple roles can be specified, separated by spaces, but the first valid role is used.","category":"a11y","scope":"page","severity":"error","weight":8},"checks":[{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/about"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-roles","status":"info","message":"No ARIA roles found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-text":{"meta":{"id":"a11y/aria-text","name":"ARIA Text","description":"Checks that elements with role='text' have no focusable descendants","solution":"Elements with role='text' tell screen readers to treat the content as a single text string. If focusable elements (links, buttons, inputs) are nested inside, screen reader users cannot interact with them properly. Remove role='text' from the parent, or restructure so focusable elements are outside the role='text' container.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/about"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-text","status":"info","message":"No elements with role=\"text\" found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-toggle-field-name":{"meta":{"id":"a11y/aria-toggle-field-name","name":"ARIA Toggle Field Name","description":"Checks that toggle fields (checkbox, radio, switch) have accessible names","solution":"Toggle fields need accessible names to describe what they control. Use <label for='id'>, aria-label, aria-labelledby, or wrap in <label>. Example: <label><input type='checkbox'> Subscribe to newsletter</label>","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/asides"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/contact"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/about"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-toggle-field-name","status":"pass","message":"All toggle fields have accessible names","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-tooltip-name":{"meta":{"id":"a11y/aria-tooltip-name","name":"ARIA Tooltip Name","description":"Checks that tooltip elements have accessible names","solution":"Tooltip elements with role='tooltip' must have accessible content. The tooltip content serves as its accessible name. Ensure tooltips have text content or use aria-label for icon-based tooltips.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-tooltip-name","status":"info","message":"No tooltip elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-treeitem-name":{"meta":{"id":"a11y/aria-treeitem-name","name":"ARIA Treeitem Name","description":"Checks that treeitem elements have accessible names","solution":"Treeitem elements must have accessible names. Add text content, aria-label, or aria-labelledby. The text content within the treeitem typically serves as its name.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/asides"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/contact"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/about"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-treeitem-name","status":"info","message":"No treeitem elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-valid-attr":{"meta":{"id":"a11y/aria-valid-attr","name":"ARIA Valid Attributes","description":"Checks for valid ARIA attribute names","solution":"Use only valid ARIA attribute names as defined in the WAI-ARIA specification. Common typos include 'aria-labeledby' (should be 'aria-labelledby'), 'aria-role' (should be 'role'), and 'aria-description' vs 'aria-describedby'. Consult MDN or the WAI-ARIA spec for the complete list of valid attributes.","category":"a11y","scope":"page","severity":"error","weight":8},"checks":[{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/asides"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/contact"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/about"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-valid-attr","status":"pass","message":"All ARIA attributes are valid","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/aria-valid-attr-value":{"meta":{"id":"a11y/aria-valid-attr-value","name":"ARIA Valid Attribute Values","description":"Checks for valid values in ARIA attributes","solution":"Ensure ARIA attribute values match the expected type. Boolean attributes should be 'true' or 'false'. Enumerated attributes like aria-current have specific allowed values. Numeric attributes like aria-level must be numbers. Check the WAI-ARIA specification for valid values.","category":"a11y","scope":"page","severity":"error","weight":8},"checks":[{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/asides"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/subscribe"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/contact"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/about"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/privacy"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"aria-valid-attr-value","status":"pass","message":"All ARIA attribute values are valid","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/button-name":{"meta":{"id":"a11y/button-name","name":"Button Name","description":"Checks that all buttons have accessible names","solution":"Buttons must have accessible names. Options: 1) Add text content inside the button. 2) Use aria-label for icon buttons. 3) Use aria-labelledby to reference visible text. 4) Use title attribute (less preferred). For <input type='button'>, use the value attribute.","category":"a11y","scope":"page","severity":"error","weight":8},"checks":[{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/asides","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/subscribe","details":{"buttonsChecked":2}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"buttonsChecked":2}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"buttonsChecked":2}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/numeronym","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/contact","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/about","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/privacy","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/tracking-cookie","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=2","details":{"buttonsChecked":1}},{"name":"button-name","status":"info","message":"No buttons found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=1","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=3","details":{"buttonsChecked":1}},{"name":"button-name","status":"pass","message":"All buttons have accessible names","pageUrl":"https://nikcub.me/posts?page=4","details":{"buttonsChecked":1}}]},"a11y/color-contrast":{"meta":{"id":"a11y/color-contrast","name":"Color Contrast","description":"Checks for color contrast issues in styles and classes","solution":"Text must have sufficient contrast with its background for readability. WCAG AA requires 4.5:1 for normal text and 3:1 for large text (18px+ or 14px+ bold). Use tools like WebAIM Contrast Checker to verify. Common issues: light gray text, text over images without overlay. Don't rely on color alone to convey information - add icons or text labels.","category":"a11y","scope":"page","severity":"warning","weight":5},"checks":[{"name":"color-contrast","status":"warn","message":"10 potential color contrast issue(s)","pageUrl":"https://nikcub.me/","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"mt-4 inline-flex items-center ...\" may have low contrast"},{"id":"h2 with class \"text-xs font-medium uppercase ...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"a with class \"mt-8 inline-flex items-center ...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":20,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":31,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/asides","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":9,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"input with class \"h-11 flex-1 rounded-sm border ...\" may have low contrast"},{"id":"p with class \"mt-3 text-xs text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mb-4 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-xs text-muted-foreground ...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":15,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"color-contrast","status":"warn","message":"10 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":12,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":16,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":11,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":11,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":12,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":12,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":9,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":11,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"9 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"figcaption with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":12,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"div with class \"mb-6 flex flex-wrap items-cent...\" may have low contrast"},{"id":"p with class \"mb-8 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"mt-12 inline-flex items-center...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/contact","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"a with class \"flex items-center gap-3 text-s...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":13,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"8 potential color contrast issue(s)","pageUrl":"https://nikcub.me/about","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mt-2 text-center text-sm text-...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":10,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/privacy","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":9,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"7 potential color contrast issue(s)","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-4 text-lg text-muted-foregr...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"},{"id":"div with class \"flex flex-col gap-4 text-sm te...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":9,"cssIssues":0,"patternIssues":0}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":31,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"color-contrast","status":"warn","message":"2 potential color contrast issue(s)","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"White text (verify background): 2 instance(s)"},{"id":"Very light text color: 1 instance(s)"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":0,"cssIssues":0,"patternIssues":2}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":31,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":32,"cssIssues":0,"patternIssues":0,"additional":1}},{"name":"color-contrast","status":"warn","message":"11 potential color contrast issue(s)","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"p with class \"mt-1 text-sm text-muted-foregr...\" may have low contrast"},{"id":"a with class \"text-muted-foreground transiti...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-2...\" may have low contrast"},{"id":"p with class \"mt-2 text-muted-foreground...\" may have low contrast"},{"id":"p with class \"text-[15px] leading-relaxed te...\" may have low contrast"},{"id":"div with class \"flex items-center gap-3 text-x...\" may have low contrast"},{"id":"div with class \"text-sm text-muted-foreground...\" may have low contrast"},{"id":"a with class \"inline-flex items-center gap-1...\" may have low contrast"},{"id":"p with class \"mt-2 text-sm text-muted-foregr...\" may have low contrast"},{"id":"input with class \"h-10 rounded-sm border border-...\" may have low contrast"}],"details":{"note":"WCAG AA requires 4.5:1 for normal text, 3:1 for large text","inlineIssues":0,"classBasedIssues":23,"cssIssues":0,"patternIssues":0,"additional":1}}]},"a11y/definition-list":{"meta":{"id":"a11y/definition-list","name":"Definition List Structure","description":"Checks that definition lists contain only dt and dd elements","solution":"Definition lists (<dl>) should only contain <dt> (term) and <dd> (description) elements as direct children. Optionally, they can be wrapped in <div> for styling. Do not put other elements like <p>, <span>, or <li> directly inside <dl>.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/asides"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/subscribe"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/contact"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/about"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/privacy"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"definition-list","status":"info","message":"No definition lists found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/dlitem":{"meta":{"id":"a11y/dlitem","name":"Definition List Item","description":"Checks that dt and dd elements are inside a dl","solution":"The <dt> and <dd> elements must be contained within a <dl> (definition list). Move orphaned dt/dd elements inside a <dl> container.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/asides"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/contact"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/about"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"dlitem","status":"info","message":"No dt/dd elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/duplicate-id-active":{"meta":{"id":"a11y/duplicate-id-active","name":"Duplicate ID Active","description":"Checks that active, focusable elements have unique IDs","solution":"Duplicate IDs on focusable elements (links, buttons, inputs) break keyboard navigation and label associations. Browsers only recognize the first element with a given ID, so labels, focus management, and ARIA references will target the wrong element. Ensure every focusable element with an id attribute has a unique value.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/asides","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/subscribe","details":{"idsChecked":2}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"idsChecked":2}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/numeronym","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"idsChecked":2}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/contact","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/about","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/privacy","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/tracking-cookie","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts?page=2","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"info","message":"No focusable elements with IDs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts?page=1","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts?page=3","details":{"idsChecked":1}},{"name":"duplicate-id-active","status":"pass","message":"All focusable elements have unique IDs","pageUrl":"https://nikcub.me/posts?page=4","details":{"idsChecked":1}}]},"a11y/duplicate-id-aria":{"meta":{"id":"a11y/duplicate-id-aria","name":"Duplicate ID ARIA","description":"Checks that IDs used in ARIA attributes are unique","solution":"IDs referenced by ARIA attributes (aria-labelledby, aria-describedby, aria-controls, etc.) must be unique on the page. Duplicate IDs cause assistive technology to potentially reference the wrong element. Rename duplicate IDs to be unique.","category":"a11y","scope":"page","severity":"error","weight":8},"checks":[{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/asides"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/subscribe"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"a11y/duplicate-id-aria-error","status":"fail","message":"Rule error: CSS is not defined","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"a11y/duplicate-id-aria-error","status":"fail","message":"Rule error: CSS is not defined","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/contact"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/about"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/privacy"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"duplicate-id-aria","status":"info","message":"No ARIA ID references found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/empty-heading":{"meta":{"id":"a11y/empty-heading","name":"Empty Headings","description":"Checks that heading elements have visible content","solution":"Headings (h1-h6) must have text content for screen readers to announce. Empty headings create confusing navigation. Either add text content, use aria-label, or remove the empty heading element.","category":"a11y","scope":"page","severity":"warning","weight":5},"checks":[{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/","details":{"headingsChecked":7}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts","details":{"headingsChecked":11}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/asides","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/subscribe","details":{"headingsChecked":3}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"headingsChecked":6}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"headingsChecked":9}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"headingsChecked":3}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"headingsChecked":3}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"headingsChecked":3}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"headingsChecked":5}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"headingsChecked":7}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"headingsChecked":5}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"headingsChecked":4}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"headingsChecked":2}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"headingsChecked":4}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"headingsChecked":2}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"headingsChecked":6}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"headingsChecked":7}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"headingsChecked":4}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"headingsChecked":4}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"headingsChecked":5}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"headingsChecked":5}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"headingsChecked":2}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"headingsChecked":5}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/numeronym","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"headingsChecked":7}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"headingsChecked":9}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"headingsChecked":2}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"headingsChecked":3}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/contact","details":{"headingsChecked":4}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/about","details":{"headingsChecked":6}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/privacy","details":{"headingsChecked":6}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/tracking-cookie","details":{"headingsChecked":5}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts?page=2","details":{"headingsChecked":11}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/fb-table.html","details":{"headingsChecked":1}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts?page=1","details":{"headingsChecked":11}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts?page=3","details":{"headingsChecked":11}},{"name":"empty-heading","status":"pass","message":"All headings have content","pageUrl":"https://nikcub.me/posts?page=4","details":{"headingsChecked":7}}]},"a11y/focus-visible":{"meta":{"id":"a11y/focus-visible","name":"Focus Visible","description":"Checks for focus indicator styles","solution":"Keyboard users need visible focus indicators to know where they are on the page. Never use outline: none without providing an alternative focus style. Modern approach: use :focus-visible to show focus only for keyboard users, not mouse clicks. Ensure focus indicators have at least 3:1 contrast. Test by tabbing through your page - can you always see where focus is?","category":"a11y","scope":"page","severity":"warning","weight":5},"checks":[{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/asides"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/subscribe"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/contact"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/about"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/privacy"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"focus-visible","status":"info","message":"Focus styles not analyzed (requires CSS inspection)","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/form-field-multiple-labels":{"meta":{"id":"a11y/form-field-multiple-labels","name":"Multiple Labels","description":"Checks that form fields don't have multiple labels","solution":"Form inputs should have only one associated label. Multiple labels can confuse assistive technology. If you need multiple text descriptions, use aria-describedby for supplementary text instead of multiple labels.","category":"a11y","scope":"page","severity":"warning","weight":5},"checks":[{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/asides","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/subscribe","details":{"inputsChecked":2}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/numeronym","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/contact","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/about","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/privacy","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/tracking-cookie","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts?page=2","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"info","message":"No form inputs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts?page=1","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts?page=3","details":{"inputsChecked":1}},{"name":"form-field-multiple-labels","status":"pass","message":"No inputs have multiple labels","pageUrl":"https://nikcub.me/posts?page=4","details":{"inputsChecked":1}}]},"a11y/form-labels":{"meta":{"id":"a11y/form-labels","name":"Form Labels","description":"Checks that form inputs have associated labels","solution":"Every form input needs an accessible label for screen readers. Options: 1) Use <label for='inputId'>Label</label> with matching id. 2) Wrap the input inside <label>Label <input></label>. 3) Use aria-label or aria-labelledby for inputs where visible labels aren't feasible. Placeholders are not sufficient substitutes for labels. Hidden inputs, submit buttons, and image buttons don't need labels.","category":"a11y","scope":"page","severity":"error","weight":6},"checks":[{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/asides","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/subscribe","details":{"inputsChecked":2}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/numeronym","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/contact","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/about","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/privacy","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/tracking-cookie","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts?page=2","details":{"inputsChecked":1}},{"name":"form-labels","status":"info","message":"No form inputs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts?page=1","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts?page=3","details":{"inputsChecked":1}},{"name":"form-labels","status":"pass","message":"All form inputs have labels","pageUrl":"https://nikcub.me/posts?page=4","details":{"inputsChecked":1}}]},"a11y/frame-title":{"meta":{"id":"a11y/frame-title","name":"Frame Title","description":"Checks that iframes and frames have title attributes","solution":"All iframes must have a title attribute describing their content. This helps screen reader users understand what the iframe contains. Example: <iframe src='video.html' title='Product demo video'>","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/asides"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/subscribe"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"frame-title","status":"fail","message":"2 iframe(s) without title attribute","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"iframe (www.scribd.com)"},{"id":"iframe (www.scribd.com)"}]},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/contact"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/about"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/privacy"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"frame-title","status":"info","message":"No iframes found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/heading-order":{"meta":{"id":"a11y/heading-order","name":"Heading Order","description":"Checks that heading levels don't skip","solution":"Headings should follow a logical hierarchy without skipping levels. Screen reader users navigate by headings, so skipping from H1 to H3 is confusing. Correct order: H1 -> H2 -> H3 (not H1 -> H3). You can have multiple headings at the same level, and you can go back up (H3 -> H2 is fine). Think of headings as an outline - they should make sense when read alone.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/","details":{"headingsChecked":7}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts","details":{"headingsChecked":11}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/asides","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/subscribe","details":{"headingsChecked":3}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"headingsChecked":6}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"headingsChecked":9}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"headingsChecked":3}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"headingsChecked":3}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"headingsChecked":3}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"headingsChecked":5}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"headingsChecked":7}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"headingsChecked":5}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"headingsChecked":4}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"headingsChecked":2}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"headingsChecked":4}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"headingsChecked":2}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"headingsChecked":6}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"headingsChecked":7}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"headingsChecked":4}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"headingsChecked":4}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"headingsChecked":5}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"headingsChecked":5}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"headingsChecked":2}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"headingsChecked":5}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/numeronym","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"headingsChecked":7}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"headingsChecked":9}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"headingsChecked":2}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"headingsChecked":3}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/contact","details":{"headingsChecked":4}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/about","details":{"headingsChecked":6}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/privacy","details":{"headingsChecked":6}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/tracking-cookie","details":{"headingsChecked":5}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts?page=2","details":{"headingsChecked":11}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/fb-table.html","details":{"headingsChecked":1}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts?page=1","details":{"headingsChecked":11}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts?page=3","details":{"headingsChecked":11}},{"name":"heading-order","status":"pass","message":"Heading levels follow correct order","pageUrl":"https://nikcub.me/posts?page=4","details":{"headingsChecked":7}}]},"a11y/html-lang-valid":{"meta":{"id":"a11y/html-lang-valid","name":"HTML Lang Valid","description":"Checks that the html lang attribute has a valid language code","solution":"The lang attribute on <html> should be a valid BCP 47 language tag. Use two-letter ISO 639-1 codes like 'en' for English, 'es' for Spanish, 'fr' for French. You can add region subtags like 'en-US' or 'en-GB'. This helps screen readers use correct pronunciation.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/asides","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/subscribe","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/numeronym","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/contact","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/about","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/privacy","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/tracking-cookie","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts?page=2","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/fb-table.html","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts?page=1","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts?page=3","value":"en"},{"name":"html-lang-valid","status":"pass","message":"Valid lang attribute: \"en\"","pageUrl":"https://nikcub.me/posts?page=4","value":"en"}]},"a11y/html-xml-lang-mismatch":{"meta":{"id":"a11y/html-xml-lang-mismatch","name":"HTML XML Lang Mismatch","description":"Checks that lang and xml:lang attributes match on html element","solution":"If both lang and xml:lang are present on the <html> element, they must have the same base language. Mismatches can cause screen readers to announce content in the wrong language. Typically, you only need lang for HTML5 documents.","category":"a11y","scope":"page","severity":"error","weight":6},"checks":[{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/asides"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/subscribe"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/contact"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/about"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/privacy"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"html-xml-lang-mismatch","status":"info","message":"Only lang attribute present (recommended for HTML5)","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/identical-links-same-purpose":{"meta":{"id":"a11y/identical-links-same-purpose","name":"Identical Links Same Purpose","description":"Checks that links with identical text go to the same destination","solution":"Links with the same visible text should go to the same URL. When identical link text leads to different destinations, it confuses screen reader users who navigate by listing links. Make link text unique or more descriptive to differentiate destinations.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/asides"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/subscribe"},{"name":"identical-links-same-purpose","status":"warn","message":"2 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"\"wired\" → 3 different URLs"},{"id":"\"the bbc\" → 2 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"identical-links-same-purpose","status":"warn","message":"2 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"\"chrome\" → 2 different URLs"},{"id":"\"firefox\" → 2 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"identical-links-same-purpose","status":"warn","message":"1 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"\"spec\" → 3 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"identical-links-same-purpose","status":"warn","message":"1 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"\"twitter\" → 2 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"identical-links-same-purpose","status":"warn","message":"1 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"\"twitter\" → 2 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/contact"},{"name":"identical-links-same-purpose","status":"warn","message":"1 link text(s) lead to different destinations","pageUrl":"https://nikcub.me/about","items":[{"id":"\"github\" → 4 different URLs"}],"details":{"suggestion":"Make link text unique to differentiate destinations"}},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/privacy"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"identical-links-same-purpose","status":"info","message":"No links found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"identical-links-same-purpose","status":"pass","message":"Identical link texts go to same destinations","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/image-redundant-alt":{"meta":{"id":"a11y/image-redundant-alt","name":"Redundant Image Alt","description":"Checks that image alt text is not redundant with surrounding text","solution":"Image alt text should not start with 'image of', 'photo of', 'picture of', etc. Screen readers already announce that it's an image. Alt text should describe the content or function, not state the obvious. Also avoid duplicating adjacent text in the alt.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/asides","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/subscribe","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"\"Craig Wright's tweet...\" duplicates figcaption"}]},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"imagesChecked":2}},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"alt=\"blockchain-tor\" matches filename"}]},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"warn","message":"6 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"\"60 minutes silk road...\" duplicates figcaption"},{"id":"\"\"60_screenshot_expor...\" duplicates figcaption"},{"id":"\"\"tweet_04_exported\"...\" duplicates figcaption"},{"id":"\"\"tweet_03_exported\"...\" duplicates figcaption"},{"id":"\"\"tweet_02_exported\"...\" duplicates figcaption"},{"id":"\"\"tweet_01_exported\"...\" duplicates figcaption"}]},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"\"\"sr_reddit_screnshot...\" duplicates figcaption"}]},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"\"ransomware...\" duplicates figcaption"}]},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"imagesChecked":2}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"imagesChecked":3}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"warn","message":"2 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"\"Google Plus logo wid...\" duplicates figcaption"},{"id":"\"blockplus demo...\" duplicates figcaption"}]},{"name":"image-redundant-alt","status":"warn","message":"2 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"\"yahoo private key...\" duplicates figcaption"},{"id":"\"disable yahoo extens...\" duplicates figcaption"}]},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"imagesChecked":2}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"imagesChecked":2}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"imagesChecked":2}},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"\"download dot con...\" duplicates figcaption"}]},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"imagesChecked":2}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"warn","message":"1 image(s) with redundant alt text","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"\"facbeook datr cookie...\" duplicates figcaption"}]},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"imagesChecked":3}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/numeronym","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/contact","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/about","details":{"imagesChecked":2}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/privacy","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/tracking-cookie","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts?page=2","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"info","message":"No images with alt text found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts?page=1","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts?page=3","details":{"imagesChecked":1}},{"name":"image-redundant-alt","status":"pass","message":"No redundant image alt text found","pageUrl":"https://nikcub.me/posts?page=4","details":{"imagesChecked":1}}]},"a11y/input-image-alt":{"meta":{"id":"a11y/input-image-alt","name":"Input Image Alt","description":"Checks that input type='image' elements have alt text","solution":"Image inputs (input type='image') are submit buttons that use an image. They must have alt text describing the button's action. Example: <input type='image' src='submit.png' alt='Submit form'>","category":"a11y","scope":"page","severity":"error","weight":8},"checks":[{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/asides"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/subscribe"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/contact"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/about"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/privacy"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"input-image-alt","status":"info","message":"No image inputs found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/label-content-name-mismatch":{"meta":{"id":"a11y/label-content-name-mismatch","name":"Label Content Name Mismatch","description":"Checks that visible label text is part of accessible name","solution":"For controls with visible labels, the accessible name should contain the visible text. Voice control users say what they see - if the accessible name doesn't include the visible label, voice commands won't work. Example: A button showing 'Search' should not have aria-label='Find products'.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/asides"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/subscribe"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"label-content-name-mismatch","status":"fail","message":"1 element(s) where visible text doesn't match accessible name","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"a: visible=\"↩\" vs aria-label=\"back to reference 1\""}],"details":{"issue":"Voice control users may not be able to activate these controls"}},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"label-content-name-mismatch","status":"fail","message":"1 element(s) where visible text doesn't match accessible name","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"a: visible=\"↩\" vs aria-label=\"back to reference 1\""}],"details":{"issue":"Voice control users may not be able to activate these controls"}},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/contact"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/about"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/privacy"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"label-content-name-mismatch","status":"info","message":"No elements with aria-label and visible text found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/landmark-one-main":{"meta":{"id":"a11y/landmark-one-main","name":"One Main Landmark","description":"Checks that the page has exactly one main landmark","solution":"Each page should have exactly one <main> element or element with role='main'. This helps screen reader users quickly navigate to the primary content. Multiple main landmarks confuse navigation. Use <aside>, <nav>, or other landmarks for secondary content.","category":"a11y","scope":"page","severity":"warning","weight":5},"checks":[{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/asides"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/subscribe"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/contact"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/about"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/privacy"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"landmark-one-main","status":"warn","message":"Page has no main landmark","pageUrl":"https://nikcub.me/fb-table.html","expected":"One <main> element or role='main'"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"landmark-one-main","status":"pass","message":"Page has exactly one main landmark","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/landmark-regions":{"meta":{"id":"a11y/landmark-regions","name":"Landmark Regions","description":"Checks for proper landmark regions (main, nav, footer)","solution":"Landmark regions help screen reader users navigate page structure. Use semantic HTML5 elements: <main> for primary content, <nav> for navigation, <header> for page header, <footer> for footer, <aside> for sidebars, and <section>/<article> for content sections. Alternatively, use ARIA roles: role='main', role='navigation', etc. Each page should have exactly one <main> element.","category":"a11y","scope":"page","severity":"info","weight":3},"checks":[{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/asides"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/asides"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/asides"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/subscribe"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/subscribe"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/subscribe"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/contact"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/contact"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/contact"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/about"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/about"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/about"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/privacy"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/privacy"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/privacy"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"landmark-main","status":"warn","message":"No <main> landmark found","pageUrl":"https://nikcub.me/fb-table.html","value":"Add <main> element around primary content"},{"name":"landmark-nav","status":"info","message":"No <nav> landmark found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"landmark-footer","status":"info","message":"No <footer> landmark found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"landmark-main","status":"pass","message":"Main landmark present","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"landmark-nav","status":"pass","message":"1 navigation landmark(s) found","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"landmark-footer","status":"pass","message":"Footer landmark present","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/link-in-text-block":{"meta":{"id":"a11y/link-in-text-block","name":"Link in Text Block","description":"Checks that links in text blocks are visually distinguishable","solution":"Links within text blocks must be distinguishable by more than just color (for color-blind users). Use underlines, bold, borders, or other visual indicators. Exception: Links can rely on color alone if the contrast ratio between link and surrounding text is at least 3:1 and you provide additional cues on hover/focus.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/asides"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/subscribe"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"linksChecked":48}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"linksChecked":2}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"linksChecked":34}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"linksChecked":16}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"linksChecked":14}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"linksChecked":27}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"linksChecked":9}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"linksChecked":9}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"linksChecked":7}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"linksChecked":9}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"linksChecked":4}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"linksChecked":3}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"linksChecked":8}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"linksChecked":8}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"linksChecked":3}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"linksChecked":4}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"linksChecked":6}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"linksChecked":7}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"linksChecked":7}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"linksChecked":8}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"linksChecked":5}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"linksChecked":8}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"linksChecked":4}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"linksChecked":11}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"linksChecked":14}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"linksChecked":7}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"linksChecked":12}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"linksChecked":6}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"linksChecked":3}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"linksChecked":4}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/numeronym","details":{"linksChecked":2}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"linksChecked":19}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"linksChecked":32}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"linksChecked":7}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"linksChecked":6}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"linksChecked":6}},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/contact"},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/about","details":{"linksChecked":39}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/privacy","details":{"linksChecked":1}},{"name":"link-in-text-block","status":"pass","message":"Links in text blocks appear distinguishable","pageUrl":"https://nikcub.me/tracking-cookie","details":{"linksChecked":2}},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"link-in-text-block","status":"info","message":"No links found in text blocks","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/link-text":{"meta":{"id":"a11y/link-text","name":"Link Text","description":"Checks for descriptive link text","solution":"Link text should describe the destination, not generic phrases like 'click here'. Screen reader users often navigate by links, hearing them out of context. Good: 'View our pricing plans'. Bad: 'Click here'. For icon-only links, add aria-label: <a href='/search' aria-label='Search'><svg>...</svg></a>. Empty links are especially problematic - add text or aria-label.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"2 link(s) with generic text","pageUrl":"https://nikcub.me/posts","items":[{"id":"subscribe"},{"id":"next"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/asides","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"subscribe"}]},{"name":"link-text-empty","status":"fail","message":"1 link(s) with no accessible text","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"https://www.facebook.com/settings/?tab=privacy","label":"empty"}],"details":{"reasons":["empty"]}},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"2 link(s) with generic text","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"subscribe"},{"id":"here"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/contact","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/about","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/privacy","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"1 link(s) with generic text","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"subscribe"}]},{"name":"link-text-generic","status":"warn","message":"3 link(s) with generic text","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"subscribe"},{"id":"previous"},{"id":"next"}]},{"name":"link-text-generic","status":"warn","message":"2 link(s) with generic text","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"subscribe"},{"id":"next"}]},{"name":"link-text-generic","status":"warn","message":"3 link(s) with generic text","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"subscribe"},{"id":"previous"},{"id":"next"}]},{"name":"link-text-generic","status":"warn","message":"2 link(s) with generic text","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"subscribe"},{"id":"previous"}]}]},"a11y/list-structure":{"meta":{"id":"a11y/list-structure","name":"List Structure","description":"Checks that ul and ol elements contain only li elements","solution":"Lists (<ul> and <ol>) should only contain <li> elements as direct children. For custom components, you can also use elements with role='listitem'. Move other content inside <li> elements.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/asides"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/subscribe"},{"name":"list-structure","status":"pass","message":"3 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"list-structure","status":"pass","message":"2 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"list-structure","status":"pass","message":"2 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"list-structure","status":"pass","message":"3 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"list-structure","status":"pass","message":"7 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/contact"},{"name":"list-structure","status":"pass","message":"5 list(s) are properly structured","pageUrl":"https://nikcub.me/about"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/privacy"},{"name":"list-structure","status":"pass","message":"1 list(s) are properly structured","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"list-structure","status":"info","message":"No ul/ol lists found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/listitem":{"meta":{"id":"a11y/listitem","name":"List Item Context","description":"Checks that li elements are inside ul, ol, or menu","solution":"The <li> element must be contained within a <ul>, <ol>, or <menu> element. Orphaned list items lose their semantic meaning. Wrap them in an appropriate list container.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/asides"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"listitem","status":"pass","message":"17 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"listitem","status":"pass","message":"1 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"listitem","status":"pass","message":"13 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"listitem","status":"pass","message":"1 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"listitem","status":"pass","message":"8 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"listitem","status":"pass","message":"10 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"listitem","status":"pass","message":"4 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"listitem","status":"pass","message":"5 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"listitem","status":"pass","message":"7 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"listitem","status":"pass","message":"5 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"listitem","status":"pass","message":"9 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"listitem","status":"pass","message":"4 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"listitem","status":"pass","message":"3 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"listitem","status":"pass","message":"21 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"listitem","status":"pass","message":"33 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"listitem","status":"pass","message":"1 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"listitem","status":"pass","message":"4 list item(s) are inside lists","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/contact"},{"name":"listitem","status":"pass","message":"26 list item(s) are inside lists","pageUrl":"https://nikcub.me/about"},{"name":"listitem","status":"pass","message":"2 list item(s) are inside lists","pageUrl":"https://nikcub.me/privacy"},{"name":"listitem","status":"pass","message":"3 list item(s) are inside lists","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"listitem","status":"info","message":"No li elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/meta-refresh":{"meta":{"id":"a11y/meta-refresh","name":"Meta Refresh","description":"Checks for meta refresh redirects that can disorient users","solution":"Avoid using <meta http-equiv='refresh'> for redirects or auto-refresh. They can disorient users, especially those using screen readers. Use server-side redirects (301/302) instead. If content must refresh, provide a user control and warn users beforehand.","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/asides"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/subscribe"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/contact"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/about"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/privacy"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"meta-refresh","status":"pass","message":"No meta refresh found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/object-alt":{"meta":{"id":"a11y/object-alt","name":"Object Alt Text","description":"Checks that object elements have alternative content","solution":"Object elements need alternative content for when the embedded content can't be displayed or for assistive technology. Add content between <object> tags as fallback, or use aria-label/aria-labelledby.","category":"a11y","scope":"page","severity":"warning","weight":6},"checks":[{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/asides"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/contact"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/about"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"object-alt","status":"info","message":"No object elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/paste-inputs":{"meta":{"id":"a11y/paste-inputs","name":"Paste Inputs","description":"Detects form inputs that prevent pasting","solution":"Remove any JavaScript that prevents pasting in form inputs. Blocking paste forces users to manually type passwords, email addresses, or other data, which increases errors and frustrates users with password managers. Users with motor impairments may rely on paste functionality. Remove onpaste='return false', event.preventDefault() on paste events, and similar anti-paste code.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/asides","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/subscribe","details":{"inputsChecked":2}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/numeronym","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/contact","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/about","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/privacy","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/tracking-cookie","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts?page=2","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"info","message":"No text inputs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts?page=1","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts?page=3","details":{"inputsChecked":1}},{"name":"paste-inputs","status":"pass","message":"No paste-blocking inputs detected","pageUrl":"https://nikcub.me/posts?page=4","details":{"inputsChecked":1}}]},"a11y/select-name":{"meta":{"id":"a11y/select-name","name":"Select Name","description":"Checks that select elements have accessible names","solution":"Select elements need accessible labels. Use <label for='selectId'>Label</label>, wrap in <label>, or use aria-label/aria-labelledby.","category":"a11y","scope":"page","severity":"error","weight":8},"checks":[{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/asides"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/contact"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/about"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"select-name","status":"info","message":"No select elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/skip-link":{"meta":{"id":"a11y/skip-link","name":"Skip Link","description":"Checks for bypass mechanisms for keyboard navigation","solution":"Skip links allow keyboard users to bypass repetitive navigation and jump directly to main content. Add a hidden link at the very beginning of your page: <a href='#main-content' class='skip-link'>Skip to main content</a>. Style it to become visible on focus. Ensure the target (#main-content) has tabindex='-1' if it's not naturally focusable. Alternative: use landmark roles like <main> which screen readers can navigate to directly.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/asides","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/subscribe","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/numeronym","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/contact","details":{"methods":["skip link","<main> landmark","early heading","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/about","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/privacy","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/tracking-cookie","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts?page=2","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"skip-link","status":"warn","message":"No bypass mechanism for repetitive content","pageUrl":"https://nikcub.me/fb-table.html","details":{"found":["early heading"],"suggestion":"Add skip link or ensure <main> landmark with <nav> landmark"}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts?page=1","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts?page=3","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}},{"name":"skip-link","status":"pass","message":"Skip link found","pageUrl":"https://nikcub.me/posts?page=4","details":{"methods":["skip link","<main> landmark","<nav> landmark"]}}]},"a11y/tabindex":{"meta":{"id":"a11y/tabindex","name":"Tabindex Values","description":"Checks for appropriate tabindex values","solution":"Avoid positive tabindex values (1, 2, 3...) as they override natural tab order and confuse keyboard users. Use tabindex='0' to add elements to tab order, tabindex='-1' to make elements focusable via JavaScript only. Rely on natural document order for tab sequence.","category":"a11y","scope":"page","severity":"warning","weight":5},"checks":[{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/asides"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/subscribe"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/contact"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/about"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/privacy"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"tabindex","status":"info","message":"No tabindex attributes found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/table-duplicate-name":{"meta":{"id":"a11y/table-duplicate-name","name":"Table Duplicate Name","description":"Checks that data tables have unique accessible names","solution":"When a page has multiple data tables, each should have a unique accessible name to help users distinguish between them. Use <caption>, aria-label, or aria-labelledby with unique text for each table.","category":"a11y","scope":"page","severity":"warning","weight":3},"checks":[{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/asides"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/subscribe"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"table-duplicate-name","status":"info","message":"Only one table found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/contact"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/about"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/privacy"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"tables-without-names","status":"warn","message":"1 table(s) without accessible names","pageUrl":"https://nikcub.me/fb-table.html","details":{"note":"Add caption or aria-label to distinguish tables"}},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"table-duplicate-name","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/table-headers":{"meta":{"id":"a11y/table-headers","name":"Table Headers","description":"Checks that data tables have proper headers","solution":"Data tables need proper headers for screen reader users to understand relationships. Use <th> for header cells, not styled <td>. Add scope='col' or scope='row' to clarify header direction. For complex tables, use id and headers attributes to associate data cells with headers. Include a <caption> to describe the table's purpose. Layout tables should have role='presentation'.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/asides"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/subscribe"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"table-headers","status":"pass","message":"All 1 data table(s) have headers","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/contact"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/about"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/privacy"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"table-headers","status":"warn","message":"1 table(s) without <th> headers","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"Table 1"}]},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"table-headers","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/td-headers-attr":{"meta":{"id":"a11y/td-headers-attr","name":"Table Cell Headers","description":"Checks that td headers attribute references valid th ids","solution":"When using the headers attribute on <td> elements to associate cells with headers, ensure each id in the headers attribute matches an existing <th> element's id in the same table.","category":"a11y","scope":"page","severity":"error","weight":6},"checks":[{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/asides"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/subscribe"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"td-headers-attr","status":"info","message":"No td elements with headers attribute found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/contact"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/about"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/privacy"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"td-headers-attr","status":"info","message":"No td elements with headers attribute found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"td-headers-attr","status":"info","message":"No tables found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/th-has-data-cells":{"meta":{"id":"a11y/th-has-data-cells","name":"TH Has Data Cells","description":"Checks that table headers have associated data cells","solution":"Each <th> element should be associated with at least one <td> data cell in the same row or column. Orphaned header cells without data cells usually indicate the table is being misused for layout purposes. If the table is for layout, add role='presentation'. Otherwise, ensure every header has corresponding data cells.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/asides"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/subscribe"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"th-has-data-cells","status":"pass","message":"All table headers have associated data cells","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"tablesChecked":1}},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/contact"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/about"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/privacy"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"th-has-data-cells","status":"pass","message":"All table headers have associated data cells","pageUrl":"https://nikcub.me/fb-table.html","details":{"tablesChecked":2}},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"th-has-data-cells","status":"info","message":"No data tables found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/touch-targets":{"meta":{"id":"a11y/touch-targets","name":"Touch Targets","description":"Checks for minimum touch target sizing hints","solution":"Touch targets (buttons, links) should be at least 44x44 pixels for accessibility (WCAG 2.5.5) and usability. Increase size with padding rather than just increasing font size. Ensure at least 8px spacing between adjacent targets. For inline links in text, provide sufficient line-height. This helps users with motor impairments and improves mobile usability for everyone.","category":"a11y","scope":"page","severity":"warning","weight":4},"checks":[{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/asides","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/subscribe","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/numeronym","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/contact","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/about","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/privacy","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/tracking-cookie","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts?page=2","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/fb-table.html","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts?page=1","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts?page=3","value":"Verify buttons/links are at least 44x44px"},{"name":"touch-targets","status":"info","message":"Touch target sizes require CSS analysis","pageUrl":"https://nikcub.me/posts?page=4","value":"Verify buttons/links are at least 44x44px"}]},"a11y/valid-lang":{"meta":{"id":"a11y/valid-lang","name":"Valid Lang Attributes","description":"Checks that all lang attributes on the page have valid values","solution":"All lang attributes should use valid BCP 47 language tags. This includes lang attributes on any element, not just <html>. Use lang to mark up content in a different language from the page default.","category":"a11y","scope":"page","severity":"warning","weight":5},"checks":[{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/asides"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/subscribe"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/contact"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/about"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/privacy"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"valid-lang","status":"info","message":"No additional lang attributes found","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/video-captions":{"meta":{"id":"a11y/video-captions","name":"Video Captions","description":"Checks that videos have captions or transcripts","solution":"All video content needs captions for deaf/hard-of-hearing users (WCAG 1.2.2). Add <track kind='captions' src='captions.vtt' srclang='en'> to video elements. For embedded videos (YouTube, Vimeo), enable captions in the embed settings. Also provide a text transcript for complex content. Auto-generated captions should be reviewed for accuracy.","category":"a11y","scope":"page","severity":"warning","weight":5},"checks":[{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/asides"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/contact"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/about"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/privacy"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-captions","status":"info","message":"No videos detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"a11y/zoom-disabled":{"meta":{"id":"a11y/zoom-disabled","name":"Zoom Disabled","description":"Checks if viewport meta tag disables user zoom","solution":"Never disable user zoom - it's critical for users with low vision. Remove user-scalable=no and maximum-scale=1.0 from your viewport meta tag. Good: <meta name='viewport' content='width=device-width, initial-scale=1'>. Bad: <meta name='viewport' content='width=device-width, user-scalable=no, maximum-scale=1.0'>. Users must be able to zoom up to at least 500% (WCAG 1.4.4 requires 200%, but browsers limit to 500%).","category":"a11y","scope":"page","severity":"error","weight":7},"checks":[{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/asides"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/subscribe"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/contact"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/about"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/privacy"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"zoom-disabled","status":"pass","message":"User zoom is not restricted","pageUrl":"https://nikcub.me/posts?page=4"}]},"analytics/consent-mode":{"meta":{"id":"analytics/consent-mode","name":"Consent Mode","description":"Checks for Google Consent Mode v2 implementation","solution":"Google Consent Mode v2 is required for Google Ads in the EU/EEA (March 2024). It allows Google tags to adjust behavior based on user consent. Implement with gtag('consent', 'default', {...}) before loading Google tags. Set ad_storage, analytics_storage, ad_user_data, and ad_personalization. Update on user consent.","category":"analytics","scope":"page","severity":"info","weight":4},"checks":[{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/asides"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/subscribe"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/contact"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/about"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/privacy"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"consent-mode","status":"skipped","message":"No Google tags detected (consent mode not applicable)","pageUrl":"https://nikcub.me/posts?page=4"}]},"analytics/gtm-present":{"meta":{"id":"analytics/gtm-present","name":"Analytics Tracking","description":"Checks for Google Tag Manager or analytics implementation","solution":"Analytics tracking helps understand user behavior and measure SEO success. Use Google Tag Manager (GTM) to manage all tags centrally. GTM should be in the <head> with a noscript fallback in <body>. Alternatives: Google Analytics 4 directly, Plausible, Fathom, or Matomo. Ensure tracking complies with privacy laws.","category":"analytics","scope":"page","severity":"info","weight":3},"checks":[{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/asides","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/contact","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/about","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/privacy","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding analytics to measure performance"},{"name":"gtm-present","status":"info","message":"No analytics tracking detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding analytics to measure performance"}]},"content/article-links":{"meta":{"id":"content/article-links","name":"Article Link Density","description":"Articles should have appropriate internal and external links based on length","solution":"Add relevant internal links to other pages on your site and cite authoritative external sources. Short articles (<800 words) need at least 1 of each, medium (800-1500) need 2 of each, long (>1500) need 3 internal and 2 external.","category":"content","scope":"page","severity":"warning","weight":4},"checks":[{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/asides"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/subscribe"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"8"},{"name":"external-links","status":"pass","message":"44 external links","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"44"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"8"},{"name":"external-links","status":"pass","message":"4 external links","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"4"},{"name":"internal-links","status":"pass","message":"11 internal links","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"11"},{"name":"external-links","status":"pass","message":"30 external links","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"30"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"8"},{"name":"external-links","status":"pass","message":"18 external links","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"18"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"8"},{"name":"external-links","status":"pass","message":"16 external links","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"16"},{"name":"internal-links","status":"pass","message":"9 internal links","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"9"},{"name":"external-links","status":"pass","message":"27 external links","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"27"},{"name":"internal-links","status":"pass","message":"9 internal links","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"9"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"10"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"8"},{"name":"external-links","status":"pass","message":"11 external links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"11"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"8"},{"name":"external-links","status":"pass","message":"9 external links","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"9"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"8"},{"name":"external-links","status":"pass","message":"11 external links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"11"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"8"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"6"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"8"},{"name":"external-links","status":"pass","message":"5 external links","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"5"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"8"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"10"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"8"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"10"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"8"},{"name":"external-links","status":"pass","message":"5 external links","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"5"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"8"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"6"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"external-links","status":"pass","message":"8 external links","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"8"},{"name":"external-links","status":"pass","message":"9 external links","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"9"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"8"},{"name":"external-links","status":"pass","message":"9 external links","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"9"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"8"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"10"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"8"},{"name":"external-links","status":"pass","message":"7 external links","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"7"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"8"},{"name":"external-links","status":"pass","message":"10 external links","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"10"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"8"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"6"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"8"},{"name":"external-links","status":"pass","message":"13 external links","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"13"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"8"},{"name":"external-links","status":"pass","message":"14 external links","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"14"},{"name":"internal-links","status":"pass","message":"11 internal links","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"11"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"6"},{"name":"internal-links","status":"pass","message":"10 internal links","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"10"},{"name":"external-links","status":"pass","message":"12 external links","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"12"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"external-links","status":"pass","message":"8 external links","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"internal-links","status":"pass","message":"10 internal links","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"10"},{"name":"external-links","status":"pass","message":"3 external links","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"3"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"8"},{"name":"external-links","status":"pass","message":"6 external links","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"6"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/numeronym","value":"8"},{"name":"external-links","status":"pass","message":"4 external links","pageUrl":"https://nikcub.me/posts/numeronym","value":"4"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"8"},{"name":"external-links","status":"pass","message":"21 external links","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"21"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"8"},{"name":"external-links","status":"pass","message":"34 external links","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"34"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"8"},{"name":"external-links","status":"pass","message":"9 external links","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"9"},{"name":"internal-links","status":"pass","message":"8 internal links","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"8"},{"name":"external-links","status":"pass","message":"5 external links","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"5"},{"name":"internal-links","status":"pass","message":"9 internal links","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"9"},{"name":"external-links","status":"pass","message":"7 external links","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"7"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/contact"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/about"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/privacy"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"article-links","status":"info","message":"Not an article page","pageUrl":"https://nikcub.me/posts?page=4"}]},"content/author-info":{"meta":{"id":"content/author-info","name":"Author Info","description":"Checks for author markup and attribution","solution":"Author information supports E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness). Use Person schema to mark up authors with name, url, and credentials. Link to author bio pages. Display author names visibly on content. For YMYL topics (health, finance), include author qualifications. Consider using rel='author' links.","category":"content","scope":"page","severity":"info","weight":3},"checks":[{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/asides","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/contact","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/about","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/privacy","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding author attribution for E-E-A-T"},{"name":"author-info","status":"info","message":"No author information detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding author attribution for E-E-A-T"}]},"content/broken-html":{"meta":{"id":"content/broken-html","name":"Broken HTML","description":"Checks for malformed HTML structure","solution":"Valid HTML helps search engines parse and understand your content. Common issues: unclosed tags, nested elements incorrectly, invalid attributes. Use an HTML validator to find issues. Modern browsers are forgiving, but search engine parsers may not be. Clean HTML also improves accessibility and maintainability.","category":"content","scope":"page","severity":"warning","weight":4},"checks":[{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/asides"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/subscribe"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"broken-html","status":"info","message":"1 HTML issue(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"Deprecated <strike> element"}]},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/contact"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/about"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/privacy"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"broken-html","status":"pass","message":"HTML structure appears valid","pageUrl":"https://nikcub.me/posts?page=4"}]},"content/duplicate-description":{"meta":{"id":"content/duplicate-description","name":"Duplicate Description","description":"Checks for duplicate meta descriptions across the site","solution":"Each page should have a unique meta description that summarizes its specific content. Duplicate descriptions reduce click-through rates and provide poor user experience in search results. Write unique, compelling descriptions for each page. For pages without unique content (like paginated results), consider using no description rather than a duplicate.","category":"content","scope":"site","severity":"warning","weight":5},"checks":[{"name":"duplicate-description","status":"warn","message":"1 duplicate description(s) found across 5 pages","items":[{"id":"long-form writing on security, privacy, and technology","label":"\"long-form writing on security, privacy, ...\" (5 pages)","sourcePages":["https://nikcub.me/posts","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"],"meta":{"pageCount":5}}],"details":{"totalDuplicates":1,"totalPages":5}}]},"content/duplicate-title":{"meta":{"id":"content/duplicate-title","name":"Duplicate Title","description":"Checks for duplicate title tags across the site","solution":"Each page should have a unique title tag that accurately describes its content. Duplicate titles confuse search engines about which page to rank and make your pages less distinguishable in search results. Use unique, descriptive titles that include relevant keywords. For similar pages (e.g., pagination), add differentiating elements like page numbers or category names.","category":"content","scope":"site","severity":"warning","weight":6},"checks":[{"name":"duplicate-title","status":"warn","message":"1 duplicate title(s) found across 5 pages","items":[{"id":"articles | nik cubrilovic","label":"\"articles | nik cubrilovic...\" (5 pages)","sourcePages":["https://nikcub.me/posts","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"],"meta":{"pageCount":5}}],"details":{"totalDuplicates":1,"totalPages":5}}]},"content/freshness":{"meta":{"id":"content/freshness","name":"Content Freshness","description":"Checks for last-modified and published date signals","solution":"Date signals help search engines understand content freshness. Use Article schema with datePublished and dateModified. Show visible publication dates on content. Update dates when making significant changes. For evergreen content, periodic updates with new dateModified signal relevance. The Last-Modified HTTP header also helps crawlers.","category":"content","scope":"page","severity":"info","weight":3},"checks":[{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/asides","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/contact","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/about","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/privacy","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding date schema or Last-Modified header"},{"name":"http-last-modified","status":"pass","message":"Last-Modified header present","pageUrl":"https://nikcub.me/fb-table.html","value":"Thu, 22 Jan 2026 05:07:12 GMT"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding date schema or Last-Modified header"},{"name":"freshness","status":"info","message":"No freshness signals detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding date schema or Last-Modified header"}]},"content/heading-hierarchy":{"meta":{"id":"content/heading-hierarchy","name":"Heading Hierarchy","description":"Validates heading structure and hierarchy","solution":"Proper heading structure (H1 → H2 → H3) helps users and search engines understand your content organization. Skipping levels (H1 → H3) creates confusion. Use headings in sequential order without skipping levels. Each section should use the next heading level down. Think of headings as an outline—they should make sense when read alone. Avoid empty headings or using headings purely for styling.","category":"content","scope":"page","severity":"warning","weight":5},"checks":[{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/"},{"name":"long-headings","status":"info","message":"2 heading(s) over 70 characters","pageUrl":"https://nikcub.me/","items":[{"id":"H2","label":"FBI seizes fake Tor hosted Jihad funding website a","meta":{"level":2,"length":98}},{"id":"H2","label":"Large Number of Tor Hidden Sites Seized by the FBI","meta":{"level":2,"length":96}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts"},{"name":"long-headings","status":"info","message":"3 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts","items":[{"id":"H2","label":"FBI seizes fake Tor hosted Jihad funding website a","meta":{"level":2,"length":98}},{"id":"H2","label":"Large Number of Tor Hidden Sites Seized by the FBI","meta":{"level":2,"length":96}},{"id":"H2","label":"Multiple Vulnerabilities in MyGov, the Australian ","meta":{"level":2,"length":106}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/asides"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/subscribe"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"H1","label":"FBI seizes fake Tor hosted Jihad funding website a","meta":{"level":1,"length":98}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"H1","label":"Large Number of Tor Hidden Sites Seized by the FBI","meta":{"level":1,"length":96}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"H1","label":"Multiple Vulnerabilities in MyGov, the Australian ","meta":{"level":1,"length":106}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"H1","label":"Facebook and many other sites also bypass Internet","meta":{"level":1,"length":76}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"H1","label":"Introducing Frictionless - Taking the friction out","meta":{"level":1,"length":90}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/contact"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/about"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/privacy"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"H2","label":"Facebook and many other sites also bypass Internet","meta":{"level":2,"length":76}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"long-headings","status":"info","message":"3 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"H2","label":"FBI seizes fake Tor hosted Jihad funding website a","meta":{"level":2,"length":98}},{"id":"H2","label":"Large Number of Tor Hidden Sites Seized by the FBI","meta":{"level":2,"length":96}},{"id":"H2","label":"Multiple Vulnerabilities in MyGov, the Australian ","meta":{"level":2,"length":106}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"long-headings","status":"info","message":"1 heading(s) over 70 characters","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"H2","label":"Introducing Frictionless - Taking the friction out","meta":{"level":2,"length":90}}]},{"name":"heading-hierarchy","status":"pass","message":"Heading hierarchy is valid","pageUrl":"https://nikcub.me/posts?page=4"}]},"content/keyword-stuffing":{"meta":{"id":"content/keyword-stuffing","name":"Keyword Stuffing","description":"Detects excessive keyword repetition in content","solution":"Keyword stuffing is repeating words unnaturally to manipulate rankings. Search engines penalize this practice. Write naturally for users first. Use keywords where they fit naturally. Aim for 1-2% keyword density at most. Use synonyms and related terms instead of repeating the exact same phrase. Focus on providing value, not gaming algorithms.","category":"content","scope":"page","severity":"warning","weight":5},"checks":[{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts","items":[{"id":"min","label":"\"min\" (3.1%)","meta":{"count":10,"density":3.0959752321981426}}]},{"name":"keyword-stuffing","status":"info","message":"Content too short for keyword density analysis","pageUrl":"https://nikcub.me/asides"},{"name":"keyword-stuffing","status":"info","message":"Content too short for keyword density analysis","pageUrl":"https://nikcub.me/subscribe"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"wright","label":"\"wright\" (3.2%)","meta":{"count":129,"density":3.1978185423896877}}]},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"session","label":"\"session\" (3.6%)","meta":{"count":29,"density":3.61145703611457}}]},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"keyword-stuffing","status":"warn","message":"2 word(s) may be overused","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"google","label":"\"google\" (4.4%)","meta":{"count":12,"density":4.428044280442804}},{"id":"blockplus","label":"\"blockplus\" (3.3%)","meta":{"count":9,"density":3.3210332103321036}}]},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"extension","label":"\"extension\" (3.7%)","meta":{"count":22,"density":3.691275167785235}}]},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"facebook","label":"\"facebook\" (3.5%)","meta":{"count":46,"density":3.5303146584804295}}]},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"download","label":"\"download\" (4.0%)","meta":{"count":35,"density":4.022988505747127}}]},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"keyword-stuffing","status":"warn","message":"2 word(s) may be overused","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"character","label":"\"character\" (3.6%)","meta":{"count":10,"density":3.6231884057971016}},{"id":"logo","label":"\"logo\" (3.3%)","meta":{"count":9,"density":3.260869565217391}}]},{"name":"keyword-stuffing","status":"warn","message":"2 word(s) may be overused","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"facebook","label":"\"facebook\" (3.9%)","meta":{"count":33,"density":3.896103896103896}},{"id":"cookie","label":"\"cookie\" (3.2%)","meta":{"count":27,"density":3.187721369539551}}]},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"google","label":"\"google\" (3.9%)","meta":{"count":9,"density":3.9301310043668125}}]},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"facebook","label":"\"facebook\" (4.2%)","meta":{"count":52,"density":4.170008019246191}}]},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"story","label":"\"story\" (3.6%)","meta":{"count":9,"density":3.643724696356275}}]},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"domain","label":"\"domain\" (3.5%)","meta":{"count":46,"density":3.50076103500761}}]},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"google","label":"\"google\" (3.3%)","meta":{"count":12,"density":3.296703296703297}}]},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/contact"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/about"},{"name":"keyword-stuffing","status":"pass","message":"No keyword stuffing detected","pageUrl":"https://nikcub.me/privacy"},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"cookies","label":"\"cookies\" (6.6%)","meta":{"count":11,"density":6.58682634730539}}]},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"min","label":"\"min\" (3.5%)","meta":{"count":10,"density":3.546099290780142}}]},{"name":"keyword-stuffing","status":"warn","message":"4 word(s) may be overused","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"deleted","label":"\"deleted\" (9.2%)","meta":{"count":14,"density":9.15032679738562}},{"id":"request","label":"\"request\" (4.6%)","meta":{"count":7,"density":4.57516339869281}},{"id":"facebook","label":"\"facebook\" (3.9%)","meta":{"count":6,"density":3.9215686274509802}},{"id":"lzfw","label":"\"lzfw\" (3.9%)","meta":{"count":6,"density":3.9215686274509802}}]},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"min","label":"\"min\" (3.1%)","meta":{"count":10,"density":3.0959752321981426}}]},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"min","label":"\"min\" (3.5%)","meta":{"count":10,"density":3.546099290780142}}]},{"name":"keyword-stuffing","status":"warn","message":"1 word(s) may be overused","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"min","label":"\"min\" (3.5%)","meta":{"count":6,"density":3.5294117647058822}}]}]},"content/meta-in-body":{"meta":{"id":"content/meta-in-body","name":"Meta Tags in Body","description":"Detects meta tags incorrectly placed in document body","solution":"Move all meta tags from <body> to <head>. Meta tags in the body are ignored by browsers and search engines. Common offenders: meta description, viewport, robots, and Open Graph tags. This is often caused by incorrect HTML structure or dynamic rendering issues.","category":"content","scope":"page","severity":"error","weight":8},"checks":[{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/asides","items":[{"id":"description","label":"description=\"Short observations on security, technology, and cu...\"","meta":{"content":"Short observations on security, technology, and cu..."}},{"id":"og:title","label":"og:title=\"Brief Notes & Asides\"","meta":{"content":"Brief Notes & Asides"}},{"id":"og:description","label":"og:description=\"Short observations on security, technology, and cu...\"","meta":{"content":"Short observations on security, technology, and cu..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/asides\"","meta":{"content":"https://nikcub.me/asides"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Brief Notes & Asides\"","meta":{"content":"Brief Notes & Asides"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Brief Notes & Asides\"","meta":{"content":"Brief Notes & Asides"}},{"id":"twitter:description","label":"twitter:description=\"Short observations on security, technology, and cu...\"","meta":{"content":"Short observations on security, technology, and cu..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/subscribe"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/contact"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/about"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/privacy"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"meta-in-body","status":"pass","message":"All meta tags correctly placed in <head>","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"},{"name":"meta-in-body","status":"fail","message":"Found 16 meta tags in <body>","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"description","label":"description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:title","label":"og:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:description","label":"og:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"og:url","label":"og:url=\"https://nikcub.me/posts\"","meta":{"content":"https://nikcub.me/posts"}},{"id":"og:site_name","label":"og:site_name=\"Nik Cubrilovic\"","meta":{"content":"Nik Cubrilovic"}},{"id":"og:locale","label":"og:locale=\"en_US\"","meta":{"content":"en_US"}},{"id":"og:image","label":"og:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}},{"id":"og:image:width","label":"og:image:width=\"1200\"","meta":{"content":"1200"}},{"id":"og:image:height","label":"og:image:height=\"630\"","meta":{"content":"630"}},{"id":"og:image:alt","label":"og:image:alt=\"Articles\"","meta":{"content":"Articles"}},{"id":"og:type","label":"og:type=\"website\"","meta":{"content":"website"}},{"id":"twitter:card","label":"twitter:card=\"summary_large_image\"","meta":{"content":"summary_large_image"}},{"id":"twitter:creator","label":"twitter:creator=\"@nikcub\"","meta":{"content":"@nikcub"}},{"id":"twitter:title","label":"twitter:title=\"Articles\"","meta":{"content":"Articles"}},{"id":"twitter:description","label":"twitter:description=\"Long-form writing on security, privacy, and techno...\"","meta":{"content":"Long-form writing on security, privacy, and techno..."}},{"id":"twitter:image","label":"twitter:image=\"https://nikcub.me/og-default.png\"","meta":{"content":"https://nikcub.me/og-default.png"}}],"expected":"All meta tags in <head>"}]},"content/mime-type":{"meta":{"id":"content/mime-type","name":"MIME Type Validation","description":"Detects Content-Type header mismatches with file extensions","solution":"Incorrect MIME types break resource loading and waste crawl budget. Common issues include .js files served as text/html, images without image/* type, CSS without text/css. Fix server configuration to serve correct Content-Type headers. For Apache use .htaccess, for nginx use mime.types config.","category":"content","scope":"page","severity":"warning","weight":5},"checks":[{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/asides","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/subscribe","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/onymous-part1","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/numeronym","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/contact","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/about","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/privacy","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/tracking-cookie","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts?page=2","skipReason":"URL has no file extension"},{"name":"mime-type","status":"pass","message":"Correct MIME type for .html","pageUrl":"https://nikcub.me/fb-table.html","value":"text/html"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts?page=1","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts?page=3","skipReason":"URL has no file extension"},{"name":"mime-type","status":"skipped","message":"No file extension detected","pageUrl":"https://nikcub.me/posts?page=4","skipReason":"URL has no file extension"}]},"content/reading-level":{"meta":{"id":"content/reading-level","name":"Reading Level","description":"Analyzes content readability using Flesch-Kincaid","solution":"Content should match your target audience's reading level. For general audiences, aim for 6th-8th grade level (60-70 Flesch score). Use shorter sentences and simpler words. Break up long paragraphs. Use bullet points and headings. Technical content may have lower readability scores, which is acceptable for expert audiences.","category":"content","scope":"page","severity":"info","weight":3},"checks":[{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 18.9)","pageUrl":"https://nikcub.me/","value":"Flesch score: 13/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/","value":"30 words/sentence"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 22.1)","pageUrl":"https://nikcub.me/posts","value":"Flesch score: 5/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts","value":"38 words/sentence"},{"name":"reading-level","status":"info","message":"Content too short for readability analysis","pageUrl":"https://nikcub.me/asides"},{"name":"reading-level","status":"info","message":"Content too short for readability analysis","pageUrl":"https://nikcub.me/subscribe"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.7)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Flesch score: 53/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.8)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Flesch score: 48/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.3)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Flesch score: 52/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 9.5)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Flesch score: 39/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 12.2)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Flesch score: 53/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"26 words/sentence"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 12)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Flesch score: 55/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"26 words/sentence"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.5)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Flesch score: 51/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9.5)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Flesch score: 60/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Flesch score: 61/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.8)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Flesch score: 55/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 7.5)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Flesch score: 61/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9.6)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Flesch score: 53/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9.9)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Flesch score: 54/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 8.9)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Flesch score: 59/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.8)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Flesch score: 45/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 11.8)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Flesch score: 49/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.8)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Flesch score: 52/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.9)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Flesch score: 44/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 7.9)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Flesch score: 66/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.6)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Flesch score: 44/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 11.3)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Flesch score: 50/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.4)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Flesch score: 55/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 13.3)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Flesch score: 45/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"25 words/sentence"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.3)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Flesch score: 55/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.2)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Flesch score: 52/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.9)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Flesch score: 55/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.3)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Flesch score: 55/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.8)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Flesch score: 51/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 9.2)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Flesch score: 59/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 13.3)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Flesch score: 47/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"26 words/sentence"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 11.5)","pageUrl":"https://nikcub.me/posts/numeronym","value":"Flesch score: 41/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 11.6)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Flesch score: 53/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 8.2)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Flesch score: 65/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 11.7)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Flesch score: 48/100"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 12.9)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Flesch score: 46/100"},{"name":"reading-level","status":"info","message":"Readability: Moderate (Grade 10.3)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Flesch score: 56/100"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 20.1)","pageUrl":"https://nikcub.me/contact","value":"Flesch score: 11/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/contact","value":"34 words/sentence"},{"name":"reading-level","status":"info","message":"Readability: Difficult (Grade 13.8)","pageUrl":"https://nikcub.me/about","value":"Flesch score: 33/100"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 13.4)","pageUrl":"https://nikcub.me/privacy","value":"Flesch score: 26/100"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 15.8)","pageUrl":"https://nikcub.me/tracking-cookie","value":"Flesch score: 24/100"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 33.4)","pageUrl":"https://nikcub.me/posts?page=2","value":"Flesch score: 0/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts?page=2","value":"65 words/sentence"},{"name":"reading-level","status":"info","message":"Readability: Easy (Grade 7.3)","pageUrl":"https://nikcub.me/fb-table.html","value":"Flesch score: 71/100"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 22.1)","pageUrl":"https://nikcub.me/posts?page=1","value":"Flesch score: 5/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts?page=1","value":"38 words/sentence"},{"name":"reading-level","status":"info","message":"Readability: Very Difficult (Grade 30.8)","pageUrl":"https://nikcub.me/posts?page=3","value":"Flesch score: 0/100"},{"name":"sentence-length","status":"info","message":"Average sentence length is high","pageUrl":"https://nikcub.me/posts?page=3","value":"58 words/sentence"},{"name":"reading-level","status":"info","message":"Content too short for readability analysis","pageUrl":"https://nikcub.me/posts?page=4"}]},"content/word-count":{"meta":{"id":"content/word-count","name":"Word Count","description":"Checks content length for thin content issues","solution":"Pages with thin content (under 300 words) often struggle to rank well. Search engines prefer comprehensive content that thoroughly covers a topic. Add more valuable, relevant content to thin pages. Aim for at least 500 words for standard pages and 1000+ for in-depth articles. Focus on quality over quantity—padding with fluff hurts user experience. Consider consolidating multiple thin pages into one comprehensive resource.","category":"content","scope":"page","severity":"warning","weight":4},"checks":[{"name":"word-count","status":"warn","message":"Thin content: 250 words (min 300)","pageUrl":"https://nikcub.me/","value":"250","expected":"300"},{"name":"word-count","status":"info","message":"Content could be longer: 392 words","pageUrl":"https://nikcub.me/posts","value":"392"},{"name":"word-count","status":"warn","message":"Thin content: 40 words (min 300)","pageUrl":"https://nikcub.me/asides","value":"40","expected":"300"},{"name":"word-count","status":"warn","message":"Thin content: 78 words (min 300)","pageUrl":"https://nikcub.me/subscribe","value":"78","expected":"300"},{"name":"word-count","status":"pass","message":"Good content length: 5182 words","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"5182"},{"name":"word-count","status":"warn","message":"Thin content: 266 words (min 300)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"266","expected":"300"},{"name":"word-count","status":"pass","message":"Good content length: 1732 words","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"1732"},{"name":"word-count","status":"pass","message":"Good content length: 1331 words","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"1331"},{"name":"word-count","status":"pass","message":"Good content length: 1181 words","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"1181"},{"name":"word-count","status":"pass","message":"Good content length: 3011 words","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"3011"},{"name":"word-count","status":"pass","message":"Good content length: 2601 words","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"2601"},{"name":"word-count","status":"pass","message":"Good content length: 719 words","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"719"},{"name":"word-count","status":"pass","message":"Good content length: 1025 words","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"1025"},{"name":"word-count","status":"pass","message":"Good content length: 1587 words","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"1587"},{"name":"word-count","status":"pass","message":"Good content length: 780 words","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"780"},{"name":"word-count","status":"info","message":"Content could be longer: 311 words","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"311"},{"name":"word-count","status":"pass","message":"Good content length: 748 words","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"748"},{"name":"word-count","status":"pass","message":"Good content length: 725 words","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"725"},{"name":"word-count","status":"pass","message":"Good content length: 1661 words","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"1661"},{"name":"word-count","status":"pass","message":"Good content length: 859 words","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"859"},{"name":"word-count","status":"pass","message":"Good content length: 733 words","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"733"},{"name":"word-count","status":"pass","message":"Good content length: 1109 words","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"1109"},{"name":"word-count","status":"pass","message":"Good content length: 1024 words","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"1024"},{"name":"word-count","status":"pass","message":"Good content length: 585 words","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"585"},{"name":"word-count","status":"pass","message":"Good content length: 690 words","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"690"},{"name":"word-count","status":"info","message":"Content could be longer: 485 words","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"485"},{"name":"word-count","status":"info","message":"Content could be longer: 384 words","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"384"},{"name":"word-count","status":"pass","message":"Good content length: 1053 words","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"1053"},{"name":"word-count","status":"pass","message":"Good content length: 688 words","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"688"},{"name":"word-count","status":"pass","message":"Good content length: 1229 words","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"1229"},{"name":"word-count","status":"pass","message":"Good content length: 733 words","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"733"},{"name":"word-count","status":"warn","message":"Thin content: 289 words (min 300)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"289","expected":"300"},{"name":"word-count","status":"pass","message":"Good content length: 1504 words","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"1504"},{"name":"word-count","status":"info","message":"Content could be longer: 326 words","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"326"},{"name":"word-count","status":"warn","message":"Thin content: 220 words (min 300)","pageUrl":"https://nikcub.me/posts/numeronym","value":"220","expected":"300"},{"name":"word-count","status":"pass","message":"Good content length: 2271 words","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"2271"},{"name":"word-count","status":"pass","message":"Good content length: 1693 words","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"1693"},{"name":"word-count","status":"info","message":"Content could be longer: 462 words","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"462"},{"name":"word-count","status":"pass","message":"Good content length: 1000 words","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"1000"},{"name":"word-count","status":"pass","message":"Good content length: 719 words","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"719"},{"name":"word-count","status":"warn","message":"Thin content: 80 words (min 300)","pageUrl":"https://nikcub.me/contact","value":"80","expected":"300"},{"name":"word-count","status":"pass","message":"Good content length: 567 words","pageUrl":"https://nikcub.me/about","value":"567"},{"name":"word-count","status":"warn","message":"Thin content: 182 words (min 300)","pageUrl":"https://nikcub.me/privacy","value":"182","expected":"300"},{"name":"word-count","status":"warn","message":"Thin content: 186 words (min 300)","pageUrl":"https://nikcub.me/tracking-cookie","value":"186","expected":"300"},{"name":"word-count","status":"info","message":"Content could be longer: 340 words","pageUrl":"https://nikcub.me/posts?page=2","value":"340"},{"name":"word-count","status":"warn","message":"Thin content: 189 words (min 300)","pageUrl":"https://nikcub.me/fb-table.html","value":"189","expected":"300"},{"name":"word-count","status":"info","message":"Content could be longer: 392 words","pageUrl":"https://nikcub.me/posts?page=1","value":"392"},{"name":"word-count","status":"info","message":"Content could be longer: 359 words","pageUrl":"https://nikcub.me/posts?page=3","value":"359"},{"name":"word-count","status":"warn","message":"Thin content: 218 words (min 300)","pageUrl":"https://nikcub.me/posts?page=4","value":"218","expected":"300"}]},"core/canonical":{"meta":{"id":"core/canonical","name":"Canonical URL","description":"Validates canonical URL presence and format","solution":"Canonical URLs tell search engines which version of a page is the \"master\" copy, preventing duplicate content issues. Every page should specify a canonical URL, typically pointing to itself. Add a <link rel=\"canonical\" href=\"...\"> tag in the head section. Use absolute URLs and ensure consistency (with or without trailing slash, www vs non-www). For paginated content, point to the main page or use rel=\"prev/next\".","category":"core","scope":"page","severity":"warning","weight":6},"checks":[{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/","value":"https://nikcub.me"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts","value":"https://nikcub.me/posts"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/asides","value":"https://nikcub.me/asides"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/subscribe","value":"https://nikcub.me/subscribe"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"https://nikcub.me/posts/onymous-part1"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"https://nikcub.me/posts/the-download-dot-con"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"https://nikcub.me/posts/pain-and-gain"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/numeronym","value":"https://nikcub.me/posts/numeronym"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/contact","value":"https://nikcub.me/contact"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/about","value":"https://nikcub.me/about"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/privacy","value":"https://nikcub.me/privacy"},{"name":"canonical","status":"pass","message":"Self-referential canonical present","pageUrl":"https://nikcub.me/tracking-cookie","value":"https://nikcub.me/tracking-cookie"},{"name":"canonical","status":"info","message":"Canonical points to different URL","pageUrl":"https://nikcub.me/posts?page=2","value":"https://nikcub.me/posts"},{"name":"canonical","status":"warn","message":"Missing canonical URL","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"canonical","status":"info","message":"Canonical points to different URL","pageUrl":"https://nikcub.me/posts?page=1","value":"https://nikcub.me/posts"},{"name":"canonical","status":"info","message":"Canonical points to different URL","pageUrl":"https://nikcub.me/posts?page=3","value":"https://nikcub.me/posts"},{"name":"canonical","status":"info","message":"Canonical points to different URL","pageUrl":"https://nikcub.me/posts?page=4","value":"https://nikcub.me/posts"}]},"core/canonical-header":{"meta":{"id":"core/canonical-header","name":"Canonical Header Validation","description":"Detects mismatch between HTML canonical tag and Link header","solution":"When both HTML canonical tag and HTTP Link header are present, they must match. Search engines may get confused by conflicting signals.\n\nHTML: <link rel=\"canonical\" href=\"https://example.com/page\">\nHTTP: Link: <https://example.com/page>; rel=\"canonical\"\n\nBest practice: Use HTML canonical tag only. Only add Link header if unable to modify HTML (e.g., PDF files).","category":"core","scope":"page","severity":"warning","weight":7},"checks":[{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/asides","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/subscribe","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/onymous-part1","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/pain-and-gain","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/numeronym","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/contact","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/about","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/privacy","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/tracking-cookie","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts?page=2","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/fb-table.html","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts?page=1","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts?page=3","skipReason":"Page has no HTTP Link canonical header"},{"name":"canonical-header","status":"skipped","message":"No Link header canonical found","pageUrl":"https://nikcub.me/posts?page=4","skipReason":"Page has no HTTP Link canonical header"}]},"core/charset":{"meta":{"id":"core/charset","name":"Charset","description":"Checks for proper character encoding declaration","solution":"Add <meta charset=\"UTF-8\"> as the first element in your <head> section. This tells browsers how to interpret the text on your page. UTF-8 is the standard encoding that supports all languages and special characters. Placing it first ensures browsers know the encoding before parsing any other content.","category":"core","scope":"page","severity":"warning","weight":5},"checks":[{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/asides","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/subscribe","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/onymous-part1","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/pain-and-gain","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/numeronym","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/contact","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/about","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/privacy","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/tracking-cookie","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts?page=2","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"pass","message":"UTF-8 charset declared early in head","pageUrl":"https://nikcub.me/fb-table.html","value":"utf-8"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts?page=1","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts?page=3","expected":"<meta charset=\"UTF-8\">"},{"name":"charset","status":"fail","message":"No charset declaration found","pageUrl":"https://nikcub.me/posts?page=4","expected":"<meta charset=\"UTF-8\">"}]},"core/doctype":{"meta":{"id":"core/doctype","name":"Doctype","description":"Checks for valid HTML5 doctype declaration","solution":"Add <!DOCTYPE html> at the very start of your HTML document, before the <html> tag. This declaration tells browsers to render the page in standards mode rather than quirks mode, ensuring consistent rendering across browsers. Without a proper doctype, browsers may render the page inconsistently.","category":"core","scope":"page","severity":"warning","weight":5},"checks":[{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/asides","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/subscribe","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/numeronym","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/contact","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/about","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/privacy","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/tracking-cookie","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts?page=2","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/fb-table.html","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts?page=1","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts?page=3","value":"<!DOCTYPE html>"},{"name":"doctype","status":"pass","message":"Valid HTML5 doctype found","pageUrl":"https://nikcub.me/posts?page=4","value":"<!DOCTYPE html>"}]},"core/favicon":{"meta":{"id":"core/favicon","name":"Favicon","description":"Checks for favicon presence","solution":"Favicons help with brand recognition and UX. Include multiple formats: <link rel='icon' href='/favicon.ico'> for legacy, <link rel='icon' type='image/svg+xml' href='/favicon.svg'> for modern browsers, and <link rel='apple-touch-icon' href='/apple-touch-icon.png'> for iOS. 32x32px for .ico, 180x180px for Apple touch icon.","category":"core","scope":"page","severity":"warning","weight":3},"checks":[{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/asides","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/contact","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/about","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/privacy","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"warn","message":"No favicon found","pageUrl":"https://nikcub.me/fb-table.html","value":"Add <link rel='icon'> for brand recognition"},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]},{"name":"favicon","status":"pass","message":"Multiple favicon formats found","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"ico"},{"id":"png"},{"id":"apple-touch-icon"}]}]},"core/h1":{"meta":{"id":"core/h1","name":"H1 Tag","description":"Validates H1 tag presence and uniqueness","solution":"Each page should have exactly one H1 tag that clearly describes the main topic. The H1 is the primary heading users and search engines see, and it should align with the page title while being more detailed. If missing, add an H1 at the top of your main content. If you have multiple H1s, demote extras to H2 or lower. Ensure the H1 is descriptive and contains relevant keywords naturally.","category":"core","scope":"page","severity":"error","weight":7},"checks":[{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/","value":"Nik Cubrilovic - Engineer"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts","value":"Articles"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/asides","value":"Asides"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/subscribe","value":"Subscribe"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Craig Wright is not Satoshi Nakamoto"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Securing Blockchain.info Users with Tor and SSL"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"60 Minutes Australia on Silk Road and Bitcoin"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Analyzing the FBI’s Explanation of How They Located Silk Road"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Notes on the Celebrity Data Theft"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Multiple Vulnerabilities in Disqus WordPress Plugin"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services."},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Two Google Chrome Privacy Issues"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"BlockPlus v4 - Block Google+ widgets and links from other Google sites"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Yahoo Axis Chrome Extension Leaks Private Certificate File"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Facebook and many other sites also bypass Internet Explorer privacy controls"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Facebook Is Losing E-Commerce"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"How Megaupload Was Investigated and Indicted"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"The Google Firefox search deal, Chrome and Lady GaGa"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"The Crunchpad is proof of obviousness in the iPad design"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"The Download Dot-Con"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Introducing Frictionless - Taking the friction out of Facebook social-sharing applications"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Google Android -  The Accidental Empire"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Lies, Damn Lies and Google+ Statistics"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Unicode U+F8FF - aka. The Apple Logo Character, on Macs"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Facebook Re-Enables Controversial Tracking Cookie"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"How To Setup secure and private Facebook browsing"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Facebook Fixes Logout Issue, Explains Cookies"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Persistent and Unblockable Cookies Using HTTP Headers"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"BlockPlus - A browser extension to block Google+ notifications"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Logging out of Facebook is not enough"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Pain and Gain"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/numeronym","value":"Numeronym"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Finding a Technical Co-Founder"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Guide to Finding a Good and Safe Company or Product Name"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"The Google IPO Skeptics"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Relevance Time for Twitter"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Fidelio - A browser plugin for secure web browsing"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/contact","value":"Contact"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/about","value":"About Nik Cubrilovic"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/privacy","value":"Privacy Policy"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/tracking-cookie","value":"Tracking Cookie Demo"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts?page=2","value":"Articles"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/fb-table.html","value":"Facebook Cookie Analysis"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts?page=1","value":"Articles"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts?page=3","value":"Articles"},{"name":"h1","status":"pass","message":"Single H1 tag present","pageUrl":"https://nikcub.me/posts?page=4","value":"Articles"}]},"core/meta-description":{"meta":{"id":"core/meta-description","name":"Meta Description","description":"Validates meta description presence and length","solution":"Meta descriptions should be 120-160 characters and provide a compelling summary of the page. While not a direct ranking factor, good descriptions improve click-through rates from search results. Write unique descriptions for each page that accurately preview the content. Include a call-to-action when appropriate. If missing, search engines will auto-generate snippets which may not represent your page optimally.","category":"core","scope":"page","severity":"error","weight":7},"checks":[{"name":"meta-description","status":"pass","message":"Description length OK (138 chars)","pageUrl":"https://nikcub.me/","value":"Engineer writing about AI, data engineering, and digital society. Long-form articles and observations on technology's impact on our world."},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (62 chars, min 120)","pageUrl":"https://nikcub.me/asides","value":"Short observations on security, technology, and current events","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (115 chars, min 120)","pageUrl":"https://nikcub.me/subscribe","value":"Get notified when I publish new articles. Subscribe via email newsletter or RSS feed. No spam, unsubscribe anytime.","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too long (172 chars, max 160)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"A detailed investigation into Craig Wright's claim to be Bitcoin creator Satoshi Nakamoto, examining forged evidence, tax fraud allegations, and failed cryptographic proofs","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too long (168 chars, max 160)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"During Operation Onymous the FBI seized a fake clone of a jihad funding site while leaving the real version online, highlighting the scattershot nature of the takedowns","expected":"120-160 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (160 chars)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Helping Blockchain.info become the second site after Facebook to offer a Tor hidden service with a CA-signed SSL certificate, protecting users from MITM attacks"},{"name":"meta-description","status":"pass","message":"Description length OK (138 chars)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"The FBI announced the seizure of a large number of darkweb sites to much fanfare. It turns out most of what they got were fake clone sites"},{"name":"meta-description","status":"pass","message":"Description length OK (136 chars)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"A breakdown of 60 Minutes Australia's story on Silk Road and Bitcoin, including their confusion between the Deepweb and Darknet concepts"},{"name":"meta-description","status":"pass","message":"Description length OK (152 chars)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"A technical analysis of the FBI's claims about how they located Silk Road's server, showing their explanation doesn't match how Tor hidden services work"},{"name":"meta-description","status":"warn","message":"Description too long (170 chars, max 160)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"An in-depth look at the underground networks behind \"The Fappening\" - how they operate, the techniques used to compromise iCloud accounts, and Apple's security weaknesses","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (106 chars, min 120)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Disclosure and fixes for a number of bugs in the Wordpress plugin for the popular Disqus commenting system","expected":"120-160 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (150 chars)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"How weak session ID generation using uniqid() in CS-Cart allows session hijacking through targeted brute-force, plus a frustrating disclosure timeline"},{"name":"meta-description","status":"pass","message":"Description length OK (158 chars)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Discovering XSS, SQL injection indicators, and poor cookie security in Australia's myGov portal that could expose 2.2 million citizens' tax and health records"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Two privacy issues in Chrome where browsing history data persists after deletion - zoom level settings and DNS prefetch data leave traces of visited domains"},{"name":"meta-description","status":"pass","message":"Description length OK (128 chars)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"An update to the BlockPlus browser extension which removes Google+ and other sites from the Google homepage and other properties"},{"name":"meta-description","status":"pass","message":"Description length OK (159 chars)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Yahoo shipped their Axis browser extension with the private certificate file used to sign it, allowing attackers to create forged extensions that Chrome trusts"},{"name":"meta-description","status":"pass","message":"Description length OK (145 chars)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Microsoft called out Google for P3P bypass but ignored Facebook doing the same thing - and a survey shows 5% of top sites set invalid P3P headers"},{"name":"meta-description","status":"pass","message":"Description length OK (140 chars)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Analysis of Facebook's declining e-commerce presence and why users prefer external shopping experiences over Facebook's platform integration"},{"name":"meta-description","status":"warn","message":"Description too short (41 chars, min 120)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Security research and technology analysis","expected":"120-160 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (138 chars)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Why Google's claim that Chrome is purely altruistic doesn't match their $4.9B marketing spend including Lady Gaga ads and Super Bowl spots"},{"name":"meta-description","status":"pass","message":"Description length OK (138 chars)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"How the CrunchPad tablet project demonstrates the obviousness of the iPad's design, challenging Apple's claims of revolutionary innovation"},{"name":"meta-description","status":"warn","message":"Description too long (170 chars, max 160)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"How CNet's Download.com bundles adware and toolbars with popular open source software, making them no different from the fake download sites they claim to protect against","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too long (163 chars, max 160)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Launching Frictionless, a Chrome extension that bypasses Facebook's social reader apps and takes you directly to the original article without sharing your activity","expected":"120-160 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"How Larry and Sergey purchased Android for $50M without telling Eric Schmidt, and accidentally created a smartphone empire that crushed Nokia and Blackberry"},{"name":"meta-description","status":"pass","message":"Description length OK (154 chars)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Debunking the viral \"Google+ traffic drops 60%\" story based on flawed Chitika statistics with no published methodology - and misunderstanding launch bumps"},{"name":"meta-description","status":"pass","message":"Description length OK (151 chars)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"The Apple logo character U+F8FF only renders on Mac - on Windows it shows as boxes, Elvish, Tibetan, or embarrassingly as the Windows logo in Wingdings"},{"name":"meta-description","status":"pass","message":"Description length OK (155 chars)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Facebook quietly re-enabled the datr tracking cookie on third-party sites after previously removing it, setting cookies on users who never visited Facebook"},{"name":"meta-description","status":"pass","message":"Description length OK (145 chars)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Step-by-step guide to securing your Facebook account with two-factor authentication, disabling tracking features, and setting up private browsing"},{"name":"meta-description","status":"pass","message":"Description length OK (148 chars)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Follow-up on Facebook's response to the logout cookie tracking issue, detailing the fixes they made and their explanation of how each cookie is used"},{"name":"meta-description","status":"warn","message":"Description too short (47 chars, min 120)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Using HTTP headers as unblockable super-cookies","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too long (163 chars, max 160)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Releasing BlockPlus, a Chrome extension that removes Google+ links and notifications from the nav bar to prevent the constant distraction of the new social network","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too long (182 chars, max 160)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"When it comes to losing track of Facebook online and preserving your digital privacy - being logged out is far from enough. We find some privacy issues with Facebook and report them.","expected":"120-160 characters"},{"name":"meta-description","status":"pass","message":"Description length OK (137 chars)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"The true story of Miami bodybuilders turned amateur criminals using torture as a motivational tool, later adapted into a Michael Bay film"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/numeronym","value":"What i18n and l10n have in common with a16z - the history and rising popularity of numeronyms where letters between first and last are replaced with a count"},{"name":"meta-description","status":"pass","message":"Description length OK (145 chars)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Advice on finding a technical co-founder including where to network, how to prepare your startup materials, and evaluating technical capabilities"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"A comprehensive guide to selecting a business or product name, covering domain availability, trademark safety, SEO considerations, and social media presence"},{"name":"meta-description","status":"pass","message":"Description length OK (137 chars)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"A look back at the skepticism that surrounded the Google IPO in 2004, when tech industry experts warned investors away from buying shares"},{"name":"meta-description","status":"pass","message":"Description length OK (140 chars)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Why chronological ordering in Twitter is baggage from old computer systems and why relevance-based sorting using user gestures is inevitable"},{"name":"meta-description","status":"pass","message":"Description length OK (156 chars)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Releasing Fidelio, a Chrome plugin that defends against Firesheep by forcing HTTPS, rewriting embedded widgets, and setting secure flags on existing cookies"},{"name":"meta-description","status":"warn","message":"Description too short (70 chars, min 120)","pageUrl":"https://nikcub.me/contact","value":"Get in touch with Nik Cubrilovic for collaboration or media inquiries.","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (117 chars, min 120)","pageUrl":"https://nikcub.me/about","value":"Australian engineer working on data systems and AI, writing about the intersection of technology and digital society.","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (79 chars, min 120)","pageUrl":"https://nikcub.me/privacy","value":"Privacy policy for nikcub.me - how we handle your data and protect your privacy","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (79 chars, min 120)","pageUrl":"https://nikcub.me/tracking-cookie","value":"Demonstration of how tracking cookies work and persist across browsing sessions","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts?page=2","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"meta-description","status":"fail","message":"Missing meta description","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts?page=1","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts?page=3","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"},{"name":"meta-description","status":"warn","message":"Description too short (54 chars, min 120)","pageUrl":"https://nikcub.me/posts?page=4","value":"Long-form writing on security, privacy, and technology","expected":"120-160 characters"}]},"core/meta-title":{"meta":{"id":"core/meta-title","name":"Meta Title","description":"Validates page title presence and length","solution":"Every page needs a unique, descriptive title tag between 30-60 characters. Titles appear in browser tabs, search results, and social shares. Write titles that accurately describe the page content while including your primary keyword near the beginning. If your title is too short, add more descriptive context. If too long, prioritize the most important information first and trim secondary details. Avoid keyword stuffing or duplicate titles across pages.","category":"core","scope":"page","severity":"error","weight":8},"checks":[{"name":"meta-title","status":"warn","message":"Title too long (69 chars, max 60)","pageUrl":"https://nikcub.me/","value":"Nik Cubrilovic | Engineer writing about AI, data, and digital society","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (37 chars)","pageUrl":"https://nikcub.me/asides","value":"Brief Notes & Asides | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too short (26 chars, min 30)","pageUrl":"https://nikcub.me/subscribe","value":"Subscribe | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (53 chars)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Craig Wright is not Satoshi Nakamoto | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too long (115 chars, max 60)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"FBI seizes fake Tor hosted Jihad funding website as part of Operation Onymous, leaves up real site | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (64 chars, max 60)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Securing Blockchain.info Users with Tor and SSL | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (113 chars, max 60)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Large Number of Tor Hidden Sites Seized by the FBI in Operation Onymous were Clone or Scam Sites | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (62 chars, max 60)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"60 Minutes Australia on Silk Road and Bitcoin | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (78 chars, max 60)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Analyzing the FBI’s Explanation of How They Located Silk Road | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (50 chars)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Notes on the Celebrity Data Theft | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too long (68 chars, max 60)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Multiple Vulnerabilities in Disqus WordPress Plugin | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (75 chars, max 60)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"CS-Cart v4.2.0 Session Hijacking and Other Vulnerabilities | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (123 chars, max 60)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Multiple Vulnerabilities in MyGov, the Australian Government Single-sign-on Solution for Citizen Services. | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (49 chars)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Two Google Chrome Privacy Issues | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too long (87 chars, max 60)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"BlockPlus v4 - Block Google+ widgets and links from other Google sites | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (75 chars, max 60)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Yahoo Axis Chrome Extension Leaks Private Certificate File | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (93 chars, max 60)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Facebook and many other sites also bypass Internet Explorer privacy controls | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (46 chars)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Facebook Is Losing E-Commerce | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too long (61 chars, max 60)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"How Megaupload Was Investigated and Indicted | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (69 chars, max 60)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"The Google Firefox search deal, Chrome and Lady GaGa | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (73 chars, max 60)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"The Crunchpad is proof of obviousness in the iPad design | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (37 chars)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"The Download Dot-Con | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too long (107 chars, max 60)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Introducing Frictionless - Taking the friction out of Facebook social-sharing applications | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (56 chars)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Google Android -  The Accidental Empire | Nik Cubrilovic"},{"name":"meta-title","status":"pass","message":"Title length OK (55 chars)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Lies, Damn Lies and Google+ Statistics | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too long (72 chars, max 60)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Unicode U+F8FF - aka. The Apple Logo Character, on Macs | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (66 chars, max 60)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Facebook Re-Enables Controversial Tracking Cookie | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (66 chars, max 60)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"How To Setup secure and private Facebook browsing | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (62 chars, max 60)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Facebook Fixes Logout Issue, Explains Cookies | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (70 chars, max 60)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Persistent and Unblockable Cookies Using HTTP Headers | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too long (79 chars, max 60)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"BlockPlus - A browser extension to block Google+ notifications | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (54 chars)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Logging out of Facebook is not enough | Nik Cubrilovic"},{"name":"meta-title","status":"pass","message":"Title length OK (30 chars)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Pain and Gain | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too short (26 chars, min 30)","pageUrl":"https://nikcub.me/posts/numeronym","value":"Numeronym | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (47 chars)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Finding a Technical Co-Founder | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too long (73 chars, max 60)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Guide to Finding a Good and Safe Company or Product Name | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (40 chars)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"The Google IPO Skeptics | Nik Cubrilovic"},{"name":"meta-title","status":"pass","message":"Title length OK (43 chars)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Relevance Time for Twitter | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too long (67 chars, max 60)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Fidelio - A browser plugin for secure web browsing | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too short (24 chars, min 30)","pageUrl":"https://nikcub.me/contact","value":"Contact | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"pass","message":"Title length OK (37 chars)","pageUrl":"https://nikcub.me/about","value":"About Nik Cubrilovic | Nik Cubrilovic"},{"name":"meta-title","status":"pass","message":"Title length OK (31 chars)","pageUrl":"https://nikcub.me/privacy","value":"Privacy Policy | Nik Cubrilovic"},{"name":"meta-title","status":"pass","message":"Title length OK (37 chars)","pageUrl":"https://nikcub.me/tracking-cookie","value":"Tracking Cookie Demo | Nik Cubrilovic"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts?page=2","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too short (24 chars, min 30)","pageUrl":"https://nikcub.me/fb-table.html","value":"Facebook Cookie Analysis","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts?page=1","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts?page=3","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"},{"name":"meta-title","status":"warn","message":"Title too short (25 chars, min 30)","pageUrl":"https://nikcub.me/posts?page=4","value":"Articles | Nik Cubrilovic","expected":"30-60 characters"}]},"core/nosnippet":{"meta":{"id":"core/nosnippet","name":"Nosnippet Directive","description":"Detects pages preventing search engine snippets","solution":"The nosnippet directive prevents search engines from showing descriptions in search results, severely harming click-through rates.\n\nFound in: <meta name=\"robots\" content=\"nosnippet\">\nOr: <meta name=\"robots\" content=\"max-snippet:0\">\n\nThis is almost always unintentional. Remove unless you specifically need to hide snippets (e.g., login pages, legal content).\n\nNote: max-snippet:N where N > 0 is fine (sets snippet character limit).","category":"core","scope":"page","severity":"warning","weight":7},"checks":[{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/asides"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/subscribe"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/contact"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/about"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/privacy"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"nosnippet","status":"pass","message":"No snippet restrictions found","pageUrl":"https://nikcub.me/posts?page=4"}]},"core/og-tags":{"meta":{"id":"core/og-tags","name":"Open Graph Tags","description":"Validates Open Graph meta tags for social sharing","solution":"Open Graph tags control how your content appears when shared on Facebook, LinkedIn, and other platforms. Required tags: og:title, og:description, og:image, og:url, and og:type. Add OG tags in your page head. Use images at least 1200x630 pixels for best display. Keep og:title under 60 characters and og:description under 200. Test shares using Facebook's Sharing Debugger tool.","category":"core","scope":"page","severity":"warning","weight":5},"checks":[{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/","value":"title: Nik Cubrilovic | Engineer writ..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts","value":"title: Articles..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/asides","value":"title: Brief Notes & Asides..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/subscribe","value":"title: Subscribe..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"title: Craig Wright is not Satoshi Na..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"title: FBI seizes fake Tor hosted Jih..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"title: Securing Blockchain.info Users..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"title: Large Number of Tor Hidden Sit..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"title: 60 Minutes Australia on Silk R..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"title: Analyzing the FBI’s Explanatio..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"title: Notes on the Celebrity Data Th..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"title: Multiple Vulnerabilities in Di..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"title: CS-Cart v4.2.0 Session Hijacki..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"title: Multiple Vulnerabilities in My..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"title: Two Google Chrome Privacy Issu..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"title: BlockPlus v4 - Block Google+ w..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"title: Yahoo Axis Chrome Extension Le..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"title: Facebook and many other sites ..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"title: Facebook Is Losing E-Commerce..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"title: How Megaupload Was Investigate..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"title: The Google Firefox search deal..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"title: The Crunchpad is proof of obvi..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"title: The Download Dot-Con..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"title: Introducing Frictionless - Tak..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"title: Google Android -  The Accident..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"title: Lies, Damn Lies and Google+ St..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"title: Unicode U+F8FF - aka. The Appl..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"title: Facebook Re-Enables Controvers..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"title: How To Setup secure and privat..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"title: Facebook Fixes Logout Issue, E..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"title: Persistent and Unblockable Coo..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"title: BlockPlus - A browser extensio..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"title: Logging out of Facebook is not..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"title: Pain and Gain..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/numeronym","value":"title: Numeronym..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"title: Finding a Technical Co-Founder..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"title: Guide to Finding a Good and Sa..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"title: The Google IPO Skeptics..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"title: Relevance Time for Twitter..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"title: Fidelio - A browser plugin for..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/contact","value":"title: Contact..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/about","value":"title: About Nik Cubrilovic..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/privacy","value":"title: Privacy Policy..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/tracking-cookie","value":"title: Tracking Cookie Demo..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts?page=2","value":"title: Articles..."},{"name":"og-title","status":"warn","message":"Missing og:title","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"https://nikcub.me/fb-table.html"}],"value":"null"},{"name":"og-description","status":"warn","message":"Missing og:description","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"https://nikcub.me/fb-table.html"}],"value":"null"},{"name":"og-image","status":"warn","message":"Missing og:image - social shares will lack imagery","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"https://nikcub.me/fb-table.html"}],"value":"null"},{"name":"og-type","status":"info","message":"Missing og:type (defaults to website)","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts?page=1","value":"title: Articles..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts?page=3","value":"title: Articles..."},{"name":"og-tags","status":"pass","message":"Essential Open Graph tags present","pageUrl":"https://nikcub.me/posts?page=4","value":"title: Articles..."}]},"core/robots-meta":{"meta":{"id":"core/robots-meta","name":"Robots Meta","description":"Checks robots meta tag for indexing directives","solution":"The robots meta tag controls how search engines index and follow links on a page. Common directives include noindex, nofollow, noarchive, and nosnippet. If your page has noindex, it won't appear in search results. Review whether this is intentional. For pages that should be indexed, remove the noindex directive or change to \"index, follow\". Be careful with nofollow as it prevents link equity from flowing to linked pages.","category":"core","scope":"page","severity":"warning","weight":5},"checks":[{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/asides","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/subscribe","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/numeronym","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/contact","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/about","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/privacy","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/tracking-cookie","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts?page=2","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts?page=1","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts?page=3","value":"null"},{"name":"robots-meta","status":"pass","message":"No robots meta tag (defaults to index, follow)","pageUrl":"https://nikcub.me/posts?page=4","value":"null"}]},"core/title-unique":{"meta":{"id":"core/title-unique","name":"Title Uniqueness","description":"Checks that page titles are unique across the site","solution":"Each page should have a unique title that accurately describes its content. Duplicate titles confuse search engines and users about which page to display. Use a pattern like 'Page Topic | Brand Name' to ensure uniqueness. CMS often generate duplicate titles - audit and customize them.","category":"core","scope":"site","severity":"warning","weight":5},"checks":[{"name":"title-unique","status":"warn","message":"1 duplicate title(s) affecting 5 pages","items":[{"id":"articles | nik cubrilovic","label":"\"articles | nik cubrilovic...\" (5 pages)","sourcePages":["https://nikcub.me/posts","https://nikcub.me/posts?page=2","https://nikcub.me/posts?page=1","https://nikcub.me/posts?page=3","https://nikcub.me/posts?page=4"],"meta":{"pageCount":5}}],"details":{"totalDuplicates":1,"totalPages":5}}]},"core/twitter-cards":{"meta":{"id":"core/twitter-cards","name":"Twitter Cards","description":"Validates Twitter Card meta tags","solution":"Twitter Cards enhance how links appear in tweets. The twitter:card meta tag specifies the card type (summary, summary_large_image, player, or app). Add twitter:card, twitter:title, twitter:description, and twitter:image tags. For large images, use summary_large_image with images at least 800x418 pixels. Validate using Twitter's Card Validator tool.","category":"core","scope":"page","severity":"info","weight":3},"checks":[{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/asides","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/subscribe","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/numeronym","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/contact","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/about","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/privacy","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/tracking-cookie","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts?page=2","value":"summary_large_image"},{"name":"twitter-card","status":"warn","message":"No Twitter card or Open Graph tags for Twitter sharing","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts?page=1","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts?page=3","value":"summary_large_image"},{"name":"twitter-card","status":"pass","message":"Twitter card configured: summary_large_image","pageUrl":"https://nikcub.me/posts?page=4","value":"summary_large_image"}]},"crawl/all-noindex-pages":{"meta":{"id":"crawl/all-noindex-pages","name":"All Non-Indexed Pages","description":"Lists all pages blocked from indexing for user audit","solution":"Review this list to ensure all non-indexed pages are intentionally blocked. Common unintentional blocks: staging directives left in production, overly broad robots.txt rules, CMS defaults. Remove noindex from pages that should be indexed.","category":"crawl","scope":"site","severity":"info","weight":2},"checks":[{"name":"all-noindex","status":"pass","message":"All pages are indexable"}]},"crawl/canonical-chain":{"meta":{"id":"crawl/canonical-chain","name":"Canonical Chain","description":"Checks for redirect chains on canonical URLs","solution":"Canonical URLs should point directly to the final destination, not through redirects. Redirect chains waste crawl budget and dilute link equity. If your canonical URL redirects, update it to point to the final URL. Check that canonical URLs use the preferred protocol (https) and www/non-www version. Self-referencing canonicals should match the page URL exactly.","category":"crawl","scope":"page","severity":"warning","weight":5},"checks":[{"name":"page-redirect-chain","status":"warn","message":"Page redirects before content is served","pageUrl":"https://nikcub.me/","items":[{"id":"https://nikcub.me","label":"https://nikcub.me → https://nikcub.me/","meta":{"finalUrl":"https://nikcub.me/","chain":{"sourceUrl":"https://nikcub.me/","finalUrl":"https://nikcub.me/","hops":[{"url":"https://nikcub.me/","statusCode":200,"type":"http"}],"chainLength":0,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":false}}}]},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/asides"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/subscribe"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/contact"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/about"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/privacy"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"canonical-target","status":"info","message":"Page canonicalizes to different URL","pageUrl":"https://nikcub.me/posts?page=2","value":"https://nikcub.me/posts"},{"name":"canonical-chain","status":"skipped","message":"No canonical tag found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"canonical-target","status":"info","message":"Page canonicalizes to different URL","pageUrl":"https://nikcub.me/posts?page=1","value":"https://nikcub.me/posts"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"canonical-target","status":"info","message":"Page canonicalizes to different URL","pageUrl":"https://nikcub.me/posts?page=3","value":"https://nikcub.me/posts"},{"name":"canonical-chain","status":"pass","message":"Canonical URL appears direct","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"canonical-target","status":"info","message":"Page canonicalizes to different URL","pageUrl":"https://nikcub.me/posts?page=4","value":"https://nikcub.me/posts"}]},"crawl/indexability":{"meta":{"id":"crawl/indexability","name":"Indexability Check","description":"Identifies pages blocked from search engine indexing","solution":"If this page should be indexed by search engines, remove 'noindex' from robots meta tag or X-Robots-Tag header. If the page is intentionally blocked (e.g., admin pages, thank-you pages), this is expected behavior.","category":"crawl","scope":"page","severity":"info","weight":2},"checks":[{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/asides","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/subscribe","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/numeronym","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/contact","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/about","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/privacy","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/tracking-cookie","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts?page=2","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/fb-table.html","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts?page=1","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts?page=3","value":"indexable"},{"name":"indexability","status":"pass","message":"Page is indexable","pageUrl":"https://nikcub.me/posts?page=4","value":"indexable"}]},"crawl/indexability-conflicts":{"meta":{"id":"crawl/indexability-conflicts","name":"Indexability Conflicts","description":"Detects conflicting signals between robots.txt and meta/headers","solution":"Conflicting signals confuse search engines and indicate configuration errors. Type 1 conflict: robots.txt allows BUT meta/header has noindex (works but confusing - choose one method). Type 2 conflict: robots.txt disallows BUT page crawlable (search engines can't crawl to see noindex anyway - remove unnecessary noindex or allow in robots.txt).","category":"crawl","scope":"site","severity":"warning","weight":4},"checks":[{"name":"conflicts","status":"pass","message":"No indexability conflicts detected"}]},"crawl/noindex-in-sitemap":{"meta":{"id":"crawl/noindex-in-sitemap","name":"Noindex in Sitemap","description":"Checks for noindexed pages listed in sitemap","solution":"Pages with noindex meta tags should not be in your sitemap. Sitemaps tell search engines which pages to index, while noindex tells them not to. Having both sends mixed signals. Remove noindexed pages from your sitemap, or remove the noindex directive if you want them indexed. Use a sitemap generator that respects robots directives.","category":"crawl","scope":"site","severity":"warning","weight":5},"checks":[{"name":"noindex-in-sitemap","status":"pass","message":"No noindexed pages in sitemap"}]},"crawl/pagination":{"meta":{"id":"crawl/pagination","name":"Pagination","description":"Checks that paginated pages have proper canonicals","solution":"Paginated pages should NOT all canonicalize to page 1. Each page should have a self-referencing canonical. Use rel='next' and rel='prev' links to indicate pagination sequence (though Google no longer uses these for indexing, they help users). Consider view-all pages or infinite scroll as alternatives. Ensure each paginated page has unique, valuable content.","category":"crawl","scope":"page","severity":"info","weight":4},"checks":[{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/asides"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/subscribe"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/contact"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/about"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/privacy"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"pagination-canonical","status":"warn","message":"Paginated page canonicalizes to non-paginated URL","pageUrl":"https://nikcub.me/posts?page=2","value":"Page 2 → https://nikcub.me/posts"},{"name":"pagination-links","status":"info","message":"No rel=next/prev links (optional)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"pagination","status":"skipped","message":"Page does not appear to be paginated","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"pagination-canonical","status":"warn","message":"Paginated page canonicalizes to non-paginated URL","pageUrl":"https://nikcub.me/posts?page=1","value":"Page 1 → https://nikcub.me/posts"},{"name":"pagination-links","status":"info","message":"No rel=next/prev links (optional)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"pagination-canonical","status":"warn","message":"Paginated page canonicalizes to non-paginated URL","pageUrl":"https://nikcub.me/posts?page=3","value":"Page 3 → https://nikcub.me/posts"},{"name":"pagination-links","status":"info","message":"No rel=next/prev links (optional)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"pagination-canonical","status":"warn","message":"Paginated page canonicalizes to non-paginated URL","pageUrl":"https://nikcub.me/posts?page=4","value":"Page 4 → https://nikcub.me/posts"},{"name":"pagination-links","status":"info","message":"No rel=next/prev links (optional)","pageUrl":"https://nikcub.me/posts?page=4"}]},"crawl/redirect-chain":{"meta":{"id":"crawl/redirect-chain","name":"Redirect Chains","description":"Detects multi-hop redirect chains that waste crawl budget","solution":"Each redirect hop adds latency and consumes crawl budget. Search engines may stop following after 5+ hops. Consolidate redirect chains to a single hop by updating the source URL to point directly to the final destination. Common causes: HTTP→HTTPS→www→trailing slash combinations, or legacy domain migrations.","category":"crawl","scope":"site","severity":"warning","weight":5},"checks":[{"name":"redirect-chain","status":"pass","message":"No redirect chains exceed 2 hops"}]},"crawl/robots-meta-conflict":{"meta":{"id":"crawl/robots-meta-conflict","name":"Robots Meta Conflict","description":"Detects conflicts between robots meta tags and robots.txt","solution":"Robots.txt and robots meta tags should work together, not conflict. If robots.txt blocks a URL, search engines won't see the meta robots tag at all. Common conflicts: blocking a page in robots.txt while trying to noindex it (unnecessary), or allowing in robots.txt but noindexing (works but confusing). For noindex, let the page be crawled so the directive is seen. For blocked pages, robots.txt alone is sufficient.","category":"crawl","scope":"site","severity":"warning","weight":5},"checks":[{"name":"robots-conflict","status":"pass","message":"No robots meta/robots.txt conflicts detected"}]},"crawl/robots-txt":{"meta":{"id":"crawl/robots-txt","name":"Robots.txt","description":"Checks if robots.txt exists and is properly configured","solution":"robots.txt tells search engines which pages to crawl. Place it at the root of your domain (example.com/robots.txt). Include your sitemap URL. Avoid blocking important resources (CSS, JS, images) that search engines need to render pages. Never use 'Disallow: /' unless you want to block all crawling. Use Google Search Console to test your robots.txt.","category":"crawl","scope":"site","severity":"error","weight":8},"checks":[{"name":"robots-txt-exists","status":"pass","message":"robots.txt exists","value":"https://nikcub.me/robots.txt"},{"name":"robots-txt-syntax","status":"pass","message":"robots.txt syntax is valid"},{"name":"robots-txt-disallow","status":"pass","message":"robots.txt does not block all crawling"},{"name":"robots-txt-sitemap","status":"pass","message":"Sitemap referenced in robots.txt","items":[{"id":"https://nikcub.me/sitemap.xml"}]}]},"crawl/schema-noindex-conflict":{"meta":{"id":"crawl/schema-noindex-conflict","name":"Schema + Noindex Conflict","description":"Detects pages with rich result schema that are blocked from indexing","solution":"Pages with rich result schemas (Article, Product, Recipe, Event, etc.) should be indexed so search engines can display rich results. Having schema markup on noindexed pages wastes effort and prevents rich results from appearing. Remove noindex directive or remove schema markup if page shouldn't be indexed.","category":"crawl","scope":"site","severity":"error","weight":8},"checks":[{"name":"schema-noindex","status":"pass","message":"No schema+noindex conflicts"}]},"crawl/sitemap-4xx":{"meta":{"id":"crawl/sitemap-4xx","name":"4XX Pages in Sitemap","description":"Checks for sitemap URLs returning 4XX status codes","solution":"Sitemaps should only list URLs that return 200 and are intended for indexing. Remove 4XX URLs from the sitemap or fix them by restoring the content or redirecting to a valid page. Keep sitemap entries clean to avoid wasting crawl budget.","category":"crawl","scope":"site","severity":"warning","weight":6},"checks":[{"name":"sitemap-4xx","status":"pass","message":"No sitemap URL checks available"}]},"crawl/sitemap-coverage":{"meta":{"id":"crawl/sitemap-coverage","name":"Sitemap Coverage","description":"Checks for indexable pages that are not in the sitemap","solution":"Your sitemap should include all pages you want search engines to index. Pages that are crawlable and indexable (no noindex, not blocked by robots.txt) should generally be in your sitemap. Missing pages may not be discovered or indexed efficiently. Use a sitemap generator that automatically includes all indexable pages, or manually add important pages.","category":"crawl","scope":"site","severity":"warning","weight":5},"checks":[{"name":"sitemap-coverage","status":"warn","message":"1 indexable page(s) not in sitemap (2%)","items":[{"id":"https://nikcub.me/fb-table.html"}],"details":{"percentage":2,"total":1}}]},"crawl/sitemap-domain":{"meta":{"id":"crawl/sitemap-domain","name":"Sitemap Domain","description":"Checks that all sitemap URLs belong to the expected domain","solution":"All URLs in your sitemap should point to pages on your own domain. Cross-domain URLs in sitemaps are a configuration error - search engines will ignore URLs that don't match the sitemap's domain. Remove external URLs from your sitemap or fix the domain in URLs if they're incorrectly formatted.","category":"crawl","scope":"site","severity":"error","weight":8},"checks":[{"name":"sitemap-domain","status":"pass","message":"All sitemap URLs match site domain","details":{"host":"nikcub.me"}}]},"crawl/sitemap-exists":{"meta":{"id":"crawl/sitemap-exists","name":"Sitemap Exists","description":"Checks if XML sitemap exists and is referenced in robots.txt","solution":"XML sitemaps help search engines discover and index your pages. Create a sitemap.xml at your domain root listing all important pages. Reference it in robots.txt with 'Sitemap: https://yoursite.com/sitemap.xml'. Submit it to Google Search Console and Bing Webmaster Tools. Keep it under 50MB and 50,000 URLs per file; use a sitemap index for larger sites.","category":"crawl","scope":"site","severity":"error","weight":10},"checks":[{"name":"sitemap-exists","status":"pass","message":"1 sitemap(s) found","items":[{"id":"https://nikcub.me/sitemap.xml","meta":{"urlCount":44}}]},{"name":"sitemap-in-robots","status":"pass","message":"Sitemap referenced in robots.txt","value":"https://nikcub.me/sitemap.xml"},{"name":"sitemap-urls","status":"info","message":"Sitemap contains 44 URL(s)"}]},"crawl/sitemap-valid":{"meta":{"id":"crawl/sitemap-valid","name":"Sitemap Valid","description":"Validates sitemap structure and URL limits","solution":"Sitemaps must follow the sitemap protocol: use UTF-8 encoding, proper XML structure, and valid URLs. Each sitemap file can contain max 50,000 URLs and be max 50MB uncompressed. For larger sites, use a sitemap index file. All URLs should return 200 status codes. Use lastmod dates to indicate content freshness. Compress with gzip for faster loading.","category":"crawl","scope":"site","severity":"error","weight":8},"checks":[{"name":"sitemap-syntax","status":"pass","message":"Sitemap XML syntax is valid"},{"name":"sitemap-size","status":"pass","message":"All sitemaps within URL limits"},{"name":"sitemap-missing","status":"info","message":"1 crawled page(s) not in sitemap","items":[{"id":"https://nikcub.me/fb-table.html"}]}]},"eeat/about-page":{"meta":{"id":"eeat/about-page","name":"About Page","description":"Checks for an about/company page with content","solution":"An About page establishes credibility and trust. Include company history, mission, team overview, and credentials. Link from main navigation or footer. For E-E-A-T, explain your expertise and why visitors should trust you. Include contact information and physical location if applicable.","category":"eeat","scope":"site","severity":"warning","weight":5},"checks":[{"name":"about-page","status":"pass","message":"About page exists with substantial content","value":"https://nikcub.me/about"}]},"eeat/affiliate-disclosure":{"meta":{"id":"eeat/affiliate-disclosure","name":"Affiliate Disclosure","description":"Checks for affiliate and sponsored content disclosures","solution":"FTC requires clear disclosure of affiliate relationships and sponsored content. Disclose at the top of pages with affiliate links, not just in footer. Use clear language: 'We earn commissions from purchases' or 'This post is sponsored.' Create a dedicated disclosure page and link to it. Failure to disclose can result in penalties.","category":"eeat","scope":"site","severity":"info","weight":4},"checks":[{"name":"affiliate-disclosure","status":"info","message":"No affiliate links or disclosure page detected"}]},"eeat/author-byline":{"meta":{"id":"eeat/author-byline","name":"Author Bylines","description":"Checks for visible author names on content pages","solution":"Author bylines demonstrate experience and accountability. Show author names prominently on articles, blog posts, and expert content. Include author credentials where relevant. Link author names to bio pages. For YMYL content (health, finance), author transparency is especially important for Google's E-E-A-T assessment.","category":"eeat","scope":"site","severity":"warning","weight":5},"checks":[{"name":"author-byline","status":"warn","message":"Only 0% of content pages have author attribution","value":"Add author bylines to build E-E-A-T"}]},"eeat/author-expertise":{"meta":{"id":"eeat/author-expertise","name":"Author Expertise","description":"Checks for author credentials and expertise indicators","solution":"Author expertise is key for E-E-A-T, especially for YMYL content. Include: professional credentials (MD, JD, CPA), work experience, education, relevant certifications, and author bio pages. Link authors to LinkedIn or professional profiles. For health content, show medical reviewer credentials.","category":"eeat","scope":"site","severity":"info","weight":4},"checks":[{"name":"author-expertise","status":"pass","message":"Author expertise signals found","items":[{"id":"Person schema"}]}]},"eeat/citations":{"meta":{"id":"eeat/citations","name":"Citations","description":"Checks for citations to authoritative external sources","solution":"Citing authoritative sources builds credibility and supports E-E-A-T. Link to: government sites (.gov), educational institutions (.edu), peer-reviewed research, industry authorities. For health: cite NIH, CDC, WHO, medical journals. Include a sources/references section. Don't cite low-quality or unverified sources.","category":"eeat","scope":"site","severity":"info","weight":3},"checks":[{"name":"citations","status":"pass","message":"29 authoritative citation(s) found","value":"Across 19 page(s)"}]},"eeat/contact-page":{"meta":{"id":"eeat/contact-page","name":"Contact Page","description":"Checks for contact page with multiple contact methods","solution":"A contact page with multiple contact methods builds trust. Include: email address or contact form, phone number (if applicable), physical address, and social media links. Make contact information easy to find from any page. For local businesses, include business hours. Response time expectations are also helpful.","category":"eeat","scope":"site","severity":"warning","weight":5},"checks":[{"name":"contact-page","status":"pass","message":"Contact page exists","value":"https://nikcub.me/contact"}]},"eeat/content-dates":{"meta":{"id":"eeat/content-dates","name":"Content Dates","description":"Checks for published and modified dates on content","solution":"Visible dates show content freshness and help users assess relevance. Include datePublished and dateModified in Article schema. Show human-readable dates on pages. Update dateModified when making significant changes. Fresh content signals ongoing maintenance and expertise. Stale dates may hurt rankings for time-sensitive topics.","category":"eeat","scope":"site","severity":"warning","weight":4},"checks":[{"name":"date-published","status":"warn","message":"Only 0% of content has datePublished","value":"Add dates to Article schema"},{"name":"date-modified","status":"info","message":"0% of content has dateModified","value":"Add dateModified to show freshness"}]},"eeat/disclaimers":{"meta":{"id":"eeat/disclaimers","name":"Disclaimers","description":"Checks for appropriate disclaimers on sensitive content","solution":"Disclaimers protect you legally and build trust. Health content: 'This is not medical advice. Consult a healthcare professional.' Finance: 'Not financial advice. Consult a financial advisor.' Legal: 'Not legal advice. Consult an attorney.' Affiliate: 'We may earn commissions.' Make disclaimers visible, not hidden in fine print.","category":"eeat","scope":"site","severity":"info","weight":4},"checks":[{"name":"disclaimer-page","status":"info","message":"No dedicated disclaimer page found","value":"Consider adding if you have YMYL or affiliate content"}]},"eeat/editorial-policy":{"meta":{"id":"eeat/editorial-policy","name":"Editorial Policy","description":"Checks for editorial and content policy pages","solution":"Editorial policies demonstrate content quality standards and professionalism. Include: how content is created/reviewed, fact-checking process, correction policy, and editorial independence. For news sites, this is essential. For content sites, it builds trust and supports E-E-A-T. Link from footer or about page.","category":"eeat","scope":"site","severity":"info","weight":3},"checks":[{"name":"editorial-policy","status":"info","message":"No editorial/content policy pages found","value":"Consider adding for content-heavy sites"}]},"eeat/physical-address":{"meta":{"id":"eeat/physical-address","name":"Physical Address","description":"Checks for visible physical address information","solution":"A physical address builds trust and is essential for local businesses. Include in: footer, contact page, about page. Use PostalAddress schema markup. For local SEO, ensure NAP (Name, Address, Phone) consistency across the site and external listings. Virtual businesses can use registered office addresses.","category":"eeat","scope":"site","severity":"info","weight":3},"checks":[{"name":"physical-address","status":"info","message":"No address schema markup detected","value":"Add PostalAddress schema if applicable"}]},"eeat/privacy-policy":{"meta":{"id":"eeat/privacy-policy","name":"Privacy Policy","description":"Checks for privacy policy page linked from footer","solution":"A privacy policy is required by law in many jurisdictions (GDPR, CCPA) and signals trustworthiness. Link it from your footer on every page. Cover: what data you collect, how you use it, third-party sharing, user rights, and contact for privacy concerns. Keep it updated when practices change.","category":"eeat","scope":"site","severity":"warning","weight":5},"checks":[{"name":"privacy-policy","status":"pass","message":"Privacy Policy page exists","value":"https://nikcub.me/privacy"},{"name":"privacy-linked","status":"pass","message":"Privacy policy linked from 98% of pages"}]},"eeat/terms-of-service":{"meta":{"id":"eeat/terms-of-service","name":"Terms of Service","description":"Checks for terms of service page","solution":"Terms of Service (ToS) define the rules for using your site/service. Essential for: e-commerce, SaaS, membership sites. Include: user responsibilities, intellectual property, disclaimers, dispute resolution. Link from footer. Keep updated when practices change. For simple content sites, may be optional but still recommended.","category":"eeat","scope":"site","severity":"info","weight":3},"checks":[{"name":"terms-of-service","status":"info","message":"No Terms of Service page found","value":"Consider adding for e-commerce/SaaS sites"}]},"eeat/trust-signals":{"meta":{"id":"eeat/trust-signals","name":"Trust Signals","description":"Checks for trust badges, certifications, and social proof","solution":"Trust signals help visitors feel confident. Include: security badges (Norton, McAfee), payment badges (Visa, PayPal), certifications (BBB, industry-specific), customer reviews/testimonials, and social proof (customer count, awards). Place trust signals prominently on homepage, checkout, and contact pages.","category":"eeat","scope":"site","severity":"info","weight":3},"checks":[{"name":"trust-signals","status":"info","message":"Limited trust signals detected","value":"Consider adding reviews, testimonials, or certifications"}]},"eeat/ymyl-detection":{"meta":{"id":"eeat/ymyl-detection","name":"YMYL Detection","description":"Detects Your Money Your Life (YMYL) content","solution":"YMYL content (health, finance, legal, safety) is held to higher E-E-A-T standards by Google. If detected: ensure expert authors with credentials, add disclaimers ('not medical advice'), cite authoritative sources, show content review dates, and include professional credentials. YMYL errors can significantly impact rankings.","category":"eeat","scope":"site","severity":"info","weight":5},"checks":[{"name":"ymyl-content","status":"info","message":"YMYL content detected - apply higher E-E-A-T standards","items":[{"id":"Health (1 pages)"},{"id":"Finance (2 pages)"},{"id":"Legal (1 pages)"}]},{"name":"ymyl-requirements","status":"info","message":"YMYL content should have expert authors, disclaimers, and citations"}]},"i18n/hreflang":{"meta":{"id":"i18n/hreflang","name":"Hreflang Tags","description":"Checks for hreflang link elements","solution":"Hreflang tags tell search engines about language and regional variations of pages, preventing duplicate content issues and ensuring users see the right version. Add hreflang link tags for each language/region version of a page. Include x-default for the fallback. Every page referenced should link back to all variants (bidirectional). Use correct ISO language and country codes.","category":"i18n","scope":"page","severity":"info","weight":3},"checks":[{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/asides","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/subscribe","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/numeronym","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/contact","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/about","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/privacy","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/tracking-cookie","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts?page=2","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts?page=1","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts?page=3","value":"null"},{"name":"hreflang","status":"info","message":"No hreflang tags found (not required for single-language sites)","pageUrl":"https://nikcub.me/posts?page=4","value":"null"}]},"i18n/lang-attribute":{"meta":{"id":"i18n/lang-attribute","name":"Lang Attribute","description":"Checks for lang attribute on html element","solution":"The lang attribute on the html element declares the page's language, helping browsers, screen readers, and search engines process content correctly. Add lang=\"xx\" to your html tag using a valid ISO 639-1 code (e.g., \"en\", \"es\", \"fr\"). For regional variants, use lang=\"en-US\" or \"en-GB\". This improves accessibility and helps search engines serve your content to the right audience.","category":"i18n","scope":"page","severity":"warning","weight":4},"checks":[{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/asides","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/subscribe","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/numeronym","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/contact","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/about","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/privacy","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/tracking-cookie","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts?page=2","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/fb-table.html","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts?page=1","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts?page=3","value":"en"},{"name":"lang-attribute","status":"pass","message":"Lang attribute present: en","pageUrl":"https://nikcub.me/posts?page=4","value":"en"}]},"images/alt-text":{"meta":{"id":"images/alt-text","name":"Image Alt Text","description":"Validates image alt attributes","solution":"Alt text describes images for screen readers and displays when images fail to load. It's essential for accessibility and helps with image search SEO. Add descriptive alt text to all meaningful images. Keep it concise (under 125 characters) but descriptive. For decorative images, use empty alt=\"\" to indicate they should be skipped by screen readers. Avoid keyword stuffing in alt text.","category":"images","scope":"page","severity":"warning","weight":5},"checks":[{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/asides"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/subscribe"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"alt-text","status":"pass","message":"All 5 image(s) have alt text","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"alt-text","status":"pass","message":"All 7 image(s) have alt text","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"alt-text","status":"pass","message":"All 3 image(s) have alt text","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/contact"},{"name":"alt-text","status":"pass","message":"All 2 image(s) have alt text","pageUrl":"https://nikcub.me/about"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/privacy"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"alt-text","status":"pass","message":"No images on page","pageUrl":"https://nikcub.me/fb-table.html","value":"0"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"alt-text","status":"pass","message":"All 1 image(s) have alt text","pageUrl":"https://nikcub.me/posts?page=4"}]},"images/broken-images":{"meta":{"id":"images/broken-images","name":"Broken Images","description":"Checks for images returning 404 errors","solution":"Broken images hurt user experience and can indicate neglected content. Fix 404 images by: updating the src URL, restoring the missing file, or removing the img element. Use automated monitoring to detect broken images. Consider implementing fallback images with onerror handlers.","category":"images","scope":"site","severity":"error","weight":6},"checks":[{"name":"broken-images","status":"pass","message":"No obviously broken images detected"}]},"images/dimensions":{"meta":{"id":"images/dimensions","name":"Image Dimensions","description":"Checks for width/height attributes (prevents CLS)","solution":"Specifying width and height attributes prevents Cumulative Layout Shift (CLS) by reserving space before images load. Add width and height attributes to img tags matching the image's intrinsic dimensions. Use CSS for responsive sizing if needed. For responsive images, the aspect ratio from width/height prevents layout shifts even when CSS overrides the actual size.","category":"images","scope":"page","severity":"warning","weight":4},"checks":[{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/asides","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/subscribe","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 3 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"3"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"1"},{"name":"image-dimensions","status":"warn","message":"4 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"4"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 7 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"7"},{"name":"image-dimensions","status":"pass","message":"All 2 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"2"},{"name":"image-dimensions","status":"pass","message":"All 2 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"2"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"1"},{"name":"image-dimensions","status":"warn","message":"2 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"2"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 3 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"3"},{"name":"image-dimensions","status":"pass","message":"All 3 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"3"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"1"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"1"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"1"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 2 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"2"},{"name":"image-dimensions","status":"warn","message":"1 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 3 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"3"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"1"},{"name":"image-dimensions","status":"warn","message":"2 image(s) missing width/height (causes CLS)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"2"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/numeronym","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/contact","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 2 image(s) have dimensions","pageUrl":"https://nikcub.me/about","value":"2"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/privacy","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/tracking-cookie","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts?page=2","value":"1"},{"name":"image-dimensions","status":"pass","message":"No images on page","pageUrl":"https://nikcub.me/fb-table.html","value":"0"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts?page=1","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts?page=3","value":"1"},{"name":"image-dimensions","status":"pass","message":"All 1 image(s) have dimensions","pageUrl":"https://nikcub.me/posts?page=4","value":"1"}]},"images/figure-figcaption":{"meta":{"id":"images/figure-figcaption","name":"Figure Captions","description":"Checks for proper use of figure and figcaption elements","solution":"Use <figure> and <figcaption> for images with captions. This provides semantic meaning and accessibility benefits. Screen readers announce figcaption as the image caption. Good for SEO as captions often contain keywords. Example: <figure><img src='...' alt='...'><figcaption>Description</figcaption></figure>.","category":"images","scope":"page","severity":"info","weight":2},"checks":[{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/asides","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/subscribe","value":"Consider using <figure> for images that need captions"},{"name":"figure-figcaption","status":"info","message":"1/2 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Add descriptive captions to figures"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"5 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider using <figure> for images that need captions"},{"name":"figure-figcaption","status":"pass","message":"All 6 figure(s) have captions","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"figure-figcaption","status":"pass","message":"All 1 figure(s) have captions","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"figure-figcaption","status":"pass","message":"All 1 figure(s) have captions","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"figure-figcaption","status":"info","message":"1/1 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Add descriptive captions to figures"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider using <figure> for images that need captions"},{"name":"figure-figcaption","status":"info","message":"1/1 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Add descriptive captions to figures"},{"name":"figure-figcaption","status":"info","message":"1/1 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Add descriptive captions to figures"},{"name":"figure-figcaption","status":"pass","message":"All 2 figure(s) have captions","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"figure-figcaption","status":"pass","message":"All 2 figure(s) have captions","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"figure-figcaption","status":"info","message":"3/3 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Add descriptive captions to figures"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider using <figure> for images that need captions"},{"name":"figure-figcaption","status":"pass","message":"All 1 figure(s) have captions","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider using <figure> for images that need captions"},{"name":"figure-figcaption","status":"pass","message":"All 2 figure(s) have captions","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"3 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider using <figure> for images that need captions"},{"name":"figure-figcaption","status":"info","message":"3/3 figure(s) missing figcaption","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Add descriptive captions to figures"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/contact","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"2 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/about","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/privacy","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider using <figure> for images that need captions"},{"name":"figure-figcaption","status":"skipped","message":"No images or figures found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider using <figure> for images that need captions"},{"name":"figure-usage","status":"info","message":"1 image(s) not using figure/figcaption","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider using <figure> for images that need captions"}]},"images/filename-quality":{"meta":{"id":"images/filename-quality","name":"Image Filename Quality","description":"Checks for descriptive image filenames","solution":"Use descriptive, keyword-rich filenames for images instead of generic names like IMG_001.jpg or DSC1234.png. Good: 'red-running-shoes-nike.jpg'. Bad: 'IMG_20231015.jpg'. Filenames contribute to image SEO and help search engines understand image content. Use hyphens to separate words.","category":"images","scope":"page","severity":"info","weight":2},"checks":[{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/asides"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/subscribe"},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"filename-quality","status":"pass","message":"All 5 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"filename-quality","status":"pass","message":"All 7 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"filename-quality","status":"info","message":"1 image(s) with non-descriptive filenames","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"image66.webp"}]},{"name":"filename-quality","status":"info","message":"1 image(s) with non-descriptive filenames","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"20111225-pmyb3unhb18e2drdnyr1wuna5k.jpg-20class"}]},{"name":"filename-quality","status":"info","message":"1 image(s) with non-descriptive filenames","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"2689708043_3afee5af69_o.webp"}]},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"filename-quality","status":"pass","message":"All 3 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"filename-quality","status":"info","message":"2 image(s) with non-descriptive filenames","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"5909374213_cbae62eb55_m.webp"},{"id":"5909661385_79445883de_b.webp"}]},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/contact"},{"name":"filename-quality","status":"pass","message":"All 2 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/about"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/privacy"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"filename-quality","status":"skipped","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"filename-quality","status":"pass","message":"All 1 image(s) have descriptive filenames","pageUrl":"https://nikcub.me/posts?page=4"}]},"images/image-file-size":{"meta":{"id":"images/image-file-size","name":"Image File Size Too Large","description":"Checks for image files that exceed recommended size limits","solution":"Large images slow down page loads and impact Core Web Vitals. Compress oversized images, use modern formats (WebP/AVIF), and resize images to the display dimensions. Consider responsive images with srcset to serve smaller files on mobile.","category":"images","scope":"site","severity":"error","weight":7},"checks":[{"name":"image-file-size","status":"pass","message":"All image files are within size limits"}]},"images/lazy-loading":{"meta":{"id":"images/lazy-loading","name":"Lazy Loading","description":"Checks for lazy loading on below-fold images","solution":"Use loading='lazy' on images below the fold to defer loading until needed. This improves initial page load and saves bandwidth. Native lazy loading is supported by all modern browsers. Don't lazy load above-fold images (especially LCP candidates). Consider loading='eager' for critical images.","category":"images","scope":"page","severity":"info","weight":3},"checks":[{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/asides"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"lazy-loading","status":"pass","message":"1 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"lazy-loading-missing","status":"info","message":"2 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"lazy-loading","status":"info","message":"5 images without lazy loading","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Add loading='lazy' to below-fold images"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"lazy-loading","status":"pass","message":"6 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading","status":"pass","message":"1 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading","status":"pass","message":"1 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"lazy-loading","status":"info","message":"3 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"lazy-loading","status":"pass","message":"2 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading","status":"pass","message":"2 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"lazy-loading","status":"pass","message":"1 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"lazy-loading","status":"pass","message":"2 element(s) use lazy loading","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"lazy-loading-missing","status":"info","message":"1 image(s) without loading attribute","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding loading='lazy' for below-fold images"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"lazy-loading","status":"info","message":"3 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/contact"},{"name":"lazy-loading","status":"info","message":"2 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/about"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/privacy"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"lazy-loading","status":"skipped","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"lazy-loading","status":"info","message":"1 image(s) found, no lazy loading detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"images/modern-format":{"meta":{"id":"images/modern-format","name":"Modern Image Formats","description":"Checks for modern image formats like WebP or AVIF","solution":"Modern formats (WebP, AVIF) offer 25-50% better compression than JPEG/PNG with similar quality. Use <picture> with WebP/AVIF sources and fallbacks. Most browsers support WebP (97%+). AVIF offers even better compression but lower support (~92%). Convert images with tools like cwebp, squoosh, or sharp.","category":"images","scope":"page","severity":"info","weight":3},"checks":[{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/asides"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/subscribe"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"modern-format","status":"pass","message":"All 5 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"modern-format","status":"pass","message":"All 7 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"modern-format","status":"info","message":"1 modern format(s), 1 legacy format(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider converting remaining images to WebP/AVIF"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"modern-format","status":"pass","message":"All 3 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/contact"},{"name":"modern-format","status":"pass","message":"All 2 image(s) use modern formats","pageUrl":"https://nikcub.me/about"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/privacy"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"modern-format","status":"skipped","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"modern-format","status":"pass","message":"All 1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts?page=4"}]},"images/offscreen-lazy":{"meta":{"id":"images/offscreen-lazy","name":"Offscreen Image Lazy Loading","description":"Checks if offscreen images use lazy loading","solution":"Add loading='lazy' to images below the fold to defer loading until needed. This reduces initial page load time and saves bandwidth. Exception: Don't lazy-load LCP image or above-the-fold content. Use loading='eager' for critical images.","category":"images","scope":"page","severity":"warning","weight":5},"checks":[{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/asides","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/subscribe","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"totalImages":3}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"totalImages":2}},{"name":"offscreen-images-not-lazy","status":"warn","message":"2 below-fold image(s) without lazy loading","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf-20-page-2069-20of-2099-.webp"},{"id":"Screen-20Shot-202014-12-04-20at-202.00.01-20AM.webp"}]},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"totalImages":1}},{"name":"lazy-loading-used","status":"pass","message":"4 image(s) use lazy loading","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"totalImages":3}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"totalImages":3}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"totalImages":3}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"totalImages":3}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"totalImages":3}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/numeronym","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/contact","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/about","details":{"totalImages":2}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/privacy","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/tracking-cookie","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts?page=2","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"info","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts?page=1","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts?page=3","details":{"totalImages":1}},{"name":"offscreen-lazy","status":"pass","message":"Few images on page - lazy loading not critical","pageUrl":"https://nikcub.me/posts?page=4","details":{"totalImages":1}}]},"images/optimized":{"meta":{"id":"images/optimized","name":"Image Optimization","description":"Checks for image optimization indicators","solution":"Optimize images to reduce file sizes without visible quality loss. Use tools like Squoosh, ImageOptim, or TinyPNG. Consider using an image CDN (Cloudinary, Imgix, Cloudflare Images) for automatic optimization and responsive delivery. Modern formats (WebP, AVIF) offer 25-50% better compression.","category":"images","scope":"page","severity":"info","weight":4},"checks":[{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"modern-image-formats","status":"pass","message":"4 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"modern-image-formats","status":"pass","message":"2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"modern-image-formats","status":"pass","message":"1 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"modern-image-formats","status":"pass","message":"2 image(s) use modern formats","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"image-optimization","status":"info","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"}]},"images/picture-element":{"meta":{"id":"images/picture-element","name":"Picture Element Validation","description":"Validates <picture> elements have required <img> fallback","solution":"Every <picture> element MUST contain an <img> child element as fallback.\n\nCorrect structure:\n<picture>\n  <source srcset=\"image.webp\" type=\"image/webp\">\n  <source srcset=\"image.jpg\" type=\"image/jpeg\">\n  <img src=\"image.jpg\" alt=\"Description\">\n</picture>\n\nThe <img> provides fallback for:\n- Browsers without <picture> support\n- Screen readers\n- Search engine crawlers\n- Failed srcset loading","category":"images","scope":"page","severity":"error","weight":6},"checks":[{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/asides","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/subscribe","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/onymous-part1","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/numeronym","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/contact","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/about","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/privacy","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/tracking-cookie","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts?page=2","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/fb-table.html","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts?page=1","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts?page=3","skipReason":"Page has no picture elements"},{"name":"picture-element","status":"skipped","message":"No <picture> elements found","pageUrl":"https://nikcub.me/posts?page=4","skipReason":"Page has no picture elements"}]},"images/responsive-size":{"meta":{"id":"images/responsive-size","name":"Responsive Image Size","description":"Checks if images are sized appropriately for their display size","solution":"Serve images at appropriate sizes for their display dimensions. Oversized images waste bandwidth and slow page load. Undersized images look blurry on high-DPI displays. Use srcset to serve different sizes for different screens. For responsive images, serve 1x, 2x, and optionally 3x versions. Image CDNs can automatically resize images on-the-fly.","category":"images","scope":"page","severity":"warning","weight":5},"checks":[{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/asides","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/contact","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/about","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/privacy","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"image (56x56, no srcset)"}]},{"name":"responsive-size","status":"info","message":"No images found on page","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"image (56x56, no srcset)"}]},{"name":"images-possibly-oversized","status":"warn","message":"1 small image(s) may be serving oversized files","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"image (56x56, no srcset)"}]}]},"images/srcset":{"meta":{"id":"images/srcset","name":"Responsive Images","description":"Checks for responsive images with srcset attribute","solution":"Use srcset and sizes attributes to serve appropriately sized images for each viewport. This reduces bandwidth on mobile and improves LCP. Example: srcset='img-320.jpg 320w, img-640.jpg 640w, img-1280.jpg 1280w' sizes='(max-width: 640px) 100vw, 50vw'. Use <picture> element for art direction.","category":"images","scope":"page","severity":"info","weight":3},"checks":[{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/asides","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/subscribe","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"5 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"7 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"3 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/numeronym","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/contact","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"2 image(s) without responsive srcset","pageUrl":"https://nikcub.me/about","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/privacy","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/tracking-cookie","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts?page=2","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"skipped","message":"No images found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts?page=1","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts?page=3","value":"Add srcset for multiple image sizes"},{"name":"srcset","status":"info","message":"1 image(s) without responsive srcset","pageUrl":"https://nikcub.me/posts?page=4","value":"Add srcset for multiple image sizes"}]},"images/svg-inline":{"meta":{"id":"images/svg-inline","name":"Inline SVG Size","description":"Checks for large inline SVGs bloating HTML","solution":"Large inline SVGs increase HTML size and block rendering. Move SVGs >4KB to external files and reference with <img> or CSS background. Inline small, critical SVGs (icons, logos) only. Use SVGO to optimize. Consider SVG sprites for icon sets. Inline SVGs can't be cached separately from HTML.","category":"images","scope":"page","severity":"info","weight":3},"checks":[{"name":"svg-inline","status":"pass","message":"15 inline SVG(s), 4.8KB total","pageUrl":"https://nikcub.me/"},{"name":"svg-inline","status":"pass","message":"25 inline SVG(s), 7.9KB total","pageUrl":"https://nikcub.me/posts"},{"name":"svg-inline","status":"pass","message":"4 inline SVG(s), 1.5KB total","pageUrl":"https://nikcub.me/asides"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.2KB total","pageUrl":"https://nikcub.me/subscribe"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"svg-inline","status":"pass","message":"6 inline SVG(s), 2.1KB total","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"svg-inline","status":"pass","message":"8 inline SVG(s), 3.1KB total","pageUrl":"https://nikcub.me/contact"},{"name":"svg-inline","status":"pass","message":"4 inline SVG(s), 1.5KB total","pageUrl":"https://nikcub.me/about"},{"name":"svg-inline","status":"pass","message":"4 inline SVG(s), 1.5KB total","pageUrl":"https://nikcub.me/privacy"},{"name":"svg-inline","status":"pass","message":"4 inline SVG(s), 1.5KB total","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"svg-inline","status":"pass","message":"26 inline SVG(s), 8.1KB total","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"svg-inline","status":"info","message":"No inline SVGs found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"svg-inline","status":"pass","message":"25 inline SVG(s), 7.9KB total","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"svg-inline","status":"pass","message":"26 inline SVG(s), 8.1KB total","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"svg-inline","status":"pass","message":"17 inline SVG(s), 5.4KB total","pageUrl":"https://nikcub.me/posts?page=4"}]},"legal/cookie-consent":{"meta":{"id":"legal/cookie-consent","name":"Cookie Consent","description":"Checks for cookie consent mechanism","solution":"Cookie consent is required under GDPR and ePrivacy regulations for EU users. Implement a consent banner that: allows users to accept/reject non-essential cookies, doesn't pre-check optional cookies, stores consent preferences, and blocks tracking cookies until consent. Use tools like CookieYes, OneTrust, or Cookiebot.","category":"legal","scope":"page","severity":"info","weight":4},"checks":[{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/asides","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/subscribe","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/contact","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/about","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/privacy","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/fb-table.html","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Required for GDPR compliance if using cookies"},{"name":"cookie-consent","status":"info","message":"No cookie consent mechanism detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Required for GDPR compliance if using cookies"}]},"legal/privacy-policy":{"meta":{"id":"legal/privacy-policy","name":"Privacy Policy","description":"Checks for privacy policy link presence","solution":"A privacy policy is legally required in many jurisdictions (GDPR, CCPA). Link to your privacy policy from every page, typically in the footer. The policy should explain what data you collect, how it's used, and user rights. Consider using schema.org markup to identify the policy page.","category":"legal","scope":"page","severity":"warning","weight":5},"checks":[{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/asides","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/subscribe","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"https://www.facebook.com/settings/?tab=privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/numeronym","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/contact","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/about","value":"http://bits.blogs.nytimes.com/2011/09/29/privacy-groups-ask-f-t-c-to-review-new-facebook-features/"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/privacy","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/tracking-cookie","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts?page=2","value":"/posts/two-google-chrome-privacy-issues"},{"name":"privacy-policy","status":"warn","message":"No privacy policy link found","pageUrl":"https://nikcub.me/fb-table.html","value":"Add a link to your privacy policy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts?page=1","value":"/privacy"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts?page=3","value":"/posts/logging-out-of-facebook-is-not-enough"},{"name":"privacy-policy","status":"pass","message":"Privacy policy link found","pageUrl":"https://nikcub.me/posts?page=4","value":"/privacy"}]},"legal/terms-of-service":{"meta":{"id":"legal/terms-of-service","name":"Terms of Service","description":"Checks for terms of service link presence","solution":"Terms of Service (ToS) protect your business by defining user rights and limitations. Link to ToS from your footer on every page. Essential for: e-commerce sites, SaaS products, user-generated content platforms, and membership sites. Include sections on: usage rules, liability limits, dispute resolution, and termination.","category":"legal","scope":"page","severity":"info","weight":3},"checks":[{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/asides","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"pass","message":"Terms of service link found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"https://en.wikipedia.org/wiki/ICloud_leaks_of_celebrity_photos"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/contact","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/about","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/privacy","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding terms of service for legal protection"},{"name":"terms-of-service","status":"info","message":"No terms of service link found","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding terms of service for legal protection"}]},"links/anchor-text":{"meta":{"id":"links/anchor-text","name":"Anchor Text","description":"Checks for empty or generic anchor text","solution":"Descriptive anchor text helps users and search engines understand link destinations. Avoid generic text like 'click here' or 'read more'. Use natural language that describes the target page. For accessibility, anchor text should make sense out of context. Avoid overly long anchor text or keyword stuffing.","category":"links","scope":"page","severity":"warning","weight":4},"checks":[{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/asides"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/subscribe"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"empty-anchor","status":"warn","message":"1 link(s) have empty anchor text","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"https://www.facebook.com/settings/?tab=privacy"}]},{"name":"generic-anchor","status":"info","message":"1 link(s) use generic anchor text","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"\"here\"","label":"\"here\""}]},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/contact"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/about"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/privacy"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"anchor-text","status":"pass","message":"Link anchor text is descriptive","pageUrl":"https://nikcub.me/posts?page=4"}]},"links/broken-external-links":{"meta":{"id":"links/broken-external-links","name":"Broken External Links","description":"Detects external links returning 4xx/5xx errors or timeouts","solution":"Broken external links hurt user experience and credibility. Regularly audit external links using automated tools. Remove or replace broken links with working alternatives. Consider using archived versions (archive.org) if the original content is gone. For important resources, consider hosting your own copies of critical documentation or linking to more stable sources.","category":"links","scope":"site","severity":"warning","weight":5},"checks":[{"name":"broken-external-links","status":"warn","message":"72 broken external link(s): 26 with 404, 2 with 429, 26 failed, 3 with 520, 5 with 500, 1 with 403, 3 with 401, 5 with 503, 1 with 999","items":[{"id":"http://www.gq-magazine.co.uk/article/bitcoin-creator-satoshi-nakamoto-craig-wright","label":"http://www.gq-magazine.co.uk/article/bitcoin-creator-satoshi-nakamoto-craig-wright (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"http://www.lrb.co.uk/2016/05/01/andrew-ohagan/the-search-for-satoshi","label":"http://www.lrb.co.uk/2016/05/01/andrew-ohagan/the-search-for-satoshi (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"http://www.mcgrathnicol.com/app/uploads/D14-140526-Hotwire439AReport-BFK.pdf","label":"http://www.mcgrathnicol.com/app/uploads/D14-140526-Hotwire439AReport-BFK.pdf (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"https://github.com/spesmilo/electrum/blob/master/lib/interface.py#L117","label":"https://github.com/spesmilo/electrum/blob/master/lib/interface.py#L117 (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"https://github.com/spesmilo/electrum/blob/master/lib/network.py#L367-384","label":"https://github.com/spesmilo/electrum/blob/master/lib/network.py#L367-384 (404)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":404,"error":null}},{"id":"http://archive.is/3UwA7","label":"http://archive.is/3UwA7 (429)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"status":429,"error":null}},{"id":"https://www.nikcub.com/posts/onymous-part1/","label":"https://www.nikcub.com/posts/onymous-part1/ (404)","sourcePages":["https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"],"meta":{"status":404,"error":null}},{"id":"http://www.thoughtcrime.org/software/sslstrip/","label":"http://www.thoughtcrime.org/software/sslstrip/ (404)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":404,"error":null}},{"id":"http://www.networking4all.com/en/ssl+certificates/faq/change+san+issue/","label":"http://www.networking4all.com/en/ssl+certificates/faq/change+san+issue/ (404)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":404,"error":null}},{"id":"https://cabforum.org/wp-content/uploads/Guidance-Deprecated-Internal-Names.pdf","label":"https://cabforum.org/wp-content/uploads/Guidance-Deprecated-Internal-Names.pdf (404)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":404,"error":null}},{"id":"https://github.com/chris-barry/darkweb-everywhere/tree/master/src/chrome/content/rules","label":"https://github.com/chris-barry/darkweb-everywhere/tree/master/src/chrome/content/rules (404)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":404,"error":null}},{"id":"http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf","label":"http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf (Error: Unable to connect. Is the computer able to access the url?)","sourcePages":["https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"],"meta":{"status":null,"error":"Unable to connect. Is the computer able to access the url?"}},{"id":"http://www.twitter.com/lamoustache","label":"http://www.twitter.com/lamoustache (520)","sourcePages":["https://nikcub.me/posts/onymous-part1"],"meta":{"status":520,"error":null}},{"id":"http://www.deepdotweb.com/","label":"http://www.deepdotweb.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/onymous-part1"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://allyour4nert7pkh.onion/wiki/index.php?title=Onion_Cloner","label":"http://allyour4nert7pkh.onion/wiki/index.php?title=Onion_Cloner (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/onymous-part1"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://www.jump-in.com.au/show/60minutes/stories/2014/september/the-dark-web/","label":"http://www.jump-in.com.au/show/60minutes/stories/2014/september/the-dark-web/ (Error: Unable to connect. Is the computer able to access the url?)","sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"],"meta":{"status":null,"error":"Unable to connect. Is the computer able to access the url?"}},{"id":"http://www.jump-in.com.au/show/60minutes/videos/3784171895001/","label":"http://www.jump-in.com.au/show/60minutes/videos/3784171895001/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://www.tor2web.org/","label":"http://www.tor2web.org/ (Error: ERR_TLS_CERT_ALTNAME_INVALID fetching \"http://www.tor2web.org/\". For more information, pass `verbose: true` in the second argument to fetch())","sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"],"meta":{"status":null,"error":"ERR_TLS_CERT_ALTNAME_INVALID fetching \"http://www.tor2web.org/\". For more information, pass `verbose: true` in the second argument to fetch()"}},{"id":"https://metrics.torproject.org/users.html","label":"https://metrics.torproject.org/users.html (404)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":404,"error":null}},{"id":"http://ia700603.us.archive.org/21/items/gov.uscourts.nysd.422824/gov.uscourts.nysd.422824.57.0.pdf","label":"http://ia700603.us.archive.org/21/items/gov.uscourts.nysd.422824/gov.uscourts.nysd.422824.57.0.pdf (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://antilop.cc/sr/img/2013_03_16_stack_overflow_question.png","label":"http://antilop.cc/sr/img/2013_03_16_stack_overflow_question.png (Error: timeout)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":null,"error":"timeout"}},{"id":"http://www.twitter.com/harisec","label":"http://www.twitter.com/harisec (520)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":520,"error":null}},{"id":"http://www.twitter.com/thegrugq","label":"http://www.twitter.com/thegrugq (520)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":520,"error":null}},{"id":"http://antilop.cc/sr/","label":"http://antilop.cc/sr/ (Error: timeout)","sourcePages":["https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"],"meta":{"status":null,"error":"timeout"}},{"id":"http://www.disqus.com/","label":"http://www.disqus.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://disqus.com/","label":"http://disqus.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://blog.cs-cart.com/2014/07/21/cs-cart-4-2-1-released-new-styles-e-mail-marketing-and-more/","label":"http://blog.cs-cart.com/2014/07/21/cs-cart-4-2-1-released-new-styles-e-mail-marketing-and-more/ (404)","sourcePages":["https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"],"meta":{"status":404,"error":null}},{"id":"http://www.amta.org.au/articles/Delivering.user-friendly.Government.services.online","label":"http://www.amta.org.au/articles/Delivering.user-friendly.Government.services.online (404)","sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"],"meta":{"status":404,"error":null}},{"id":"http://www.archive.dbcde.gov.au/2013/september/national_digital_economy_strategy/advancing_australia_as_a_digital_economy/part_three_achieving_o%20ur_goalsbuilding_on_the_2011_national_digital_economystrategy/online_government_service_delivery","label":"http://www.archive.dbcde.gov.au/2013/september/national_digital_economy_strategy/advancing_australia_as_a_digital_economy/part_three_achieving_o%20ur_goalsbuilding_on_the_2011_national_digital_economystrategy/online_government_service_delivery (Error: timeout)","sourcePages":["https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"],"meta":{"status":null,"error":"timeout"}},{"id":"http://sxp.yimg.com/ei/ynano/YAxis_Chrome_v1_0_20120520.crx","label":"http://sxp.yimg.com/ei/ynano/YAxis_Chrome_v1_0_20120520.crx (500)","sourcePages":["https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"],"meta":{"status":500,"error":null}},{"id":"http://blogs.msdn.com/b/ie/archive/2012/02/20/google-bypassing-user-privacy-settings.aspx","label":"http://blogs.msdn.com/b/ie/archive/2012/02/20/google-bypassing-user-privacy-settings.aspx (403)","sourcePages":["https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"],"meta":{"status":403,"error":null}},{"id":"http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html","label":"http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html (401)","sourcePages":["https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"],"meta":{"status":401,"error":null}},{"id":"https://ssd.eff.org/book/export/html/42","label":"https://ssd.eff.org/book/export/html/42 (404)","sourcePages":["https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"],"meta":{"status":404,"error":null}},{"id":"http://twitter.com/byoogle","label":"http://twitter.com/byoogle (500)","sourcePages":["https://nikcub.me/posts/frictionless-browser-plugin","https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"],"meta":{"status":500,"error":null}},{"id":"https://www.mondaynote.com/2011/12/05/behind-rim%E2%80%99s-485m-write-off/","label":"https://www.mondaynote.com/2011/12/05/behind-rim%E2%80%99s-485m-write-off/ (Error: Unable to connect. Is the computer able to access the url?)","sourcePages":["https://nikcub.me/posts/google-android-the-accidental-empire"],"meta":{"status":null,"error":"Unable to connect. Is the computer able to access the url?"}},{"id":"http://blogs.wsj.com/tech-europe/2011/02/09/full-text-nokia-ceo-stephen-elops-burning-platform-memo/","label":"http://blogs.wsj.com/tech-europe/2011/02/09/full-text-nokia-ceo-stephen-elops-burning-platform-memo/ (401)","sourcePages":["https://nikcub.me/posts/google-android-the-accidental-empire"],"meta":{"status":401,"error":null}},{"id":"http://chitika.com/","label":"http://chitika.com/ (Error: certificate has expired)","sourcePages":["https://nikcub.me/posts/lies-damn-lies-and-google-statistics"],"meta":{"status":null,"error":"certificate has expired"}},{"id":"http://insights.chitika.com/2011/failure-to-launch-google-growth-spurt-short-lived/","label":"http://insights.chitika.com/2011/failure-to-launch-google-growth-spurt-short-lived/ (Error: certificate has expired)","sourcePages":["https://nikcub.me/posts/lies-damn-lies-and-google-statistics"],"meta":{"status":null,"error":"certificate has expired"}},{"id":"http://twitter.com/arrington","label":"http://twitter.com/arrington (500)","sourcePages":["https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"],"meta":{"status":500,"error":null}},{"id":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html","label":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html (401)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":401,"error":null}},{"id":"http://nikcub.appspot.com/logging-out-of-facebook-is-not-enough","label":"http://nikcub.appspot.com/logging-out-of-facebook-is-not-enough (503)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":503,"error":null}},{"id":"http://nikcub.appspot.com/fb-table.html","label":"http://nikcub.appspot.com/fb-table.html (503)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":503,"error":null}},{"id":"http://nikcub.appspot.com/facebook-fixes-logout-issue-explains-cookies","label":"http://nikcub.appspot.com/facebook-fixes-logout-issue-explains-cookies (503)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":503,"error":null}},{"id":"http://www.datatilsynet.no/upload/Dokumenter/utredninger%20av%20Datatilsynet/From%20Facebook%20-%20Norway-DPA.pdf","label":"http://www.datatilsynet.no/upload/Dokumenter/utredninger%20av%20Datatilsynet/From%20Facebook%20-%20Norway-DPA.pdf (404)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":404,"error":null}},{"id":"http://twitter.com/#!/jonathanmayer","label":"http://twitter.com/#!/jonathanmayer (500)","sourcePages":["https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"],"meta":{"status":500,"error":null}},{"id":"http://www.microsoft.com/security/online-privacy/passwords-create.aspx","label":"http://www.microsoft.com/security/online-privacy/passwords-create.aspx (404)","sourcePages":["https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"],"meta":{"status":404,"error":null}},{"id":"http://twitter.com/#!/sacca/status/88653313096163329","label":"http://twitter.com/#!/sacca/status/88653313096163329 (500)","sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"],"meta":{"status":500,"error":null}},{"id":"http://bitbucket.org/nik/blockplus","label":"http://bitbucket.org/nik/blockplus (404)","sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"],"meta":{"status":404,"error":null}},{"id":"http://nikcub.appspot.com/static/blockplus-2.crx","label":"http://nikcub.appspot.com/static/blockplus-2.crx (503)","sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"],"meta":{"status":503,"error":null}},{"id":"https://bitbucket.org/nik/blockplus/issues","label":"https://bitbucket.org/nik/blockplus/issues (404)","sourcePages":["https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"],"meta":{"status":404,"error":null}},{"id":"http://www.miaminewtimes.com/content/printVersion/240700/","label":"http://www.miaminewtimes.com/content/printVersion/240700/ (404)","sourcePages":["https://nikcub.me/posts/pain-and-gain"],"meta":{"status":404,"error":null}},{"id":"http://www.miaminewtimes.com/content/printVersion/240723/","label":"http://www.miaminewtimes.com/content/printVersion/240723/ (404)","sourcePages":["https://nikcub.me/posts/pain-and-gain"],"meta":{"status":404,"error":null}},{"id":"http://www.miaminewtimes.com/content/printVersion/240747/","label":"http://www.miaminewtimes.com/content/printVersion/240747/ (404)","sourcePages":["https://nikcub.me/posts/pain-and-gain"],"meta":{"status":404,"error":null}},{"id":"http://www.webmasterworld.com/","label":"http://www.webmasterworld.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://discuss.joelonsoftware.com/?biz","label":"http://discuss.joelonsoftware.com/?biz (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://nikcub.appspot.com/guide-to-finding-a-good-and-safe-company-or-product-name","label":"http://nikcub.appspot.com/guide-to-finding-a-good-and-safe-company-or-product-name (503)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"status":503,"error":null}},{"id":"http://www.rentacoder.com/","label":"http://www.rentacoder.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://knowem.com/","label":"http://knowem.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://www.usernamecheck.com/","label":"http://www.usernamecheck.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://vebtools.com/google-banned-checker/","label":"http://vebtools.com/google-banned-checker/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://vebtools.com/","label":"http://vebtools.com/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://www.siteadvisor.com/","label":"http://www.siteadvisor.com/ (Error: timeout)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"timeout"}},{"id":"http://hosts-file.net/","label":"http://hosts-file.net/ (Error: timeout)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":null,"error":"timeout"}},{"id":"http://www.nxdom.com/","label":"http://www.nxdom.com/ (404)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"status":404,"error":null}},{"id":"http://crastinate.com/2008/07/07/dont-believe-the-twitter-hype/","label":"http://crastinate.com/2008/07/07/dont-believe-the-twitter-hype/ (404)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"status":404,"error":null}},{"id":"http://venturebeat.com/2009/10/14/ea-exec-says-social-gaming-bubble-resembles-mobile-games-hype/","label":"http://venturebeat.com/2009/10/14/ea-exec-says-social-gaming-bubble-resembles-mobile-games-hype/ (429)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"status":429,"error":null}},{"id":"http://beta.gawker.com/","label":"http://beta.gawker.com/ (404)","sourcePages":["https://nikcub.me/posts/relevance-time-for-twitter"],"meta":{"status":404,"error":null}},{"id":"https://addons.mozilla.org/en-US/firefox/addon/12714/","label":"https://addons.mozilla.org/en-US/firefox/addon/12714/ (404)","sourcePages":["https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"],"meta":{"status":404,"error":null}},{"id":"https://linkedin.com/in/nikcub","label":"https://linkedin.com/in/nikcub (999)","sourcePages":["https://nikcub.me/contact"],"meta":{"status":999,"error":null}},{"id":"https://infotorch.org/social","label":"https://infotorch.org/social (Error: timeout)","sourcePages":["https://nikcub.me/about"],"meta":{"status":null,"error":"timeout"}},{"id":"https://beatcov.org/","label":"https://beatcov.org/ (Error: Was there a typo in the url or port?)","sourcePages":["https://nikcub.me/about"],"meta":{"status":null,"error":"Was there a typo in the url or port?"}},{"id":"http://0day.today/author/21985","label":"http://0day.today/author/21985 (404)","sourcePages":["https://nikcub.me/about"],"meta":{"status":404,"error":null}}],"details":{"totalBroken":72,"totalChecked":363}},{"name":"waf-blocked-external-links","status":"info","message":"25 external link(s) blocked by WAF - status unverifiable","items":[{"id":"http://www.forbes.com/sites/thomasbrewster/2015/12/11/bitcoin-creator-satoshi-craig-wright-lies-hoax/?platform=hootsuite","label":"http://www.forbes.com/sites/thomasbrewster/2015/12/11/bitcoin-creator-satoshi-craig-wright-lies-hoax/?platform=hootsuite (datadome)","sourcePages":["https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"],"meta":{"wafProvider":"datadome"}},{"id":"http://dl.acm.org/citation.cfm?id=185247","label":"http://dl.acm.org/citation.cfm?id=185247 (cloudflare)","sourcePages":["https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.businesswire.com/news/home/20140902006384/en/Apple-Media-Advisory","label":"http://www.businesswire.com/news/home/20140902006384/en/Apple-Media-Advisory (akamai)","sourcePages":["https://nikcub.me/posts/notes-on-the-celebrity-data-theft"],"meta":{"wafProvider":"akamai"}},{"id":"http://www.bloomberg.com/news/2012-02-17/f-commerce-trips-as-gap-to-penney-shut-facebook-stores-retail.html","label":"http://www.bloomberg.com/news/2012-02-17/f-commerce-trips-as-gap-to-penney-shut-facebook-stores-retail.html (perimeterx)","sourcePages":["https://nikcub.me/posts/facebook-is-losing-e-commerce"],"meta":{"wafProvider":"perimeterx"}},{"id":"http://docs.justia.com/cases/federal/district-courts/california/candce/5:2011cv01846/239768/279/","label":"http://docs.justia.com/cases/federal/district-courts/california/candce/5:2011cv01846/239768/279/ (cloudflare)","sourcePages":["https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://tech.fortune.cnn.com/2010/08/04/google-passes-the-200000-android-activationsday-mark/","label":"http://tech.fortune.cnn.com/2010/08/04/google-passes-the-200000-android-activationsday-mark/ (aws-waf)","sourcePages":["https://nikcub.me/posts/google-android-the-accidental-empire"],"meta":{"wafProvider":"aws-waf"}},{"id":"http://www.forbes.com/sites/timworstall/2011/10/09/google-plus-traffic-down-60/","label":"http://www.forbes.com/sites/timworstall/2011/10/09/google-plus-traffic-down-60/ (datadome)","sourcePages":["https://nikcub.me/posts/lies-damn-lies-and-google-statistics"],"meta":{"wafProvider":"datadome"}},{"id":"http://www.quora.com/","label":"http://www.quora.com/ (cloudflare)","sourcePages":["https://nikcub.me/posts/finding-a-technical-co-founder"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.namejet.com/","label":"http://www.namejet.com/ (cloudflare)","sourcePages":["https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.nytimes.com/2004/08/06/business/technology-loving-google-but-not-its-public-offering.html","label":"http://www.nytimes.com/2004/08/06/business/technology-loving-google-but-not-its-public-offering.html (datadome)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"wafProvider":"datadome"}},{"id":"http://crunchbase.com/company/facebook","label":"http://crunchbase.com/company/facebook (cloudflare)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.crunchbase.com/company/twitter","label":"http://www.crunchbase.com/company/twitter (cloudflare)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.crunchbase.com/company/zynga","label":"http://www.crunchbase.com/company/zynga (cloudflare)","sourcePages":["https://nikcub.me/posts/the-google-ipo-skeptics"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/crunchfund","label":"https://www.crunchbase.com/organization/crunchfund (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/digitalocean","label":"https://www.crunchbase.com/organization/digitalocean (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/gitlab-com","label":"https://www.crunchbase.com/organization/gitlab-com (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/streamable","label":"https://www.crunchbase.com/organization/streamable (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/readme-io","label":"https://www.crunchbase.com/organization/readme-io (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/pachyderm#/entity","label":"https://www.crunchbase.com/organization/pachyderm#/entity (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/organization/predictionio#/entity","label":"https://www.crunchbase.com/organization/predictionio#/entity (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"http://www.theaustralian.com.au/australian-it/opinion/frictionless-sharing-a-cause-for-concern/story-e6frgb0o-1226157574498","label":"http://www.theaustralian.com.au/australian-it/opinion/frictionless-sharing-a-cause-for-concern/story-e6frgb0o-1226157574498 (akamai)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"akamai"}},{"id":"http://www.theaustralian.com.au/australian-it/live-blog-about-facebook-privacy-and-security-with-nik-cubrilovic-at-3pm-aest/story-e6frgakx-1226151189067","label":"http://www.theaustralian.com.au/australian-it/live-blog-about-facebook-privacy-and-security-with-nik-cubrilovic-at-3pm-aest/story-e6frgakx-1226151189067 (akamai)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"akamai"}},{"id":"http://www.crunchbase.com/bloggerboard/tech/author/nik-cubrilovic","label":"http://www.crunchbase.com/bloggerboard/tech/author/nik-cubrilovic (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://angel.co/nik","label":"https://angel.co/nik (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}},{"id":"https://www.crunchbase.com/person/nik-cubrilovic","label":"https://www.crunchbase.com/person/nik-cubrilovic (cloudflare)","sourcePages":["https://nikcub.me/about"],"meta":{"wafProvider":"cloudflare"}}]}]},"links/broken-links":{"meta":{"id":"links/broken-links","name":"Broken Links","description":"Detects links returning 404 or 5xx errors","solution":"Broken links hurt user experience and waste crawl budget. Regularly audit links using tools or crawlers. Fix or remove broken links. Set up 301 redirects for moved content. For external links, consider using nofollow and regularly verifying they still work. Implement custom 404 pages that help users find content.","category":"links","scope":"site","severity":"error","weight":7},"checks":[{"name":"broken-links","status":"pass","message":"No broken internal links detected"}]},"links/dead-end-pages":{"meta":{"id":"links/dead-end-pages","name":"Dead-End Pages","description":"Pages with no outgoing internal links, potentially trapping users","solution":"Add navigation links or related content links to help users continue browsing. Internal links improve user experience and help search engines discover content.","category":"links","scope":"page","severity":"warning","weight":3},"checks":[{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/","value":"12"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts","value":"17"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/asides","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/subscribe","value":"7"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"11"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"9"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"11"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"10"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"10"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/numeronym","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"9"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/contact","value":"6"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/about","value":"7"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/privacy","value":"8"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/tracking-cookie","value":"10"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts?page=2","value":"17"},{"name":"dead-end","status":"warn","message":"Page has no outgoing internal links (dead-end)","pageUrl":"https://nikcub.me/fb-table.html","value":"0","expected":"1"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts?page=1","value":"17"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts?page=3","value":"17"},{"name":"dead-end","status":"pass","message":"Page has outgoing internal links","pageUrl":"https://nikcub.me/posts?page=4","value":"13"}]},"links/external-links":{"meta":{"id":"links/external-links","name":"External Links","description":"Reports on external link count","solution":"External links provide additional resources for users and signal content relevance to search engines. They're normal and healthy for most content pages. This check is informational—external links aren't inherently problematic. Ensure external links go to reputable sources and open in new tabs when appropriate. Use rel=\"nofollow\" for untrusted or paid links. Avoid excessive external links that distract from your content.","category":"links","scope":"page","severity":"info","weight":2},"checks":[{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/","value":"2"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts","value":"2"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/asides","value":"2"},{"name":"external-links","status":"pass","message":"4 external link(s)","pageUrl":"https://nikcub.me/subscribe","value":"4"},{"name":"external-links","status":"pass","message":"44 external link(s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"44"},{"name":"external-links","status":"pass","message":"4 external link(s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"4"},{"name":"external-links","status":"pass","message":"30 external link(s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"30"},{"name":"external-links","status":"pass","message":"18 external link(s)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"18"},{"name":"external-links","status":"pass","message":"16 external link(s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"16"},{"name":"external-links","status":"pass","message":"27 external link(s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"27"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"10"},{"name":"external-links","status":"pass","message":"11 external link(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"11"},{"name":"external-links","status":"pass","message":"9 external link(s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"9"},{"name":"external-links","status":"pass","message":"11 external link(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"11"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"6"},{"name":"external-links","status":"pass","message":"5 external link(s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"5"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"10"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"10"},{"name":"external-links","status":"pass","message":"5 external link(s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"5"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"6"},{"name":"external-links","status":"pass","message":"8 external link(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"external-links","status":"pass","message":"9 external link(s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"9"},{"name":"external-links","status":"pass","message":"9 external link(s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"9"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"10"},{"name":"external-links","status":"pass","message":"7 external link(s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"7"},{"name":"external-links","status":"pass","message":"10 external link(s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"10"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"6"},{"name":"external-links","status":"pass","message":"13 external link(s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"13"},{"name":"external-links","status":"pass","message":"14 external link(s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"14"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"6"},{"name":"external-links","status":"pass","message":"12 external link(s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"12"},{"name":"external-links","status":"pass","message":"8 external link(s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"external-links","status":"pass","message":"3 external link(s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"3"},{"name":"external-links","status":"pass","message":"6 external link(s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"6"},{"name":"external-links","status":"pass","message":"4 external link(s)","pageUrl":"https://nikcub.me/posts/numeronym","value":"4"},{"name":"external-links","status":"pass","message":"21 external link(s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"21"},{"name":"external-links","status":"pass","message":"34 external link(s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"34"},{"name":"external-links","status":"pass","message":"9 external link(s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"9"},{"name":"external-links","status":"pass","message":"5 external link(s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"5"},{"name":"external-links","status":"pass","message":"7 external link(s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"7"},{"name":"external-links","status":"pass","message":"5 external link(s)","pageUrl":"https://nikcub.me/contact","value":"5"},{"name":"external-links","status":"pass","message":"41 external link(s)","pageUrl":"https://nikcub.me/about","value":"41"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/privacy","value":"2"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/tracking-cookie","value":"2"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts?page=2","value":"2"},{"name":"external-links","status":"info","message":"No external links on page","pageUrl":"https://nikcub.me/fb-table.html","value":"0"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts?page=1","value":"2"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts?page=3","value":"2"},{"name":"external-links","status":"pass","message":"2 external link(s)","pageUrl":"https://nikcub.me/posts?page=4","value":"2"}]},"links/https-downgrade":{"meta":{"id":"links/https-downgrade","name":"HTTPS Downgrade","description":"Detects links from HTTPS pages to HTTP destinations","solution":"Links from HTTPS to HTTP pages create security warnings and break the trust chain. Users may see 'not secure' warnings. Update all links to use HTTPS. If the target site doesn't support HTTPS, consider if you really need to link there. For internal links, ensure your entire site uses HTTPS.","category":"links","scope":"page","severity":"warning","weight":5},"checks":[{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/asides"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/subscribe"},{"name":"https-downgrade","status":"warn","message":"21 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"http://gizmodo.com/this-australian-says-he-and-his-dead-friend-invented-bi-1746958692"},{"id":"http://www.drcraigwright.net/jean-paul-sartre-signing-significance/"},{"id":"http://www.bbc.com/news/technology-36168863"},{"id":"http://www.economist.com/news/business-and-finance/21698060-craig-wright-reveals-himself-as-satoshi-nakamoto"},{"id":"http://www.gq-magazine.co.uk/article/bitcoin-creator-satoshi-nakamoto-craig-wright"},{"id":"http://themonetaryfuture.blogspot.sg/2016/05/how-i-met-satoshi.html"},{"id":"http://gavinandresen.ninja/satoshi"},{"id":"http://www.drcraigwright.net/jean-paul-sartre-signing-significance/"},{"id":"http://themonetaryfuture.blogspot.sg/2016/05/how-i-met-satoshi.html"},{"id":"http://gavinandresen.ninja/satoshi"},{"id":"http://www.economist.com/news/business-and-finance/21698060-craig-wright-reveals-himself-as-satoshi-nakamoto"},{"id":"http://www.bbc.com/news/technology-36185267"},{"id":"http://www.lrb.co.uk/2016/05/01/andrew-ohagan/the-search-for-satoshi"},{"id":"http://www.zdnet.com/article/sgi-denies-links-with-alleged-bitcoin-founder-craig-wright/"},{"id":"http://www.forbes.com/sites/thomasbrewster/2015/12/11/bitcoin-creator-satoshi-craig-wright-lies-hoax/?platform=hootsuite"},{"id":"http://www.abc.net.au/news/2015-12-09/bitcoin-suspected-founder-craig-wright-home-raided-by-afp/7014254"},{"id":"http://www.mcgrathnicol.com/app/uploads/D14-140526-Hotwire439AReport-BFK.pdf"},{"id":"http://prwire.com.au/pr/51565/the-demorgan-ltd-group-of-companies-to-receive-up-to-54-million-from-ausindustry-r-amp-d-tax-rebate-scheme-1"},{"id":"http://imgur.com/IPDPXZm"},{"id":"http://pastebin.com/g3ME3Grc"},{"id":"http://archive.is/3UwA7"}]},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"https-downgrade","status":"warn","message":"8 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"http://www.reddit.com/r/Bitcoin/comments/2nrf12/my_blockchaininfo_account_was_hacked_thanksgiving/"},{"id":"http://www.reddit.com/r/Bitcoin/comments/2nkias/this_is_a_list_of_rbitcoin_users_who_had_their/"},{"id":"http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security"},{"id":"http://tools.ietf.org/html/draft-ietf-websec-key-pinning-01"},{"id":"http://www.thoughtcrime.org/software/sslstrip/"},{"id":"http://www.thoughtcrime.org"},{"id":"http://www.networking4all.com/en/ssl+certificates/faq/change+san+issue/"},{"id":"http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf"}]},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"http://en.wikipedia.org/wiki/Operation_Onymous"},{"id":"http://www.twitter.com/lamoustache"},{"id":"http://www.gwern.net"},{"id":"http://www.deepdotweb.com/"},{"id":"http://allyour4nert7pkh.onion/wiki/index.php?title=Onion_Cloner"},{"id":"http://www.fbi.gov/newyork/press-releases/2014/dozens-of-online-dark-markets-seized-pursuant-to-forfeiture-complaint-filed-in-manhattan-federal-court-in-conjunction-with-the-arrest-of-the-operator-of-silk-road-2.0"},{"id":"http://www.fbi.gov/newyork/press-releases/2014/dozens-of-online-dark-markets-seized-pursuant-to-forfeiture-complaint-filed-in-manhattan-federal-court-in-conjunction-with-the-arrest-of-the-operator-of-silk-road-2.0"}]},{"name":"https-downgrade","status":"warn","message":"11 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"http://www.jump-in.com.au/show/60minutes/stories/2014/september/the-dark-web/"},{"id":"http://www.jump-in.com.au/show/60minutes/videos/3784171895001/"},{"id":"http://www.dailymotion.com/video/x25y1be_60-minutes-australia-silk-road-and-bitcoin-story-september-2014_news"},{"id":"http://www.abc.net.au/news/2014-06-09/perth-teenager-preston-bridge/5510606"},{"id":"http://en.wikipedia.org/wiki/25I-NBOMe"},{"id":"http://en.wikipedia.org/wiki/Hector_Xavier_Monsegur"},{"id":"http://www.tor2web.org"},{"id":"http://dl.acm.org/citation.cfm?id=185247"},{"id":"http://web.archive.org/web/19961205083117/http://tcp.ca/Jan96/BusandMark.html"},{"id":"http://quod.lib.umich.edu/j/jep/3336451.0007.104?view=text;rgn=main"},{"id":"http://en.wikipedia.org/wiki/Streisand_effect"}]},{"name":"https-downgrade","status":"warn","message":"18 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"http://en.wikipedia.org/wiki/Silk_Road_(marketplace)"},{"id":"http://www.scribd.com/doc/235866098/USA-v-Ross-Ulbricht"},{"id":"http://www.scribd.com/doc/215745393/USA-v-Ulbricht-motion-to-dismiss-charges"},{"id":"http://www.scribd.com/doc/233234104/Forrest-Denial-of-Defense-Motion-in-Silk-Road-Case"},{"id":"http://www.theguardian.com/world/2013/oct/04/tor-attacks-nsa-users-online-anonymity"},{"id":"http://www.theguardian.com/world/interactive/2013/oct/04/tor-stinks-nsa-presentation-document"},{"id":"http://www.wired.com/2014/09/the-fbi-finally-says-how-it-legally-pinpointed-silk-roads-server/"},{"id":"http://www.scribd.com/doc/238796613/Silk-Road-Prosecution-4th-Amendment-Rebuttall"},{"id":"http://ia700603.us.archive.org/21/items/gov.uscourts.nysd.422824/gov.uscourts.nysd.422824.57.0.pdf"},{"id":"http://krebsonsecurity.com/2014/09/dread-pirate-sunk-by-leaky-captcha/"},{"id":"http://antilop.cc/sr/img/2013_03_16_stack_overflow_question.png"},{"id":"http://www.reddit.com/r/SilkRoad/comments/1b1lvy/warning_the_silk_road_revealed_its_public_ip_last/"},{"id":"http://security.stackexchange.com/a/43280/31518"},{"id":"http://www.reddit.com/r/SilkRoad/comments/1dmznd/should_we_be_worried_showing_on_login_page/"},{"id":"http://www.twitter.com/harisec"},{"id":"http://www.twitter.com/thegrugq"},{"id":"http://antilop.cc/sr/"},{"id":"http://www.wired.com/2013/09/freedom-hosting-fbi/"}]},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"http://www.elcomsoft.com/eprb.html"},{"id":"http://www.elcomsoft.com/help/en/eppb/extracting_authentication_mac.html"},{"id":"http://www.reddit.com/r/TheFappening/comments/2fa2a1/meta_effective_immediately_any/"},{"id":"http://www.businesswire.com/news/home/20140902006384/en/Apple-Media-Advisory"},{"id":"http://www.apple.com/pr/library/2014/09/02Apple-Media-Advisory.html"}]},{"name":"https-downgrade","status":"warn","message":"6 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"http://www.disqus.com/"},{"id":"http://disqus.com/"},{"id":"http://wordpress.org/plugins/disqus-comment-system/"},{"id":"http://wordpress.org/plugins/browse/popular/"},{"id":"http://codex.wordpress.org/Function_Reference/update_option"},{"id":"http://codex.wordpress.org/Function_Reference/wp_verify_nonce"}]},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"http://www.cs-cart.com/"},{"id":"http://www.cs-cart.com/"},{"id":"http://au1.php.net/uniqid"},{"id":"http://blog.cs-cart.com/2014/07/21/cs-cart-4-2-1-released-new-styles-e-mail-marketing-and-more/"},{"id":"http://www.cs-cart.com/changelog421.html"}]},{"name":"https-downgrade","status":"warn","message":"9 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"http://www.smh.com.au/it-pro/security-it/revealed-serious-flaws-in-mygov-site-exposed-millions-of-australians-private-information-20140515-zrczw.html"},{"id":"http://www.amta.org.au/articles/Delivering.user-friendly.Government.services.online"},{"id":"http://www.archive.dbcde.gov.au/2013/september/national_digital_economy_strategy/advancing_australia_as_a_digital_economy/part_three_achieving_o%20ur_goalsbuilding_on_the_2011_national_digital_economystrategy/online_government_service_delivery"},{"id":"http://my.gov.au"},{"id":"http://www.smh.com.au/it-pro/government-it/australians-private-government-details-at-mercy-of-hackers-say-it-security-experts-20140428-zqzkg.html"},{"id":"http://www.scribd.com/doc/224070691/Australian-Government-myGov-Website-Security-Issues?secret_password=xDLo231FFKMT9GPQnDlP"},{"id":"http://www.scribd.com/nikcub"},{"id":"http://www.scribd.com/doc/224260090/MyGov-Security-Gov-Response"},{"id":"http://www.scribd.com/nikcub"}]},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"http://code.google.com/p/chromium/issues/detail?id=137412"},{"id":"http://blog.chromium.org/2008/09/dns-prefetching-or-pre-resolving.html"},{"id":"http://code.google.com/p/chromium/issues/detail?id=137414"},{"id":"http://www.mydigitallife.info/turn-off-dns-prefetching-in-google-chrome-to-fix-resolving-host-and-cannot-load-page-error/"}]},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"http://axis.yahoo.com"},{"id":"http://sxp.yimg.com/ei/ynano/YAxis_Chrome_v1_0_20120520.crx"},{"id":"http://github.com/nikcub/yahoo-spoof"},{"id":"http://support.google.com/chrome/bin/answer.py?hl=en&answer=187443"},{"id":"http://support.google.com/chrome/bin/answer.py?hl=en&answer=113907"}]},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"http://blogs.msdn.com/b/ie/archive/2012/02/20/google-bypassing-user-privacy-settings.aspx"},{"id":"http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html"},{"id":"http://en.wikipedia.org/wiki/P3P"},{"id":"http://www.facebook.com/help/?page=219494461411349"},{"id":"http://www.shodanhq.com/research/"},{"id":"http://www.shodanhq.com/research/infodisc/header/P3P"},{"id":"http://www.shodanhq.com/research/infodisc/header/p3p"}]},{"name":"https-downgrade","status":"warn","message":"3 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"http://www.bloomberg.com/news/2012-02-17/f-commerce-trips-as-gap-to-penney-shut-facebook-stores-retail.html"},{"id":"http://sec.gov/Archives/edgar/data/1326801/000119312512034517/d287954ds1.htm"},{"id":"http://techcrunch.com/2012/02/17/pinsanity/"}]},{"name":"https-downgrade","status":"warn","message":"2 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"http://www.techmeme.com/120119/p97#a120119p97"},{"id":"http://torrentfreak.com/riaa-label-artists-a-list-stars-endorse-megaupload-in-new-song-111209/"}]},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"http://parislemon.com/post/14695710791/pay-to-stay"},{"id":"http://searchengineland.com/where-is-google-investing-its-marketing-spend-internationally-75226"},{"id":"http://www.physorg.com/news/2011-12-google-ramps.html"},{"id":"http://techcrunch.com/2011/12/24/safari-and-chrome/"}]},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"http://www.theverge.com/2011/12/2/2596527/apple-samsung-design-patent-iphone-ipad-work-around"},{"id":"http://assets.sbnation.com/assets/807407/Apple_Reply_Expert_declaration.pdf"},{"id":"http://assets.sbnation.com/assets/807407/Apple_Reply_Expert_declaration.pdf"},{"id":"http://docs.justia.com/cases/federal/district-courts/california/candce/5:2011cv01846/239768/279/"},{"id":"http://www.baekdal.com/opinion/apple-never-designed-the-ipad-they-undesigned-it/"},{"id":"http://en.wikipedia.org/wiki/Crunchpad"},{"id":"http://techcrunch.com/2008/07/21/we-want-a-dead-simple-web-tablet-help-us-build-it/"}]},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"http://insecure.org/news/download-com-fiasco.html"},{"id":"http://seclists.org/nmap-hackers/2011/5"},{"id":"http://download.cnet.com/8301-2007_4-57338809-12/a-note-from-sean-regarding-the-download.com-installer/"},{"id":"http://www.cnet.com/2723-13403_1-461-16.html"},{"id":"http://www.ghacks.net/2011/08/17/the-cnet-download-com-installer/"},{"id":"http://download.cnet.com/DivX-Plus-Software/3000-13632_4-10062728.html"},{"id":"http://www.google.com/safebrowsing/report_badware/"}]},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"http://news.cnet.com/8301-31322_3-57324406-256/how-facebook-is-ruining-sharing/"},{"id":"http://twitter.com/byoogle"},{"id":"http://disconnect.me/"},{"id":"http://github.com/byoogle/frictionless/issues"},{"id":"http://www.twitter.com/nikcub"}]},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"http://searchengineland.com/comscore-android-nears-50-us-smartphone-market-share-95768"},{"id":"http://blogs.wsj.com/tech-europe/2011/02/09/full-text-nokia-ceo-stephen-elops-burning-platform-memo/"},{"id":"http://tech.fortune.cnn.com/2010/08/04/google-passes-the-200000-android-activationsday-mark/"},{"id":"http://techcrunch.com/2009/10/07/a-conversation-with-sergey-brin/"}]},{"name":"https-downgrade","status":"warn","message":"8 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"http://www.techmeme.com/111010/p53#a111010p53"},{"id":"http://chitika.com"},{"id":"http://www.dailymail.co.uk/news/article-2046955/Traffic-plunges-Google-60-users-log-off.html\""},{"id":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331303447"},{"id":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331305489"},{"id":"http://www.readwriteweb.com/archives/google_plus_traffic_drops_1269_gains_erased.php#comment-331310620"},{"id":"http://www.forbes.com/sites/timworstall/2011/10/09/google-plus-traffic-down-60/"},{"id":"http://insights.chitika.com/2011/failure-to-launch-google-growth-spurt-short-lived/"}]},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"http://en.wikipedia.org/wiki/U%2BF8FF"},{"id":"http://twitter.com/arrington"},{"id":"http://uncrunched.com/"},{"id":"http://uncrunched.com/2011/10/05/goodbye-steve/"}]},{"name":"https-downgrade","status":"warn","message":"9 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html"},{"id":"http://nikcub.appspot.com/logging-out-of-facebook-is-not-enough"},{"id":"http://nikcub.appspot.com/fb-table.html"},{"id":"http://nikcub.appspot.com/facebook-fixes-logout-issue-explains-cookies"},{"id":"http://europe-v-facebook.org"},{"id":"http://www.datatilsynet.no/upload/Dokumenter/utredninger%20av%20Datatilsynet/From%20Facebook%20-%20Norway-DPA.pdf"},{"id":"http://online.wsj.com/article/SB10001424052748704281504576329441432995616.html"},{"id":"http://twitter.com/#!/jonathanmayer"},{"id":"http://www.seobythesea.com/2011/09/facebook-patent-application-target-ads"}]},{"name":"https-downgrade","status":"warn","message":"5 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"http://www.microsoft.com/security/online-privacy/passwords-create.aspx"},{"id":"http://www.google.com/chrome"},{"id":"http://www.getfirefox.com"},{"id":"http://disconnect.me"},{"id":"http://www.aboutcookies.org/Default.aspx?page=2"}]},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"http://en.wikipedia.org/wiki/Unix_time"},{"id":"http://ashkansoltani.org/"},{"id":"http://twitter.com/byoogle"},{"id":"http://disconnect.me/"}]},{"name":"https-downgrade","status":"warn","message":"10 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"http://ashkansoltani.org/docs/respawn_redux.html"},{"id":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19"},{"id":"http://blog.kissmetrics.com/official-kissmetrics-response-to-data-collection-practices/"},{"id":"http://www.arctic.org/~dean/tracking-without-cookies.html"},{"id":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29"},{"id":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25"},{"id":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25"},{"id":"http://github.com/nikcub/parley"},{"id":"http://ashkansoltani.org/docs/respawn_redux.html"},{"id":"http://ashkansoltani.org/"}]},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"http://plus.google.com"},{"id":"http://twitter.com/#!/sacca/status/88653313096163329"},{"id":"http://bitbucket.org/nik/blockplus"},{"id":"http://nikcub.appspot.com/static/blockplus-2.crx"}]},{"name":"https-downgrade","status":"warn","message":"1 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"http://scripting.com/stories/2011/09/24/facebookIsScaringMe.html"}]},{"name":"https-downgrade","status":"warn","message":"4 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"http://en.wikipedia.org/wiki/Michael_Bay#Current_projects"},{"id":"http://www.miaminewtimes.com/content/printVersion/240700/"},{"id":"http://www.miaminewtimes.com/content/printVersion/240723/"},{"id":"http://www.miaminewtimes.com/content/printVersion/240747/"}]},{"name":"https-downgrade","status":"warn","message":"2 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"http://en.wikipedia.org/wiki/Numeronym"},{"id":"http://www.a16z.com"}]},{"name":"https-downgrade","status":"warn","message":"19 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=site:news.ycombinator.com+technical+AND+co-founder+OR+cofounder"},{"id":"http://news.ycombinator.com"},{"id":"http://www.reddit.com"},{"id":"http://www.slashdot.org"},{"id":"http://www.stackoverflow.com"},{"id":"http://www.quora.com"},{"id":"http://www.webmasterworld.com"},{"id":"http://www.sitepoint.com/forums/"},{"id":"http://discuss.joelonsoftware.com/?biz"},{"id":"http://www.twitter.com"},{"id":"http://www.freenode.net"},{"id":"http://evernote.com"},{"id":"http://nikcub.appspot.com/guide-to-finding-a-good-and-safe-company-or-product-name"},{"id":"http://99designs.com"},{"id":"http://mixergy.com/free-apps-interview/"},{"id":"http://www.elance.com"},{"id":"http://www.odesk.com"},{"id":"http://www.rentacoder.com"},{"id":"http://www.guru.com"}]},{"name":"https-downgrade","status":"warn","message":"29 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"http://thesaurus.com"},{"id":"http://nameboy.com"},{"id":"http://www.company-name-generator.com/"},{"id":"http://www.dotomator.com/web20.html"},{"id":"http://markmonitor.com/"},{"id":"http://knowem.com/"},{"id":"http://namechk.com/"},{"id":"http://www.usernamecheck.com/"},{"id":"http://instantdomainsearch.com/"},{"id":"http://www.eurodns.com/domain-name-search/"},{"id":"http://joker.com/"},{"id":"http://www.easydns.com/"},{"id":"http://vebtools.com/google-banned-checker/"},{"id":"http://vebtools.com/"},{"id":"http://archive.org"},{"id":"http://www.siteadvisor.com"},{"id":"http://hosts-file.net/"},{"id":"http://www.phishtank.com/"},{"id":"http://tess2.uspto.gov/"},{"id":"http://www.eurodns.com/domain-name-search/"},{"id":"http://instantdomainsearch.com"},{"id":"http://www.nxdom.com/"},{"id":"http://nameboy.com"},{"id":"http://thesaurus.com"},{"id":"http://www.domaintools.com"},{"id":"http://www.namejet.com/"},{"id":"http://www.company-name-generator.com/"},{"id":"http://www.dotomator.com/web20.html"},{"id":"http://vebtools.com/"}]},{"name":"https-downgrade","status":"warn","message":"7 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"http://www.nytimes.com/2004/08/06/business/technology-loving-google-but-not-its-public-offering.html"},{"id":"http://37signals.com/svn/posts/2585-facebook-is-not-worth-33000000000"},{"id":"http://crastinate.com/2008/07/07/dont-believe-the-twitter-hype/"},{"id":"http://venturebeat.com/2009/10/14/ea-exec-says-social-gaming-bubble-resembles-mobile-games-hype/"},{"id":"http://crunchbase.com/company/facebook"},{"id":"http://www.crunchbase.com/company/twitter"},{"id":"http://www.crunchbase.com/company/zynga"}]},{"name":"https-downgrade","status":"warn","message":"3 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"http://techcrunch.com/2009/10/12/relevance-over-time/"},{"id":"http://www.avc.com/a_vc/2010/10/the-impact-of-priority-inbox.html"},{"id":"http://beta.gawker.com"}]},{"name":"https-downgrade","status":"warn","message":"1 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"http://github.com/nikcub/fidelio"}]},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/contact"},{"name":"https-downgrade","status":"warn","message":"17 link(s) downgrade to HTTP","pageUrl":"https://nikcub.me/about","items":[{"id":"http://www.techcrunch.com"},{"id":"http://www.crunchbase.com"},{"id":"http://techcrunch.com/author/nik-cubrilovic/"},{"id":"http://wayback.archive.org/web/*/http://bulletin.ninemsn.com.au/article.aspx?id=266916"},{"id":"http://0day.today/author/21985"},{"id":"http://www.itnews.com.au/news/how-an-aussie-hacker-used-information-leakage-to-trade-stocks-420171"},{"id":"http://www.smh.com.au/digital-life/consumer-security/icloud-celebrity-photo-hack-texts-address-books-and-more-also-accessible-20140903-10bov5.html"},{"id":"http://www.dailymail.co.uk/news/article-2629200/Millions-Australians-private-information-risk-security-expert-reveals-flaws-Government-website.html"},{"id":"http://www.smh.com.au/it-pro/security-it/revealed-serious-flaws-in-mygov-site-exposed-millions-of-australians-private-information-20140515-zrczw.html"},{"id":"http://bits.blogs.nytimes.com/2011/09/29/privacy-groups-ask-f-t-c-to-review-new-facebook-features/"},{"id":"http://www.bbc.co.uk/news/technology-15091674"},{"id":"http://www.theaustralian.com.au/australian-it/opinion/frictionless-sharing-a-cause-for-concern/story-e6frgb0o-1226157574498"},{"id":"http://www.theaustralian.com.au/australian-it/live-blog-about-facebook-privacy-and-security-with-nik-cubrilovic-at-3pm-aest/story-e6frgakx-1226151189067"},{"id":"http://thelede.blogs.nytimes.com/2009/12/19/update-on-latest-attack-on-twitter/"},{"id":"http://www.crunchbase.com/bloggerboard/tech/author/nik-cubrilovic"},{"id":"http://techcrunch.com/author/nik-cubrilovic/"},{"id":"http://creativecommons.org/licenses/by/3.0/"}]},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/privacy"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"https-downgrade","status":"pass","message":"No HTTPS to HTTP downgrades","pageUrl":"https://nikcub.me/posts?page=4"}]},"links/internal-links":{"meta":{"id":"links/internal-links","name":"Internal Links","description":"Validates internal link count","solution":"Internal links help users navigate your site and distribute page authority. Each page should have at least one internal link pointing to it (not counting navigation). Add contextual internal links from related content. Use descriptive anchor text that indicates what the linked page is about. Avoid orphan pages (no internal links) and ensure important pages receive more internal links. Review your site structure to create logical content clusters.","category":"links","scope":"page","severity":"warning","weight":4},"checks":[{"name":"internal-links","status":"pass","message":"14 internal link(s)","pageUrl":"https://nikcub.me/","value":"14"},{"name":"internal-links","status":"pass","message":"19 internal link(s)","pageUrl":"https://nikcub.me/posts","value":"19"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/asides","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/subscribe","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"8"},{"name":"internal-links","status":"pass","message":"11 internal link(s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"11"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"8"},{"name":"internal-links","status":"pass","message":"9 internal link(s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"9"},{"name":"internal-links","status":"pass","message":"9 internal link(s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"9"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"8"},{"name":"internal-links","status":"pass","message":"11 internal link(s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"11"},{"name":"internal-links","status":"pass","message":"10 internal link(s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"10"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"8"},{"name":"internal-links","status":"pass","message":"10 internal link(s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"10"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/numeronym","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"8"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"8"},{"name":"internal-links","status":"pass","message":"9 internal link(s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"9"},{"name":"internal-links","status":"pass","message":"7 internal link(s)","pageUrl":"https://nikcub.me/contact","value":"7"},{"name":"internal-links","status":"pass","message":"8 internal link(s)","pageUrl":"https://nikcub.me/about","value":"8"},{"name":"internal-links","status":"pass","message":"9 internal link(s)","pageUrl":"https://nikcub.me/privacy","value":"9"},{"name":"internal-links","status":"pass","message":"10 internal link(s)","pageUrl":"https://nikcub.me/tracking-cookie","value":"10"},{"name":"internal-links","status":"pass","message":"20 internal link(s)","pageUrl":"https://nikcub.me/posts?page=2","value":"20"},{"name":"internal-links","status":"warn","message":"Too few internal links (0, min 1)","pageUrl":"https://nikcub.me/fb-table.html","value":"0","expected":"1"},{"name":"internal-links","status":"pass","message":"19 internal link(s)","pageUrl":"https://nikcub.me/posts?page=1","value":"19"},{"name":"internal-links","status":"pass","message":"20 internal link(s)","pageUrl":"https://nikcub.me/posts?page=3","value":"20"},{"name":"internal-links","status":"pass","message":"15 internal link(s)","pageUrl":"https://nikcub.me/posts?page=4","value":"15"}]},"links/invalid-links":{"meta":{"id":"links/invalid-links","name":"Invalid Links","description":"Detects invalid link formats on the page","solution":"Invalid links (malformed URLs, javascript: links, or broken references) harm user experience and can indicate code issues. Fix or remove invalid links. Replace javascript:void(0) with proper href values or button elements. Ensure all links have valid URL formats. Check for typos in URLs and verify links work correctly. Remove empty href attributes.","category":"links","scope":"page","severity":"warning","weight":2},"checks":[{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/asides"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/subscribe"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/contact"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/about"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/privacy"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"invalid-links","status":"pass","message":"No invalid link formats found","pageUrl":"https://nikcub.me/posts?page=4"}]},"links/nofollow-internal":{"meta":{"id":"links/nofollow-internal","name":"Nofollow Internal","description":"Flags internal links with rel=nofollow","solution":"Nofollow on internal links wastes PageRank and is generally bad practice. Internal links should flow link equity freely throughout your site. Remove nofollow from internal links unless you have a specific reason (e.g., user-generated content links). Use nofollow for external links you don't endorse.","category":"links","scope":"page","severity":"warning","weight":5},"checks":[{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/asides"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/subscribe"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/contact"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/about"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/privacy"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"nofollow-internal","status":"pass","message":"No internal links with nofollow","pageUrl":"https://nikcub.me/posts?page=4"}]},"links/orphan-pages":{"meta":{"id":"links/orphan-pages","name":"Orphan Pages","description":"Detects pages with no internal links pointing to them","solution":"Orphan pages have no internal links and are hard for search engines to discover. They may not get indexed or rank well. Add internal links from relevant pages. Include in navigation or sidebar. Add to sitemap. Create contextual links from related content. If intentionally orphaned (e.g., landing pages), ensure they're accessible via sitemap.","category":"links","scope":"site","severity":"warning","weight":5},"checks":[{"name":"orphan-pages","status":"warn","message":"25 orphan page(s) with <2 incoming links","items":[{"id":"https://nikcub.me/asides"},{"id":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"id":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"id":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"id":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"id":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"id":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"id":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"id":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"id":"https://nikcub.me/posts/the-download-dot-con"},{"id":"https://nikcub.me/posts/frictionless-browser-plugin"},{"id":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"id":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"id":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"id":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"id":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"id":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"id":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"id":"https://nikcub.me/posts/pain-and-gain"},{"id":"https://nikcub.me/posts/numeronym"},{"id":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"id":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"id":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"id":"https://nikcub.me/posts/relevance-time-for-twitter"},{"id":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"}],"details":{"total":25},"value":"/asides\n/posts/two-google-chrome-privacy-issues\n/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites\n/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file\n/posts/facebook-also-doesnt-honor-p3p\n+20 more"}]},"links/redirect-chains":{"meta":{"id":"links/redirect-chains","name":"Redirect Chains","description":"Detects URLs that redirect and links pointing to redirects","solution":"Redirects add latency and waste crawl budget, especially when chained. Make sure every internal link hits the final destination directly, not the intermediate redirect, and consult the chain context emitted by this rule to trace multi-hop paths. Consolidate redirect rules, prefer 301s for permanent moves, and audit redirects regularly to remove legacy hops.","category":"links","scope":"site","severity":"warning","weight":4},"checks":[{"name":"redirect-chains","status":"pass","message":"No redirects detected"}]},"links/tel-mailto":{"meta":{"id":"links/tel-mailto","name":"Tel & Mailto Links","description":"Validates tel: and mailto: link formats","solution":"Tel links should use format: tel:+1234567890 (E.164 format preferred, no spaces/dashes). Mailto links should have valid email format: mailto:user@example.com. You can add subject and body parameters: mailto:user@example.com?subject=Hi&body=Hello. Invalid formats may not work on all devices.","category":"links","scope":"page","severity":"info","weight":2},"checks":[{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/asides"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/subscribe"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"mailto-links","status":"pass","message":"2 mailto: link(s) found","pageUrl":"https://nikcub.me/contact"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/about"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/privacy"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"tel-mailto","status":"info","message":"No tel: or mailto: links found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"mailto-links","status":"pass","message":"1 mailto: link(s) found","pageUrl":"https://nikcub.me/posts?page=4"}]},"links/weak-internal-links":{"meta":{"id":"links/weak-internal-links","name":"Weak Internal Links","description":"Detects pages with only 1 dofollow internal link pointing to them","solution":"Pages with only a single internal link have weak internal linking support and may struggle to rank. Search engines use internal links to understand page importance and distribute link equity. Add contextual links from related content, include in navigation or sidebar, or link from category/hub pages to strengthen internal link profiles.","category":"links","scope":"site","severity":"warning","weight":3},"checks":[{"name":"weak-internal-links","status":"warn","message":"24 page(s) have only 1 internal link","items":[{"id":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"id":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"id":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"id":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"id":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"id":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"id":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"id":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"id":"https://nikcub.me/posts/the-download-dot-con"},{"id":"https://nikcub.me/posts/frictionless-browser-plugin"},{"id":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"id":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"id":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"id":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"id":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"id":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"id":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"id":"https://nikcub.me/posts/pain-and-gain"},{"id":"https://nikcub.me/posts/numeronym"},{"id":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"id":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"id":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"id":"https://nikcub.me/posts/relevance-time-for-twitter"},{"id":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"}],"details":{"total":24},"value":"/posts/two-google-chrome-privacy-issues\n/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites\n/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file\n/posts/facebook-also-doesnt-honor-p3p\n/posts/facebook-is-losing-e-commerce\n+19 more"}]},"local/geo-meta":{"meta":{"id":"local/geo-meta","name":"Geo Meta Tags","description":"Checks for geographic meta tags for local targeting","solution":"Geo meta tags help indicate your business location for local search. Add: geo.region (country-state code), geo.placename (city name), geo.position (latitude;longitude), and ICBM meta tag. These supplement LocalBusiness schema. Most useful for location-specific landing pages.","category":"local","scope":"page","severity":"info","weight":2},"checks":[{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/asides","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/contact","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/about","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/privacy","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding for local businesses"},{"name":"geo-meta","status":"info","message":"No geo meta tags found","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding for local businesses"}]},"local/nap-consistency":{"meta":{"id":"local/nap-consistency","name":"NAP Consistency","description":"Checks for consistent Name, Address, Phone across site","solution":"NAP consistency is critical for local SEO. Your business name, address, and phone number should be identical everywhere - on your site and across all listings. Use schema.org LocalBusiness markup. Avoid abbreviations inconsistencies (St. vs Street). Include NAP in footer for site-wide visibility.","category":"local","scope":"site","severity":"warning","weight":6},"checks":[{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","value":"Add schema if this is a local business"}]},"local/service-area":{"meta":{"id":"local/service-area","name":"Service Area Pages","description":"Checks for service area/location pages","solution":"Service area pages help rank for '[service] in [location]' searches. Create pages for each major city/area you serve. Include location-specific content, testimonials, and case studies. Use unique content - don't just swap city names. Add LocalBusiness schema with areaServed property.","category":"local","scope":"site","severity":"info","weight":3},"checks":[{"name":"service-area","status":"info","message":"No dedicated location pages found","value":"Consider adding for multi-location businesses"}]},"mobile/font-size":{"meta":{"id":"mobile/font-size","name":"Font Size","description":"Checks for readable font sizes on mobile","solution":"Body text should be at least 16px for readability without zooming. Smaller fonts strain eyes on mobile. Use relative units (rem, em) for scalability. Test on actual devices. Google's mobile-friendly test flags font sizes under 12px. Line height should be at least 1.5 for readability.","category":"mobile","scope":"page","severity":"warning","weight":4},"checks":[{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/asides","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/subscribe","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/numeronym","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/contact","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/about","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/privacy","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/tracking-cookie","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts?page=2","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/fb-table.html","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts?page=1","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts?page=3","value":"Verify body text is at least 16px"},{"name":"font-size","status":"info","message":"No extremely small inline font sizes detected","pageUrl":"https://nikcub.me/posts?page=4","value":"Verify body text is at least 16px"}]},"mobile/horizontal-scroll":{"meta":{"id":"mobile/horizontal-scroll","name":"Horizontal Scroll","description":"Checks for elements that may cause horizontal scrolling","solution":"Horizontal scrolling on mobile is a poor user experience and fails Google's mobile-friendly test. Common causes: fixed-width elements, images without max-width, wide tables. Use max-width: 100% on images, responsive tables, and avoid fixed pixel widths. Test on mobile devices.","category":"mobile","scope":"page","severity":"warning","weight":5},"checks":[{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/asides"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"horizontal-scroll","status":"info","message":"Elements may cause horizontal scroll on mobile","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"1 table(s) - ensure responsive"}]},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/contact"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/about"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/privacy"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"horizontal-scroll","status":"info","message":"Elements may cause horizontal scroll on mobile","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"2 table(s) - ensure responsive"}]},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"horizontal-scroll","status":"pass","message":"No obvious horizontal scroll issues detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"mobile/interstitials":{"meta":{"id":"mobile/interstitials","name":"Interstitials","description":"Detects potentially intrusive mobile interstitials","solution":"Google penalizes intrusive interstitials that cover main content on mobile. Avoid: popups that cover the content immediately on page load, standalone interstitials before the main content, above-the-fold layouts that look like interstitials. Allowed: age verification, cookie consent (small), login walls for paywalled content.","category":"mobile","scope":"page","severity":"warning","weight":5},"checks":[{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/asides"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/contact"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/about"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/privacy"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"interstitials","status":"pass","message":"No intrusive interstitial patterns detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"mobile/tap-targets":{"meta":{"id":"mobile/tap-targets","name":"Tap Targets","description":"Checks for properly sized touch targets","solution":"Touch targets (buttons, links) should be at least 44x44 CSS pixels with 8px spacing between them. This ensures users can tap accurately on mobile. Google's mobile-friendly test checks this. Use padding to increase tap area without changing visual size. Pay special attention to navigation links and form inputs.","category":"mobile","scope":"page","severity":"warning","weight":5},"checks":[{"name":"tap-targets","status":"info","message":"20 interactive element(s) found","pageUrl":"https://nikcub.me/","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"25 interactive element(s) found","pageUrl":"https://nikcub.me/posts","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"14 interactive element(s) found","pageUrl":"https://nikcub.me/asides","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/subscribe","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"62 interactive element(s) found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"16 interactive element(s) found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"47 interactive element(s) found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"30 interactive element(s) found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"28 interactive element(s) found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"40 interactive element(s) found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"23 interactive element(s) found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"23 interactive element(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"23 interactive element(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"22 interactive element(s) found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"22 interactive element(s) found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"17 interactive element(s) found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"20 interactive element(s) found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"22 interactive element(s) found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"19 interactive element(s) found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"22 interactive element(s) found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"25 interactive element(s) found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"26 interactive element(s) found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"26 interactive element(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"17 interactive element(s) found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"18 interactive element(s) found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"16 interactive element(s) found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"33 interactive element(s) found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"46 interactive element(s) found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"19 interactive element(s) found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"20 interactive element(s) found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"17 interactive element(s) found","pageUrl":"https://nikcub.me/contact","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"53 interactive element(s) found","pageUrl":"https://nikcub.me/about","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"15 interactive element(s) found","pageUrl":"https://nikcub.me/privacy","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"16 interactive element(s) found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"26 interactive element(s) found","pageUrl":"https://nikcub.me/posts?page=2","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"25 interactive element(s) found","pageUrl":"https://nikcub.me/posts?page=1","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"26 interactive element(s) found","pageUrl":"https://nikcub.me/posts?page=3","value":"Ensure tap targets are at least 44x44px"},{"name":"tap-targets","status":"info","message":"21 interactive element(s) found","pageUrl":"https://nikcub.me/posts?page=4","value":"Ensure tap targets are at least 44x44px"}]},"mobile/viewport":{"meta":{"id":"mobile/viewport","name":"Viewport Meta","description":"Checks for proper viewport meta tag","solution":"The viewport meta tag is essential for responsive design. Use: <meta name='viewport' content='width=device-width, initial-scale=1'>. This ensures proper scaling on mobile devices. Without it, mobile browsers render at desktop width and zoom out. Required for mobile-first indexing.","category":"mobile","scope":"page","severity":"error","weight":8},"checks":[{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/asides"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/subscribe"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/contact"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/about"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/privacy"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"viewport","status":"pass","message":"Viewport meta tag is properly configured","pageUrl":"https://nikcub.me/posts?page=4"}]},"mobile/viewport-zoom":{"meta":{"id":"mobile/viewport-zoom","name":"Viewport Zoom","description":"Checks that viewport doesn't disable user zoom","solution":"Never disable user zoom with maximum-scale=1, user-scalable=no, or user-scalable=0. Users with visual impairments need to zoom. This is an accessibility violation (WCAG 1.4.4). It also harms usability for all users. Remove these properties from your viewport meta tag.","category":"mobile","scope":"page","severity":"error","weight":7},"checks":[{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/asides"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/subscribe"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/contact"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/about"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/privacy"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"viewport-zoom","status":"pass","message":"Viewport allows user zoom","pageUrl":"https://nikcub.me/posts?page=4"}]},"perf/animated-content":{"meta":{"id":"perf/animated-content","name":"Animated Content","description":"Checks for large GIFs that could be converted to video","solution":"Convert large animated GIFs to video formats (MP4, WebM) for 50-90% smaller files. Use <video autoplay loop muted playsinline> for GIF-like behavior. Tools: ffmpeg, gif2webm, or Cloudinary can automate conversion. Modern video codecs are far more efficient than GIF for animation.","category":"perf","scope":"page","severity":"warning","weight":4},"checks":[{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/asides"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/subscribe"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/contact"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/about"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/privacy"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"animated-content","status":"pass","message":"No GIF animations found","pageUrl":"https://nikcub.me/posts?page=4"}]},"perf/browser-required":{"meta":{"id":"perf/browser-required","name":"Browser-Required Audits","description":"Lists performance audits that require browser execution","solution":"For complete performance analysis, run browser-based tools like Lighthouse, WebPageTest, or Chrome DevTools. These tools measure actual runtime metrics that cannot be determined through static HTML analysis alone.","category":"perf","scope":"page","severity":"info","weight":1},"checks":[{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/asides","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/contact","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/about","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/privacy","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}},{"name":"browser-required-audits","status":"info","message":"18 audits require browser execution","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"First Contentful Paint (FCP)"},{"id":"Largest Contentful Paint (LCP)"},{"id":"Total Blocking Time (TBT)"},{"id":"Cumulative Layout Shift (CLS)"},{"id":"Speed Index (SI)"},{"id":"Interaction to Next Paint (INP)"},{"id":"JavaScript execution time"},{"id":"Main-thread work breakdown"},{"id":"Long tasks"},{"id":"Time to Interactive (TTI)"}],"details":{"note":"Run Lighthouse for complete metrics","totalAudits":18}}]},"perf/cache-headers":{"meta":{"id":"perf/cache-headers","name":"Cache Headers","description":"Checks Cache-Control header configuration","solution":"Use Cache-Control headers to enable browser caching. For static assets (CSS, JS, images), set long max-age (1 year) with immutable when using hashed filenames. For HTML, use shorter max-age or no-cache with revalidation. Example: 'Cache-Control: public, max-age=31536000, immutable' for versioned assets.","category":"perf","scope":"page","severity":"warning","weight":4},"checks":[{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/","value":"public, max-age=0, must-revalidate"},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/asides","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/subscribe","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/numeronym","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/contact","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/about","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/privacy","value":"public, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/tracking-cookie","value":"public, max-age=0, must-revalidate"},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts?page=2","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"cache-control-html","status":"pass","message":"HTML cache appropriate (0s)","pageUrl":"https://nikcub.me/fb-table.html","value":"public, max-age=0, must-revalidate"},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts?page=1","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts?page=3","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"},{"name":"cache-control","status":"info","message":"Caching disabled with no-store","pageUrl":"https://nikcub.me/posts?page=4","details":{"note":"May be intentional for sensitive content"},"value":"private, no-cache, no-store, max-age=0, must-revalidate"}]},"perf/cls-hints":{"meta":{"id":"perf/cls-hints","name":"CLS Optimization Hints","description":"Checks for Cumulative Layout Shift prevention","solution":"CLS measures visual stability - how much content shifts during load. Prevent layout shifts by: 1) Always set width and height attributes on images and iframes. 2) Reserve space for ads and embeds with CSS min-height. 3) Use CSS aspect-ratio for responsive media. 4) Avoid inserting content above existing content. 5) Use transform animations instead of properties that trigger layout.","category":"perf","scope":"page","severity":"warning","weight":6},"checks":[{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/asides"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/subscribe"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"/images/posts/Fund-20The-20Islamic-20Struggle-20Anonymously.webp"}]},{"name":"cls-images","status":"warn","message":"4 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"/images/posts/blockchain-tor.webp"},{"id":"/images/posts/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf-20-page-2025-20of-2099-.webp"},{"id":"/images/posts/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf-20-page-2069-20of-2099-.webp"},{"id":"/images/posts/Screen-20Shot-202014-12-04-20at-202.00.01-20AM.webp"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"/images/posts/Disqus-20-E2-80-B9-20nikcub-20test-20-E2-80-94-20WordPress.webp"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"cls-images","status":"warn","message":"2 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"/images/posts/gqvpbGx.webp"},{"id":"/images/posts/myGov-20-20Home.webp"}]},{"name":"cls-iframes","status":"warn","message":"2 iframe(s) without dimensions","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"//www.scribd.com/embeds/224070691/content?start_page=1&view_mode=scroll&access_key=key-0NVekfWBPaKGMp7lca97&show_recommendations=true"},{"id":"//www.scribd.com/embeds/224260090/content?start_page=1&view_mode=scroll&access_key=key-j9B707GMs1zWZwc5kLui&show_recommendations=true"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"/images/posts/image66.webp"}]},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"/images/posts/20111225-pmyb3unhb18e2drdnyr1wuna5k.jpg-20class"}]},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"/images/posts/2689708043_3afee5af69_o.webp"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"cls-images","status":"warn","message":"1 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"/images/posts/promo.webp"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"cls-images","status":"warn","message":"2 image(s) without width/height (CLS risk)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"/images/posts/5909374213_cbae62eb55_m.webp"},{"id":"/images/posts/5909661385_79445883de_b.webp"}]},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/contact"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/about"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/privacy"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"cls-images","status":"pass","message":"All images have dimensions","pageUrl":"https://nikcub.me/posts?page=4"}]},"perf/compression":{"meta":{"id":"perf/compression","name":"Compression","description":"Checks for Gzip or Brotli compression","solution":"Enable Gzip or Brotli compression on your server to reduce transfer sizes by 60-90%. Most web servers support this via configuration. For nginx: 'gzip on;' For Apache: 'AddOutputFilterByType DEFLATE text/html'. Brotli provides better compression than Gzip for text content.","category":"perf","scope":"page","severity":"warning","weight":6},"checks":[{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/asides","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/subscribe","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/numeronym","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/contact","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/about","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/privacy","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/tracking-cookie","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts?page=2","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/fb-table.html","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts?page=1","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts?page=3","value":"br"},{"name":"compression","status":"pass","message":"Brotli compression enabled (optimal)","pageUrl":"https://nikcub.me/posts?page=4","value":"br"}]},"perf/critical-request-chains":{"meta":{"id":"perf/critical-request-chains","name":"Critical Request Chains","description":"Identifies chains of dependent resources that delay rendering","solution":"Critical request chains are sequences of dependent network requests that must complete before the page can render. Reduce chain depth by: 1) Inlining critical CSS instead of linking external files. 2) Adding async or defer to non-critical scripts. 3) Avoiding CSS @import — use <link> tags instead. 4) Using <link rel='preload'> for critical resources. 5) Reducing the number of render-blocking resources in <head>.","category":"perf","scope":"page","severity":"warning","weight":5},"checks":[{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/asides","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":9}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":7}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":7}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/contact","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/about","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":6}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/privacy","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":5}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"critical-request-chains","status":"pass","message":"No critical request chains detected","pageUrl":"https://nikcub.me/fb-table.html","details":{"preloads":0}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}},{"name":"critical-request-chains","status":"warn","message":"2 critical request chain(s) found","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"CSS: /_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"JS: /_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}],"details":{"blockingCss":1,"blockingJs":1,"importCount":0,"preloads":3}}]},"perf/css-file-size":{"meta":{"id":"perf/css-file-size","name":"CSS File Size Too Large","description":"Checks for CSS files that exceed recommended size limits","solution":"Large CSS files slow down rendering and increase bandwidth. Split large stylesheets into smaller chunks, remove unused selectors, and minify CSS. Consider critical CSS inlining for above-the-fold styles and lazy-loading non-critical CSS.","category":"perf","scope":"site","severity":"warning","weight":6},"checks":[{"name":"css-file-size","status":"pass","message":"All CSS files are within size limits"}]},"perf/dom-size":{"meta":{"id":"perf/dom-size","name":"DOM Size","description":"Detects excessive DOM complexity that impacts performance","solution":"Large DOMs slow page rendering, increase memory usage, and harm mobile performance. Google recommends keeping total nodes under 1500.\n\nFixes for large DOMs:\n- Use virtualization for long lists (e.g., react-window)\n- Lazy-load off-screen content\n- Reduce unnecessary wrapper elements\n- Use CSS instead of DOM for visual effects\n- Paginate large content sections","category":"perf","scope":"page","severity":"warning","weight":6},"checks":[{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (203 nodes)","pageUrl":"https://nikcub.me/","value":"203","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (14 levels)","pageUrl":"https://nikcub.me/","value":"14"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (50)","pageUrl":"https://nikcub.me/","value":"50"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (287 nodes)","pageUrl":"https://nikcub.me/posts","value":"287","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts","value":"33"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (111 nodes)","pageUrl":"https://nikcub.me/asides","value":"111","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/asides","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/asides","value":"33"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (144 nodes)","pageUrl":"https://nikcub.me/subscribe","value":"144","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/subscribe","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (50)","pageUrl":"https://nikcub.me/subscribe","value":"50"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (360 nodes)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"360","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"11"},{"name":"dom-max-children","status":"warn","message":"Element with 118 children found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"118","expected":"≤ 60 children per element"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (134 nodes)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"134","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"52"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (213 nodes)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"213","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (55)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"55"},{"name":"dom-total-nodes","status":"warn","message":"Large DOM (2106 nodes)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"2106","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"11"},{"name":"dom-max-children","status":"warn","message":"Element with 276 children found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"276","expected":"≤ 60 children per element"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (194 nodes)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"194","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (228 nodes)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"228","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (54)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"54"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (208 nodes)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"208","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (193 nodes)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"193","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"52"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (208 nodes)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"208","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (189 nodes)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"189","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (53)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"53"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (231 nodes)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"231","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (144 nodes)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"144","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (169 nodes)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"169","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (285 nodes)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"285","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (185 nodes)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"185","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (146 nodes)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"146","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"52"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (147 nodes)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"147","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"52"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (186 nodes)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"186","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"52"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (165 nodes)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"165","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (145 nodes)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"145","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"52"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (140 nodes)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"140","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (146 nodes)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"146","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (150 nodes)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"150","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (191 nodes)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"191","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (187 nodes)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"187","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (191 nodes)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"191","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (170 nodes)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"170","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (140 nodes)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"140","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (53)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"53"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (246 nodes)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"246","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (137 nodes)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"137","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (131 nodes)","pageUrl":"https://nikcub.me/posts/numeronym","value":"131","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/numeronym","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/numeronym","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (203 nodes)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"203","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (247 nodes)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"247","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (146 nodes)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"146","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (149 nodes)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"149","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (153 nodes)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"153","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (146 nodes)","pageUrl":"https://nikcub.me/contact","value":"146","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/contact","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (50)","pageUrl":"https://nikcub.me/contact","value":"50"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (203 nodes)","pageUrl":"https://nikcub.me/about","value":"203","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/about","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (52)","pageUrl":"https://nikcub.me/about","value":"52"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (128 nodes)","pageUrl":"https://nikcub.me/privacy","value":"128","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/privacy","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/privacy","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (129 nodes)","pageUrl":"https://nikcub.me/tracking-cookie","value":"129","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (11 levels)","pageUrl":"https://nikcub.me/tracking-cookie","value":"11"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (51)","pageUrl":"https://nikcub.me/tracking-cookie","value":"51"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (289 nodes)","pageUrl":"https://nikcub.me/posts?page=2","value":"289","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts?page=2","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts?page=2","value":"33"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (195 nodes)","pageUrl":"https://nikcub.me/fb-table.html","value":"195","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (6 levels)","pageUrl":"https://nikcub.me/fb-table.html","value":"6"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (27)","pageUrl":"https://nikcub.me/fb-table.html","value":"27"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (287 nodes)","pageUrl":"https://nikcub.me/posts?page=1","value":"287","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts?page=1","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts?page=1","value":"33"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (290 nodes)","pageUrl":"https://nikcub.me/posts?page=3","value":"290","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts?page=3","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts?page=3","value":"33"},{"name":"dom-total-nodes","status":"pass","message":"DOM size OK (219 nodes)","pageUrl":"https://nikcub.me/posts?page=4","value":"219","expected":"< 1500 nodes"},{"name":"dom-depth","status":"pass","message":"DOM depth OK (13 levels)","pageUrl":"https://nikcub.me/posts?page=4","value":"13"},{"name":"dom-max-children","status":"pass","message":"Max children per element OK (33)","pageUrl":"https://nikcub.me/posts?page=4","value":"33"}]},"perf/duplicate-js":{"meta":{"id":"perf/duplicate-js","name":"Duplicate JavaScript","description":"Detects duplicate JavaScript libraries loaded multiple times","solution":"Remove duplicate JavaScript library loads to reduce page weight and avoid conflicts. Check for the same library loaded from different CDNs or versions. Use a single source for each dependency. Consider using a module bundler to deduplicate shared dependencies.","category":"perf","scope":"page","severity":"warning","weight":5},"checks":[{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/","details":{"scriptsAnalyzed":13}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts","details":{"scriptsAnalyzed":13}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/asides","details":{"scriptsAnalyzed":13}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/subscribe","details":{"scriptsAnalyzed":13}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/numeronym","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/contact","details":{"scriptsAnalyzed":13}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/about","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/privacy","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/tracking-cookie","details":{"scriptsAnalyzed":14}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts?page=2","details":{"scriptsAnalyzed":13}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/fb-table.html","details":{"scriptsAnalyzed":0}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts?page=1","details":{"scriptsAnalyzed":13}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts?page=3","details":{"scriptsAnalyzed":13}},{"name":"duplicate-js","status":"pass","message":"No duplicate JavaScript libraries detected","pageUrl":"https://nikcub.me/posts?page=4","details":{"scriptsAnalyzed":13}}]},"perf/font-loading":{"meta":{"id":"perf/font-loading","name":"Font Loading","description":"Checks for font loading best practices","solution":"Optimize font loading to prevent FOIT (Flash of Invisible Text) and FOUT (Flash of Unstyled Text): 1) Use font-display: swap in @font-face to show fallback text immediately. 2) Preconnect to font CDNs with <link rel='preconnect'>. 3) Use WOFF2 format for best compression. 4) Self-host fonts when possible for faster loading. 5) Limit font families and weights to reduce downloads.","category":"perf","scope":"page","severity":"warning","weight":5},"checks":[{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/asides"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/subscribe"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/contact"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/about"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/privacy"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"font-display","status":"pass","message":"All fonts have font-display set","pageUrl":"https://nikcub.me/posts?page=4"}]},"perf/http2":{"meta":{"id":"perf/http2","name":"HTTP/2","description":"Checks for HTTP/2 protocol support","solution":"HTTP/2 enables multiplexing, header compression, and server push for faster page loads. Most modern web servers and CDNs support HTTP/2 out of the box. Requires HTTPS. Check your server/CDN documentation to enable it. HTTP/3 (QUIC) provides even better performance.","category":"perf","scope":"page","severity":"info","weight":3},"checks":[{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/asides","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/subscribe","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/numeronym","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/contact","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/about","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/privacy","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/tracking-cookie","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts?page=2","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/fb-table.html","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts?page=1","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts?page=3","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}},{"name":"http2-unknown","status":"info","message":"HTTP/2 support cannot be determined from headers","pageUrl":"https://nikcub.me/posts?page=4","details":{"note":"HTTP/2 is recommended for all HTTPS sites"}}]},"perf/inp-hints":{"meta":{"id":"perf/inp-hints","name":"INP Optimization Hints","description":"Checks for Interaction to Next Paint optimization","solution":"INP measures responsiveness to user interactions. Improve by: 1) Minimize third-party scripts that block the main thread. 2) Use async/defer for non-critical scripts. 3) Break up long JavaScript tasks into smaller chunks. 4) Use web workers for heavy computations. 5) Implement code splitting to reduce initial bundle size. Consider using requestIdleCallback for non-urgent work.","category":"perf","scope":"page","severity":"info","weight":5},"checks":[{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/","details":{"async":13,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts","details":{"async":13,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/asides"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/asides","details":{"async":13,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/subscribe","details":{"async":13,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/onymous-part1","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/the-download-dot-con","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/pain-and-gain","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/numeronym","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/contact"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/contact","details":{"async":13,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/about"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/about","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/privacy"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/privacy","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/tracking-cookie","details":{"async":14,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts?page=2","details":{"async":13,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts?page=1","details":{"async":13,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts?page=3","details":{"async":13,"defer":0,"blocking":1}},{"name":"inp-third-party","status":"pass","message":"No third-party scripts detected","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"inp-blocking-scripts","status":"pass","message":"Script loading patterns look good","pageUrl":"https://nikcub.me/posts?page=4","details":{"async":13,"defer":0,"blocking":1}}]},"perf/js-libraries":{"meta":{"id":"perf/js-libraries","name":"JS Libraries","description":"Detects JavaScript libraries and checks for known vulnerabilities","solution":"Keep JavaScript libraries updated to their latest versions. Outdated libraries may contain security vulnerabilities that attackers can exploit. Consider replacing large libraries like jQuery with modern vanilla JavaScript or smaller alternatives. Use npm audit or Snyk to monitor dependencies for vulnerabilities.","category":"perf","scope":"page","severity":"warning","weight":5},"checks":[{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/asides","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/contact","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/about","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/privacy","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]},{"name":"js-libraries-detected","status":"info","message":"2 JavaScript library/libraries detected","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"React","label":"inline code"},{"id":"Next.js","label":"script URL"}]}]},"perf/js-redirects":{"meta":{"id":"perf/js-redirects","name":"JavaScript Redirects","description":"Detects JavaScript resources that return 3XX redirects","solution":"JavaScript files that redirect add unnecessary latency and increase page load time. Update script src attributes to point directly to the final URL. Common causes: CDN URL changes, versioned script paths, or domain migrations. Check if third-party scripts have updated their recommended URLs.","category":"perf","scope":"site","severity":"warning","weight":4},"checks":[{"name":"js-redirects","status":"pass","message":"No JavaScript resources are redirecting"}]},"perf/lazy-above-fold":{"meta":{"id":"perf/lazy-above-fold","name":"Lazy Loading Above Fold","description":"Detects lazy loading on likely above-fold images","solution":"Don't use loading='lazy' on images that appear above the fold (visible without scrolling). Lazy loading these images delays LCP because the browser waits for layout before fetching. For hero images and LCP candidates: 1) Remove loading='lazy'. 2) Add fetchpriority='high'. 3) Consider preloading with <link rel='preload' as='image'>. Only use lazy loading for below-fold images.","category":"perf","scope":"page","severity":"warning","weight":5},"checks":[{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/asides"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/subscribe"},{"name":"lazy-above-fold","status":"warn","message":"1 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2FChcGSpBUUAArMOs.webp&w=1920&q=75"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"lazy-above-fold","status":"warn","message":"2 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2F60min-silkroad_export.webp&w=1920&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2F60_screenshot_export.webp&w=1920&q=75"}]},{"name":"lazy-above-fold","status":"warn","message":"1 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2Fsr_reddit_screnshot.webp&w=1920&q=75"}]},{"name":"lazy-above-fold","status":"warn","message":"1 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2FScreen_Shot_2014-09-03_at_6.22.13_AM.webp&w=1920&q=75"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"lazy-above-fold","status":"warn","message":"2 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2F5909374213_cbae62eb55_m.webp&w=1920&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2F5909661385_79445883de_b.webp&w=1920&q=75"}]},{"name":"lazy-above-fold","status":"warn","message":"2 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2Fyahoo-private-key.webp&w=1920&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2Fyahoo-extension-disable.webp&w=1920&q=75"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"lazy-above-fold","status":"warn","message":"1 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2Fdownload-dotcon.webp&w=1920&q=75"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"lazy-above-fold","status":"warn","message":"2 above-fold image(s) with lazy loading","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"/_next/image?url=%2Fimages%2Fposts%2Ffacebook-reenable01.webp&w=1920&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2Ffacebook-reenable02.webp&w=1920&q=75"}]},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/contact"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/about"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/privacy"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"lazy-above-fold","status":"pass","message":"No lazy loading on above-fold images","pageUrl":"https://nikcub.me/posts?page=4"}]},"perf/lcp-hints":{"meta":{"id":"perf/lcp-hints","name":"LCP Optimization Hints","description":"Checks for Largest Contentful Paint optimization opportunities","solution":"LCP measures when the largest content element becomes visible. Optimize by: 1) Preload your LCP image with <link rel='preload' as='image'>. 2) Don't use loading='lazy' on above-fold images as it delays loading. 3) Minimize render-blocking CSS/JS in <head>. 4) Use modern image formats (WebP/AVIF) for faster loading. 5) Consider using fetchpriority='high' on the LCP image.","category":"perf","scope":"page","severity":"warning","weight":7},"checks":[{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/asides","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"2 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2Fcraig_wright.webp&w=1920&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"2 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"},{"id":"/images/posts/20111225-pmyb3unhb18e2drdnyr1wuna5k.jpg-20class"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/contact","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"2 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/about","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"},{"id":"/_next/image?url=%2Fimages%2Fposts%2Fnik.profile.webp&w=1920&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/privacy","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"pass","message":"LCP images appear to be optimized","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]},{"name":"lcp-preload","status":"warn","message":"1 potential LCP image(s) without preload","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"/_next/image?url=%2Favatar.webp&w=128&q=75"}]}]},"perf/legacy-js":{"meta":{"id":"perf/legacy-js","name":"Legacy JavaScript","description":"Detects ES5 polyfills and legacy JavaScript code","solution":"Consider removing legacy polyfills if you don't need to support old browsers. Use differential serving (module/nomodule) to send modern code to modern browsers. Update Babel/TypeScript target to ES2020+ if your audience uses modern browsers. Check browserslist configuration.","category":"perf","scope":"page","severity":"info","weight":3},"checks":[{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/asides"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/contact"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/about"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/privacy"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"legacy-js","status":"info","message":"No legacy JavaScript patterns detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"perf/preconnect":{"meta":{"id":"perf/preconnect","name":"Preconnect Hints","description":"Checks for preconnect hints to critical third-party origins","solution":"Preconnect establishes early connections to important third-party origins, saving time on DNS lookup, TCP handshake, and TLS negotiation. Add <link rel='preconnect' href='https://example.com'> for CDNs and critical third-party services. Use crossorigin attribute for CORS resources like fonts. Limit preconnects to 2-4 most critical origins to avoid connection congestion.","category":"perf","scope":"page","severity":"info","weight":4},"checks":[{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/asides"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/subscribe"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/contact"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/about"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/privacy"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"preconnect-usage","status":"info","message":"No preconnect hints (may not be needed)","pageUrl":"https://nikcub.me/posts?page=4"}]},"perf/render-blocking":{"meta":{"id":"perf/render-blocking","name":"Render-Blocking Resources","description":"Checks for render-blocking CSS and JavaScript","solution":"Render-blocking resources delay First Contentful Paint (FCP) and LCP. Fix by: 1) Inline critical CSS for above-fold content. 2) Load non-critical CSS with media='print' onload='this.media=all'. 3) Add async or defer to non-critical scripts. 4) Move scripts to end of body when possible. 5) Use <link rel='preload'> for critical resources. Consider tools like Critical to extract critical CSS.","category":"perf","scope":"page","severity":"warning","weight":6},"checks":[{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/asides","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/contact","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/about","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/privacy","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"pass","message":"No significant render-blocking resources","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]},{"name":"render-blocking","status":"info","message":"2 render-blocking resource(s)","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"/_next/static/chunks/11d59d31d0dc4e0e.css?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"},{"id":"/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_5SLwpopeDrb64tvL2Hua3zVnFW7R"}]}]},"perf/source-maps":{"meta":{"id":"perf/source-maps","name":"Source Maps","description":"Checks for source map availability and configuration","solution":"Source maps help debug minified code but can expose source code if publicly accessible. For production: 1) Either remove source maps entirely, 2) Restrict access via server config, or 3) Use 'hidden' source maps uploaded only to error tracking services. Exposed source maps can reveal business logic and security implementations to attackers.","category":"perf","scope":"page","severity":"info","weight":3},"checks":[{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/asides"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/contact"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/about"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/privacy"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"source-maps","status":"pass","message":"No exposed source maps detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"perf/total-byte-weight":{"meta":{"id":"perf/total-byte-weight","name":"Total Page Weight","description":"Checks the total byte weight of the page","solution":"Reduce total page weight for faster loads on slow connections. Optimize images (use modern formats, compress, serve appropriate sizes). Minify and compress CSS/JS. Remove unused code via tree-shaking. Lazy-load non-critical resources. Target under 1.6MB for mobile users.","category":"perf","scope":"site","severity":"warning","weight":6},"checks":[{"name":"total-byte-weight","status":"pass","message":"Total tracked resources: 1344KB","details":{"pagesAnalyzed":49,"css":"14KB","cssBreakdown":"inline: 2KB, external: 12KB","cssFiles":2,"js":"463KB","jsFiles":10,"images":"867KB","imageFiles":33},"value":"1344KB","expected":"< 1600KB"}]},"perf/ttfb":{"meta":{"id":"perf/ttfb","name":"Time to First Byte","description":"Measures server response time (TTFB)","solution":"Time to First Byte (TTFB) measures how quickly your server responds. Slow TTFB indicates server/backend issues.\n\nThresholds (Core Web Vitals):\n- Good: < 600ms\n- Needs improvement: 600-1000ms\n- Poor: > 1000ms\n\nFixes for slow TTFB:\n- Enable server caching (Redis, Varnish, CDN)\n- Optimize database queries\n- Use CDN for static assets\n- Upgrade server resources\n- Reduce server-side processing\n- Enable HTTP/2 or HTTP/3\n- Use edge computing (Cloudflare Workers, Vercel Edge)","category":"perf","scope":"page","severity":"warning","weight":7},"checks":[{"name":"ttfb","status":"pass","message":"Fast server response (17ms)","pageUrl":"https://nikcub.me/","value":"17","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (450ms)","pageUrl":"https://nikcub.me/posts","value":"450","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 105ms","pageUrl":"https://nikcub.me/posts","value":"105"},{"name":"ttfb","status":"pass","message":"Fast server response (459ms)","pageUrl":"https://nikcub.me/asides","value":"459","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/asides","value":"1"},{"name":"ttfb","status":"warn","message":"Slow server response (652ms)","pageUrl":"https://nikcub.me/subscribe","value":"652","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/subscribe","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (365ms)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"365","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (65ms)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"65","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (351ms)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"351","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (303ms)","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"303","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (304ms)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"304","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (312ms)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"312","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (324ms)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"324","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (545ms)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"545","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (350ms)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"350","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (288ms)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"288","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (310ms)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"310","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (291ms)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"291","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"1"},{"name":"ttfb","status":"warn","message":"Slow server response (699ms)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"699","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (725ms)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"725","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (353ms)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"353","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 2ms","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"2"},{"name":"ttfb","status":"pass","message":"Fast server response (286ms)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"286","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (300ms)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"300","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (713ms)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"713","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (796ms)","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"796","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (304ms)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"304","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (310ms)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"310","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"1"},{"name":"ttfb","status":"warn","message":"Slow server response (707ms)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"707","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (361ms)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"361","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (292ms)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"292","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"1"},{"name":"ttfb","status":"warn","message":"Slow server response (721ms)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"721","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (279ms)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"279","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (652ms)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"652","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (841ms)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"841","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (659ms)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"659","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 2ms","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"2"},{"name":"ttfb","status":"warn","message":"Slow server response (693ms)","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"693","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (606ms)","pageUrl":"https://nikcub.me/posts/numeronym","value":"606","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/numeronym","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (628ms)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"628","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (631ms)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"631","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 2ms","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"2"},{"name":"ttfb","status":"pass","message":"Fast server response (310ms)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"310","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (300ms)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"300","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"1"},{"name":"ttfb","status":"warn","message":"Slow server response (634ms)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"634","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (592ms)","pageUrl":"https://nikcub.me/contact","value":"592","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/contact","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (644ms)","pageUrl":"https://nikcub.me/about","value":"644","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/about","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (297ms)","pageUrl":"https://nikcub.me/privacy","value":"297","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/privacy","value":"0"},{"name":"ttfb","status":"warn","message":"Slow server response (675ms)","pageUrl":"https://nikcub.me/tracking-cookie","value":"675","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 0ms","pageUrl":"https://nikcub.me/tracking-cookie","value":"0"},{"name":"ttfb","status":"pass","message":"Fast server response (352ms)","pageUrl":"https://nikcub.me/posts?page=2","value":"352","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 204ms","pageUrl":"https://nikcub.me/posts?page=2","value":"204"},{"name":"ttfb","status":"pass","message":"Fast server response (17ms)","pageUrl":"https://nikcub.me/fb-table.html","value":"17","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 1ms","pageUrl":"https://nikcub.me/fb-table.html","value":"1"},{"name":"ttfb","status":"pass","message":"Fast server response (323ms)","pageUrl":"https://nikcub.me/posts?page=1","value":"323","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 220ms","pageUrl":"https://nikcub.me/posts?page=1","value":"220"},{"name":"ttfb","status":"pass","message":"Fast server response (560ms)","pageUrl":"https://nikcub.me/posts?page=3","value":"560","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 10ms","pageUrl":"https://nikcub.me/posts?page=3","value":"10"},{"name":"ttfb","status":"pass","message":"Fast server response (485ms)","pageUrl":"https://nikcub.me/posts?page=4","value":"485","expected":"< 600ms"},{"name":"download-time","status":"info","message":"Content download: 130ms","pageUrl":"https://nikcub.me/posts?page=4","value":"130"}]},"perf/unminified-css":{"meta":{"id":"perf/unminified-css","name":"Unminified CSS","description":"Detects unminified CSS that could be optimized","solution":"Minify CSS to reduce file size and improve load times. Use build tools like cssnano, clean-css, or PostCSS with cssnano plugin. Most bundlers (Webpack, Vite, esbuild) can minify CSS automatically in production mode. Minification removes whitespace, comments, and optimizes syntax.","category":"perf","scope":"page","severity":"warning","weight":4},"checks":[{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/asides","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/contact","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/about","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/privacy","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"1 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/fb-table.html","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-css","status":"info","message":"2 stylesheet(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"11d59d31d0dc4e0e.css","label":"10.9KB"},{"id":"11d59d31d0dc4e0e.css"}],"details":{"note":"Files without .min in name - verify if minified"}}]},"perf/unminified-js":{"meta":{"id":"perf/unminified-js","name":"Unminified JavaScript","description":"Detects unminified JavaScript that could be optimized","solution":"Minify JavaScript to reduce file size and improve load times. Use build tools like Terser, esbuild, or UglifyJS. Most bundlers (Webpack, Vite, Rollup) minify automatically in production. Minification shortens variable names, removes whitespace, and dead code.","category":"perf","scope":"page","severity":"warning","weight":5},"checks":[{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/asides","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/contact","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/about","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/privacy","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"13 script(s) may not be minified","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"minified-js","status":"pass","message":"JavaScript appears to be minified","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}},{"name":"potentially-unminified-js","status":"info","message":"12 script(s) may not be minified","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"56766eae8287a4e5.js"},{"id":"88751c86fa06c0fb.js"},{"id":"023d923a37d494fc.js"},{"id":"d86b617c4d94a662.js"},{"id":"ff1a16fafef87110.js"}],"details":{"note":"Files without .min in name - verify if minified"}}]},"schema/article":{"meta":{"id":"schema/article","name":"Article Schema","description":"Validates Article schema required properties","solution":"Article schema helps search engines understand news and blog content. Required: headline, author (Person with name), datePublished. Recommended: dateModified, image (ImageObject), publisher (Organization). Use Article for general content, NewsArticle for news, BlogPosting for blogs. Ensure author links to real author pages.","category":"schema","scope":"page","severity":"warning","weight":5},"checks":[{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/asides","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/contact","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/about","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/privacy","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding for blog/news content"},{"name":"article-schema","status":"info","message":"No Article schema found","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding for blog/news content"}]},"schema/breadcrumb":{"meta":{"id":"schema/breadcrumb","name":"Breadcrumb Schema","description":"Checks for BreadcrumbList schema on non-homepage","solution":"BreadcrumbList schema shows navigation path in search results. Structure: BreadcrumbList with itemListElement array of ListItem. Each ListItem needs position (1, 2, 3...), name, and item (URL). The last item (current page) doesn't need a URL. Breadcrumbs help users understand site structure and improve click-through rates.","category":"schema","scope":"page","severity":"info","weight":3},"checks":[{"name":"breadcrumb-schema","status":"info","message":"Homepage - breadcrumbs not typically needed","pageUrl":"https://nikcub.me/"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/asides","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/subscribe","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/contact","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/about","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/privacy","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/tracking-cookie","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding for non-homepage"},{"name":"breadcrumb-schema","status":"info","message":"No BreadcrumbList schema found","pageUrl":"https://nikcub.me/posts?page=4","value":"Consider adding for non-homepage"}]},"schema/faq":{"meta":{"id":"schema/faq","name":"FAQ Schema","description":"Validates FAQPage schema structure","solution":"FAQPage schema enables FAQ rich results in search. Structure: FAQPage with mainEntity array of Question items. Each Question needs name (question text) and acceptedAnswer (Answer with text). FAQ content must be visible on the page. Don't use for single Q&A or forums - those have different schema types.","category":"schema","scope":"page","severity":"warning","weight":4},"checks":[{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/asides"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/contact"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/about"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"faq-schema","status":"info","message":"No FAQPage schema found","pageUrl":"https://nikcub.me/posts?page=4"}]},"schema/json-ld-valid":{"meta":{"id":"schema/json-ld-valid","name":"JSON-LD Valid","description":"Validates JSON-LD structured data","solution":"JSON-LD structured data helps search engines understand your content and can unlock rich results. Validate against schema.org rules (headline, author, datePublished for articles, name/url for organizations, etc.) and keep the JSON well-formed. Use SquirrelScan's built-in schema validator to expose the exact missing property path before verifying on Google's Rich Results Test, and ensure each required field points to a canonical resource.","category":"schema","scope":"page","severity":"warning","weight":5},"checks":[{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/asides","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld-valid","status":"fail","message":"Invalid JSON-LD syntax","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"parse-0","label":"Validation: Article.publisher.logo is required"},{"id":"Article:publisher.logo","label":"Article missing publisher.logo","meta":{"message":"Validation: Article.publisher.logo is required","severity":"missing","path":["publisher","logo"]}}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/contact","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/about","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/privacy","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"info","message":"No JSON-LD structured data found","pageUrl":"https://nikcub.me/fb-table.html","value":"null"},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"WebSite"},{"id":"Person"}]},{"name":"json-ld","status":"pass","message":"Valid JSON-LD with 2 type(s)","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"WebSite"},{"id":"Person"}]}]},"schema/local-business":{"meta":{"id":"schema/local-business","name":"LocalBusiness Schema","description":"Validates LocalBusiness schema for local SEO","solution":"LocalBusiness schema helps your business appear in local search and Google Maps. Required: name, address (PostalAddress with streetAddress, addressLocality, postalCode). Include telephone, openingHours (use OpeningHoursSpecification for complex hours), geo coordinates, and priceRange. Match data with your Google Business Profile.","category":"schema","scope":"page","severity":"warning","weight":6},"checks":[{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/asides"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/contact"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/about"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"local-business-schema","status":"info","message":"No LocalBusiness schema found","pageUrl":"https://nikcub.me/posts?page=4"}]},"schema/organization":{"meta":{"id":"schema/organization","name":"Organization Schema","description":"Validates Organization schema for brand presence","solution":"Organization schema helps Google understand your brand and may show a knowledge panel. Required: name, url, logo. Add contactPoint for customer service info, sameAs for social profiles (LinkedIn, Twitter, etc.). Place on homepage or about page. For local businesses, use LocalBusiness instead.","category":"schema","scope":"page","severity":"info","weight":4},"checks":[{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/asides"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/contact"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/about"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"organization-schema","status":"info","message":"No Organization schema found","pageUrl":"https://nikcub.me/posts?page=4"}]},"schema/product":{"meta":{"id":"schema/product","name":"Product Schema","description":"Validates Product schema for e-commerce","solution":"Product schema enables rich results in search. Required: name, image. For offers, include price, priceCurrency, availability. Add reviews with AggregateRating for star ratings. Include brand, sku, gtin for product identification. Ensure price and availability are accurate and updated.","category":"schema","scope":"page","severity":"warning","weight":6},"checks":[{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/asides"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/contact"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/about"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"product-schema","status":"info","message":"No Product schema found","pageUrl":"https://nikcub.me/posts?page=4"}]},"schema/review":{"meta":{"id":"schema/review","name":"Review Schema","description":"Validates Review and AggregateRating schema","solution":"Review schema enables star ratings in search results. AggregateRating needs ratingValue, bestRating (default 5), ratingCount or reviewCount. Individual Review needs author, reviewRating, datePublished. Reviews must be for specific items (Product, LocalBusiness, etc.), not the overall site. Self-reviews violate guidelines.","category":"schema","scope":"page","severity":"warning","weight":5},"checks":[{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/asides"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/contact"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/about"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"review-schema","status":"info","message":"No Review or AggregateRating schema found","pageUrl":"https://nikcub.me/posts?page=4"}]},"schema/video":{"meta":{"id":"schema/video","name":"Video Schema","description":"Validates VideoObject schema for video content","solution":"VideoObject schema enables video rich results and carousels. Required: name, description, thumbnailUrl, uploadDate. Recommended: duration (ISO 8601), contentUrl, embedUrl. For video courses, use Course with hasCourseInstance. Ensure thumbnailUrl is high quality (min 160x90, max 1920x1080).","category":"schema","scope":"page","severity":"warning","weight":5},"checks":[{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/asides"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/contact"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/about"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/privacy"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-schema","status":"info","message":"No VideoObject schema found","pageUrl":"https://nikcub.me/posts?page=4"}]},"schema/website-search":{"meta":{"id":"schema/website-search","name":"WebSite Search Schema","description":"Checks for WebSite schema with sitelinks searchbox","solution":"WebSite schema with SearchAction enables the sitelinks searchbox in Google results. Add to your homepage: WebSite with url, potentialAction (SearchAction with target URL using {search_term_string} placeholder, and query-input). This lets users search your site directly from Google results.","category":"schema","scope":"page","severity":"info","weight":3},"checks":[{"name":"website-schema","status":"info","message":"No WebSite schema on homepage","pageUrl":"https://nikcub.me/","value":"Consider adding for sitelinks searchbox"}]},"security/csp":{"meta":{"id":"security/csp","name":"Content Security Policy","description":"Checks for Content-Security-Policy header and validates directives","solution":"CSP prevents XSS attacks by restricting which resources can load. Start with a report-only policy to identify issues. Key directives: default-src 'self', script-src (avoid 'unsafe-inline'), img-src, style-src, frame-ancestors. Use nonces or hashes instead of 'unsafe-inline' for scripts. Test thoroughly as strict CSP can break functionality.","category":"security","scope":"site","severity":"warning","weight":6},"checks":[{"name":"csp-missing","status":"warn","message":"No Content-Security-Policy header","value":"Site vulnerable to XSS without CSP","expected":"Content-Security-Policy header with script-src directive"}]},"security/form-captcha":{"meta":{"id":"security/form-captcha","name":"Form CAPTCHA","description":"Checks for CAPTCHA protection on public forms","solution":"Add CAPTCHA protection (reCAPTCHA, Cloudflare Turnstile, hCaptcha, etc.) to public-facing forms to prevent spam and bot submissions. Contact forms, comment forms, newsletter signups, and registration forms are common targets for automated abuse. Modern CAPTCHA solutions like Turnstile offer invisible protection with minimal user friction.","category":"security","scope":"page","severity":"warning","weight":4},"checks":[{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/asides","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"2 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"form[0]"},{"id":"form[1]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/contact","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/about","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/privacy","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"info","message":"No forms on page","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"form[0]"}]},{"name":"form-captcha","status":"warn","message":"1 public form(s) without CAPTCHA","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"form[0]"}]}]},"security/form-https":{"meta":{"id":"security/form-https","name":"Form HTTPS","description":"Checks that form actions use HTTPS","solution":"Forms should always submit to HTTPS URLs to protect user data in transit. Update form action attributes from http:// to https://. For relative URLs, ensure the page itself is on HTTPS. Be especially careful with login forms, payment forms, and any forms collecting personal data. Browsers may warn users about insecure form submissions.","category":"security","scope":"page","severity":"warning","weight":6},"checks":[{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/asides"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/contact"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/about"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/privacy"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"form-https","status":"info","message":"No forms detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"security/hsts":{"meta":{"id":"security/hsts","name":"HSTS Header","description":"Checks for HTTP Strict Transport Security header","solution":"HSTS forces browsers to only connect via HTTPS, preventing downgrade attacks. Add the header: Strict-Transport-Security: max-age=31536000; includeSubDomains. Start with a short max-age (1 day) to test, then increase to 1 year. The includeSubDomains directive protects all subdomains. Consider preloading via hstspreload.org for maximum protection.","category":"security","scope":"site","severity":"warning","weight":6},"checks":[{"name":"hsts","status":"pass","message":"HSTS configured correctly","value":"max-age=63072000"}]},"security/http-to-https":{"meta":{"id":"security/http-to-https","name":"HTTP to HTTPS Redirect","description":"Checks whether HTTP URLs redirect to HTTPS","solution":"Ensure all HTTP URLs redirect to their HTTPS equivalents using permanent (301) redirects. This consolidates link equity and avoids mixed indexing. Configure your server to enforce HTTPS globally and verify that both the homepage and key internal URLs redirect correctly. WARNING: This rule makes external HTTP requests to probe redirect behavior.","category":"security","scope":"site","severity":"warning","weight":3},"checks":[{"name":"http-to-https","status":"warn","message":"20 HTTP URL(s) redirect to HTTPS","items":[{"id":"http://nikcub.me/","label":"http://nikcub.me/ → https://nikcub.me/ (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/","finalUrl":"https://nikcub.me/","hops":[{"url":"http://nikcub.me/","statusCode":308,"type":"http"},{"url":"https://nikcub.me/","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts","label":"http://nikcub.me/posts → https://nikcub.me/posts (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts","finalUrl":"https://nikcub.me/posts","hops":[{"url":"http://nikcub.me/posts","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/asides","label":"http://nikcub.me/asides → https://nikcub.me/asides (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/asides","finalUrl":"https://nikcub.me/asides","hops":[{"url":"http://nikcub.me/asides","statusCode":308,"type":"http"},{"url":"https://nikcub.me/asides","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/subscribe","label":"http://nikcub.me/subscribe → https://nikcub.me/subscribe (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/subscribe","finalUrl":"https://nikcub.me/subscribe","hops":[{"url":"http://nikcub.me/subscribe","statusCode":308,"type":"http"},{"url":"https://nikcub.me/subscribe","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","label":"http://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto → https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","finalUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","hops":[{"url":"http://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","label":"http://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site → https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","finalUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","hops":[{"url":"http://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","label":"http://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl → https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","finalUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","hops":[{"url":"http://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/onymous-part1","label":"http://nikcub.me/posts/onymous-part1 → https://nikcub.me/posts/onymous-part1 (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/onymous-part1","finalUrl":"https://nikcub.me/posts/onymous-part1","hops":[{"url":"http://nikcub.me/posts/onymous-part1","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/onymous-part1","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","label":"http://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin → https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","finalUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","hops":[{"url":"http://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/analyzing-fbi-explanation-silk-road","label":"http://nikcub.me/posts/analyzing-fbi-explanation-silk-road → https://nikcub.me/posts/analyzing-fbi-explanation-silk-road (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/analyzing-fbi-explanation-silk-road","finalUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","hops":[{"url":"http://nikcub.me/posts/analyzing-fbi-explanation-silk-road","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/notes-on-the-celebrity-data-theft","label":"http://nikcub.me/posts/notes-on-the-celebrity-data-theft → https://nikcub.me/posts/notes-on-the-celebrity-data-theft (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/notes-on-the-celebrity-data-theft","finalUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","hops":[{"url":"http://nikcub.me/posts/notes-on-the-celebrity-data-theft","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","label":"http://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin → https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","finalUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","hops":[{"url":"http://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","label":"http://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities → https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","finalUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","hops":[{"url":"http://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","label":"http://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government → https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","finalUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","hops":[{"url":"http://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/two-google-chrome-privacy-issues","label":"http://nikcub.me/posts/two-google-chrome-privacy-issues → https://nikcub.me/posts/two-google-chrome-privacy-issues (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/two-google-chrome-privacy-issues","finalUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","hops":[{"url":"http://nikcub.me/posts/two-google-chrome-privacy-issues","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/two-google-chrome-privacy-issues","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","label":"http://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites → https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","finalUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","hops":[{"url":"http://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","label":"http://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file → https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","finalUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","hops":[{"url":"http://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/facebook-also-doesnt-honor-p3p","label":"http://nikcub.me/posts/facebook-also-doesnt-honor-p3p → https://nikcub.me/posts/facebook-also-doesnt-honor-p3p (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/facebook-also-doesnt-honor-p3p","finalUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","hops":[{"url":"http://nikcub.me/posts/facebook-also-doesnt-honor-p3p","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/facebook-is-losing-e-commerce","label":"http://nikcub.me/posts/facebook-is-losing-e-commerce → https://nikcub.me/posts/facebook-is-losing-e-commerce (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/facebook-is-losing-e-commerce","finalUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","hops":[{"url":"http://nikcub.me/posts/facebook-is-losing-e-commerce","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/facebook-is-losing-e-commerce","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}},{"id":"http://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","label":"http://nikcub.me/posts/how-megaupload-was-investigated-and-indicted → https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted (308)","meta":{"statusCode":308,"chain":{"sourceUrl":"http://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","finalUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","hops":[{"url":"http://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","statusCode":308,"type":"http"},{"url":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","statusCode":200,"type":"http"}],"chainLength":1,"isLoop":false,"endsInError":false,"httpsToHttp":false,"httpToHttps":true}}}],"details":{"total":20,"sampled":20}}]},"security/https":{"meta":{"id":"security/https","name":"HTTPS","description":"Checks for HTTPS usage","solution":"HTTPS encrypts data between users and your server, protecting sensitive information. It's a ranking signal and required for many modern browser features. Migrate to HTTPS by obtaining an SSL certificate (free from Let's Encrypt). Update internal links to use https://. Set up 301 redirects from HTTP to HTTPS. Update your canonical URLs and sitemap. Check for mixed content warnings after migration.","category":"security","scope":"page","severity":"error","weight":8},"checks":[{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/asides","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/subscribe","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/numeronym","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/contact","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/about","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/privacy","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/tracking-cookie","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts?page=2","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/fb-table.html","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts?page=1","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts?page=3","value":"https:"},{"name":"https","status":"pass","message":"Page served over HTTPS","pageUrl":"https://nikcub.me/posts?page=4","value":"https:"}]},"security/leaked-secrets":{"meta":{"id":"security/leaked-secrets","name":"Leaked Environment Variables","description":"Checks for exposed API keys, secrets, and credentials in HTML/JS","solution":"API keys and secrets exposed in client-side code can be harvested by attackers to access your services, incur charges, or steal data. Move sensitive credentials to server-side code and use environment variables that are NOT exposed to the browser. For frontend apps, use a backend proxy to make authenticated API calls. Rotate any exposed credentials immediately. Consider using secret scanning tools like Gitleaks or TruffleHog in your CI/CD pipeline to prevent future leaks.","category":"security","scope":"site","severity":"error","weight":10},"checks":[{"name":"leaked-secrets","status":"pass","message":"No leaked API keys or secrets detected"}]},"security/mixed-content":{"meta":{"id":"security/mixed-content","name":"Mixed Content","description":"Checks for HTTP resources on HTTPS pages","solution":"Mixed content occurs when an HTTPS page loads resources over HTTP, breaking the security chain. Browsers may block these resources. Update all resource URLs to use HTTPS or protocol-relative URLs (//example.com). Check images, scripts, stylesheets, fonts, and iframes. Use Content-Security-Policy: upgrade-insecure-requests to automatically upgrade HTTP to HTTPS.","category":"security","scope":"page","severity":"error","weight":7},"checks":[{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/asides"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/contact"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/about"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/privacy"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"mixed-content","status":"pass","message":"No mixed content detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"security/new-tab":{"meta":{"id":"security/new-tab","name":"External Link Security","description":"Checks external target=_blank links for noopener (security) and noreferrer (privacy)","solution":"External links with target=\"_blank\" should include rel=\"noopener noreferrer\". noopener prevents the opened page from accessing window.opener (tab-nabbing attacks). noreferrer prevents leaking the referrer URL to the destination site (privacy). Modern browsers default noopener for target=\"_blank\", but explicit attributes ensure compatibility.","category":"security","scope":"page","severity":"warning","weight":4},"checks":[{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/"},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts"},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/asides"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/asides"},{"name":"noopener","status":"pass","message":"4 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/subscribe"},{"name":"noreferrer","status":"pass","message":"4 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/subscribe"},{"name":"noopener","status":"pass","message":"44 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"noreferrer","status":"pass","message":"44 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"noopener","status":"pass","message":"4 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"noreferrer","status":"pass","message":"4 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"noopener","status":"pass","message":"30 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"noreferrer","status":"pass","message":"30 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"noopener","status":"pass","message":"18 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"noreferrer","status":"pass","message":"18 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"noopener","status":"pass","message":"16 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"noreferrer","status":"pass","message":"16 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"noopener","status":"pass","message":"27 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"noreferrer","status":"pass","message":"27 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"noopener","status":"pass","message":"10 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"noreferrer","status":"pass","message":"10 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"noopener","status":"pass","message":"11 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"noreferrer","status":"pass","message":"11 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"noopener","status":"pass","message":"11 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"noreferrer","status":"pass","message":"11 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"noopener","status":"pass","message":"5 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"noreferrer","status":"pass","message":"5 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"noopener","status":"pass","message":"10 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"noreferrer","status":"pass","message":"10 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"noopener","status":"pass","message":"10 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"noreferrer","status":"pass","message":"10 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"noopener","status":"pass","message":"5 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"noreferrer","status":"pass","message":"5 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"noopener","status":"pass","message":"8 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"noreferrer","status":"pass","message":"8 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"noopener","status":"pass","message":"10 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"noreferrer","status":"pass","message":"10 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"noopener","status":"pass","message":"7 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"noreferrer","status":"pass","message":"7 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"noopener","status":"pass","message":"13 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"noreferrer","status":"pass","message":"13 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"noopener","status":"pass","message":"14 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"noreferrer","status":"pass","message":"14 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"noopener","status":"pass","message":"12 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"noreferrer","status":"pass","message":"12 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"noopener","status":"pass","message":"8 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"noreferrer","status":"pass","message":"8 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"noopener","status":"pass","message":"3 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"noreferrer","status":"pass","message":"3 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"noopener","status":"pass","message":"6 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"noreferrer","status":"pass","message":"6 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"noopener","status":"pass","message":"4 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"noreferrer","status":"pass","message":"4 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"noopener","status":"pass","message":"21 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"noreferrer","status":"pass","message":"21 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"noopener","status":"pass","message":"34 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"noreferrer","status":"pass","message":"34 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"noopener","status":"pass","message":"9 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"noreferrer","status":"pass","message":"9 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"noopener","status":"pass","message":"5 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"noreferrer","status":"pass","message":"5 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"noopener","status":"pass","message":"7 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"noreferrer","status":"pass","message":"7 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"noopener","status":"pass","message":"5 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/contact"},{"name":"noreferrer","status":"pass","message":"5 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/contact"},{"name":"noopener","status":"pass","message":"41 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/about"},{"name":"noreferrer","status":"pass","message":"41 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/about"},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/privacy"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/privacy"},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"new-tab-security","status":"info","message":"No external target=\"_blank\" links found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"noopener","status":"pass","message":"2 external _blank link(s) have noopener","pageUrl":"https://nikcub.me/posts?page=4"},{"name":"noreferrer","status":"pass","message":"2 external _blank link(s) have noreferrer","pageUrl":"https://nikcub.me/posts?page=4"}]},"security/permissions-policy":{"meta":{"id":"security/permissions-policy","name":"Permissions-Policy","description":"Checks for Permissions-Policy (Feature-Policy) header","solution":"Permissions-Policy controls which browser features your site can use (camera, microphone, geolocation, etc.). This limits what embedded iframes can access. Example: Permissions-Policy: camera=(), microphone=(), geolocation=(). Empty parentheses disable the feature entirely. This is especially important if you embed third-party content.","category":"security","scope":"site","severity":"info","weight":2},"checks":[{"name":"permissions-policy","status":"info","message":"No Permissions-Policy header","value":"Consider restricting browser features"}]},"security/referrer-policy":{"meta":{"id":"security/referrer-policy","name":"Referrer-Policy","description":"Checks for Referrer-Policy header","solution":"Referrer-Policy controls what referrer information is sent with requests. Recommended: 'strict-origin-when-cross-origin' (default in modern browsers) sends origin only cross-site. 'no-referrer' for maximum privacy, 'same-origin' to only send referrer to same origin. Avoid 'unsafe-url' which leaks full URLs including paths.","category":"security","scope":"site","severity":"info","weight":3},"checks":[{"name":"referrer-policy","status":"pass","message":"Referrer-Policy header present","value":"strict-origin-when-cross-origin"}]},"security/third-party-cookies":{"meta":{"id":"security/third-party-cookies","name":"Third-Party Cookies","description":"Detects third-party resources that may set cookies","solution":"Third-party cookies are being phased out by browsers. Review resources from external domains that may set cookies for tracking. Consider using first-party analytics solutions, server-side tracking, or privacy-focused alternatives. Ensure compliance with GDPR/CCPA by providing cookie consent and disclosing third-party services in your privacy policy.","category":"security","scope":"page","severity":"info","weight":3},"checks":[{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/asides"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/contact"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/about"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/privacy"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"third-party-cookies","status":"pass","message":"No third-party tracking resources detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"security/x-content-type":{"meta":{"id":"security/x-content-type","name":"X-Content-Type-Options","description":"Checks for MIME type sniffing protection","solution":"X-Content-Type-Options: nosniff prevents browsers from MIME-sniffing responses, which could lead to security vulnerabilities. This is especially important for sites that allow file uploads or serve user-generated content. Simply add the header: X-Content-Type-Options: nosniff. This has no downside and improves security.","category":"security","scope":"site","severity":"info","weight":3},"checks":[{"name":"x-content-type","status":"pass","message":"X-Content-Type-Options: nosniff is set"}]},"security/x-frame-options":{"meta":{"id":"security/x-frame-options","name":"X-Frame-Options","description":"Checks for clickjacking protection header","solution":"X-Frame-Options prevents your site from being embedded in iframes, protecting against clickjacking attacks. Set: X-Frame-Options: DENY (no framing) or SAMEORIGIN (same origin only). For modern browsers, CSP frame-ancestors is preferred: Content-Security-Policy: frame-ancestors 'self'. Use both for maximum compatibility.","category":"security","scope":"site","severity":"warning","weight":5},"checks":[{"name":"x-frame-options","status":"pass","message":"X-Frame-Options header present","value":"DENY"}]},"social/og-image-size":{"meta":{"id":"social/og-image-size","name":"OG Image Size","description":"Checks og:image meets recommended size (1200x630)","solution":"og:image should be at least 1200x630 pixels for optimal display on Facebook and LinkedIn. Smaller images may appear cropped or low quality. Use 1.91:1 aspect ratio. Keep file size under 8MB. Test with Facebook Sharing Debugger. Consider creating dedicated social images for key pages.","category":"social","scope":"page","severity":"warning","weight":4},"checks":[{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/asides","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/asides","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/subscribe","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/subscribe","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"https://nikcub.me/images/posts/craig_wright.webp"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/numeronym","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/numeronym","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/contact","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/contact","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/about","value":"https://nikcub.me/images/posts/nik.profile.webp"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/about","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/privacy","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/privacy","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/tracking-cookie","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/tracking-cookie","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts?page=2","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts?page=2","value":"1200x630"},{"name":"og-image-size","status":"info","message":"No og:image tag found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts?page=1","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts?page=1","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts?page=3","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts?page=3","value":"1200x630"},{"name":"og-image-exists","status":"pass","message":"og:image is set","pageUrl":"https://nikcub.me/posts?page=4","value":"https://nikcub.me/og-default.png"},{"name":"og-image-size","status":"pass","message":"og:image dimensions meet recommendations","pageUrl":"https://nikcub.me/posts?page=4","value":"1200x630"}]},"social/og-url-match":{"meta":{"id":"social/og-url-match","name":"OG URL Match","description":"Checks that og:url matches canonical URL","solution":"og:url should match your canonical URL. Mismatches can cause social share stats to be fragmented across different URLs. Use the same URL normalization (https, www, trailing slash) as your canonical tag. Facebook uses og:url for share counting and deduplication.","category":"social","scope":"page","severity":"warning","weight":3},"checks":[{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/asides"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/subscribe"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/contact"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/about"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/privacy"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"og-url-match","status":"info","message":"No og:url tag found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"og-url-match","status":"pass","message":"og:url matches canonical URL","pageUrl":"https://nikcub.me/posts?page=4"}]},"social/share-buttons":{"meta":{"id":"social/share-buttons","name":"Share Buttons","description":"Checks for social sharing buttons on content pages","solution":"Social share buttons encourage content sharing and can drive traffic. Place them prominently on blog posts, articles, and shareable content. Include major platforms: Facebook, Twitter/X, LinkedIn. Consider sticky share bars for long content. Avoid too many buttons - 3-4 is optimal.","category":"social","scope":"page","severity":"info","weight":2},"checks":[{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/asides"},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/numeronym","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/contact"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/about"},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/privacy"},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts?page=2","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No social share buttons detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts?page=1","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"info","message":"No share buttons on content page","pageUrl":"https://nikcub.me/posts?page=3","value":"Consider adding for better engagement"},{"name":"share-buttons","status":"pass","message":"Social share functionality detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"social/social-profiles":{"meta":{"id":"social/social-profiles","name":"Social Profiles","description":"Checks for links to social media profiles","solution":"Link to your social media profiles from your website. Include in footer or about page. Use Organization schema with sameAs property to list all official social profiles. This helps Google's Knowledge Panel and verifies your brand across platforms. Ensure links open in new tabs.","category":"social","scope":"page","severity":"info","weight":2},"checks":[{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/asides","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/subscribe","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"3 social platform(s) linked","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"Twitter/X"},{"id":"Facebook"},{"id":"YouTube"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/onymous-part1","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"2 social platform(s) linked","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","items":[{"id":"Facebook"},{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"2 social platform(s) linked","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","items":[{"id":"YouTube"},{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"2 social platform(s) linked","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"Facebook"},{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/numeronym","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"2 social platform(s) linked","pageUrl":"https://nikcub.me/contact","items":[{"id":"Twitter/X"},{"id":"LinkedIn"}]},{"name":"social-profiles","status":"pass","message":"3 social platform(s) linked","pageUrl":"https://nikcub.me/about","items":[{"id":"Facebook"},{"id":"Twitter/X"},{"id":"YouTube"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/privacy","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/tracking-cookie","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"info","message":"No social media profile links found","pageUrl":"https://nikcub.me/fb-table.html","value":"Consider adding to footer"},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"Twitter/X"}]},{"name":"social-profiles","status":"pass","message":"1 social platform(s) linked","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"Twitter/X"}]}]},"url/hyphens":{"meta":{"id":"url/hyphens","name":"URL Hyphens","description":"Checks that URLs use hyphens, not underscores","solution":"Use hyphens (-) to separate words in URLs, not underscores (_). Google treats hyphens as word separators but treats underscores as word joiners. 'blue-shoes' = 'blue' + 'shoes', but 'blue_shoes' = 'blueshoes'. This affects keyword matching and SEO. Replace underscores with hyphens and set up redirects from old URLs.","category":"url","scope":"page","severity":"warning","weight":4},"checks":[{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/asides"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/contact"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/about"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/privacy"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"url-hyphens","status":"pass","message":"URL uses hyphens for word separation","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"url-hyphens","status":"info","message":"URL has no word separators","pageUrl":"https://nikcub.me/posts?page=4"}]},"url/length":{"meta":{"id":"url/length","name":"URL Length","description":"Checks URL length for optimal SEO","solution":"Shorter URLs are easier to read, share, and may rank better. Keep URLs under 75 characters when possible. URLs over 100 characters can be truncated in search results and social shares. Remove unnecessary parameters, stop words, and path segments. Use descriptive but concise slugs. Long URLs often indicate poor site architecture.","category":"url","scope":"page","severity":"info","weight":3},"checks":[{"name":"url-length","status":"pass","message":"URL length is optimal (17 chars)","pageUrl":"https://nikcub.me/"},{"name":"url-length","status":"pass","message":"URL length is optimal (23 chars)","pageUrl":"https://nikcub.me/posts"},{"name":"url-length","status":"pass","message":"URL length is optimal (24 chars)","pageUrl":"https://nikcub.me/asides"},{"name":"url-length","status":"pass","message":"URL length is optimal (27 chars)","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-length","status":"pass","message":"URL length is optimal (60 chars)","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-length","status":"warn","message":"URL is 121 characters (over 100)","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-fun..."},{"name":"url-length","status":"pass","message":"URL length is optimal (66 chars)","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-length","status":"pass","message":"URL length is optimal (37 chars)","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-length","status":"pass","message":"URL length is optimal (69 chars)","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-length","status":"pass","message":"URL length is optimal (59 chars)","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-length","status":"pass","message":"URL length is optimal (57 chars)","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-length","status":"pass","message":"URL length is optimal (75 chars)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-length","status":"info","message":"URL is 82 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-length","status":"info","message":"URL is 79 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-length","status":"pass","message":"URL length is optimal (56 chars)","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-length","status":"info","message":"URL is 100 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-length","status":"info","message":"URL is 82 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-length","status":"pass","message":"URL length is optimal (54 chars)","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-length","status":"pass","message":"URL length is optimal (53 chars)","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-length","status":"pass","message":"URL length is optimal (68 chars)","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-length","status":"pass","message":"URL length is optimal (55 chars)","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-length","status":"pass","message":"URL length is optimal (66 chars)","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-length","status":"pass","message":"URL length is optimal (44 chars)","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-length","status":"pass","message":"URL length is optimal (51 chars)","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-length","status":"pass","message":"URL length is optimal (60 chars)","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-length","status":"pass","message":"URL length is optimal (60 chars)","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-length","status":"pass","message":"URL length is optimal (74 chars)","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-length","status":"pass","message":"URL length is optimal (73 chars)","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-length","status":"pass","message":"URL length is optimal (72 chars)","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-length","status":"pass","message":"URL length is optimal (68 chars)","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-length","status":"info","message":"URL is 77 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-length","status":"info","message":"URL is 83 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-length","status":"pass","message":"URL length is optimal (61 chars)","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-length","status":"pass","message":"URL length is optimal (37 chars)","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-length","status":"pass","message":"URL length is optimal (33 chars)","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-length","status":"pass","message":"URL length is optimal (54 chars)","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-length","status":"info","message":"URL is 80 characters (recommended: <75)","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-length","status":"pass","message":"URL length is optimal (47 chars)","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-length","status":"pass","message":"URL length is optimal (50 chars)","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-length","status":"pass","message":"URL length is optimal (72 chars)","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-length","status":"pass","message":"URL length is optimal (25 chars)","pageUrl":"https://nikcub.me/contact"},{"name":"url-length","status":"pass","message":"URL length is optimal (23 chars)","pageUrl":"https://nikcub.me/about"},{"name":"url-length","status":"pass","message":"URL length is optimal (25 chars)","pageUrl":"https://nikcub.me/privacy"},{"name":"url-length","status":"pass","message":"URL length is optimal (33 chars)","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-length","status":"pass","message":"URL length is optimal (30 chars)","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"url-length","status":"pass","message":"URL length is optimal (31 chars)","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-length","status":"pass","message":"URL length is optimal (30 chars)","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"url-length","status":"pass","message":"URL length is optimal (30 chars)","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"url-length","status":"pass","message":"URL length is optimal (30 chars)","pageUrl":"https://nikcub.me/posts?page=4"}]},"url/lowercase":{"meta":{"id":"url/lowercase","name":"URL Lowercase","description":"Checks that URLs are lowercase","solution":"URLs should be lowercase to prevent duplicate content issues. Most servers treat /Page and /page as different URLs, creating duplicates. Always use lowercase URLs and redirect uppercase variants. Configure your server or CMS to auto-lowercase URLs. This also improves URL consistency and readability.","category":"url","scope":"page","severity":"warning","weight":4},"checks":[{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/asides"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/contact"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/about"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/privacy"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"url-lowercase","status":"pass","message":"URL is lowercase","pageUrl":"https://nikcub.me/posts?page=4"}]},"url/parameters":{"meta":{"id":"url/parameters","name":"URL Parameters","description":"Checks for excessive URL parameters","solution":"Excessive URL parameters can cause crawl budget waste and duplicate content. Each parameter combination creates a unique URL. Use parameter handling in Google Search Console to tell Google how to handle parameters. Consider using path segments instead of parameters for important content. Filter/sort parameters should be handled with canonical tags or robots meta.","category":"url","scope":"page","severity":"info","weight":3},"checks":[{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/asides"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/contact"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/about"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/privacy"},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-parameters","status":"info","message":"URL has 1 parameter(s)","pageUrl":"https://nikcub.me/posts?page=2","items":[{"id":"page"}]},{"name":"url-parameters","status":"pass","message":"URL has no query parameters","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-parameters","status":"info","message":"URL has 1 parameter(s)","pageUrl":"https://nikcub.me/posts?page=1","items":[{"id":"page"}]},{"name":"url-parameters","status":"info","message":"URL has 1 parameter(s)","pageUrl":"https://nikcub.me/posts?page=3","items":[{"id":"page"}]},{"name":"url-parameters","status":"info","message":"URL has 1 parameter(s)","pageUrl":"https://nikcub.me/posts?page=4","items":[{"id":"page"}]}]},"url/slug-keywords":{"meta":{"id":"url/slug-keywords","name":"Slug Keywords","description":"Checks if URL slug contains relevant keywords","solution":"URLs should contain keywords that describe the page content. Good: /blue-running-shoes. Bad: /product-12345 or /p?id=abc. Include primary keywords in the URL path, but avoid keyword stuffing. URLs should be readable by humans and give users an idea of page content before clicking. Dynamic parameters don't provide SEO value.","category":"url","scope":"page","severity":"info","weight":3},"checks":[{"name":"slug-keywords","status":"info","message":"Root URL (no slug to analyze)","pageUrl":"https://nikcub.me/"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts","value":"posts"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/asides","value":"asides"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/subscribe","value":"subscribe"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"craig-wright-is-not-satoshi-nakamoto"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"securing-blockchain-users-with-tor-and-ssl"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"onymous-part1"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"analyzing-fbi-explanation-silk-road"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"notes-on-the-celebrity-data-theft"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"multiple-vulnerabilities-in-mygov-australian-government"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"two-google-chrome-privacy-issues"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"facebook-also-doesnt-honor-p3p"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"facebook-is-losing-e-commerce"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"how-megaupload-was-investigated-and-indicted"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"google-firefox-chrome-lady-gaga"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"crunchpad-proof-obviousness-in-ipad-design"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"the-download-dot-con"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"frictionless-browser-plugin"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"google-android-the-accidental-empire"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"lies-damn-lies-and-google-statistics"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"facebook-re-enables-controversial-tracking-cookie"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"howto-setup-secure-and-private-facebook-browsing"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"facebook-fixes-logout-issue-explains-cookies"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"persistant-and-unblockable-cookies-using-http-headers"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"blockplus-a-browser-extension-to-block-google-notifications"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"logging-out-of-facebook-is-not-enough"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"pain-and-gain"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/numeronym","value":"numeronym"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"finding-a-technical-co-founder"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"the-google-ipo-skeptics"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"relevance-time-for-twitter"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/contact","value":"contact"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/about","value":"about"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/privacy","value":"privacy"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/tracking-cookie","value":"tracking-cookie"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts?page=2","value":"posts"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/fb-table.html","value":"fb-table.html"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts?page=1","value":"posts"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts?page=3","value":"posts"},{"name":"slug-keywords","status":"pass","message":"URL appears to contain descriptive keywords","pageUrl":"https://nikcub.me/posts?page=4","value":"posts"}]},"url/special-chars":{"meta":{"id":"url/special-chars","name":"URL Special Characters","description":"Checks for problematic special characters in URL path","solution":"Avoid special characters in URL paths. Characters like %, &, #, ?, = have special meanings and can cause issues. Spaces should be avoided (they become %20). Use only lowercase letters, numbers, and hyphens. Special characters can break links when copied, cause encoding issues, and look unprofessional. URL-encode if unavoidable.","category":"url","scope":"page","severity":"warning","weight":4},"checks":[{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/asides"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/contact"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/about"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/privacy"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"url-special-chars","status":"pass","message":"URL path uses clean characters","pageUrl":"https://nikcub.me/posts?page=4"}]},"url/stop-words":{"meta":{"id":"url/stop-words","name":"URL Stop Words","description":"Flags common stop words in URL slugs","solution":"Stop words (a, an, the, of, etc.) add length without SEO value. While not harmful, removing them makes URLs shorter and more focused. 'best-running-shoes' is better than 'the-best-running-shoes-for-you'. However, keep stop words if removing them makes the URL confusing or grammatically awkward.","category":"url","scope":"page","severity":"info","weight":2},"checks":[{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/asides"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/subscribe"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","items":[{"id":"is"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","items":[{"id":"as"},{"id":"of"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","items":[{"id":"with"},{"id":"and"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","items":[{"id":"on"},{"id":"and"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","items":[{"id":"on"},{"id":"the"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","items":[{"id":"in"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","items":[{"id":"and"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","items":[{"id":"in"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","items":[{"id":"and"},{"id":"from"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","items":[{"id":"is"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","items":[{"id":"was"},{"id":"and"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","items":[{"id":"in"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/the-download-dot-con","items":[{"id":"the"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","items":[{"id":"the"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","items":[{"id":"and"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","items":[{"id":"the"},{"id":"on"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","items":[{"id":"and"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","items":[{"id":"and"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","items":[{"id":"a"},{"id":"to"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","items":[{"id":"of"},{"id":"is"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/pain-and-gain","items":[{"id":"and"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","items":[{"id":"a"}]},{"name":"url-stop-words","status":"info","message":"URL contains 4 stop words","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","items":[{"id":"to"},{"id":"a"},{"id":"and"},{"id":"or"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","items":[{"id":"the"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","items":[{"id":"for"}]},{"name":"url-stop-words","status":"pass","message":"URL has minimal stop words","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","items":[{"id":"a"},{"id":"for"}]},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/contact"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/about"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/privacy"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"url-stop-words","status":"pass","message":"URL has no stop words","pageUrl":"https://nikcub.me/posts?page=4"}]},"url/trailing-slash":{"meta":{"id":"url/trailing-slash","name":"Trailing Slash","description":"Checks for consistent trailing slash usage","solution":"Be consistent with trailing slashes across your site. /page and /page/ are technically different URLs. Pick one convention and stick to it. Configure your server to redirect one to the other. Most sites use trailing slashes for directories and no trailing slash for files. Use canonical tags to specify the preferred version.","category":"url","scope":"page","severity":"info","weight":3},"checks":[{"name":"trailing-slash","status":"info","message":"Root URL (trailing slash check not applicable)","pageUrl":"https://nikcub.me/"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/asides","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/subscribe","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/onymous-part1","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/the-download-dot-con","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/pain-and-gain","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/numeronym","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/contact","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/about","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/privacy","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/tracking-cookie","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts?page=2","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"pass","message":"File URL correctly has no trailing slash","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts?page=1","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts?page=3","value":"Ensure consistency across site"},{"name":"trailing-slash","status":"info","message":"URL has no trailing slash","pageUrl":"https://nikcub.me/posts?page=4","value":"Ensure consistency across site"}]},"video/video-accessible":{"meta":{"id":"video/video-accessible","name":"Video Accessibility","description":"Checks for video captions and transcripts","solution":"Videos need captions for deaf/hard-of-hearing users and transcripts for SEO. Use <track> elements for captions. Provide text transcripts on the page. Auto-generated captions should be reviewed for accuracy. Captions also help when audio can't be played. Required by WCAG 2.1 Level A.","category":"video","scope":"page","severity":"warning","weight":4},"checks":[{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/asides"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/contact"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/about"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-accessible","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=4"}]},"video/video-schema":{"meta":{"id":"video/video-schema","name":"Video Schema","description":"Checks for VideoObject schema on pages with video","solution":"Add VideoObject schema to pages with video content for rich results. Required: name, description, thumbnailUrl, uploadDate. Recommended: duration, contentUrl, embedUrl. Schema enables video carousels and previews in search results. Test with Google's Rich Results Test.","category":"video","scope":"page","severity":"warning","weight":5},"checks":[{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/asides"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/contact"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/about"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/privacy"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-schema","status":"info","message":"No video content detected","pageUrl":"https://nikcub.me/posts?page=4"}]},"video/video-thumbnail":{"meta":{"id":"video/video-thumbnail","name":"Video Thumbnail","description":"Checks that videos have poster/thumbnail images","solution":"Video poster images improve perceived performance and user experience. For HTML5 video, use the poster attribute. For embedded videos, thumbnailUrl in VideoObject schema. Thumbnails should be high quality, relevant to content, and properly sized (recommend 1280x720 or higher).","category":"video","scope":"page","severity":"info","weight":3},"checks":[{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/asides"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/subscribe"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/craig-wright-is-not-satoshi-nakamoto"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/fbi-seizes-fake-tor-hosted-jihad-funding-website-as-part-of-operation-onymous-leaves-up-real-site"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/securing-blockchain-users-with-tor-and-ssl"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/onymous-part1"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/60-minutes-australia-on-silk-road-and-bitcoin"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/analyzing-fbi-explanation-silk-road"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/notes-on-the-celebrity-data-theft"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-disqus-wordpress-plugin"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/cs-cart-v4-2-0-session-hijacking-and-other-vulnerabilities"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/multiple-vulnerabilities-in-mygov-australian-government"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/two-google-chrome-privacy-issues"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/blockplus-v4-released-block-google-widgets-and-links-from-other-google-sites"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/yahoo-axis-chrome-extension-leaks-private-certificate-file"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-also-doesnt-honor-p3p"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-is-losing-e-commerce"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/how-megaupload-was-investigated-and-indicted"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/google-firefox-chrome-lady-gaga"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/crunchpad-proof-obviousness-in-ipad-design"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/the-download-dot-con"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/frictionless-browser-plugin"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/google-android-the-accidental-empire"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/lies-damn-lies-and-google-statistics"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/unicode-uf8ff-aka-the-apple-logo-character-on-macs"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-re-enables-controversial-tracking-cookie"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/howto-setup-secure-and-private-facebook-browsing"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/facebook-fixes-logout-issue-explains-cookies"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/persistant-and-unblockable-cookies-using-http-headers"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/blockplus-a-browser-extension-to-block-google-notifications"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/logging-out-of-facebook-is-not-enough"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/pain-and-gain"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/numeronym"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/finding-a-technical-co-founder"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/guide-to-finding-a-good-and-safe-company-or-product-name"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/the-google-ipo-skeptics"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/relevance-time-for-twitter"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts/fidelio-a-browser-plugin-for-secure-web-browsing"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/contact"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/about"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/privacy"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/tracking-cookie"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=2"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/fb-table.html"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=1"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=3"},{"name":"video-thumbnail","status":"info","message":"No HTML5 video elements found","pageUrl":"https://nikcub.me/posts?page=4"}]}}}