Catalog / danten.io
64

SEO audit for danten.io

Debian Linux Administrator - Daniel Tenningås | danten.io

saas

Health 64/100 (fair) · 50 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Debian Linux Administrator & Serial Entrepreneur. Sharing Bash Kung-Fu Snippets, Free Open Source Ninja Tools and Selected Real Life Ramblings.

50
pages crawled
38
indexable pages
1
errors
133
warnings
204
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Sitemap 98 1 0 1
Canonical 77 0 38 0
Budget 78 0 37 0
Security 78 0 36 56
Content 96 0 6 39
Duplicate 98 0 4 2
Images 98 0 4 2
Links 98 0 3 1
Agent Readiness 99 0 2 15
Meta Description 99 0 2 12
AI Content 99 0 1 0
Crawlability 100 0 0 11
Headings 100 0 0 4
Mobile 100 0 0 2
Performance 100 0 0 16
Social 100 0 0 4
Structured Data 100 0 0 38
URL 100 0 0 1
Findings

Errors (1 rules)

error Non-200 URL listed in sitemap

Rule sitemap.not_200 · Sitemap · 1 occurrence(s)

Warnings (11 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 2 occurrence(s)

warning Unfilled template or prompt-leak text

Rule ai.prompt_leak · AI Content · 1 occurrence(s)

  • https://danten.io/hugo-insert-raw-html-with-a-shortcode/ — The page contains unfilled template or prompt-echo text — e.g. "[[.Inner]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.

warning robots.txt-disallowed URL receives internal links (crawl-budget leak)

Rule budget.disallow_linked · Budget · 37 occurrence(s)

  • https://danten.io/imprint/ — internal links point to https://danten.io/imprint/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/, https://danten.io/ath9k-wifi-power-saving-for-atheros-802.11n/, https://danten.io/blog/.
  • https://danten.io/tags/analytics/ — internal links point to https://danten.io/tags/analytics/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/awstats-advanced-web-statistics-on-debian/, https://danten.io/solutions.
  • https://danten.io/tags/aosp/ — internal links point to https://danten.io/tags/aosp/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/debian-mount-your-aosp-phone/, https://danten.io/solutions.
  • https://danten.io/tags/apache/ — internal links point to https://danten.io/tags/apache/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/security-headers-content-security-policy/, https://danten.io/awstats-advanced-web-statistics-on-debian/.
  • https://danten.io/tags/bash/ — internal links point to https://danten.io/tags/bash/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/bash-history-searching-with-inputrc/, https://danten.io/solutions.
  • https://danten.io/tags/bind/ — internal links point to https://danten.io/tags/bind/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/bind-internationalized-domain-names-idn/, https://danten.io/solutions.
  • https://danten.io/tags/chromium/ — internal links point to https://danten.io/tags/chromium/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/how-to-use-the-chromium-browser-with-a-socks-proxy/, https://danten.io/solutions.
  • https://danten.io/tags/csp/ — internal links point to https://danten.io/tags/csp/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/security-headers-content-security-policy/, https://danten.io/solutions.
  • https://danten.io/tags/debian/ — internal links point to https://danten.io/tags/debian/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/ath9k-wifi-power-saving-for-atheros-802.11n/, https://danten.io/blog/, https://danten.io/searx-how-to-setup-your-own-search-engine/.
  • https://danten.io/tags/devuan/ — internal links point to https://danten.io/tags/devuan/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/devuan-upgrading-devuan-ascii-2-0-0-stable/, https://danten.io/solutions.
  • https://danten.io/tags/dns/ — internal links point to https://danten.io/tags/dns/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/bind-internationalized-domain-names-idn/, https://danten.io/solutions.
  • https://danten.io/tags/firefox/ — internal links point to https://danten.io/tags/firefox/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/firefox-how-to-use-a-firefox-burner-profile/, https://danten.io/solutions.
  • https://danten.io/tags/gdpr/ — internal links point to https://danten.io/tags/gdpr/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/gdpr-how-to-deal-with-gdpr-the-easy-way/, https://danten.io/solutions.
  • https://danten.io/tags/geany/ — internal links point to https://danten.io/tags/geany/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/vim-geany-my-favorite-code-editors/, https://danten.io/solutions.
  • https://danten.io/tags/gpg/ — internal links point to https://danten.io/tags/gpg/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/gnupg-master-key-on-airgapped-tails-os/, https://danten.io/solutions.
  • https://danten.io/tags/i3/ — internal links point to https://danten.io/tags/i3/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/qubes-os-4-1-i3-blurred-graphics-on-t450s-fix/, https://danten.io/solutions.
  • https://danten.io/tags/linux/ — internal links point to https://danten.io/tags/linux/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/smokeping-track-your-network-latency/, https://danten.io/bash-history-searching-with-inputrc/.
  • https://danten.io/tags/mariadb/ — internal links point to https://danten.io/tags/mariadb/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/mariadb-replaces-mysql-as-lamp-default/, https://danten.io/solutions.
  • https://danten.io/tags/matomo/ — internal links point to https://danten.io/tags/matomo/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/matomo-4-3-1-require-private-directories/, https://danten.io/matomo-upgrade-never-halt-the-process/.
  • https://danten.io/tags/minimalist/ — internal links point to https://danten.io/tags/minimalist/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/minimalist-phone-2022-nokia-215-4g-review/, https://danten.io/solutions.
  • https://danten.io/tags/music/ — internal links point to https://danten.io/tags/music/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/debian-ncmpcpp-mpd-pulseaudio/, https://danten.io/solutions.
  • https://danten.io/tags/networking/ — internal links point to https://danten.io/tags/networking/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/smokeping-track-your-network-latency/, https://danten.io/solutions.
  • https://danten.io/tags/nokia/ — internal links point to https://danten.io/tags/nokia/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/minimalist-phone-2022-nokia-215-4g-review/, https://danten.io/solutions.
  • https://danten.io/tags/openvpn/ — internal links point to https://danten.io/tags/openvpn/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/blog/, https://danten.io/openvpn-how-to-prevent-dns-leaks/, https://danten.io/solutions.
  • https://danten.io/tags/wifi/ — internal links point to https://danten.io/tags/wifi/, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://danten.io/ath9k-wifi-power-saving-for-atheros-802.11n/, https://danten.io/blog/, https://danten.io/solutions.

warning Duplicate page content

Rule duplicate.content · Duplicate · 2 occurrence(s)

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 2 occurrence(s)

warning Content-Type header doesn't match the actual content

Rule headers.content_type_mismatch · Security · 36 occurrence(s)

  • https://danten.io/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/ath9k-wifi-power-saving-for-atheros-802.11n/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/awstats-advanced-web-statistics-on-debian/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/bash-history-searching-with-inputrc/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/bind-internationalized-domain-names-idn/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/blog/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/debian-11-bullseye-release-notes/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/debian-mount-your-aosp-phone/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/debian-ncmpcpp-mpd-pulseaudio/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/devuan-upgrading-devuan-ascii-2-0-0-stable/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/firefox-how-to-use-a-firefox-burner-profile/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/gnupg-master-key-on-airgapped-tails-os/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/holistic-seo-sustainable-long-term-seo/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/hsts-improve-your-web-site-security-headers/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/hugo-insert-raw-html-with-a-shortcode/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/matomo-4-3-1-require-private-directories/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/matomo-upgrade-never-halt-the-process/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/minimalist-phone-2022-nokia-215-4g-review/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/openvpn-how-to-prevent-dns-leaks/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/postfix-aliases-db-older-than-source/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/qubes-os-4-1-i3-blurred-graphics-on-t450s-fix/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/searx-how-to-setup-your-own-search-engine/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/security-headers-content-security-policy/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/smokeping-track-your-network-latency/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://danten.io/speed-optimize-your-wordpress-contact-form-7/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".

warning Images missing alt text

Rule images.missing_alt · Images · 4 occurrence(s)

warning Internal link points to a redirect

Rule links.redirect_target · Links · 3 occurrence(s)

warning Missing meta description

Rule meta_desc.missing · Meta Description · 2 occurrence(s)

Notices (25 rules)

notice Invalid ARIA role

Rule agent.aria_invalid_role · Agent Readiness · 4 occurrence(s)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 9 occurrence(s)

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

  • https://danten.io/ — no llms.txt found at the site root — add one so AI agents get a curated site summary

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 1 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 3 occurrence(s)

  • https://danten.io/about/ — this page reads as difficult (Flesch Reading Ease 38, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://danten.io/firefox-how-to-use-a-firefox-burner-profile/ — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://danten.io/gdpr-how-to-deal-with-gdpr-the-easy-way/ — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 2 occurrence(s)

notice Multiple <h1> elements

Rule h1.multiple · Headings · 4 occurrence(s)

notice Missing html lang attribute

Rule i18n.lang_missing · Mobile · 2 occurrence(s)

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 6 occurrence(s)

  • https://danten.io/debian-ncmpcpp-mpd-pulseaudio/ — the likely hero/LCP image (ncmpcpp.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://danten.io/searx-how-to-setup-your-own-search-engine/ — the likely hero/LCP image (danten-searx.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://danten.io/security-headers-content-security-policy/ — the likely hero/LCP image (security-headers-content-security-policy-a-plus.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://danten.io/smokeping-track-your-network-latency/ — the likely hero/LCP image (smokeping.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://smokeping:SmokePing11%21@danten.io/ping/ — the likely hero/LCP image (smokeping.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://smokeping:SmokePing11%21@danten.io/ping/?target=_charts — the likely hero/LCP image (smokeping.png) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 2 occurrence(s)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 1 occurrence(s)

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 36 occurrence(s)

notice Missing Open Graph tags

Rule og.missing · Social · 2 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 6 occurrence(s)

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 2 occurrence(s)

  • https://smokeping:SmokePing11%21@danten.io/ping/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://smokeping:SmokePing11%21@danten.io/ping/?target=_charts — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 2 occurrence(s)

  • https://smokeping:SmokePing11%21@danten.io/ping/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://smokeping:SmokePing11%21@danten.io/ping/?target=_charts — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice URL redirects to another URL

Rule redirect.single · Crawlability · 1 occurrence(s)

notice Blocked by robots.txt

Rule robots.blocked · Crawlability · 10 occurrence(s)

notice Missing recommended security headers

Rule security.missing_headers · Security · 38 occurrence(s)

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 18 occurrence(s)

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 1 occurrence(s)

notice Missing Twitter Card tag

Rule twitter.missing · Social · 2 occurrence(s)

notice Uppercase letters in URL path

Rule url.uppercase · URL · 1 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://smokeping:SmokePing11%21@danten.io/ping/?target=_charts
Network Latency Page for
200 yes 50 2
https://danten.io/
Debian Linux Administrator - Daniel Tenningås | danten.io
200 yes 270 36
https://danten.io/about/
About: Daniel Tenningås | danten.io
200 yes 451 36
https://danten.io/blog/
Linux Kung Fu: Freedom or Slavery | danten.io
200 yes 324 36
https://danten.io/contact/
Contact: Daniel Tenningås | danten.io
200 yes 181 36
https://danten.io/privacy/
Privacy | danten.io
200 yes 949 36
https://danten.io/terms/
Terms | danten.io
200 yes 904 36
https://smokeping:SmokePing11%21@danten.io/ping/
Network Latency Page for Network Latency Grapher
200 yes 49 36
https://danten.io/hsts-improve-your-web-site-security-headers/
HSTS: Improve Your Web Site Security Headers | danten.io
200 yes 997 3
https://danten.io/solutions
Linux Kung Fu: Freedom or Slavery | danten.io
200 yes 324 3
https://danten.io/ath9k-wifi-power-saving-for-atheros-802.11n/
ath9k: WiFi Power Saving for Atheros 802.11n | danten.io
200 yes 718 2
https://danten.io/awstats-advanced-web-statistics-on-debian/
AWStats: Advanced Web Statistics on Debian | danten.io
200 yes 991 2
https://danten.io/bash-history-searching-with-inputrc/
Bash: History Searching with .inputrc | danten.io
200 yes 450 2
https://danten.io/bind-internationalized-domain-names-idn/
BIND: Internationalized Domain Names IDN | danten.io
200 yes 594 2
https://danten.io/debian-11-bullseye-release-notes/
Debian 11: Bullseye Release Notes | danten.io
200 yes 168 2
https://danten.io/debian-mount-your-aosp-phone/
Debian: Mount Your AOSP Phone | danten.io
200 yes 277 2
https://danten.io/debian-ncmpcpp-mpd-pulseaudio/
Debian: ncmpcpp, MPD & PulseAudio | danten.io
200 yes 1249 2
https://danten.io/devuan-upgrading-devuan-ascii-2-0-0-stable/
Devuan: Upgrading to Devuan ASCII 2.0.0 | danten.io
200 yes 560 2
https://danten.io/firefox-how-to-use-a-firefox-burner-profile/
Firefox: How to Use a Firefox Burner Profile | danten.io
200 yes 577 2
https://danten.io/gdpr-how-to-deal-with-gdpr-the-easy-way/
GDPR: How To Deal with GDPR The Easy Way | danten.io
200 yes 1866 2
https://danten.io/gnupg-master-key-on-airgapped-tails-os/
GnuPG: Master Key on Airgapped Tails OS | danten.io
200 yes 1456 2
https://danten.io/google-talks-art-business-storytelling/
Google Talks: The Art of Business Storytelling | danten.io
200 yes 404 2
https://danten.io/holistic-seo-sustainable-long-term-seo/
Holistic SEO: Sustainable Long-Term SEO | danten.io
200 yes 1903 2
https://danten.io/how-to-reset-your-usb-drive-with-linux/
How To Reset Your USB Drive with Linux | danten.io
200 yes 150 2
https://danten.io/how-to-use-the-chromium-browser-with-a-socks-proxy/
Use the Chromium Browser with a SOCKS Proxy | danten.io
200 yes 267 2
https://danten.io/hugo-insert-raw-html-with-a-shortcode/
Hugo: Insert Raw HTML with a Shortcode | danten.io
200 yes 230 2
https://danten.io/mariadb-replaces-mysql-as-lamp-default/
MariaDB Replaces MySQL As LAMP Default | danten.io
200 yes 461 2
https://danten.io/matomo-4-3-1-require-private-directories/
Matomo 4.3.1: Require Private Directories | danten.io
200 yes 260 2
https://danten.io/matomo-upgrade-never-halt-the-process/
Matomo Upgrade: Never Halt the Process | danten.io
200 yes 752 2
https://danten.io/minimalist-phone-2022-nokia-215-4g-review/
Minimalist Phone 2022: Nokia 215 4G Review | danten.io
200 yes 1760 2
https://danten.io/openvpn-how-to-prevent-dns-leaks/
OpenVPN: How To Prevent DNS Leaks | danten.io
200 yes 200 2
https://danten.io/postfix-aliases-db-older-than-source/
Postfix: Aliases DB Older Than Source | danten.io
200 yes 174 2
https://danten.io/qubes-os-4-1-i3-blurred-graphics-on-t450s-fix/
Qubes OS 4.1: i3 Blurred Graphics on T450s | danten.io
200 yes 504 2
https://danten.io/searx-how-to-setup-your-own-search-engine/
Searx: How To Setup Your Own Search Engine | danten.io
200 yes 1088 2
https://danten.io/security-headers-content-security-policy/
Security Headers: Content Security Policy | danten.io
200 yes 1237 2
https://danten.io/smokeping-track-your-network-latency/
SmokePing: Track Your Network Latency | danten.io
200 yes 1030 2
https://danten.io/speed-optimize-your-wordpress-contact-form-7/
WordPress: Speed Optimize Your Contact Form 7 | danten.io
200 yes 592 2
https://danten.io/vim-geany-my-favorite-code-editors/
Vim & Geany: My Favorite Code Editors | danten.io
200 yes 1087 2
https://danten.io/imprint/ 0 no 0 36
https://danten.io/keys/0x02564E5E9ACF16BD.asc 200 no 0 1
https://danten.io/rss.xml 200 no 0 36
https://danten.io/tags/analytics/ 0 no 0 3
https://danten.io/tags/aosp/ 0 no 0 3
https://danten.io/tags/apache/ 0 no 0 6
https://danten.io/tags/bash/ 0 no 0 3
https://danten.io/tags/bind/ 0 no 0 3
https://danten.io/tags/chromium/ 0 no 0 3
https://danten.io/tags/csp/ 0 no 0 3
https://danten.io/tags/debian/ 0 no 0 12
https://danten.io/tags/wifi/ 0 no 0 3

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →