Webperf result jstemerdink.blog

3.64

Results from https://jstemerdink.blog/

404 Page

5.00

Results collected at 2025-07-02

Standards section:
- Page not found, has expected 404 responseok
- Page not found, valid title foundok
- Page not found, valid h1 header foundok
- Page not found, valid text foundok
- Page not found, valid text foundok
- Page not found, valid 404 response status code usedok
- Page not found, used supported localeok
- Page not found, valid body text foundok
- Page not found, network is usableok

Standard Files

4.68

Results collected at 2025-07-02

Security section:
- security.txt has incorrect contenterror
Tested:
- https://jstemerdink.blog/.well-known/security.txt
- https://jstemerdink.blog/security.txt

- security.txt is missing the required contact infowarning
Tested:
- https://jstemerdink.blog/.well-known/security.txt
- https://jstemerdink.blog/security.txt

- security.txt requires expiration information (added in draft v10) is missingwarning
Tested:
- https://jstemerdink.blog/.well-known/security.txt
- https://jstemerdink.blog/security.txt

- Sitemap, Url in <loc> has to start with https://ok
- security.txt is missingok

Standards section:
- Sitemap, has no itemswarning
Tested:
- https://jstemerdink.blog/

- robots.txt is missing, not allowed to download or has not the expected contentok
- Sitemap is not specified in robots.txtok
- Sitemap, no valid sitemap foundok
- Sitemap, Url in <loc> must use same domain as robots.txtok
- Sitemap, No duplicate Urls in <loc> allowedok
- Sitemap, lists other stuff then webpagesok
- Sitemap, is exceeding 50 000 itemsok
- Feed is missing in the HTML's metadataok

Sitespeed.io

4.94

Results collected at 2025-07-02

Performance section:
- [desktop] TTFB (Time to First Byte): 91.50ms, ±3.50ms 5.00
- [desktop] DOMContentLoaded: 530.67ms, ±60.33ms 4.94
- [desktop] LCP (Largest Contentful Paint): 484.00ms, ±32.00ms 5.00
- [desktop] Load: 991.00ms, ±79.00ms 4.02
- [desktop] CLS (Cumulative Layout Shift): 0.00ms, ±0.00ms 5.00
- [desktop] FirstVisualChange: 509.50ms, ±32.50ms 4.98
- [desktop] SpeedIndex: 515.00ms, ±32.00ms 4.97
- [desktop] VisualComplete85: 509.50ms, ±32.50ms 4.98
- [desktop] TBT (Total Blocking Time): 21.75ms, ±7.25ms 5.00
- [desktop] FCP (First Contentful Paint): 484.00ms, ±0.00ms 5.00
- [desktop] firstPaint: 484.00ms, ±32.00ms
- [desktop] LastVisualChange: 866.50ms, ±48.50ms
- [mobile] TTFB (Time to First Byte): 109.67ms, ±0.33ms 5.00
- [mobile] DOMContentLoaded: 455.00ms, ±90.00ms 5.00
- [mobile] LCP (Largest Contentful Paint): 496.00ms, ±76.00ms 5.00
- [mobile] Load: 825.00ms, ±145.00ms 5.00
- [mobile] FirstVisualChange: 401.50ms, ±67.50ms 5.00
- [mobile] SpeedIndex: 558.00ms, ±74.00ms 5.00
- [mobile] VisualComplete85: 518.50ms, ±84.50ms 5.00
- [mobile] TBT (Total Blocking Time): 6.75ms, ±2.25ms 5.00
- [mobile] FCP (First Contentful Paint): 396.00ms, ±0.00ms 5.00
- [mobile] CLS (Cumulative Layout Shift): 0.00ms, ±0.00ms 5.00
- [mobile] firstPaint: 396.00ms, ±72.00ms
- [mobile] LastVisualChange: 2155.00ms, ±55.00ms

Pa11y

1.00

Results collected at 2025-07-02

Accessibility section:
- This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of 4.16:1. Recommendation: change text colour to #74767e.error
Tested:
- https://jstemerdink.blog/

- This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of 3.72:1. Recommendation: change text colour to #6c6e76.error
Tested:
- https://jstemerdink.blog/

- Anchor element found with no link content and no name and/or ID attribute.error
Tested:
- https://jstemerdink.blog/

- Duplicate id attribute value "jp-post-flair" found on the web page.error
Tested:
- https://jstemerdink.blog/

- This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of 2.85:1. Recommendation: change text colour to #767676.error
Tested:
- https://jstemerdink.blog/

- Heading tag found with no content. Text that is not intended as a heading should not be marked up with heading tags.error
Tested:
- https://jstemerdink.blog/

- This fieldset element does not have a name available to an accessibility API. Valid names are: legend element, aria-label undefined, aria-labelledby undefined.error
Tested:
- https://jstemerdink.blog/

- Fieldset does not contain a legend element. All fieldsets should contain a legend element that describes a description of the field group.error
Tested:
- https://jstemerdink.blog/

- Anchor element found with a valid href attribute, but no link content has been supplied.error
Tested:
- https://jstemerdink.blog/

- Iframe element requires a non-empty title attribute that identifies the frame.error
Tested:
- https://jstemerdink.blog/

- Img element is the only content of the link, but is missing alt text. The alt text should describe the purpose of the link.error
Tested:
- https://jstemerdink.blog/

- This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 4.5:1, but text in this element has a contrast ratio of 4.2:1. Recommendation: change text colour to #73777d.error
Tested:
- https://jstemerdink.blog/

Integrity

3.50

Results collected at 2025-07-02

- About average privacy settings, but should get better.

