Catalog / devbj.com
65

SEO audit for devbj.com

DevBJ

other

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

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

자동차 진단 통신, 임베디드 네트워크, FPGA/ASIC 문제를 기록하는 기술 블로그입니다.

Screenshot of devbj.com
50
pages crawled
50
indexable pages
0
errors
120
warnings
260
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 39 0 101 0
Duplicate 93 0 12 22
Content 98 0 4 3
Titles 99 0 2 18
AI Content 99 0 1 0
Agent Readiness 100 0 0 2
Crawlability 100 0 0 3
Headings 100 0 0 1
Images 100 0 0 50
Meta Description 100 0 0 6
Performance 100 0 0 51
Security 100 0 0 50
Sitemap 100 0 0 3
Social 100 0 0 50
Structured Data 100 0 0 1
Findings

Warnings (6 rules)

warning Unfilled template or prompt-leak text

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

  • https://devbj.com/posts/astro-github-actions-cache-build/ — The page contains unfilled template or prompt-echo text — e.g. "[[ github.sha ]]". 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 Thin content (low word count)

Rule content.thin · Content · 4 occurrence(s)

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)

  • https://devbj.com/ — http://devbj.com/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Duplicate <title> across pages

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

warning Internal link points to a redirect

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

warning Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 2 occurrence(s)

