iPhone HEIC 사진과 WordPress: 변환 없이 업로드하는 방법
2017년 이후 출시된 모든 iPhone은 기본적으로 HEIC 포맷으로 사진을 찍습니다. 2024년 이전에 만들어진 모든 WordPress 사이트는 HEIC 파일 업로드를 거부했습니다. 이 불일치 때문에 15년간 WordPress 사이트를 만들면서 겪은 어떤 포맷 문제보다 더 많은 혼란이 생겼습니다.
2024년 말 WordPress 6.7이 네이티브 HEIC 지원을 추가하면서 상황이 나아졌습니다. 하지만 "나아진 것"과 "해결된 것"은 같지 않습니다. HEIC 업로드가 조용히 실패하는 호스팅 환경, 이 포맷을 처리하지 못하는 플러그인, 그리고 포럼에 떠도는 수많은 엇갈리는 조언이 아직 남아 있습니다.
수십 개의 클라이언트 사이트에서 실제로 이 문제를 다루며 배운 것을 공유합니다.
HEIC가 실제로 뭔가
HEIC(High Efficiency Image Container)는 H.265 압축을 사용하는 HEIF 이미지 포맷을 담는 컨테이너입니다. Apple이 iOS 11에서 채택한 이유는 같은 화질에서 JPEG보다 약 40~50% 작은 파일을 만들기 때문입니다. JPEG으로 6MB인 일반적인 iPhone 사진이 HEIC으로는 약 3MB가 됩니다.
이 크기 차이는 셀룰러로 업로드할 때 중요하고, WordPress 서버의 저장 공간에서도 중요합니다. 더 작은 파일, 같은 품질. 포맷 자체에는 단점이 없습니다.
단점은 호환성입니다. 수년간 Apple 생태계 밖의 거의 아무것도 HEIC 파일을 열 수 없었습니다. Windows는 2018년에 지원을 추가했고, Android는 2019년이었습니다. WordPress는 2024년 말 버전 6.7에서야 추가했으며, 그것도 서버에 적절한 이미지 처리 라이브러리가 설치되어 있어야 합니다.
WordPress 6.7 HEIC 지원: 무엇이 바뀌었나
6.7 이전에는 .heic 파일을 WordPress에 업로드하면 "보안상의 이유로 이 파일 유형은 허용되지 않습니다"라는 일반적인 에러가 나왔습니다. 해결 방법은 업로드 전에 모든 사진을 JPEG으로 변환하거나(번거롭습니다), functions.php에 MIME 타입 허용 목록을 추가하는 코드 스니펫을 넣는 것이었습니다(서버가 실제로 파일을 처리할 수 없다면 위험합니다).
WordPress 6.7은 HEIC를 허용 파일 유형 목록에 추가하고, HEIC 파일에서 썸네일을 생성하는 기본 지원을 포함했습니다. 서버에 HEIF 지원이 포함된 ImageMagick(또는 GD용 libheif)이 있다면, WordPress가 이제 HEIC를 네이티브로 처리할 수 있습니다.
여기서 중요한 건 "있다면"입니다.
잘 되는 곳
대부분의 최신 매니지드 호스팅(Cloudways, Kinsta, SiteGround의 새 인프라)은 HEIF 지원이 포함된 ImageMagick을 갖추고 있습니다. 이런 호스팅에서 WordPress 6.7 이상을 사용한다면, HEIC 업로드가 그냥 되어야 합니다.
안 되는 곳
오래된 인프라의 공유 호스팅은 될 수도 있고 안 될 수도 있습니다. 많은 저가 호스팅이 HEIF 지원이 없는 구버전 ImageMagick을 사용합니다. 업로드는 성공할 수 있지만(파일이 서버에 도착), WordPress가 썸네일을 생성하지 못합니다. 미디어 라이브러리에 원본 크기 HEIC 파일만 있고 모든 곳에서 썸네일이 깨진 상태가 됩니다.
이런 일이 발생할 때 깔끔한 에러 메시지가 나오지 않습니다. 미디어 라이브러리에 미리보기 대신 일반 아이콘만 표시됩니다. 클라이언트가 "사진이 업로드되지 않아요"라고 보고하는 경우가 있었는데, 실제로 사진은 잘 올라갔지만 관리자 화면에서 깨져 보이는 것이었습니다.
서버가 HEIC를 지원하는지 확인하는 방법
WordPress 관리자에서 도구 > 사이트 상태 > 정보 > 미디어 처리로 이동하세요. ImageMagick 버전과 지원 포맷을 확인합니다. 목록에 "HEIC" 또는 "HEIF"가 있으면 괜찮습니다.
없거나, ImageMagick 대신 GD를 사용하고 있다면, HEIC 썸네일이 생성되지 않습니다. 두 가지 선택지가 있습니다: 호스팅 업체에 ImageMagick 업그레이드를 요청하거나, 업로드 전에 사진을 변환하는 겁니다.
변환 문제
업로드 전에 HEIC를 JPEG으로 변환하는 건 간단해 보입니다. 노트북에서는 실제로 간단합니다. macOS의 미리보기로 몇 초 만에 일괄 변환할 수 있고, Windows에서는 사진 앱이 처리해줍니다.
iPhone에서는 다른 이야기입니다. 내장 일괄 변환기가 없습니다. 카메라 설정을 바꿔서 HEIC 대신 JPEG으로 촬영할 수는 있지만(설정 > 카메라 > 포맷 > 높은 호환성), 그러면 WordPress로 보낼 사진뿐 아니라 모든 사진에서 40~50% 파일 크기 이점을 잃게 됩니다.
단축어 앱으로 HEIC를 JPEG으로 변환하는 워크플로를 만드는 사람도 있습니다. 작동하지만, 워크플로에 또 하나의 수동 단계가 추가되고 변환된 파일은 더 큽니다. 한 가지 문제를 다른 문제로 바꾸는 셈입니다.
진짜 짜증나는 건, iPhone이 일부 상황에서 이 변환을 이미 자동으로 한다는 겁니다. 사진을 이메일로 보내거나 Windows PC로 AirDrop하면 iOS가 즉시 JPEG으로 변환합니다. 하지만 브라우저나 WordPress 앱으로 업로드할 때는 원본 HEIC 파일을 그대로 보냅니다. 이 동작을 바꾸는 설정이 없습니다.
SnapPress의 HEIC 처리 방식
SnapPress를 만들 때, HEIC 처리는 가장 먼저 해결해야 할 것 중 하나였습니다. 접근 방식은 간단합니다: 앱이 원본 HEIC 파일을 읽고, 업로드 전에 iPhone에서 로컬로 JPEG으로 변환한 다음, WordPress에 JPEG를 보냅니다.
이 방식은 서버 구성에 관계없이 모든 WordPress 사이트에서 작동합니다. 호스팅에 ImageMagick의 HEIF 지원이 필요 없습니다. WordPress가 6.7일 필요도 없습니다. 서버에 도착하는 파일은 버전 1.0부터 모든 WordPress가 처리할 수 있는 표준 JPEG입니다.
변환은 기기에서 이루어지고 사진 한 장당 찰나의 시간이 걸립니다. 눈에 보이지도 않고, 설정할 것도 없습니다. 사진을 선택하고 업로드를 탭하면, 썸네일과 미리보기가 모두 정상적으로 작동하는 JPEG 파일이 미디어 라이브러리에 나타납니다.
이게 "올바른" 접근 방식인가? 무엇을 중시하느냐에 따라 다릅니다. 최소 파일 크기를 원한다면, HEIC를 지원하는 서버에 네이티브 HEIC을 올리는 게 기술적으로 더 낫습니다. 서버 구성을 확인하지 않고도 모든 WordPress 사이트에서 작동하는 걸 원한다면, 자동 변환이 더 안전한 선택입니다.
저는 이론적 최적화보다 신뢰성을 선택했습니다. 제 경험상, 대부분의 WordPress 사용자는 호스팅의 ImageMagick 버전을 알지도 신경 쓰지도 않습니다. 사진이 나타나기만 하면 됩니다.
마주칠 수 있는 다른 포맷: HEIF와 AVIF
HEIC는 기술적으로 HEIF 이미지를 감싸는 컨테이너 포맷입니다. .heic 대신 .heif 확장자를 가진 파일을 볼 수도 있습니다. WordPress 6.7은 둘 다 같은 방식으로 처리합니다.
AVIF는 웹에서 주목받고 있는 더 새로운 포맷입니다(Netflix과 많은 CDN이 이미지 전달에 사용). WordPress는 6.5에서 AVIF 지원을 추가했습니다. 일부 최신 iPhone은 AVIF로 사진을 찍을 수 있지만, 아직 기본값은 아닙니다.
지금은 iPhone 사진을 업로드할 때 99%의 경우 HEIC를 다루게 됩니다. 하지만 AVIF를 눈여겨보세요. HEIC보다 더 좋은 압축을 제공하고 크로스 플랫폼 지원도 더 넓습니다.
제 추천
호스팅이 HEIC를 지원하고(사이트 상태에서 확인) WordPress 6.7 이상이라면, HEIC 파일을 직접 업로드하세요. 더 작은 파일 크기를 누리시면 됩니다.
호스팅이 HEIC를 지원하지 않거나, 여러 호스팅의 여러 사이트를 관리하면서 각각 확인하기 싫다면, 자동 변환해주는 도구를 사용하세요. SnapPress가 이걸 자동으로 합니다. SnapPress Connect 플러그인이 사이트 연결을 처리하고, 앱이 뒤에서 포맷 변환을 처리합니다.
WordPress가 한번 문제를 일으켰다고 iPhone 카메라 포맷을 JPEG으로 바꾸지 마세요. HEIC이 더 좋은 포맷입니다. 카메라 설정이 아니라 업로드 도구가 적응해야 합니다.