Security section:
- HTTPS by default is good! 5.00
- HTTP Strict Transport Security HSTS is ok, with 2 error(s) and 0 warning(s). 4.00
- Content Security Policy is pretty bad. 1.00
- Reporting CSP Certificate Transparency Network Error Logging is good! 5.00
- Referrer Policy is not that good. 2.50
- Subresource Integrity SRI is pretty bad. 1.00
- HTTP headers is ok, with 1 error(s) and 0 warning(s). 4.50
- Cookies is good! 5.00

Carbon Calculator

3.20

Results collected at 2025-07-02

- Average regarding carbon dioxide.
- Carbon dioxide per pageview: 2.05 gram(s)
- More green than 64 % of the websites tested by webperf.se (Reference updated: 2025-01-09).
- Network transfer size: 3.24 MB 3.20

Software

4.98

Results collected at 2025-07-02

- CMS used: wordpress
- Web server used: nginx, tomcat
- Technology used: c, js, php
- Metadata used: apple-touch-icon, dns-prefetch, icon, open-graph, viewport
- Javascript libraries used: jetpack, jquery, jquery-migrate, jquery-mousewheel, shcore, xregexp
- Languages found: en, en_us
- Image formats used: gif, ico, jpeg, jpg, png

Accessibility section:
##### You don't seem to be using accessibility overlay software 5.00

Security section:
##### Software is behind >=1 versions 4.9

###### Introduction:
Software used is behind 1 or more version compared to latests.
This is a small indicator that you need to update to latest version.
You can fix this by updating software to latest version.

###### Detected software(s):
- jquery-migrate 3.4.1

###### Affected resource(s):
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI=
##### NO Common Vulnerabilities and Exposures found 5.00
##### Opensource software used seem to be maintained 5.00
##### You don't seem to be using 'END OF LIFE' software 5.00

Stylelint CSS

2.90

Results collected at 2025-07-02

Standards section:
- CSS, Disallow unknown custom propertieserror
More info:
- https://stylelint.io/user-guide/rules/no-unknown-custom-properties

Tested:
- https://s0.wp.com/_static/??-eJx9jEEOAiEQBD/kQECjeDC+ZWEnijIwYWA3/l72op689KFTVXplCCU3zE1z6reYRYfiUwlP0VYZpwxIJE4IFRd10HOU9iFA2iuhCiI7/ROiDt9WxfETT20jCOc4YUIa2D9t5eGA91xRBMZS7ATtPkTZvCtdzNEZt7f2fHq8Afl7R7w=&cssminify=yes
- https://s0.wp.com/wp-content/plugins/gutenberg-core/v20.6.0/build/block-library/style.css?m=1744959081i&cssminify=yes

- CSS, Disallow unknown values for properties within declarationserror
More info:
- https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown

Tested:
- https://s0.wp.com/_static/??-eJyNjsEKAjEMRH/IGrbgigfxW3ZjbKttU5qUxb+36kFEUG8zMG9mYCkGOStlBfWUSKC0GcRzpWNQ9CB6jbRGkRX8zPYUzJHxIn8CIeNzwCwFOX1QqZkSmwtZoFJvdl26x8zLfoMcsel/Jg2c34w5xSnUO3pI+2E7WGs342483wAbuGV9&cssminify=yes
- https://s0.wp.com/_static/??-eJyNjcsKAjEMRX/IGmYYdFyInyKZNrQd06SYFvHvfeBG3Li7By7nwK06r9JIGpTuKveYxWClVtFfPgzWBYqGzmRgCa8UMIT7e2aJW2+2gb9F5yweTH1GdqxR7Qt+ZC1ReWbTBJF1QX4dTuU47KfdPI7zYVgfuRlIaA==&cssminify=yes
- https://s0.wp.com/_static/??-eJydzMsKgzAQheEXajpI62UjfZY0GSQ6mYRMBvHtRdCtC5f/4fDBmo1LXJErRDWZdAosMGPN1i1ngyhDTF4JBZwtSQUJZA0Zi/kre8K3E3nBc+z6XMNDrwZCbyZLhGW7q8P/xbHpv+0wNH33mXdCUWRL&cssminify=yes
- https://s0.wp.com/_static/??-eJzTLy/QzcxLzilNSS3WzyrWz01NyUxMzUnNTc0rQeEU5CRWphbp5qSmJyZX6uVm5uklFxfr6OPTDpRD5sM02efaGpoZmFkYGRuZGmQBAHPvL0Y=&cssminify=yes
- https://s0.wp.com/wp-content/mu-plugins/actionbar/actionbar.css?v=20250116
- https://s0.wp.com/wp-content/mu-plugins/jetpack-plugin/sun/_inc/genericons/genericons/genericons.css?m=1746822891i&cssminify=yes
- https://0.gravatar.com/js/hovercards/hovercards.min.css?ver=20252717d2298fc173af206bd9f65440008ab9e1ee2bd896241083289a9e27bd0efc7c
- https://s0.wp.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css?m=1363304414i&amp;ver=3.0.9b

- CSS, Disallow unknown pseudo-element selectorserror
More info:
- https://stylelint.io/user-guide/rules/selector-pseudo-element-no-unknown

Tested:
- https://s0.wp.com/_static/??-eJyNjsEKAjEMRH/IGrbgigfxW3ZjbKttU5qUxb+36kFEUG8zMG9mYCkGOStlBfWUSKC0GcRzpWNQ9CB6jbRGkRX8zPYUzJHxIn8CIeNzwCwFOX1QqZkSmwtZoFJvdl26x8zLfoMcsel/Jg2c34w5xSnUO3pI+2E7WGs342483wAbuGV9&cssminify=yes
- https://jstemerdink.blog/

- CSS, Disallow invalid preludes for at-ruleserror
More info:
- https://stylelint.io/user-guide/rules/at-rule-prelude-no-invalid