Notices (15 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

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

notice Low text-to-HTML ratio

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

notice Duplicate meta description across pages

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

  • https://devbj.com/ — meta description shared by 22 pages: https://devbj.com/category/, https://devbj.com/category/dev/, https://devbj.com/posts/
  • https://devbj.com/archives — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/category/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/dev/, https://devbj.com/posts/
  • https://devbj.com/category/dev/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/posts/
  • https://devbj.com/category/dev/2 — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/category/doip/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/category/fpga-asic/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/category/lwip/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/category/tech/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/category/tools/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/2/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/3/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/4/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/5/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/6/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/7/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/8/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/posts/9/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/search — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/tags/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/
  • https://devbj.com/tags/arp/ — meta description shared by 22 pages: https://devbj.com/, https://devbj.com/category/, https://devbj.com/category/dev/

notice Multiple <h1> elements

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

notice Likely hero image lacks fetchpriority=high

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

  • https://devbj.com/ — the likely hero/LCP image (favicon.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://devbj.com/about/ — the likely hero/LCP image (favicon.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://devbj.com/archives — the likely hero/LCP image (favicon.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://devbj.com/category/ — the likely hero/LCP image (favicon.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://devbj.com/category/dev/ — the likely hero/LCP image (favicon.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://devbj.com/category/dev/2 — the likely hero/LCP image (favicon.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://devbj.com/category/doip/ — the likely hero/LCP image (favicon.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://devbj.com/category/fpga-asic/ — the likely hero/LCP image (favicon.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://devbj.com/category/lwip/ — the likely hero/LCP image (favicon.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://devbj.com/category/tech/ — the likely hero/LCP image (favicon.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://devbj.com/category/tools/ — the likely hero/LCP image (favicon.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://devbj.com/editorial-policy/ — the likely hero/LCP image (favicon.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://devbj.com/posts/ — the likely hero/LCP image (favicon.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://devbj.com/posts/2/ — the likely hero/LCP image (favicon.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://devbj.com/posts/3/ — the likely hero/LCP image (favicon.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://devbj.com/posts/4/ — the likely hero/LCP image (favicon.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://devbj.com/posts/5/ — the likely hero/LCP image (favicon.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://devbj.com/posts/6/ — the likely hero/LCP image (favicon.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://devbj.com/posts/7/ — the likely hero/LCP image (favicon.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://devbj.com/posts/8/ — the likely hero/LCP image (favicon.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://devbj.com/posts/9/ — the likely hero/LCP image (favicon.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://devbj.com/posts/ai-blog-topic-automation-pattern/ — the likely hero/LCP image (favicon.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://devbj.com/search — the likely hero/LCP image (favicon.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://devbj.com/tags/ — the likely hero/LCP image (favicon.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://devbj.com/tags/arp/ — the likely hero/LCP image (favicon.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 · 50 occurrence(s)

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 1 occurrence(s)

  • https://devbj.com/archives — the page has 5450 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.

notice URL redirects to another URL

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

notice Deep page has no BreadcrumbList structured data

Rule schema.breadcrumb_missing · Structured Data · 1 occurrence(s)

notice Missing recommended security headers

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

notice Indexable page not listed in sitemap

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://devbj.com/
DevBJ
200 yes 748 50
https://devbj.com/about/
About DevBJ | Embedded and FPGA Technical Notes
200 yes 483 50
https://devbj.com/archives
Archives | DevBJ
200 yes 4180 50
https://devbj.com/editorial-policy/
편집 원칙과 AI 사용 | DevBJ
200 yes 255 50
https://devbj.com/posts/
Posts | DevBJ
200 yes 348 50
https://devbj.com/search
Search | DevBJ
200 yes 40 50
https://devbj.com/tags/
Tags | DevBJ
200 yes 871 50
https://devbj.com/category/fpga-asic/
FPGA/ASIC | DevBJ
200 yes 417 6
https://devbj.com/category/dev/
Dev | DevBJ
200 yes 855 11
https://devbj.com/category/lwip/
lwIP | DevBJ
200 yes 1125 12
https://devbj.com/posts/astro-public-vs-dist/
Astro public과 dist 폴더는 무엇이 다른가 | DevBJ
200 yes 831 20
https://devbj.com/category/doip/
DoIP | DevBJ
200 yes 1435 12
https://devbj.com/posts/astro-adsense-script/
Astro에서 AdSense가 페이지 전환 후 안 보일 때 확인할 것 | DevBJ
200 yes 846 21
https://devbj.com/posts/astro-ghpages-custom-domain/
Astro와 GitHub Pages: 커스텀 도메인으로 기술 블로그 배포하기 | DevBJ
200 yes 1265 21
https://devbj.com/posts/astro-mdx-techblog-setup/
Astro와 MDX로 기술 블로그 구축하기 (1편): 개발 환경 설정 | DevBJ
200 yes 1145 21
https://devbj.com/posts/ai-blog-topic-automation-pattern/
Codex로 기술 블로그를 쓸 때 AI와 사람이 나눠야 할 일 | DevBJ
200 yes 652 20
https://devbj.com/posts/astro-tailwind-layout-gap-fix/
Astro Tailwind 레이아웃에서 오른쪽 여백이 남을 때 확인할 것 | DevBJ
200 yes 926 20
https://devbj.com/posts/astro-category-roadmap-page/
Astro 카테고리 페이지를 목차처럼 만들면 오래된 글도 다시 읽힌다 | DevBJ
200 yes 902 20
https://devbj.com/posts/astro-content-collections-frontmatter/
Astro Content Collections, 글이 많아질수록 frontmatter 정리가 먼저다 | DevBJ
200 yes 1061 20
https://devbj.com/posts/astro-og-image-cache-build-speed/
Astro 블로그 빌드가 느릴 때, OG 이미지 캐시로 줄이는 방법 | DevBJ
200 yes 1079 20
https://devbj.com/posts/astro-pagefind-search-static-blog/
Astro 블로그 검색 붙이기, Pagefind가 잘 맞는 이유 | DevBJ
200 yes 940 20
https://devbj.com/posts/astro-dev-vs-build-debug/
Astro dev에서는 되는데 build 후 깨질 때 보는 순서 | DevBJ
200 yes 918 19
https://devbj.com/posts/astro-dynamic-og-template/
Astro 동적 OG 이미지, 템플릿과 캐시를 분리해서 봐야 한다 | DevBJ
200 yes 907 19
https://devbj.com/posts/astro-github-actions-cache-build/
Astro GitHub Actions 빌드 캐시, 매번 느린 배포를 줄이는 법 | DevBJ
200 yes 911 19
https://devbj.com/posts/astro-image-public-assets-strategy/
Astro 이미지 관리, public과 src/assets는 언제 나눠야 할까 | DevBJ
200 yes 902 19
https://devbj.com/posts/astro-markdown-codeblock-copy-button/
Astro Markdown 코드블록에 파일명과 복사 버튼을 붙이면 글이 읽기 쉬워진다 | DevBJ
200 yes 918 19
https://devbj.com/posts/astro-rss-sitemap-indexing-checklist/
Astro RSS와 sitemap 체크리스트, 글을 써도 검색엔진이 못 찾으면 소용없다 | DevBJ
200 yes 879 19
https://devbj.com/tags/arp/
Tag: ARP | DevBJ
200 yes 157 4
https://devbj.com/category/tech/
Tech | DevBJ
200 yes 158 6
https://devbj.com/category/tools/
Tools | DevBJ
200 yes 682 6
https://devbj.com/category/
Categories | DevBJ
200 yes 59 7
https://devbj.com/posts/doip-diagnostic-message-isotp-confusion/
DoIP에서 UDS를 ISO-TP처럼 자르면 안 된다: Diagnostic Message 경계를 먼저 봐야 한다 | DevBJ
200 yes 1462 12
https://devbj.com/posts/doip-ecu-reset-reconnect/
DoIP에서 ECU Reset 후 다시 안 붙는다: 소켓 종료와 재연결 순서를 같이 봐야 한다 | DevBJ
200 yes 1354 12
https://devbj.com/posts/doip-alive-check-and-keepalive/
DoIP 통신이 가끔 끊긴다: Alive Check / TCP Keepalive / Tester Present를 분리해서 보자 | DevBJ
200 yes 1227 12
https://devbj.com/posts/doip-diagnostic-ack-nack/
DoIP에서 ACK를 받았는데 UDS 응답이 없다: Diagnostic ACK/NACK를 제대로 쓰는 법 | DevBJ
200 yes 1170 12
https://devbj.com/posts/doip-functional-address/
DoIP Functional Address는 왜 응답이 이상하게 보일까 | DevBJ
200 yes 1473 12
https://devbj.com/posts/doip-diagnostic-message/
DoIP Diagnostic Message, UDS가 실제로 어떻게 실리는지 보자 | DevBJ
200 yes 1162 12
https://devbj.com/posts/doip-entity-status-power-mode/
DoIP는 붙었는데 진단이 안 된다: Entity Status/Power Mode로 상태부터 확인하기 | DevBJ
200 yes 1283 12
https://devbj.com/posts/doip-firmware-transfer/
DoIP Firmware Download에서 갑자기 문제가 터지는 이유 | DevBJ
200 yes 1295 12
https://devbj.com/posts/doip-gateway-routing/
DoIP Gateway 구조를 이해해야 ECU가 보인다 | DevBJ
200 yes 1283 12
https://devbj.com/posts/2/
Posts | DevBJ
200 yes 574 2
https://devbj.com/posts/astro-layout-custom/
Astro 블로그 본문 너비 확장 및 사이드바 광고 레이아웃 구현 (Tailwind v4) | DevBJ
200 yes 582 4
https://devbj.com/posts/3/
Posts | DevBJ
200 yes 619 2
https://devbj.com/category/dev/2
Dev | DevBJ
200 yes 446 1
https://devbj.com/posts/4/
Posts | DevBJ
200 yes 655 2
https://devbj.com/posts/5/
Posts | DevBJ
200 yes 443 2
https://devbj.com/posts/6/
Posts | DevBJ
200 yes 434 2
https://devbj.com/posts/7/
Posts | DevBJ
200 yes 498 2
https://devbj.com/posts/8/
Posts | DevBJ
200 yes 576 2
https://devbj.com/posts/9/
Posts | DevBJ
200 yes 420 1

Audit your own site — free

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

Scan your site →