SEO audit for fuzzalab.pt
FUZZALAB — Tech, Security & OSINT
Health 65/100 (fair) · 50 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)Portal de tecnologia, segurança e OSINT. Tutoriais de Linux, ferramentas de segurança, análises e documentação técnica — conhecimento livre, em português.
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Performance | 70 | 0 | 50 | 106 |
| Titles | 78 | 0 | 36 | 1 |
| Content | 98 | 0 | 3 | 0 |
| Meta Description | 98 | 0 | 3 | 39 |
| Structured Data | 99 | 0 | 1 | 4 |
| Agent Readiness | 100 | 0 | 0 | 23 |
| Cache | 100 | 0 | 0 | 50 |
| Headings | 100 | 0 | 0 | 4 |
| Images | 100 | 0 | 0 | 10 |
| Links | 100 | 0 | 0 | 47 |
| Robots | 100 | 0 | 0 | 1 |
| Security | 100 | 0 | 0 | 9 |
| Sitemap | 100 | 0 | 0 | 1 |
| Social | 100 | 0 | 0 | 3 |
Warnings (5 rules)
warning Thin content (low word count)
Rule content.thin · Content · 3 occurrence(s)
- https://fuzzalab.pt/ — 186 words
- https://fuzzalab.pt/shouts/ — 54 words
- https://fuzzalab.pt/shouts/?tag=LLM — 54 words
warning Missing meta description
Rule meta_desc.missing · Meta Description · 3 occurrence(s)
warning Render-blocking script in <head> (no defer/async)
Rule perf.render_blocking · Performance · 50 occurrence(s)
- https://fuzzalab.pt/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/ai-2040-cenarios-futuro — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/claude-code-bun-rust — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/claude-code-vs-opencode-tokens — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/clawk-coding-agents-vm — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/codex-encrypting-sub-agent-prompts — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/github-codeberg-self-hosting — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/gpt-56-resolve-gap-30-anos-otimizacao-convexa — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/guardian-angels-llm-personalization — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/hardware-nao-e-tao-dificil — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/ia-suprime-pensamento-critico — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/inteligencia-neuronios-unicos — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/linux-011-rewritten-rust — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/love-llms-hate-hype-geohot — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/microsoft-comic-chat-open-source — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/openai-codex-reduz-contexto — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/pipeline-deep-research-tokens — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/roman-concrete-self-healing — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/solod-go-better-c — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/usb-type-c-engineers-guide — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — 3 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/shouts/ — 6 render-blocking <script> in <head> (add defer/async or use type=module)
- https://fuzzalab.pt/shouts/?tag=LLM — 6 render-blocking <script> in <head> (add defer/async or use type=module)
warning BreadcrumbList present but structurally incomplete
Rule schema.breadcrumb_incomplete · Structured Data · 1 occurrence(s)
- https://fuzzalab.pt/blog/ios-ocr-server-vision-framework — a BreadcrumbList is present but structurally incomplete — missing required name. Give itemListElement at least 2 ListItems, each with a sequential integer position and a name, and an item URL on every entry except the last.
warning Title likely truncated in SERP (too wide)
Rule title.too_long · Titles · 36 occurrence(s)
- https://fuzzalab.pt/blog/age-personalized-hardware — 71 chars, ~591px (limit ~580px)
- https://fuzzalab.pt/blog/ai-margin-collapse-glm-52 — 76 chars, ~620px (limit ~580px)
- https://fuzzalab.pt/blog/alemanha-migrantes-trabalho-qualificado — 78 chars, ~628px (limit ~580px)
- https://fuzzalab.pt/blog/claude-code-bun-rust — 80 chars, ~634px (limit ~580px)
- https://fuzzalab.pt/blog/claude-design-system-prompt — 75 chars, ~636px (limit ~580px)
- https://fuzzalab.pt/blog/codex-encrypting-sub-agent-prompts — 101 chars, ~807px (limit ~580px)
- https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — 71 chars, ~593px (limit ~580px)
- https://fuzzalab.pt/blog/fable5-vending-bench — 84 chars, ~686px (limit ~580px)
- https://fuzzalab.pt/blog/github-codeberg-self-hosting — 87 chars, ~693px (limit ~580px)
- https://fuzzalab.pt/blog/gpt-56-resolve-gap-30-anos-otimizacao-convexa — 81 chars, ~692px (limit ~580px)
- https://fuzzalab.pt/blog/guardian-angels-llm-personalization — 69 chars, ~583px (limit ~580px)
- https://fuzzalab.pt/blog/inteligencia-neuronios-unicos — 78 chars, ~654px (limit ~580px)
- https://fuzzalab.pt/blog/linux-011-rewritten-rust — 70 chars, ~581px (limit ~580px)
- https://fuzzalab.pt/blog/love-llms-hate-hype-geohot — 80 chars, ~661px (limit ~580px)
- https://fuzzalab.pt/blog/microsoft-comic-chat-open-source — 92 chars, ~750px (limit ~580px)
- https://fuzzalab.pt/blog/openai-codex-reduz-contexto — 74 chars, ~625px (limit ~580px)
- https://fuzzalab.pt/blog/pipeline-deep-research-tokens — 70 chars, ~587px (limit ~580px)
- https://fuzzalab.pt/blog/pruning-rag-context — 72 chars, ~617px (limit ~580px)
- https://fuzzalab.pt/blog/roman-concrete-self-healing — 94 chars, ~774px (limit ~580px)
- https://fuzzalab.pt/blog/solod-go-better-c — 82 chars, ~670px (limit ~580px)
- https://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — 83 chars, ~681px (limit ~580px)
- https://fuzzalab.pt/blog/the-insider-investigacao-russia — 98 chars, ~792px (limit ~580px)
- https://fuzzalab.pt/blog/tldraw-agent-draw — 70 chars, ~600px (limit ~580px)
- https://fuzzalab.pt/blog/usb-type-c-engineers-guide — 81 chars, ~658px (limit ~580px)
- https://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — 91 chars, ~739px (limit ~580px)
Notices (18 rules)
notice Heading levels skip a level
Rule agent.heading_skip · Agent Readiness · 22 occurrence(s)
- https://fuzzalab.pt/blog/age-personalized-hardware — h3 follows h1 — skips h2
- https://fuzzalab.pt/blog/ai-margin-collapse-glm-52 — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/claude-code-vs-opencode-tokens — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/clawk-coding-agents-vm — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — h4 follows h1 — skips h2
- https://fuzzalab.pt/blog/glm-5.2-vs-claude-opus — h4 follows h1 — skips h2
- https://fuzzalab.pt/blog/guardian-angels-llm-personalization — h4 follows h1 — skips h2
- https://fuzzalab.pt/blog/ia-suprime-pensamento-critico — h3 follows h1 — skips h2
- https://fuzzalab.pt/blog/linux-011-rewritten-rust — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/love-llms-hate-hype-geohot — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/microsoft-comic-chat-open-source — h4 follows h1 — skips h2
- https://fuzzalab.pt/blog/reflexao-mjd-web-tech — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/roman-concrete-self-healing — h4 follows h1 — skips h2
- https://fuzzalab.pt/blog/solod-go-better-c — h4 follows h1 — skips h2
- https://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/the-insider-investigacao-russia — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/tldraw-agent-draw — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/usb-type-c-engineers-guide — h4 follows h1 — skips h2
- https://fuzzalab.pt/blog/why-lisp — h5 follows h2 — skips h3
- https://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — h5 follows h2 — skips h3
- https://fuzzalab.pt/shouts/ — h3 follows h1 — skips h2
- https://fuzzalab.pt/shouts/?tag=LLM — h3 follows h1 — skips h2
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://fuzzalab.pt/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 50 occurrence(s)
- https://fuzzalab.pt/ — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/ai-2040-cenarios-futuro — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/claude-code-bun-rust — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/claude-code-vs-opencode-tokens — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/clawk-coding-agents-vm — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/codex-encrypting-sub-agent-prompts — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/github-codeberg-self-hosting — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/gpt-56-resolve-gap-30-anos-otimizacao-convexa — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/guardian-angels-llm-personalization — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/hardware-nao-e-tao-dificil — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/ia-suprime-pensamento-critico — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/inteligencia-neuronios-unicos — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/linux-011-rewritten-rust — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/love-llms-hate-hype-geohot — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/microsoft-comic-chat-open-source — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/openai-codex-reduz-contexto — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/pipeline-deep-research-tokens — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/roman-concrete-self-healing — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/solod-go-better-c — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/usb-type-c-engineers-guide — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/shouts/ — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
- https://fuzzalab.pt/shouts/?tag=LLM — Cache-Control: no-cache, no-store, must-revalidate · cloudflare: DYNAMIC
notice Multiple <h1> elements
Rule h1.multiple · Headings · 4 occurrence(s)
- https://fuzzalab.pt/blog/clawk-coding-agents-vm — 2 <h1> elements
- https://fuzzalab.pt/blog/pruning-rag-context — 2 <h1> elements
- https://fuzzalab.pt/shouts/ — 2 <h1> elements
- https://fuzzalab.pt/shouts/?tag=LLM — 2 <h1> elements
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 9 occurrence(s)
- https://fuzzalab.pt/blog/clawk-coding-agents-vm — the likely hero/LCP image (thumb.svg) 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://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — the likely hero/LCP image (thumb.svg) 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://fuzzalab.pt/blog/ios-ocr-server-vision-framework — the likely hero/LCP image (thumb.svg) 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://fuzzalab.pt/blog/microsoft-comic-chat-open-source — the likely hero/LCP image (thumb.svg) 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://fuzzalab.pt/blog/roman-concrete-self-healing — the likely hero/LCP image (thumb.svg) 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://fuzzalab.pt/blog/solod-go-better-c — the likely hero/LCP image (thumb.svg) 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://fuzzalab.pt/blog/tmux-no-macos — the likely hero/LCP image (thumb.svg) 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://fuzzalab.pt/blog/usb-type-c-engineers-guide — the likely hero/LCP image (thumb.svg) 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://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — the likely hero/LCP image (youtrackdb-thumbnail.svg) 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 · 10 occurrence(s)
- https://fuzzalab.pt/ — 1 of 1 images without width/height
- https://fuzzalab.pt/blog/clawk-coding-agents-vm — 1 of 1 images without width/height
- https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — 1 of 1 images without width/height
- https://fuzzalab.pt/blog/ios-ocr-server-vision-framework — 2 of 2 images without width/height
- https://fuzzalab.pt/blog/microsoft-comic-chat-open-source — 1 of 1 images without width/height
- https://fuzzalab.pt/blog/roman-concrete-self-healing — 1 of 1 images without width/height
- https://fuzzalab.pt/blog/solod-go-better-c — 1 of 1 images without width/height
- https://fuzzalab.pt/blog/tmux-no-macos — 1 of 1 images without width/height
- https://fuzzalab.pt/blog/usb-type-c-engineers-guide — 1 of 1 images without width/height
- https://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — 1 of 1 images without width/height
notice Internal link has no anchor text / accessible name
Rule links.no_anchor_text · Links · 47 occurrence(s)
- https://fuzzalab.pt/blog/ai-2040-cenarios-futuro — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/claude-code-bun-rust — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/claude-code-vs-opencode-tokens — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/clawk-coding-agents-vm — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/codex-encrypting-sub-agent-prompts — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/github-codeberg-self-hosting — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/gpt-56-resolve-gap-30-anos-otimizacao-convexa — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/guardian-angels-llm-personalization — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/hardware-nao-e-tao-dificil — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/ia-suprime-pensamento-critico — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/inteligencia-neuronios-unicos — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/linux-011-rewritten-rust — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/love-llms-hate-hype-geohot — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/microsoft-comic-chat-open-source — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/openai-codex-reduz-contexto — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/pipeline-deep-research-tokens — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/roman-concrete-self-healing — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/solod-go-better-c — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/the-insider-investigacao-russia — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/tldraw-agent-draw — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/usb-type-c-engineers-guide — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/why-lisp — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
- https://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
notice Meta description too long
Rule meta_desc.too_long · Meta Description · 39 occurrence(s)
- https://fuzzalab.pt/blog/ai-2040-cenarios-futuro — 190 chars
- https://fuzzalab.pt/blog/alemanha-migrantes-trabalho-qualificado — 162 chars
- https://fuzzalab.pt/blog/bug-left-handed-users — 173 chars
- https://fuzzalab.pt/blog/claude-code-vs-opencode-tokens — 174 chars
- https://fuzzalab.pt/blog/clawk-coding-agents-vm — 191 chars
- https://fuzzalab.pt/blog/codex-encrypting-sub-agent-prompts — 200 chars
- https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — 200 chars
- https://fuzzalab.pt/blog/github-codeberg-self-hosting — 200 chars
- https://fuzzalab.pt/blog/gpt-56-resolve-gap-30-anos-otimizacao-convexa — 200 chars
- https://fuzzalab.pt/blog/guardian-angels-llm-personalization — 200 chars
- https://fuzzalab.pt/blog/hardware-nao-e-tao-dificil — 169 chars
- https://fuzzalab.pt/blog/inteligencia-neuronios-unicos — 200 chars
- https://fuzzalab.pt/blog/linux-011-rewritten-rust — 200 chars
- https://fuzzalab.pt/blog/love-llms-hate-hype-geohot — 167 chars
- https://fuzzalab.pt/blog/microsoft-comic-chat-open-source — 199 chars
- https://fuzzalab.pt/blog/pipeline-deep-research-tokens — 173 chars
- https://fuzzalab.pt/blog/roman-concrete-self-healing — 200 chars
- https://fuzzalab.pt/blog/solod-go-better-c — 200 chars
- https://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — 200 chars
- https://fuzzalab.pt/blog/taocp-knuth-classico — 175 chars
- https://fuzzalab.pt/blog/the-insider-investigacao-russia — 200 chars
- https://fuzzalab.pt/blog/tldraw-agent-draw — 200 chars
- https://fuzzalab.pt/blog/usb-type-c-engineers-guide — 200 chars
- https://fuzzalab.pt/blog/why-lisp — 200 chars
- https://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — 200 chars
notice Missing Open Graph tags
Rule og.missing · Social · 3 occurrence(s)
- https://fuzzalab.pt/blog/alwide-tui-ide-terminal — og:description
- https://fuzzalab.pt/blog/ios-ocr-server-vision-framework — og:title, og:description
- https://fuzzalab.pt/blog/syswatch-tui-monitorizacao — og:description
notice No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 50 occurrence(s)
- https://fuzzalab.pt/ — 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://fuzzalab.pt/blog/ai-2040-cenarios-futuro — 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://fuzzalab.pt/blog/claude-code-bun-rust — 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://fuzzalab.pt/blog/claude-code-vs-opencode-tokens — 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://fuzzalab.pt/blog/clawk-coding-agents-vm — 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://fuzzalab.pt/blog/codex-encrypting-sub-agent-prompts — 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://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — 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://fuzzalab.pt/blog/github-codeberg-self-hosting — 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://fuzzalab.pt/blog/gpt-56-resolve-gap-30-anos-otimizacao-convexa — 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://fuzzalab.pt/blog/guardian-angels-llm-personalization — 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://fuzzalab.pt/blog/hardware-nao-e-tao-dificil — 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://fuzzalab.pt/blog/ia-suprime-pensamento-critico — 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://fuzzalab.pt/blog/inteligencia-neuronios-unicos — 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://fuzzalab.pt/blog/linux-011-rewritten-rust — 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://fuzzalab.pt/blog/love-llms-hate-hype-geohot — 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://fuzzalab.pt/blog/microsoft-comic-chat-open-source — 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://fuzzalab.pt/blog/openai-codex-reduz-contexto — 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://fuzzalab.pt/blog/pipeline-deep-research-tokens — 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://fuzzalab.pt/blog/roman-concrete-self-healing — 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://fuzzalab.pt/blog/solod-go-better-c — 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://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — 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://fuzzalab.pt/blog/usb-type-c-engineers-guide — 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://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — 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://fuzzalab.pt/shouts/ — 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://fuzzalab.pt/shouts/?tag=LLM — 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 · 47 occurrence(s)
- https://fuzzalab.pt/blog/ai-2040-cenarios-futuro — 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://fuzzalab.pt/blog/claude-code-bun-rust — 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://fuzzalab.pt/blog/claude-code-vs-opencode-tokens — 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://fuzzalab.pt/blog/clawk-coding-agents-vm — 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://fuzzalab.pt/blog/codex-encrypting-sub-agent-prompts — 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://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — 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://fuzzalab.pt/blog/github-codeberg-self-hosting — 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://fuzzalab.pt/blog/gpt-56-resolve-gap-30-anos-otimizacao-convexa — 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://fuzzalab.pt/blog/guardian-angels-llm-personalization — 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://fuzzalab.pt/blog/hardware-nao-e-tao-dificil — 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://fuzzalab.pt/blog/ia-suprime-pensamento-critico — 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://fuzzalab.pt/blog/inteligencia-neuronios-unicos — 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://fuzzalab.pt/blog/linux-011-rewritten-rust — 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://fuzzalab.pt/blog/love-llms-hate-hype-geohot — 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://fuzzalab.pt/blog/microsoft-comic-chat-open-source — 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://fuzzalab.pt/blog/openai-codex-reduz-contexto — 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://fuzzalab.pt/blog/pipeline-deep-research-tokens — 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://fuzzalab.pt/blog/roman-concrete-self-healing — 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://fuzzalab.pt/blog/solod-go-better-c — 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://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — 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://fuzzalab.pt/blog/the-insider-investigacao-russia — 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://fuzzalab.pt/blog/tldraw-agent-draw — 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://fuzzalab.pt/blog/usb-type-c-engineers-guide — 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://fuzzalab.pt/blog/why-lisp — 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://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database — 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 robots.txt missing (root returns 404/none)
Rule robots.txt_missing · Robots · 1 occurrence(s)
- https://fuzzalab.pt/ — robots.txt did not return a 200 at the site root — a healthy site should serve one (declare your sitemap and confirm the host serves root files)
notice Article schema missing recommended properties (Top Stories / image carousel)
Rule schema.article_incomplete · Structured Data · 1 occurrence(s)
- https://fuzzalab.pt/blog/ios-ocr-server-vision-framework — Article structured data is missing recommended property (headline) — these feed Top Stories and image-carousel eligibility. Google defines no required Article properties, so this is advisory: add author, headline, image and datePublished where they apply.
notice Deprecated schema type with no Google rich result
Rule schema.deprecated_type · Structured Data · 1 occurrence(s)
- https://fuzzalab.pt/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
notice No structured data detected
Rule schema.none · Structured Data · 2 occurrence(s)
notice target=_blank link without rel=noopener (tab-napping)
Rule security.unsafe_cross_origin_links · Security · 9 occurrence(s)
- https://fuzzalab.pt/blog/ai-margin-collapse-glm-52 — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://fuzzalab.pt/blog/claude-code-vs-opencode-tokens — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection — 6 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://fuzzalab.pt/blog/love-llms-hate-hype-geohot — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://fuzzalab.pt/blog/microsoft-comic-chat-open-source — 5 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://fuzzalab.pt/blog/roman-concrete-self-healing — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://fuzzalab.pt/blog/solod-go-better-c — 5 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://fuzzalab.pt/blog/styleseed-design-rules-ai-agents — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
- https://fuzzalab.pt/blog/usb-type-c-engineers-guide — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
notice Indexable page not listed in sitemap
Rule sitemap.orphan_not_listed · Sitemap · 1 occurrence(s)
- https://fuzzalab.pt/shouts/ — indexable but not in sitemap
notice Title is very short
Rule title.too_short · Titles · 1 occurrence(s)
| URL | Status | Indexable | Words | In-links |
|---|---|---|---|---|
| https://fuzzalab.pt/shouts/ Shouts — Artigos, Tutoriais e Análises // FUZZALAB |
200 | yes | 54 | 48 |
| https://fuzzalab.pt/shouts/?tag=LLM Shouts — Artigos, Tutoriais e Análises // FUZZALAB |
200 | yes | 54 | 4 |
| https://fuzzalab.pt/ FUZZALAB — Tech, Security & OSINT |
200 | yes | 186 | 0 |
| https://fuzzalab.pt/blog/age-personalized-hardware A Era do Hardware Personalizado Está a Chegar — E isso é Bom — FUZZALAB |
200 | yes | 747 | 0 |
| https://fuzzalab.pt/blog/ai-2040-cenarios-futuro AI 2040 — O Plano Para Sobreviver à Superinteligência — FUZZALAB |
200 | yes | 1373 | 0 |
| https://fuzzalab.pt/blog/ai-margin-collapse-glm-52 O colapso das margens na IA está a chegar — GLM 5.2 é o princípio — FUZZALAB |
200 | yes | 741 | 0 |
| https://fuzzalab.pt/blog/alemanha-migrantes-trabalho-qualificado Alemanha: a máquina de atrair talento que não os consegue lá manter — FUZZALAB |
200 | yes | 758 | 0 |
| https://fuzzalab.pt/blog/alwide-tui-ide-terminal Alwide — O Sublime Text para o Terminal que Não Sabias que Precisavas — FUZZALAB |
200 | yes | 1755 | 0 |
| https://fuzzalab.pt/blog/asahi-linux-progress-7-1 Asahi Linux 7.1: Boot a funcionar no macOS 27, M3 mais suportado e firmware próprio para o decoder de vídeo — FUZZALAB |
200 | yes | 1257 | 0 |
| https://fuzzalab.pt/blog/biosphere-2-experiencia-que-mudou-tudo Biosphere 2: A Experiência Que Mudou a Nossa Compreensão da Terra — FUZZALAB |
200 | yes | 1429 | 0 |
| https://fuzzalab.pt/blog/bug-left-handed-users O bug que só afetava utilizadores canhotos — FUZZALAB |
200 | yes | 648 | 0 |
| https://fuzzalab.pt/blog/claude-code-bun-rust O Claude Code trocou o Node.js pelo Bun. O Bun foi reescrito em Rust. — FUZZALAB |
200 | yes | 321 | 0 |
| https://fuzzalab.pt/blog/claude-code-vs-opencode-tokens Claude Code vs OpenCode: O Preço Oculto dos Tokens — FUZZALAB |
200 | yes | 937 | 0 |
| https://fuzzalab.pt/blog/claude-design-system-prompt Claude Design System Prompt: O Fim dos Layouts com Aspecto de IA — FUZZALAB |
200 | yes | 1170 | 0 |
| https://fuzzalab.pt/blog/clawk-coding-agents-vm clawk — Dá um VM Linux Descartável ao Teu Coding Agent — FUZZALAB |
200 | yes | 1342 | 0 |
| https://fuzzalab.pt/blog/codex-encrypting-sub-agent-prompts Codex está a encriptar os prompts dos sub-agentes — e isso é um problema de auditabilidade — FUZZALAB |
200 | yes | 930 | 0 |
| https://fuzzalab.pt/blog/data-breach-cannabis-club-passaportes Quase um milhão de passaportes expostos: o data breach dos cannabis clubs — FUZZALAB |
200 | yes | 1044 | 0 |
| https://fuzzalab.pt/blog/decoy-font-ai-scraping-protection Decoy Font: Como enganar bots de IA com typography poisoning — FUZZALAB |
200 | yes | 912 | 0 |
| https://fuzzalab.pt/blog/fable5-vending-bench Claude Fable 5 no Vending-Bench: o modelo que mente, engana e racionaliza — FUZZALAB |
200 | yes | 781 | 0 |
| https://fuzzalab.pt/blog/github-codeberg-self-hosting Porque é que developers estão a trocar o GitHub pelo Codeberg e self-hosting — FUZZALAB |
200 | yes | 894 | 0 |
| https://fuzzalab.pt/blog/glm-5.2-vs-claude-opus GLM-5.2 vs Claude Opus 4.8 — O Open Weights Está a Apanhar os Modelos Fechados? — FUZZALAB |
200 | yes | 1844 | 0 |
| https://fuzzalab.pt/blog/gpt-56-resolve-gap-30-anos-otimizacao-convexa GPT-5.6 fechou um gap de 30 anos em otimização convexa — com um prompt — FUZZALAB |
200 | yes | 985 | 0 |
| https://fuzzalab.pt/blog/guardian-angels-llm-personalization Guardian Angels: A Visão de Gwern para LLMs Personalizados — FUZZALAB |
200 | yes | 1029 | 0 |
| https://fuzzalab.pt/blog/hardware-nao-e-tao-dificil Hardware nao e tao dificil — 2500 gravadores MIDI depois — FUZZALAB |
200 | yes | 288 | 0 |
| https://fuzzalab.pt/blog/ia-suprime-pensamento-critico Quando a IA nos faz acreditar que o errado e certo — FUZZALAB |
200 | yes | 276 | 0 |
| https://fuzzalab.pt/blog/inteligencia-neuronios-unicos Devemos a Nossa Inteligência aos Neurónios Únicos do Cérebro Humano — FUZZALAB |
200 | yes | 877 | 0 |
| https://fuzzalab.pt/blog/ios-ocr-server-vision-framework — FUZZALAB |
200 | yes | 1443 | 0 |
| https://fuzzalab.pt/blog/late-sh-terminal-clubhouse late.sh — O Clube Social Terminal que Está a Juntar Developers via SSH — FUZZALAB |
200 | yes | 1493 | 0 |
| https://fuzzalab.pt/blog/lidless-mac-acordado-tampa-fechada Lidless: manter o MacBook acordado com a tampa fechada (sem monitor externo) — FUZZALAB |
200 | yes | 1284 | 0 |
| https://fuzzalab.pt/blog/linux-011-rewritten-rust Linux 0.11 Reescrito em Rust — Uma Viagem ao Início de Tudo — FUZZALAB |
200 | yes | 1058 | 0 |
| https://fuzzalab.pt/blog/love-llms-hate-hype-geohot I Love LLMs, I Hate Hype — a Reflexão do GeoHot que Precisavas de Ler — FUZZALAB |
200 | yes | 823 | 0 |
| https://fuzzalab.pt/blog/memoria-persistente-agentes-ai Memória Persistente para Agentes de IA — Porque é que Precisas de Muito Mais que um Contexto — FUZZALAB |
200 | yes | 1335 | 0 |
| https://fuzzalab.pt/blog/microsoft-comic-chat-open-source Microsoft Comic Chat: O IRC que falava em banda desenhada (e agora é open source) — FUZZALAB |
200 | yes | 944 | 0 |
| https://fuzzalab.pt/blog/openai-broadcom-jalapeno-chip Jalapeño: O Primeiro Chip da OpenAI para Inferência de LLMs — FUZZALAB |
200 | yes | 1921 | 0 |
| https://fuzzalab.pt/blog/openai-codex-reduz-contexto OpenAI Reduz Contexto do Codex de 372k para 272k — E Isso E Bom — FUZZALAB |
200 | yes | 246 | 0 |
| https://fuzzalab.pt/blog/pipeline-deep-research-tokens Queimei todos os meus tokens a pesquisar como poupar tokens — FUZZALAB |
200 | yes | 274 | 0 |
| https://fuzzalab.pt/blog/pruning-rag-context Como ensinámos um modelo pequeno a cortar 68% do contexto RAG — FUZZALAB |
200 | yes | 979 | 0 |
| https://fuzzalab.pt/blog/reflexao-mjd-web-tech O Propósito Esquecido da Code Review — Uma Reflexão — FUZZALAB |
200 | yes | 797 | 0 |
| https://fuzzalab.pt/blog/reliable-agentic-ai-bayer-prince A Construir Sistemas Agentic AI Fiáveis: O Caso do PRINCE na Bayer — FUZZALAB |
200 | yes | 1620 | 0 |
| https://fuzzalab.pt/blog/roman-concrete-self-healing Betão Romano: O sistema que se auto-repara (e o que os devs podem aprender com ele) — FUZZALAB |
200 | yes | 1040 | 0 |
| https://fuzzalab.pt/blog/solod-go-better-c Solod: Go pode ser um C melhor (sem GC, sem runtime, com tooling do Go) — FUZZALAB |
200 | yes | 898 | 0 |
| https://fuzzalab.pt/blog/styleseed-design-rules-ai-agents StyleSeed: Design Rules para Agentes de IA Deixarem de Fazer UI Genérica — FUZZALAB |
200 | yes | 1203 | 0 |
| https://fuzzalab.pt/blog/syswatch-tui-monitorizacao SysWatch — Diagnóstico de Sistema no Terminal (sem Sudo, sem Chatice) — FUZZALAB |
200 | yes | 1225 | 0 |
| https://fuzzalab.pt/blog/taocp-knuth-classico TAOCP: O Monumento Inacabado de Knuth — FUZZALAB |
200 | yes | 844 | 0 |
| https://fuzzalab.pt/blog/the-insider-investigacao-russia Rússia e China preparam-se para abater o Starlink: o que revelam os documentos secretos — FUZZALAB |
200 | yes | 842 | 0 |
| https://fuzzalab.pt/blog/tldraw-agent-draw Agent Draw: Quando um Agente de IA Desenha por Ti no TLDraw — FUZZALAB |
200 | yes | 948 | 0 |
| https://fuzzalab.pt/blog/tmux-no-macos tmux no macOS — Guia Completo de Instalação, Configuração e Produtividade — FUZZALAB |
200 | yes | 2108 | 0 |
| https://fuzzalab.pt/blog/usb-type-c-engineers-guide USB Type-C por dentro: CC pins, Power Delivery e debugging no terminal — FUZZALAB |
200 | yes | 1023 | 0 |
| https://fuzzalab.pt/blog/why-lisp Porque é que Lisp é Importante — Uma Reflexão — FUZZALAB |
200 | yes | 903 | 0 |
| https://fuzzalab.pt/blog/youtrackdb-jetbrains-graph-database YouTrackDB: a base de dados orientada a objetos da JetBrains que corre em grafos — FUZZALAB |
200 | yes | 1471 | 0 |
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.