Tested:
- https://s0.wp.com/_static/??-eJyNjcsKAjEMRX/IGmYYdFyInyKZNrQd06SYFvHvfeBG3Li7By7nwK06r9JIGpTuKveYxWClVtFfPgzWBYqGzmRgCa8UMIT7e2aJW2+2gb9F5yweTH1GdqxR7Qt+ZC1ReWbTBJF1QX4dTuU47KfdPI7zYVgfuRlIaA==&cssminify=yes

- CSS, Disallow deprecated keywords for properties within declarationswarning
More info:
- https://stylelint.io/user-guide/rules/declaration-property-value-keyword-no-deprecated

Tested:
- https://0.gravatar.com/js/hovercards/hovercards.min.css?ver=20252717d2298fc173af206bd9f65440008ab9e1ee2bd896241083289a9e27bd0efc7c
- https://s0.wp.com/_static/??-eJyVzDEOgCAMQNELiQU1Jg7Gs2AlDYpAaInx9ro5O/7hfbiywhTFRYEcKvnIQPXN1RVSa0h4MOxOssVDBXunKoqK34DlDq5F5gb+LIoVH4k/vpyzGYe+03oyw/4AcmU1KQ==&cssminify=yes
- https://s0.wp.com/wp-content/plugins/gutenberg-core/v20.6.0/build/block-library/style.css?m=1744959081i&cssminify=yes

- CSS, Disallow empty blockswarning
More info:
- https://stylelint.io/user-guide/rules/block-no-empty

Tested:
- https://s0.wp.com/_static/??-eJydzMsKgzAQheEXajpI62UjfZY0GSQ6mYRMBvHtRdCtC5f/4fDBmo1LXJErRDWZdAosMGPN1i1ngyhDTF4JBZwtSQUJZA0Zi/kre8K3E3nBc+z6XMNDrwZCbyZLhGW7q8P/xbHpv+0wNH33mXdCUWRL&cssminify=yes
- https://jstemerdink.blog/

- CSS, Disallow unknown annotationsok
More info:
- https://stylelint.io/user-guide/rules/annotation-no-unknown

- CSS, Disallow unknown descriptors for at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-descriptor-no-unknown

- CSS, Disallow unknown values for descriptors within at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-descriptor-value-no-unknown

- CSS, Disallow deprecated at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-no-deprecated

- CSS, Disallow unknown at-rulesok
More info:
- https://stylelint.io/user-guide/rules/at-rule-no-unknown

- CSS, Disallow invalid hex colorsok
More info:
- https://stylelint.io/user-guide/rules/color-no-invalid-hex

- CSS, Disallow empty commentsok
More info:
- https://stylelint.io/user-guide/rules/comment-no-empty

- CSS, Disallow non-standard direction values for linear gradient functionsok
More info:
- https://stylelint.io/user-guide/rules/function-linear-gradient-no-nonstandard-direction

- CSS, Disallow unknown functionsok
More info:
- https://stylelint.io/user-guide/rules/function-no-unknown

- CSS, Disallow unknown media feature namesok
More info:
- https://stylelint.io/user-guide/rules/media-feature-name-no-unknown

- CSS, Disallow unknown values for media featuresok
More info:
- https://stylelint.io/user-guide/rules/media-feature-name-value-no-unknown

- CSS, Disallow invalid media queriesok
More info:
- https://stylelint.io/user-guide/rules/media-query-no-invalid

- CSS, Disallow invalid named grid areasok
More info:
- https://stylelint.io/user-guide/rules/named-grid-areas-no-invalid

- CSS, Disallow empty sourcesok
More info:
- https://stylelint.io/user-guide/rules/no-empty-source

- CSS, Disallow invalid double-slash commentsok
More info:
- https://stylelint.io/user-guide/rules/no-invalid-double-slash-comments

- CSS, Disallow invalid position `@import` rulesok
More info:
- https://stylelint.io/user-guide/rules/no-invalid-position-at-import-rule

- CSS, Disallow unknown animationsok
More info:
- https://stylelint.io/user-guide/rules/no-unknown-animations

- CSS, Disallow unknown custom media queriesok
More info:
- https://stylelint.io/user-guide/rules/no-unknown-custom-media

- CSS, Disallow unknown propertiesok
More info:
- https://stylelint.io/user-guide/rules/property-no-unknown

- CSS, Disallow unknown pseudo-class selectorsok
More info:
- https://stylelint.io/user-guide/rules/selector-pseudo-class-no-unknown

- CSS, Disallow unknown type selectorsok
More info:
- https://stylelint.io/user-guide/rules/selector-type-no-unknown

- CSS, Disallow invalid syntax stringsok
More info:
- https://stylelint.io/user-guide/rules/syntax-string-no-invalid

- CSS, Disallow unknown unitsok
More info:
- https://stylelint.io/user-guide/rules/unit-no-unknown

HTML-validate

2.45

Results collected at 2025-07-02

Standards section:
- Disallow duplicated IDserror
More info:
- https://html-validate.org/rules/no-dup-id.html

Tested:
- https://jstemerdink.blog/

- Ensure required attributes are seterror
More info:
- https://html-validate.org/rules/element-required-attributes.html

Tested:
- https://jstemerdink.blog/
- https://public-api.wordpress.com/wp-admin/rest-proxy/#https://widgets.wp.com
- https://widgets.wp.com/likes/master.html?ver=20250702#ver=20250702
- https://widgets.wp.com/likes/index.html?ver=20250702#blog_id=16784622&post_id=905&origin=jstemerdink.wordpress.com&obj_id=16784622-905-6865395c4891b&domain=jstemerdink.blog
- https://widgets.wp.com/likes/index.html?ver=20250702#blog_id=16784622&post_id=894&origin=jstemerdink.wordpress.com&obj_id=16784622-894-6865395c4b4b0&domain=jstemerdink.blog

