WordPress 이미지 업로드 제한과 이를 해결하는 방법
대부분의 조언은 php.ini를 수정하라고 합니다. 하지만 공유 호스팅에서는 불가능한 경우가 많습니다. 이미지를 먼저 압축하는 방법은 어디서나 작동합니다.
제한을 늘리는 대신 이미지를 제한 이하로 압축하십시오. 파일 크기를 줄이면 업로드 오류와 페이지 속도 문제가 한 번에 해결되기 때문입니다. WordPress는 PHP로부터 제한 값을 상속받으며, 호스트에 따라 보통 2 MB 또는 8 MB입니다. 관리형 또는 공유 호스팅에서는 이 값을 변경할 수 없는 경우가 많습니다.
이 주제에 관한 거의 모든 기사에서는 php.ini, .htaccess 또는 wp-config.php를 편집하라고 말합니다. 이러한 지침은 대부분의 사이트 소유자가 가지고 있지 않은 서버 액세스 권한을 전제로 하며, 액세스 권한이 있더라도 제한을 늘리는 것이 올바른 조치인지 자문해 볼 가치가 있습니다.
제한이 발생하는 원인
제한은 3가지 PHP 값에 의해 설정되며, 이 3가지 중 가장 작은 값이 적용됩니다. WordPress는 업로드 상자 아래에 최종 결과 수치를 표시하므로, 이 숫자는 호스트가 광고하는 숫자와 다른 경우가 많습니다.
- upload_max_filesize는 PHP가 허용할 가장 큰 단일 파일 크기를 제어합니다.
- post_max_size는 제출물의 총 크기를 제어하므로 파일 크기보다 커야 합니다.
- memory_limit는 썸네일을 생성하는 동안 크기 조정 작업이 사용할 수 있는 메모리 양을 제어합니다.
- max_execution_time 역시 오류를 유발할 수 있습니다. 큰 이미지는 처리가 완료되기 전에 시간 초과가 발생할 수 있기 때문입니다.
세 번째 값은 가장 혼란스러운 오류를 유발합니다. 성공적으로 업로드된 파일이라도 WordPress가 썸네일 크기를 생성하는 동안 실패할 수 있으며, 이 경우 업로드 오류가 아니라 미디어 라이브러리에 깨진 이미지로 나타납니다.
압축이 제한을 늘리는 것보다 나은 이유
웹 페이지에 있는 6 MB짜리 사진은 서버가 이를 수락하는지 여부와 관계없이 문제입니다. 제한을 늘리면 오류 메시지는 사라지지만 근본적인 용량 문제는 그대로 남습니다.
WordPress는 업로드할 때마다 여러 개의 썸네일 크기를 생성하므로, 무거운 원본은 무거운 파생 파일로 배가되어 전체 미디어 라이브러리의 저장 공간을 소모합니다. 업로드하기 전에 몇 백 킬로바이트로 압축하면 오류가 해결되고, 생성되는 크기가 줄어들며, 백업 시간이 단축되고, 서버 액세스가 전혀 필요하지 않습니다.
제한 이하로 줄이는 방법
서버 설정을 건드리지 않고 성공적으로 업로드하려면 다음 5단계를 따르십시오.
- WordPress 업로드 상자 아래에 표시된 제한을 확인하십시오. 이는 호스트의 실제 수치를 나타냅니다.
- 이미지를 표시 너비의 두 배(고밀도 화면용)로 조정하십시오. 800 픽셀 열에 4000 픽셀 사진을 넣는 것은 대부분의 데이터를 낭비하는 것입니다.
- 사이트에만 표시될 사진과 그래픽은 WebP로 변환하십시오.
- 거의 모든 본문 이미지에 적합한 200 KB에서 400 KB를 목표로 압축하십시오.
- 업로드한 다음 데스크톱과 모바일 모두에서 이미지가 전체 너비로 올바르게 렌더링되는지 확인하십시오.
이 순서대로 작업하면 일반적으로 화면상에 눈에 띄는 변화 없이 카메라 원본보다 90% 더 작은 파일이 생성됩니다. 업로드 오류는 목표가 아니라 부수적인 효과로 사라집니다.
WordPress 콘텐츠 권장 크기
이미지 너비를 테마에서 차지할 가장 넓은 공간에 맞춘 다음, 고밀도 화면을 위해 두 배로 늘리십시오. 대부분의 콘텐츠 영역은 사이트 소유자가 생각하는 것보다 훨씬 좁습니다.
| 이미지 용도 | 표시 너비 | 업로드 너비 | 목표 크기 |
|---|---|---|---|
| 본문 이미지 | 700 px | 1400 px | 150 KB ~ 250 KB |
| 전체 너비 특징 이미지 | 1200 px | 2400 px | 300 KB ~ 500 KB |
| 히어로 또는 헤더 배너 | 1920 px | 1920 px | 300 KB ~ 400 KB |
| 썸네일 또는 카드 | 400 px | 800 px | 50 KB ~ 100 KB |
| 작성자 또는 프로필 사진 | 150 px | 300 px | 30 KB 미만 |
제한을 늘리는 것이 올바른 답인 경우
인쇄 해상도 사진, 비디오 또는 테마 패키지와 같이 실제로 크게 유지되어야 하는 대용량 파일을 업로드할 때는 제한을 늘리십시오. 이러한 경우는 실제로 존재하지만 일반적인 경우는 아닙니다.
고해상도 갤러리를 제공하는 사진작가, 대형 플러그인을 가져오는 상점, 다운로드 가능한 PDF 문서를 호스팅하는 사이트는 모두 여유 공간이 필요합니다. 휴가 사진을 700 픽셀 너비로 표시하려는 블로거는 그렇지 않습니다. 서버 설정을 변경하기 전에 파일의 용도가 무엇인지 자문해 보십시오. 답은 대개 압축으로 돌아가기 때문입니다.
필요한 경우 제한을 늘리는 방법
호스트에 먼저 문의하십시오. 대부분의 관리형 제공업체는 요청 시 몇 분 안에 값을 변경해 줍니다. 파일 액세스를 제한하는 호스팅 요금제에서는 지원 티켓을 이용하는 것이 구성 파일을 수정하는 것보다 더 빠르게 해결됩니다.
- 관리형 WordPress 호스트는 대개 제어판에 설정을 노출하거나 요청 시 조정해 줍니다.
- cPanel 호스팅에는 3가지 값을 직접 설정할 수 있는 MultiPHP INI Editor가 포함되어 있는 경우가 많습니다.
- 가상 사설 서버(VPS)는 php.ini 편집을 허용하며, 편집 후 PHP 서비스를 재시작해야 합니다.
- .htaccess 편집은 일부 Apache 설정에서 작동하지만 다른 설정에서는 서버 오류를 일으킬 수 있으므로 백업을 보관하십시오.
- 제한을 늘려준다고 주장하는 플러그인은 설명이 어떻든 서버가 허용하는 범위를 초과할 수 없습니다.
크기 문제가 아닌 HTTP 오류
업로드 중 발생하는 일반적인 HTTP 오류는 대개 WordPress가 썸네일을 생성하는 동안 메모리나 실행 시간이 부족했음을 의미하며, 파일 크기 때문에 거부된 것이 아닙니다. 이미지를 압축하면 두 가지 원인이 모두 해결되므로 이 차이는 중요합니다.
서버는 크기를 조정하는 동안 모든 픽셀을 메모리에 유지해야 하므로, 파일 크기보다는 큰 해상도가 메모리 사용을 유발합니다. 6000 x 4000 픽셀 이미지는 파일 크기가 암시하는 것보다 훨씬 더 많은 메모리를 필요로 합니다. 업로드 전에 해상도를 줄이면 파일이 이미 크기 제한 이하인 경우에도 실패를 방지할 수 있습니다.
WordPress가 생성하는 썸네일 크기
WordPress는 업로드할 때마다 최소 4개의 추가 복사본을 생성하며, 테마와 플러그인은 흔히 여러 개를 더 추가합니다. 단 하나의 사진이 사이트 소유자도 모르는 사이에 디스크에 8개 또는 10개의 파일로 늘어날 수 있습니다.
기본값은 썸네일 150 픽셀 정사각형, 중간 300 픽셀, 중간 대형 768 픽셀, 대형 1024 픽셀이며, 매우 큰 업로드의 경우 WordPress가 생성하는 크기 조정 버전도 포함됩니다. 페이지 빌더와 갤러리 플러그인은 그 위에 자체 크기를 등록합니다. 더 작은 원본을 업로드하면 파생된 모든 파일도 작아지므로, 업로드 전 압축의 효과는 전체 라이브러리에 걸쳐 배가됩니다.
WordPress의 WebP 지원
WordPress는 버전 5.8부터 WebP 업로드를 지원해 왔으며, 현재 모든 브라우저가 이 형식을 표시합니다. WebP를 직접 업로드하면 동일한 목적으로 많은 사이트가 설치하는 변환 플러그인을 피할 수 있습니다.
두 가지 주의 사항이 있습니다. 일부 오래된 테마와 페이지 빌더는 JPG 또는 PNG를 가정하므로 WebP 썸네일을 올바르게 생성하지 못할 수 있으니, 전체 라이브러리를 변환하기 전에 테스트 업로드를 확인하십시오. 보도 자료 키트나 인쇄 가능한 가이드와 같이 방문자가 다운로드할 목적의 이미지는 JPG로 유지해야 합니다. WebP는 브라우저 외부에서 여전히 불편하기 때문입니다.
실제 페이지에서 이미지 용량 확인하기
F12 키로 개발자 도구를 열고 Network 탭으로 전환한 다음, 이미지로 필터링하고 페이지를 새로 고침하십시오. 패널에 전송된 실제 크기와 함께 모든 이미지가 가장 큰 순서대로 나열됩니다.
이 보기는 추측이 아닌 직접적인 답을 제공합니다. 단일 이미지 크기가 500 KB를 초과하거나 이미지 총합이 2 MB를 초과하는 페이지가 있는지 확인하십시오. 가장 큰 파일이 거의 항상 먼저 해결해야 할 가치가 있는 파일이며, 대개 헤더 이미지나 게시물의 첫 번째 사진입니다. 2~3개의 이미지만 수정해도 페이지의 초과 용량 대부분을 제거할 수 있습니다.
이미 무거워진 미디어 라이브러리 수정하기
새 업로드뿐만 아니라 기존 라이브러리도 압축하십시오. 구축된 사이트에서는 오래된 게시물이 대부분의 용량을 차지하기 때문입니다. 5년 동안 운영된 블로그에는 수천 개의 압축되지 않은 이미지가 보관되어 있을 수 있습니다.
업로드 폴더를 다운로드하여 하나의 배치로 처리한 다음, 기존 게시물이 계속 작동하도록 동일한 이름을 유지하면서 파일을 교체하십시오. 그 후 썸네일을 재생성하면 더 작은 원본에서 파생된 크기가 다시 빌드됩니다. 이는 파일을 제자리에서 덮어쓰는 몇 안 되는 이미지 작업 중 하나이므로 교체하기 전에 백업을 수행하십시오.
전체 업로드 폴더 처리하기
폴더를 ZIP 아카이브로 드롭하면 내부의 지원되는 모든 이미지가 한 번에 추출되고 크기가 조정되며 압축됩니다. 배치당 최대 500개의 파일이 실행되므로 대부분의 소형 및 중형 사이트는 몇 번의 라운드로 해결됩니다.
모든 작업은 자체 프로세서의 브라우저 내부에서 발생하므로 클라이언트 사이트, 게시되지 않은 초안 및 비공개 갤러리가 서버에 도달하지 않습니다. 이는 계약 하에 작업하는 에이전시에 중요합니다. 클라이언트 미디어 라이브러리를 알 수 없는 압축 서비스에 업로드하는 것은 아무런 문제가 발생하지 않더라도 계약 위반이 될 수 있기 때문입니다.