저는 블로그 이미지가 SEO에 이렇게 큰 영향을 줄 줄 몰랐습니다. 키워드 배치에 공들이고, 내부링크 구조도 꼼꼼히 짰는데 검색 노출이 기대만큼 오르지 않았습니다. 결국 문제는 제가 신경도 쓰지 않던 이미지였습니다. 직접 겪어보고 나서야, 이미지 최적화가 선택이 아니라 기본기라는 걸 뼈저리게 느꼈습니다.
돌이켜보면 이미지는 SEO에서 가장 쉽게 놓치는 부분이기도 합니다. 텍스트는 눈에 바로 보이니까 신경 쓰게 되는데, 이미지는 화면에 잘 보이면 그걸로 끝났다고 생각하게 됩니다. 구글 크롤러가 이미지를 어떻게 인식하는지에 대한 감각 자체가 없었던 거죠. 그 감각이 생긴 건 서치 콘솔 경고를 몸으로 맞고 나서였습니다.
블로그를 운영하면서 이미지 최적화를 우선순위 아래로 미루는 분들을 많이 봅니다. 저도 그랬으니까요. "일단 글부터 잘 쓰자"는 생각이 앞서다 보면 이미지는 그냥 올리는 것으로 끝내게 됩니다. 그런데 그렇게 쌓인 최적화되지 않은 이미지들이 결국 페이지 전체의 속도를 갉아먹고, SEO 점수를 끌어내립니다. 나중에 몰아서 수정하는 게 훨씬 더 힘들다는 것도 직접 겪어봤습니다.
alt 텍스트와 파일명, 구글 로봇이 읽는 것들
처음에 저는 이미지를 올릴 때 alt 속성을 거의 비워뒀습니다. 귀찮기도 했고, 솔직히 그게 뭔 차이를 만드나 싶었습니다. 그런데 alt 속성(Alternative Text)이란 이미지를 눈으로 볼 수 없는 환경, 즉 구글 크롤러나 스크린 리더가 이미지를 인식하기 위해 읽는 텍스트 정보입니다. 구글 봇은 이미지를 시각적으로 판단하지 못하고 alt 텍스트만으로 해당 이미지가 무엇인지 파악합니다. "image1"이나 아무 내용도 없이 비워두면, 구글 입장에서는 그 이미지가 아예 없는 것이나 다름없습니다.
파일명도 마찬가지였습니다. 제가 처음에 올리던 이미지 파일명은 전부 IMG_20260101.jpg 같은 형태였습니다. 이 상태로 수십 장을 올렸으니 구글이 이미지 내용을 파악할 단서가 전혀 없었던 셈입니다. 지금은 파일명을 tistory-image-optimization.webp처럼 내용을 설명하는 형태로 바꾸는 걸 습관으로 삼고 있습니다. 작업 자체는 파일 이름 바꾸기 하나지만, 구글에게 넘기는 정보량은 완전히 달라집니다.
제가 여기서 비판적으로 보는 부분이 하나 있습니다. SEO 관련 글들을 보면 키워드 밀도나 내부링크에 집중하는 경향이 있는데, 정작 alt 텍스트를 어떻게 써야 하는지 제대로 설명하는 글은 드뭅니다. alt 텍스트를 형식적으로 채우는 것과 구글 크롤러가 실제로 활용할 수 있는 정보로 채우는 것은 전혀 다른 결과를 낳습니다. "블로그 이미지"나 "사진1" 같은 표현은 구글에게 아무 정보도 주지 않습니다. 구체적인 맥락과 핵심어가 함께 담긴 alt 텍스트가 진짜 역할을 합니다.
구글은 Core Web Vitals(코어 웹 바이탈) 지표를 SEO 순위에 직접 반영합니다. 여기서 Core Web Vitals란 페이지 로딩 속도, 시각적 안정성, 상호작용 반응성을 종합적으로 측정하는 구글의 사용자 경험 평가 기준입니다. 이미지가 최적화되지 않으면 이 지표 자체가 무너집니다. 이미지 최적화에서 챙겨야 할 핵심 포인트를 정리하면 다음과 같습니다. alt 속성에 이미지 내용을 구체적으로 서술할 것, 파일명을 IMG_001.jpg 대신 내용 설명형으로 변경할 것, WebP 포맷으로 변환해 용량을 200KB 이하로 압축할 것, img 태그에 loading="lazy" 속성을 추가해 지연 로딩을 적용할 것.
WebP 변환과 lazy loading, 직접 해보니 달랐습니다
제가 이미지 최적화의 심각성을 처음 실감한 건 어느 날 제 블로그를 모바일로 열었을 때였습니다. 이미지 하나가 화면에 뜨는 데 4~5초가 걸렸습니다. 데스크톱으로 볼 땐 몰랐는데, 모바일 환경에서 보니 페이지 자체가 버거워하는 게 눈에 보였습니다. 4~5MB짜리 원본 사진을 포스팅 하나에 대여섯 장씩 넣고 있었으니 당연한 결과였습니다. 그 직후 구글 서치 콘솔에서도 속도 관련 경고 메시지가 뜨기 시작했고, 그때부터 본격적으로 이미지 최적화 작업을 시작했습니다.
제가 직접 써본 도구는 Squoosh입니다. WebP(Web Picture Format)란 구글이 개발한 차세대 이미지 포맷으로, JPEG나 PNG 대비 동일한 화질에서 파일 크기를 평균 25~35% 이상 줄일 수 있습니다. Squoosh에서 이미지를 불러와 WebP로 변환하면 원본 4MB짜리 사진이 150~180KB 수준으로 줄어드는 경우도 있었습니다. 용량이 20분의 1 이하로 줄어드는 셈입니다. 작업 시간은 이미지 한 장당 1분이 채 안 걸렸고, 포스팅 전체를 처리해도 5분 안팎이었습니다.
한 가지 비판적으로 짚고 싶은 게 있습니다. WebP 변환 도구를 소개하는 글들은 많은데, "왜 WebP인가"를 제대로 설명하는 글은 드뭅니다. 단순히 "용량이 줄어든다"는 설명으로 끝내는 경우가 많은데, 실제로 중요한 건 용량 감소가 Core Web Vitals 지표에 직접 영향을 주고, 그게 곧 검색 순위와 연결된다는 인과관계입니다. 이 흐름을 이해하지 못하면 WebP 변환을 한 번 하고 끝내거나, 새 포스팅에서 다시 원본 이미지를 올리는 실수를 반복하게 됩니다. 저도 초반에 그랬습니다. 변환을 한 번 해놓고 "이제 됐다"고 생각했다가, 다음 포스팅에서 아무 생각 없이 원본을 올리는 패턴이 반복됐습니다. 습관이 만들어지기 전까지는 의식적으로 체크리스트를 두는 게 필요합니다.
lazy loading(지연 로딩)도 챙겨야 하는 요소입니다. 지연 로딩이란 페이지를 처음 열었을 때 화면에 보이는 이미지만 먼저 불러오고, 스크롤을 내릴 때 나머지 이미지를 순차적으로 로드하는 방식입니다. 이미지가 많은 포스팅일수록 초기 로딩 속도 차이가 확실했습니다. 페이지 속도는 독자 이탈률과도 직결됩니다. 구글의 자체 분석에 따르면, 모바일 페이지 로딩이 3초를 넘어가면 사용자의 53% 이상이 페이지를 이탈한다는 결과가 있습니다. 텍스트를 아무리 잘 써도 페이지가 3초 안에 열리지 않으면 독자는 이미 나간 뒤입니다.
그리고 구글 애드센스 심사 역시 페이지 속도와 사용자 경험을 반영하는 만큼, 이미지 최적화를 미루는 건 심사 자체를 불리하게 만드는 일이기도 합니다. 이 점은 많은 분들이 간과하는 부분입니다. 심사를 위한 콘텐츠를 열심히 쌓으면서, 정작 심사에 영향을 주는 기술적 요소들을 방치하는 경우가 많습니다. 이미지 최적화 작업 이후 제 블로그를 모바일로 열 때 더 이상 답답함이 없습니다.
이미지 최적화는 한 번 흐름을 잡으면 포스팅마다 추가 시간이 거의 들지 않습니다. 아직 원본 이미지를 그대로 올리고 있다면, 다음 포스팅부터 Squoosh로 WebP 변환 하나만 먼저 적용해보시길 권합니다. 작은 습관 하나가 검색 노출과 독자 경험 모두를 바꿔놓습니다.
참고: Squoosh / Google Search Console