- Ensure required elements are presenterror
More info:
- https://html-validate.org/rules/element-required-content.html

Tested:
- https://public-api.wordpress.com/wp-admin/rest-proxy/#https://widgets.wp.com
- https://widgets.wp.com/likes/master.html?ver=20250702#ver=20250702
- https://widgets.wp.com/likes/index.html?ver=20250702#blog_id=16784622&post_id=905&origin=jstemerdink.wordpress.com&obj_id=16784622-905-6865395c4891b&domain=jstemerdink.blog
- https://widgets.wp.com/likes/index.html?ver=20250702#blog_id=16784622&post_id=894&origin=jstemerdink.wordpress.com&obj_id=16784622-894-6865395c4b4b0&domain=jstemerdink.blog

- Disallow usage of deprecated attributeserror
More info:
- https://html-validate.org/rules/no-deprecated-attr.html

Tested:
- https://jstemerdink.blog/

- Require `id` to be a valid identifiererror
More info:
- https://html-validate.org/rules/valid-id.html

Tested:
- https://jstemerdink.blog/

- Validate permitted contentwarning
More info:
- https://html-validate.org/rules/element-permitted-content.html

Tested:
- https://jstemerdink.blog/

- Require attributes to be separated by whitespaceok
More info:
- https://html-validate.org/rules/attr-spacing.html

- Validate permitted attribute valuesok
More info:
- https://html-validate.org/rules/attribute-allowed-values.html

- Require attribute to be used in correct contextok
More info:
- https://html-validate.org/rules/attribute-misuse.html

- Disallow end tags from having attributesok
More info:
- https://html-validate.org/rules/close-attr.html

- Require elements to be closed in correct orderok
More info:
- https://html-validate.org/rules/close-order.html

- Disallow usage of deprecated elementsok
More info:
- https://html-validate.org/rules/deprecated.html

- Disallow usage of deprecated rulesok
More info:
- https://html-validate.org/rules/deprecated-rule.html

- Require usage of `html` doctypeok
More info:
- https://html-validate.org/rules/doctype-html.html

- Disallow invalid element namesok
More info:
- https://html-validate.org/rules/element-name.html

- Validate permitted number of element occurrencesok
More info:
- https://html-validate.org/rules/element-permitted-occurrences.html

- Validate required element orderok
More info:
- https://html-validate.org/rules/element-permitted-order.html

- Validate permitted element parentok
More info:
- https://html-validate.org/rules/element-permitted-parent.html

- Require `<map name>` to be uniqueok
More info:
- https://html-validate.org/rules/map-dup-name.html

- Require name and id to match on `<map>` elementsok
More info:
- https://html-validate.org/rules/map-id-name.html

- Disallow duplicated attributesok
More info:
- https://html-validate.org/rules/no-dup-attr.html

- Disallow multiple `<main>`ok
More info:
- https://html-validate.org/rules/no-multiple-main.html

- Disallow the use of unescaped special charactersok
More info:
- https://html-validate.org/rules/no-raw-characters.html

- Disallow unused disable directivesok
More info:
- https://html-validate.org/rules/no-unused-disable.html

- Require end tag for `<script>`ok
More info:
- https://html-validate.org/rules/script-element.html

- Disallow unrecognized character referencesok
More info:
- https://html-validate.org/rules/unrecognized-char-ref.html

- Require autocomplete attribute to be validok
More info:
- https://html-validate.org/rules/valid-autocomplete.html

- Disallow void element with contentok
More info:
- https://html-validate.org/rules/void-content.html

ESLint JS

3.77

Results collected at 2025-07-02

Security section:
- Javascript, require the use of === and !==error
More info:
- https://eslint.org/docs/latest/rules/eqeqeq

Tested:
- https://s0.wp.com/_static/??/wp-content/js/tannin/compat.min.js,/wp-content/js/wpcom-proxy-request.js,/wp-content/js/likes-rest-nojquery.js?m=20250324
- https://jstemerdink.blog/
- https://s0.wp.com/wp-content/plugins/custom-fonts/js/webfont.js
- https://jstemerdink.blog/wp-content/js/bilmur.min.js?i=15&m=202527
- https://s0.wp.com/wp-includes/js/wp-emoji-release.min.js?m=1743601627i&ver=6.8.1-alpha-60199
- https://s0.wp.com/_static/??/wp-content/mu-plugins/jetpack-plugin/sun/_inc/build/sharedaddy/sharing.min.js,/wp-content/mu-plugins/carousel-wpcom/carousel-wpcom.js?m=1685112397j
- https://stats.wp.com/w.js?68
- https://public-api.wordpress.com/wp-admin/rest-proxy/#https://widgets.wp.com
- https://0.gravatar.com/js/hovercards/hovercards.min.js?ver=20252717d2298fc173af206bd9f65440008ab9e1ee2bd896241083289a9e27bd0efc7c
- https://widgets.wp.com/likes/master.html?ver=20250702#ver=20250702
- https://s0.wp.com/_static/??-eJydkEtuwzAMRC9UmS3y6aroUQpZpmLKNKWKYprcvg4Qd9EPYHQ5g5kh8eCjuJCloTSYzRW2E4kC04QK74aGo5eBsXZJH+D3cMJWfJjuGtQE3kgC9EY8AEkkoYZOQ83Mq752M8n30TbivNwt1oOOueJALYyQFPrbfstlc0EnKo5JJhdzMHWRLpu74s908o3y9v/Sgqpeu8h4UabhJ64/mxF9s0WvyX9zDr5mU+Sv2GrcQb/OL0/P++PhsNs97tMnno69fg==
- https://s0.wp.com/wp-content/mu-plugins/jetpack-plugin/sun/_inc/build/tiled-gallery/tiled-gallery/tiled-gallery.min.js?m=1685112397i&ver=14.9-a.0
- https://s0.wp.com/wp-content/js/mobile-useragent-info.js?m=1609849039i&ver=20241018
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9EvyClNz8wr1i+uzCtJrMjITM/IAeKS1CJMEWP94uSizIISoOIM5/yiVL2sYh19yo1yKioFmheckVhUQE0TA3ISM/OoaWBkYm4ONc3zCgbzqWlkcCHIhfa5toZmhqYm5maWxkZZAB5Lv+A=
- https://s0.wp.com/wp-content/mu-plugins/actionbar/actionbar.js?v=20250204
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI=
- https://s0.wp.com/wp-content/plugins/gutenberg-core/v20.6.0/build-module/interactivity/index.min.js?ver=d9948f13df6155717023

- Javascript, disallow the use of eval()error
More info:
- https://eslint.org/docs/latest/rules/no-eval

Tested:
- https://s0.wp.com/_static/??-eJydkEtuwzAMRC9UmS3y6aroUQpZpmLKNKWKYprcvg4Qd9EPYHQ5g5kh8eCjuJCloTSYzRW2E4kC04QK74aGo5eBsXZJH+D3cMJWfJjuGtQE3kgC9EY8AEkkoYZOQ83Mq752M8n30TbivNwt1oOOueJALYyQFPrbfstlc0EnKo5JJhdzMHWRLpu74s908o3y9v/Sgqpeu8h4UabhJ64/mxF9s0WvyX9zDr5mU+Sv2GrcQb/OL0/P++PhsNs97tMnno69fg==

- Javascript, disallow control flow statements in finally blockserror
More info:
- https://eslint.org/docs/latest/rules/no-unsafe-finally

Tested:
- https://stats.wp.com/w.js?68

- Javascript, disallow javascript: URLserror
More info:
- https://eslint.org/docs/latest/rules/no-script-url

Tested:
- https://stats.wp.com/w.js?68

- Javascript, disallow calling some Object.prototype methods directly on objectswarning
More info:
- https://eslint.org/docs/latest/rules/no-prototype-builtins

Tested:
- https://s0.wp.com/_static/??/wp-content/js/tannin/compat.min.js,/wp-content/js/wpcom-proxy-request.js,/wp-content/js/likes-rest-nojquery.js?m=20250324
- https://jstemerdink.blog/
- https://s0.wp.com/wp-content/plugins/custom-fonts/js/webfont.js
- https://s0.wp.com/wp-includes/js/wp-emoji-release.min.js?m=1743601627i&ver=6.8.1-alpha-60199
- https://stats.wp.com/w.js?68
- https://public-api.wordpress.com/wp-admin/rest-proxy/#https://widgets.wp.com
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9EvyClNz8wr1i+uzCtJrMjITM/IAeKS1CJMEWP94uSizIISoOIM5/yiVL2sYh19yo1yKioFmheckVhUQE0TA3ISM/OoaWBkYm4ONc3zCgbzqWlkcCHIhfa5toZmhqYm5maWxkZZAB5Lv+A=
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI=
- https://s0.wp.com/wp-content/plugins/gutenberg-core/v20.6.0/build-module/interactivity/index.min.js?ver=d9948f13df6155717023

- Javascript, disallow async functions which have no await expressionwarning
More info:
- https://eslint.org/docs/latest/rules/require-await

Tested:
- https://s0.wp.com/_static/??-eJydkEtuwzAMRC9UmS3y6aroUQpZpmLKNKWKYprcvg4Qd9EPYHQ5g5kh8eCjuJCloTSYzRW2E4kC04QK74aGo5eBsXZJH+D3cMJWfJjuGtQE3kgC9EY8AEkkoYZOQ83Mq752M8n30TbivNwt1oOOueJALYyQFPrbfstlc0EnKo5JJhdzMHWRLpu74s908o3y9v/Sgqpeu8h4UabhJ64/mxF9s0WvyX9zDr5mU+Sv2GrcQb/OL0/P++PhsNs97tMnno69fg==

- Javascript, disallow new operators with the Function objectwarning
More info:
- https://eslint.org/docs/latest/rules/no-new-func

Tested:
- https://s0.wp.com/_static/??/wp-content/js/tannin/compat.min.js,/wp-content/js/wpcom-proxy-request.js,/wp-content/js/likes-rest-nojquery.js?m=20250324

- Javascript, disallow the use of eval()-like methodsok
More info:
- https://eslint.org/docs/latest/rules/no-implied-eval

- Javascript, disallow negating the left operand of relational operatorsok
More info:
- https://eslint.org/docs/latest/rules/no-unsafe-negation

- Javascript, disallow with statementsok
More info:
- https://eslint.org/docs/latest/rules/no-with

Standards section:
- Javascript, disallow the use of undeclared variables unless mentioned in /*global */ commentswarning
More info:
- https://eslint.org/docs/latest/rules/no-undef

Tested:
- https://s0.wp.com/_static/??/wp-content/js/tannin/compat.min.js,/wp-content/js/wpcom-proxy-request.js,/wp-content/js/likes-rest-nojquery.js?m=20250324
- https://jstemerdink.blog/
- https://s0.wp.com/wp-content/plugins/custom-fonts/js/webfont.js
- https://s0.wp.com/_static/??/wp-content/mu-plugins/jetpack-plugin/sun/_inc/build/sharedaddy/sharing.min.js,/wp-content/mu-plugins/carousel-wpcom/carousel-wpcom.js?m=1685112397j
- https://stats.wp.com/w.js?68
- https://public-api.wordpress.com/wp-admin/rest-proxy/#https://widgets.wp.com
- https://s0.wp.com/wp-content/js/rlt-proxy.js?m=20240709
- https://widgets.wp.com/likes/master.html?ver=20250702#ver=20250702
- https://s0.wp.com/_static/??-eJydkEtuwzAMRC9UmS3y6aroUQpZpmLKNKWKYprcvg4Qd9EPYHQ5g5kh8eCjuJCloTSYzRW2E4kC04QK74aGo5eBsXZJH+D3cMJWfJjuGtQE3kgC9EY8AEkkoYZOQ83Mq752M8n30TbivNwt1oOOueJALYyQFPrbfstlc0EnKo5JJhdzMHWRLpu74s908o3y9v/Sgqpeu8h4UabhJ64/mxF9s0WvyX9zDr5mU+Sv2GrcQb/OL0/P++PhsNs97tMnno69fg==
- https://s0.wp.com/wp-content/mu-plugins/jetpack-plugin/sun/_inc/build/tiled-gallery/tiled-gallery/tiled-gallery.min.js?m=1685112397i&ver=14.9-a.0
- https://s0.wp.com/wp-content/mu-plugins/actionbar/actionbar.js?v=20250204
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9EvyClNz8wr1i+uzCtJrMjITM/IAeKS1CJMEWP94uSizIISoOIM5/yiVL2sYh19yo1yKioFmheckVhUQE0TA3ISM/OoaWBkYm4ONc3zCgbzqWlkcCHIhfa5toZmhqYm5maWxkZZAB5Lv+A=
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI=

- Javascript, disallow unnecessary escape characterswarning
More info:
- https://eslint.org/docs/latest/rules/no-useless-escape

Tested:
- https://jstemerdink.blog/
- https://stats.wp.com/w.js?68
- https://0.gravatar.com/js/hovercards/hovercards.min.js?ver=20252717d2298fc173af206bd9f65440008ab9e1ee2bd896241083289a9e27bd0efc7c
- https://s0.wp.com/wp-content/js/mobile-useragent-info.js?m=1609849039i&ver=20241018
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9EvyClNz8wr1i+uzCtJrMjITM/IAeKS1CJMEWP94uSizIISoOIM5/yiVL2sYh19yo1yKioFmheckVhUQE0TA3ISM/OoaWBkYm4ONc3zCgbzqWlkcCHIhfa5toZmhqYm5maWxkZZAB5Lv+A=
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI=
- https://s0.wp.com/wp-content/plugins/gutenberg-core/v20.6.0/build-module/interactivity/index.min.js?ver=d9948f13df6155717023

- Javascript, disallow unused variableswarning
More info:
- https://eslint.org/docs/latest/rules/no-unused-vars

Tested:
- https://s0.wp.com/_static/??/wp-content/js/tannin/compat.min.js,/wp-content/js/wpcom-proxy-request.js,/wp-content/js/likes-rest-nojquery.js?m=20250324
- https://jstemerdink.blog/
- https://s0.wp.com/wp-content/plugins/custom-fonts/js/webfont.js
- https://jstemerdink.blog/wp-content/js/bilmur.min.js?i=15&m=202527
- https://s0.wp.com/wp-includes/js/wp-emoji-release.min.js?m=1743601627i&ver=6.8.1-alpha-60199
- https://stats.wp.com/w.js?68
- https://public-api.wordpress.com/wp-admin/rest-proxy/#https://widgets.wp.com
- https://s0.wp.com/wp-content/js/rlt-proxy.js?m=20240709
- https://s0.wp.com/_static/??-eJydkEtuwzAMRC9UmS3y6aroUQpZpmLKNKWKYprcvg4Qd9EPYHQ5g5kh8eCjuJCloTSYzRW2E4kC04QK74aGo5eBsXZJH+D3cMJWfJjuGtQE3kgC9EY8AEkkoYZOQ83Mq752M8n30TbivNwt1oOOueJALYyQFPrbfstlc0EnKo5JJhdzMHWRLpu74s908o3y9v/Sgqpeu8h4UabhJ64/mxF9s0WvyX9zDr5mU+Sv2GrcQb/OL0/P++PhsNs97tMnno69fg==
- https://s0.wp.com/wp-content/mu-plugins/actionbar/actionbar.js?v=20250204
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9EvyClNz8wr1i+uzCtJrMjITM/IAeKS1CJMEWP94uSizIISoOIM5/yiVL2sYh19yo1yKioFmheckVhUQE0TA3ISM/OoaWBkYm4ONc3zCgbzqWlkcCHIhfa5toZmhqYm5maWxkZZAB5Lv+A=
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI=
- https://s0.wp.com/wp-content/plugins/gutenberg-core/v20.6.0/build-module/interactivity/index.min.js?ver=d9948f13df6155717023

- Javascript, disallow unnecessary concatenation of literals or template literalswarning
More info:
- https://eslint.org/docs/latest/rules/no-useless-concat

Tested:
- https://jstemerdink.blog/
- https://s0.wp.com/_static/??/wp-content/js/tannin/compat.min.js,/wp-content/js/wpcom-proxy-request.js,/wp-content/js/likes-rest-nojquery.js?m=20250324
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9EvyClNz8wr1i+uzCtJrMjITM/IAeKS1CJMEWP94uSizIISoOIM5/yiVL2sYh19yo1yKioFmheckVhUQE0TA3ISM/OoaWBkYm4ONc3zCgbzqWlkcCHIhfa5toZmhqYm5maWxkZZAB5Lv+A=
- https://s0.wp.com/wp-content/plugins/custom-fonts/js/webfont.js

- Javascript, disallow the use of consolewarning
More info:
- https://eslint.org/docs/latest/rules/no-console

Tested:
- https://jstemerdink.blog/
- https://public-api.wordpress.com/wp-admin/rest-proxy/#https://widgets.wp.com
- https://s0.wp.com/wp-content/js/rlt-proxy.js?m=20240709
- https://s0.wp.com/wp-content/js/mobile-useragent-info.js?m=1609849039i&ver=20241018
- https://s0.wp.com/_static/??-eJzTLy/QTc7PK0nNK9HPKtYvyinRLSjKr6jUyyrW0QfKZeYl55SmpBaDJLMKS1OLKqGUXm5mHkFFurmZ6UWJJalQxfa5tobmRgamxgZmFpZZACbyLJI=

- Javascript, disallow unmodified loop conditionswarning
More info:
- https://eslint.org/docs/latest/rules/no-unmodified-loop-condition

Tested:
- https://stats.wp.com/w.js?68

Lighthouse

3.65

Results collected at 2025-07-02

- Performance only 1.60
- Accessibility only 4.00

- Issues in the `Issues` panel in Chrome Devtoolserror
Tested:
- https://jstemerdink.blog/

- crawlable-anchorserror
Tested:
- https://jstemerdink.blog/

- Uses HTTPSok
Tested:
- https://jstemerdink.blog/

- geolocation-on-startok
Tested:
- https://jstemerdink.blog/

- notification-on-startok
Tested:
- https://jstemerdink.blog/

- csp-xssok
Tested:
- https://jstemerdink.blog/

- has-hstsok
Tested:
- https://jstemerdink.blog/

- origin-isolationok
Tested:
- https://jstemerdink.blog/

- paste-preventing-inputsok
Tested:
- https://jstemerdink.blog/

- image-aspect-ratiook
Tested:
- https://jstemerdink.blog/

- Serves images with low resolutionok
Tested:
- https://jstemerdink.blog/

- Has a <meta name="viewport"> tag with width or initial-scaleok
Tested:
- https://jstemerdink.blog/

- font-sizeok
Tested:
- https://jstemerdink.blog/

- doctypeok
Tested:
- https://jstemerdink.blog/

- charsetok
Tested:
- https://jstemerdink.blog/

- js-librariesok
Tested:
- https://jstemerdink.blog/

- deprecationsok
Tested:
- https://jstemerdink.blog/

- third-party-cookiesok
Tested:
- https://jstemerdink.blog/

- errors-in-consoleok
Tested:
- https://jstemerdink.blog/

- valid-source-mapsok
Tested:
- https://jstemerdink.blog/

- is-crawlableok
Tested:
- https://jstemerdink.blog/

- Document has a `<title>` elementok
Tested:
- https://jstemerdink.blog/

- meta-descriptionok
Tested:
- https://jstemerdink.blog/

- http-status-codeok
Tested:
- https://jstemerdink.blog/

- link-textok
Tested:
- https://jstemerdink.blog/

- robots-txtok
Tested:
- https://jstemerdink.blog/

- Image elements have `[alt]` attributesok
Tested:
- https://jstemerdink.blog/

- hreflangok
Tested:
- https://jstemerdink.blog/

- Redirects HTTP traffic to HTTPSok
- canonicalok
- structured-dataok

Accessibility section:
- Background and foreground colors should have a sufficient contrast ratioerror
Tested:
- https://jstemerdink.blog/

- Links should have a discernible nameerror
Tested:
- https://jstemerdink.blog/

- `[aria-*]` attributes match their rolesok
Tested:
- https://jstemerdink.blog/

- Uses ARIA roles only on compatible elementsok
Tested:
- https://jstemerdink.blog/

- ARIA attributes are used as specified for the element's roleok
Tested:
- https://jstemerdink.blog/

- Deprecated ARIA roles were not usedok
Tested:
- https://jstemerdink.blog/

- `[aria-hidden="true"]` is not present on the document `<body>`ok
Tested:
- https://jstemerdink.blog/

- `[aria-hidden="true"]` elements do not contain focusable descendentsok
Tested:
- https://jstemerdink.blog/

- Elements use only permitted ARIA attributesok
Tested:
- https://jstemerdink.blog/

- `[role]`s have all required `[aria-*]` attributesok
Tested:
- https://jstemerdink.blog/

- `[role]` values are validok
Tested:
- https://jstemerdink.blog/

- `[aria-*]` attributes have valid valuesok
Tested:
- https://jstemerdink.blog/

- `[aria-*]` attributes are valid and not misspelledok
Tested:
- https://jstemerdink.blog/

- Buttons have an accessible nameok
Tested:
- https://jstemerdink.blog/

- Document has a `<title>` elementok
Tested:
- https://jstemerdink.blog/

- frame-titleok
Tested:
- https://jstemerdink.blog/

- Heading elements appear in a sequentially-descending orderok
Tested:
- https://jstemerdink.blog/

- `<html>` element has a `[lang]` attributeok
Tested:
- https://jstemerdink.blog/

- `<html>` element has a valid value for its `[lang]` attributeok
Tested:
- https://jstemerdink.blog/

- Image elements have `[alt]` attributesok
Tested:
- https://jstemerdink.blog/

- Image elements do not have `[alt]` attributes that are redundant textok
Tested:
- https://jstemerdink.blog/

- labelok
Tested:
- https://jstemerdink.blog/

- Links are distinguishable without relying on colorok
Tested:
- https://jstemerdink.blog/

- Lists contain only `<li>` elements and script supporting elements (`<script>` and `<template>`)ok
Tested:
- https://jstemerdink.blog/

- List items (`<li>`) are contained within `<ul>`, `<ol>` or `<menu>` parent elementsok
Tested:
- https://jstemerdink.blog/

- `[user-scalable="no"]` is not used in the `<meta name="viewport">` element and the `[maximum-scale]` attribute is not less than 5ok
Tested:
- https://jstemerdink.blog/

- select-nameok
Tested:
- https://jstemerdink.blog/

- skip-linkok
Tested:
- https://jstemerdink.blog/

- table-duplicate-nameok
Tested:
- https://jstemerdink.blog/

- Touch targets have sufficient size and spacingok
Tested:
- https://jstemerdink.blog/

- td-headers-attrok
Tested:
- https://jstemerdink.blog/

- identical-links-same-purposeok
Tested:
- https://jstemerdink.blog/

- table-fake-captionok
Tested:
- https://jstemerdink.blog/

- accesskeysok
- aria-command-nameok
- aria-dialog-nameok
- aria-input-field-nameok
- aria-meter-nameok
- aria-progressbar-nameok
- Elements with an ARIA `[role]` that require children to contain a specific `[role]` have all required childrenok
- `[role]`s are contained by their required parent elementok
- aria-textok
- aria-toggle-field-nameok
- aria-tooltip-nameok
- aria-treeitem-nameok
- bypassok
- definition-listok
- dlitemok
- duplicate-id-ariaok
- form-field-multiple-labelsok
- html-xml-lang-mismatchok
- input-button-nameok
- input-image-altok
- meta-refreshok
- object-altok
- tabindexok
- th-has-data-cellsok
- valid-langok
- video-captionok
- focusable-controlsok
- interactive-element-affordanceok
- logical-tab-orderok
- visual-order-follows-domok
- focus-trapsok
- managed-focusok
- use-landmarksok
- offscreen-content-hiddenok
- custom-controls-labelsok
- custom-controls-rolesok
- empty-headingok
- landmark-one-mainok
- label-content-name-mismatchok
- td-has-headerok

Performance section:
- Largest Contentful Painterror
Tested:
- https://jstemerdink.blog/

- Properly size imageserror
Tested:
- https://jstemerdink.blog/

- Reduce unused CSSerror
Tested:
- https://jstemerdink.blog/

- Reduce unused JavaScripterror
Tested:
- https://jstemerdink.blog/

- Serve images in next-gen formatserror
Tested:
- https://jstemerdink.blog/

- Preconnect to required originserror
Tested:
- https://jstemerdink.blog/

- First Contentful Paintwarning
Tested:
- https://jstemerdink.blog/

- Time to Interactivewarning
Tested:
- https://jstemerdink.blog/

- Minify CSSwarning
Tested:
- https://jstemerdink.blog/

- Minify JavaScriptwarning
Tested:
- https://jstemerdink.blog/

- Avoid serving legacy JavaScript to modern browserswarning
Tested:
- https://jstemerdink.blog/

- Serve static assets with an efficient cache policywarning
Tested:
- https://jstemerdink.blog/

- Avoid an excessive DOM sizewarning
Tested:
- https://jstemerdink.blog/

- All text should remains visible during webfont loadswarning
Tested:
- https://jstemerdink.blog/

- Total Blocking Timeok
Tested:
- https://jstemerdink.blog/

- Cumulative Layout Shiftok
Tested:
- https://jstemerdink.blog/

- Speed Indexok
Tested:
- https://jstemerdink.blog/

- Max Potential First Input Delayok
Tested:
- https://jstemerdink.blog/

- Defer offscreen imagesok
Tested:
- https://jstemerdink.blog/

- Efficiently encode imagesok
Tested:
- https://jstemerdink.blog/

- Enable text compressionok
Tested:
- https://jstemerdink.blog/

- Initial server response time was shortok
Tested:
- https://jstemerdink.blog/

- Avoid multiple page redirectsok
Tested:
- https://jstemerdink.blog/

- Use video formats for animated contentok
Tested:
- https://jstemerdink.blog/

- Remove duplicate modules in JavaScript bundlesok
Tested:
- https://jstemerdink.blog/

- Avoids enormous network payloadsok
Tested:
- https://jstemerdink.blog/

- critical-request-chainsok
Tested:
- https://jstemerdink.blog/

- JavaScript execution timeok
Tested:
- https://jstemerdink.blog/

- Minimizes main-thread workok
Tested:
- https://jstemerdink.blog/

- third-party-summaryok
Tested:
- https://jstemerdink.blog/

- Uses passive listeners to improve scrolling performanceok
Tested:
- https://jstemerdink.blog/

- Javascript, avoids `document.write()ok
Tested:
- https://jstemerdink.blog/

- Avoids long main-thread tasksok
Tested:
- https://jstemerdink.blog/

- Image elements have explicit `width` and `height`ok
Tested:
- https://jstemerdink.blog/

- Has a <meta name="viewport"> tag with width or initial-scaleok
Tested:
- https://jstemerdink.blog/

- Network Requestsok
Tested:
- https://jstemerdink.blog/

- Network Round Trip Timesok
Tested:
- https://jstemerdink.blog/

- Server Backend Latenciesok
Tested:
- https://jstemerdink.blog/

- Main thread tasksok
Tested:
- https://jstemerdink.blog/

- Diagnosticsok
Tested:
- https://jstemerdink.blog/

- Metricsok
Tested:
- https://jstemerdink.blog/

- Screenshot Thumbnailsok
Tested:
- https://jstemerdink.blog/

- final-screenshotok
Tested:
- https://jstemerdink.blog/

- script-treemap-dataok
Tested:
- https://jstemerdink.blog/

- resource-summaryok
Tested:
- https://jstemerdink.blog/

- first-meaningful-paintok
- Eliminate render-blocking resourcesok
- prioritize-lcp-imageok
- user-timingsok
- third-party-facadesok
- Largest Contentful Paint elementok
- lcp-lazy-loadedok
- Avoid large layout shiftsok
- non-composited-animationsok