WordPress 자동화
Guest
STAGE 1 · Lv.3

미디어 라이브러리와 파일 관리

미디어 라이브러리 활용법, 업로드 제한 설정, 이미지 크기 최적화, Alt 텍스트, 파일 구성, 그리고 성능 최적화 기초를 배웁니다.

미디어 라이브러리 소개

WordPress 미디어 시스템

WordPress 미디어 라이브러리는 사이트에서 사용하는 모든 파일을 중앙에서 관리하는 시스템입니다. 이미지, 동영상, 오디오, PDF, 문서 등 다양한 형태의 파일을 업로드하고 관리할 수 있습니다.


미디어 라이브러리에 업로드된 파일은 서버의 wp-content/uploads/ 디렉토리에 연/월별로 자동 정리되어 저장됩니다. 예를 들어 2024년 3월에 업로드한 이미지는 /wp-content/uploads/2024/03/ 경로에 저장됩니다.


미디어 라이브러리는 두 곳에서 접근할 수 있습니다:

- 관리자 > 미디어 > 라이브러리: 모든 미디어를 한 곳에서 관리

- 포스트/페이지 편집 중: 블록 에디터에서 직접 업로드 및 삽입

📷
이미지
JPG, PNG, GIF, WebP, SVG*
🎥
비디오
MP4, MOV, AVI, WMV
🎧
오디오
MP3, WAV, OGG, M4A
📄
문서
PDF, DOC, XLS, PPT, ZIP

미디어 라이브러리 인터페이스

격자 보기와 목록 보기

미디어 라이브러리는 두 가지 보기 모드를 제공합니다:


격자 보기(Grid View): 이미지를 썸네일 격자 형태로 보여줍니다. 시각적으로 파일을 찾기 쉽고, 클릭하면 상세 정보 모달이 열립니다. 이미지 중심의 사이트에 적합합니다.


목록 보기(List View): 파일 이름, 작성자, 날짜, 첨부된 포스트 등의 정보를 테이블 형태로 보여줍니다. 정렬과 검색이 편리하고, 일괄 작업이 가능합니다. 많은 파일을 관리할 때 효율적입니다.


필터링 옵션:

- 미디어 유형별 필터: 이미지, 오디오, 비디오, 문서, 스프레드시트

- 날짜별 필터: 업로드 월별로 필터링

- 첨부 상태: 미첨부 미디어만 표시

- 검색: 파일명, 제목, 캡션, ALT 텍스트로 검색

미디어 상세 정보

미디어 파일을 클릭하면 상세 정보를 확인하고 편집할 수 있습니다:


기본 정보 (자동 입력):

- 파일 이름과 URL

- 파일 크기

- 이미지 크기 (가로 x 세로 px)

- 업로드 날짜

- 업로드한 사용자

- 첨부된 포스트


편집 가능 필드:

- 제목(Title): 미디어의 제목. 기본적으로 파일명이 사용됩니다.

- 캡션(Caption): 이미지 아래에 표시되는 설명문입니다.

- 대체 텍스트(Alt Text): 이미지를 볼 수 없는 경우에 표시되는 텍스트. SEO와 접근성에 매우 중요합니다.

- 설명(Description): 미디어에 대한 상세 설명. 첨부 파일 페이지에서 표시됩니다.

파일 업로드

업로드 방법

WordPress에 파일을 업로드하는 방법은 여러 가지입니다:


1. 미디어 > 새로 추가: 관리자 메뉴에서 전용 업로드 페이지를 통해 파일을 업로드합니다. 드래그 앤 드롭과 파일 선택 모두 지원합니다.


2. 포스트/페이지 편집 중: 블록 에디터에서 이미지, 갤러리, 파일 블록 등을 추가할 때 직접 업로드합니다.


3. FTP/SFTP 업로드: wp-content/uploads/ 디렉토리에 직접 업로드합니다. 이 경우 WordPress가 자동으로 인식하지 않으므로 "Add From Server" 같은 플러그인이 필요합니다.


4. REST API: 프로그래밍 방식으로 미디어를 업로드할 수 있습니다. 자동화 워크플로우에서 활용됩니다.

⚠ 업로드 제한사항

WordPress의 기본 업로드 제한은 서버 설정에 따라 다릅니다. 일반적으로 2MB~64MB 사이입니다. 대용량 파일을 업로드해야 하는 경우 다음 설정을 변경해야 합니다:

// php.ini에서 업로드 제한 변경
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M

// .htaccess에서 변경 (Apache)
php_value upload_max_filesize 64M
php_value post_max_size 64M

// wp-config.php에서 변경 (일부 호스팅)
@ini_set('upload_max_size', '64M');
@ini_set('post_max_size', '64M');

// functions.php에서 WordPress 제한 변경
function increase_upload_limit($size) {
  return 64 * 1024 * 1024; // 64MB
}
add_filter('upload_size_limit', 'increase_upload_limit');

이미지 크기 시스템

WordPress 자동 이미지 리사이즈

WordPress에 이미지를 업로드하면 원본 외에 여러 크기의 복사본이 자동으로 생성됩니다. 이는 다양한 화면과 용도에 맞게 최적의 크기를 제공하기 위함입니다.


기본 이미지 크기:

크기 이름 기본값 용도
썸네일 150 x 150px 포스트 목록, 위젯
중간 300 x 300px 본문 내 작은 이미지
중간 큰 768 x 0px 반응형 중간 크기
1024 x 1024px 본문 내 큰 이미지
전체 원본 크기 최대 해상도 필요 시

이미지 크기 설정 변경

설정 > 미디어에서 기본 이미지 크기를 변경할 수 있습니다:


- 썸네일 크기: 가로/세로 각각 설정, "정확한 크기로 썸네일 자르기" 옵션

- 중간 크기: 가로 최대, 세로 최대 설정

- 큰 크기: 가로 최대, 세로 최대 설정


"파일을 연/월 기반 폴더에 업로드" 옵션이 기본 활성화되어 있습니다. 이를 해제하면 모든 파일이 uploads 루트에 저장됩니다 (비권장).

// 커스텀 이미지 크기 추가 (functions.php)
add_image_size('blog-featured', 800, 400, true);
add_image_size('card-thumb', 400, 300, true);
add_image_size('hero-banner', 1920, 600, true);

// true = 잘라내기(crop), false = 비율 유지 리사이즈

// 미디어 업로더에서 선택 가능하게 등록
function custom_image_sizes($sizes) {
  return array_merge($sizes, [
    'blog-featured' => '블로그 대표 이미지',
    'card-thumb' => '카드 썸네일',
  ]);
}
add_filter('image_size_names_choose', 'custom_image_sizes');
⚠ 디스크 공간 주의
하나의 이미지를 업로드하면 기본 크기만 해도 4~5개의 파일이 생성됩니다. 테마와 플러그인이 추가 크기를 등록하면 10개 이상이 될 수 있습니다. 3000x4000px 원본 이미지 하나가 다양한 크기로 복제되면 수십MB의 디스크 공간을 차지합니다. 업로드 전에 적절한 크기로 리사이즈하는 것이 중요합니다.

Alt 텍스트의 중요성

대체 텍스트(Alt Text)란?

Alt 텍스트(Alternative Text)는 이미지를 설명하는 텍스트로, 두 가지 핵심 목적이 있습니다:


1. 접근성(Accessibility): 시각 장애인이 스크린 리더를 사용할 때 Alt 텍스트를 읽어줍니다. 이미지 로딩에 실패했을 때도 대체 텍스트가 표시됩니다. 웹 접근성 표준(WCAG)에서는 모든 의미 있는 이미지에 Alt 텍스트를 필수로 요구합니다.


2. SEO: 검색엔진은 이미지의 내용을 직접 인식하지 못합니다. Alt 텍스트를 통해 이미지의 내용과 맥락을 이해합니다. Google 이미지 검색 결과에 표시되려면 적절한 Alt 텍스트가 필수입니다.

좋은 Alt 텍스트 작성법

기본 원칙:

- 이미지가 보여주는 내용을 정확하게 설명합니다

- 125자 이내로 작성합니다

- 핵심 키워드를 자연스럽게 포함합니다

- "이미지", "사진", "그림" 등의 단어는 불필요합니다

- 장식용 이미지는 Alt 텍스트를 비워둡니다

나쁜 예 좋은 예
이미지 서울 남산타워 야경 전경
photo123.jpg WordPress 관리자 대시보드 화면
사진 카페에서 노트북으로 코딩하는 개발자
워드프레스 워드프레스 워드프레스 WordPress 5.0 블록 에디터 인터페이스
💡 Alt 텍스트 자동화
수천 개의 이미지에 수동으로 Alt 텍스트를 추가하는 것은 어렵습니다. AltText.ai, Image SEO 같은 AI 기반 플러그인을 사용하면 이미지 내용을 분석하여 자동으로 Alt 텍스트를 생성해줍니다. 대량의 미디어를 관리할 때 매우 유용합니다.

이미지 최적화

왜 이미지 최적화가 중요한가?

이미지는 웹 페이지 용량의 평균 50% 이상을 차지합니다. 최적화되지 않은 이미지는 페이지 로딩 속도를 크게 떨어뜨리며, 이는 사용자 경험과 SEO 모두에 부정적입니다.

3초
모바일 사용자 53%가
3초 이상 로딩 시 이탈
📈
50%+
웹 페이지 용량 중
이미지 비중

이미지 포맷 비교

포맷 특성 최적 용도
JPEG/JPG 손실 압축, 파일 크기 작음, 투명도 미지원 사진, 복잡한 이미지
PNG 무손실 압축, 투명도 지원, 파일 크기 큼 로고, 아이콘, 투명배경
WebP JPEG보다 25-35% 작음, 투명도 지원 모든 이미지 (권장)
AVIF WebP보다 20% 더 작음, 최신 포맷 차세대 포맷 (브라우저 지원 확인)
GIF 애니메이션 지원, 256색 제한 간단한 애니메이션
SVG 벡터, 무한 확대 가능, 파일 크기 매우 작음 로고, 아이콘, 일러스트
WebP
2024년 기준 가장 권장되는 이미지 포맷 - JPEG 대비 25~35% 용량 절감

이미지 최적화 체크리스트

업로드 전:

1. 적절한 크기로 리사이즈 (배너 이미지: 최대 1920px 폭, 일반 콘텐츠: 최대 1200px 폭)

2. 적절한 포맷 선택 (사진=WebP/JPEG, 로고=SVG/PNG)

3. 의미 있는 파일명 사용 (IMG_20240315.jpg 대신 seoul-tower-night.jpg)


업로드 후:

4. Alt 텍스트 작성

5. 제목과 캡션 설정

6. 적절한 크기로 삽입 (전체 크기 대신 적합한 크기 선택)

이미지 압축 플러그인

플러그인을 사용하면 업로드 시 자동으로 이미지를 압축할 수 있습니다:


ShortPixel: 손실/무손실/광택 압축 지원. 월 100장 무료. WebP 자동 변환. 가장 인기 있는 이미지 최적화 플러그인 중 하나입니다.


Imagify: Imagify의 WordPress 플러그인. WP Rocket과 같은 회사에서 개발. 3단계 압축(Normal, Aggressive, Ultra) 지원.


Smush: WPMU DEV의 이미지 최적화 플러그인. 무료 버전에서도 대량 압축 지원. CDN 포함(프로). 지연 로딩(Lazy Load) 내장.


EWWW Image Optimizer: 서버에서 직접 압축하여 외부 서비스 의존 없음. 무제한 무료 압축. WebP 변환 지원.

WordPress 내장 이미지 편집

기본 이미지 편집 도구

WordPress는 간단한 이미지 편집 기능을 내장하고 있습니다. 미디어 라이브러리에서 이미지를 선택한 후 "이미지 편집" 버튼을 클릭하면 사용할 수 있습니다.


사용 가능한 편집 기능:

- 자르기(Crop): 이미지의 특정 부분만 선택하여 자릅니다. 비율을 지정할 수 있습니다.

- 회전(Rotate): 90도 단위로 시계/반시계 방향으로 회전합니다.

- 뒤집기(Flip): 수평 또는 수직으로 이미지를 뒤집습니다.

- 크기 조절(Scale): 이미지의 가로/세로 크기를 변경합니다. 비율이 자동으로 유지됩니다.


적용 대상 선택:

- 모든 이미지 크기에 적용

- 썸네일만 적용

- 썸네일을 제외한 모든 크기에 적용

💡 이미지 편집 팁
WordPress 내장 이미지 편집기는 기본적인 작업에만 적합합니다. 복잡한 편집(색상 보정, 텍스트 추가, 필터 등)이 필요하면 Canva, Photoshop, GIMP 등 외부 도구에서 편집한 후 업로드하세요. WordPress 편집기로 이미지를 수정하면 원본이 아닌 새 파일이 생성되므로 디스크 공간이 추가로 사용됩니다.

지연 로딩(Lazy Loading)

스크롤 시 이미지 로드

WordPress 5.5부터 이미지에 지연 로딩(Lazy Loading)이 기본적으로 적용됩니다. 지연 로딩은 사용자가 스크롤하여 이미지가 화면에 가까워질 때 비로소 이미지를 로드하는 기술입니다.


장점:

- 초기 페이지 로딩 속도 향상 (보이지 않는 이미지는 나중에 로드)

- 대역폭 절약 (사용자가 스크롤하지 않으면 하단 이미지는 로드되지 않음)

- Core Web Vitals(LCP) 점수 향상


동작 원리:

HTML의 img 태그에 loading="lazy" 속성이 자동으로 추가됩니다. 브라우저가 네이티브로 지연 로딩을 처리합니다.

<!-- WordPress가 자동으로 추가하는 lazy loading -->
<img src="image.jpg"
     alt="설명 텍스트"
     loading="lazy"
     width="800"
     height="600">
⚠ 지연 로딩 주의사항
페이지의 첫 번째 이미지(Above the fold)에는 지연 로딩을 적용하지 않는 것이 좋습니다. 첫 화면에 보이는 이미지까지 지연 로딩하면 LCP(Largest Contentful Paint) 점수가 오히려 떨어질 수 있습니다. WordPress 6.3+에서는 자동으로 첫 번째 이미지를 지연 로딩에서 제외합니다.

미디어 정리와 관리

미사용 미디어 정리

시간이 지나면 사용하지 않는 미디어 파일이 쌓이면서 서버 공간을 낭비합니다. 정기적으로 미사용 미디어를 정리하는 것이 좋습니다.


미사용 미디어 찾는 방법:

- 미디어 라이브러리에서 "첨부되지 않은" 필터 사용

- Media Cleaner 플러그인: 사용되지 않는 미디어를 자동으로 스캔하고 삭제

- JEsuspended IMAGE 플러그인: 파일 크기가 큰 미사용 이미지 식별


미디어 폴더 정리 플러그인:

- FileBird: 가상 폴더로 미디어를 분류. 드래그 앤 드롭으로 폴더 간 이동.

- Real Media Library: 물리적 폴더 구조로 미디어 관리.

- Enhanced Media Library: 카테고리와 태그로 미디어를 분류.

SVG 파일 업로드 허용

WordPress는 보안상 SVG 파일 업로드를 기본적으로 차단합니다. SVG는 XML 기반이므로 악성 코드가 포함될 수 있기 때문입니다. SVG 업로드가 필요한 경우 안전하게 처리하는 플러그인을 사용하세요.

// 안전한 SVG 업로드를 위한 플러그인
// "Safe SVG" 플러그인 권장 (자동 살균 처리)

// 또는 functions.php에서 수동 허용 (주의 필요!)
function allow_svg_upload($mimes) {
  $mimes['svg'] = 'image/svg+xml';
  return $mimes;
}
add_filter('upload_mimes', 'allow_svg_upload');

미디어 CDN 연동

CDN으로 미디어 속도 극대화

CDN(Content Delivery Network)은 전 세계에 분산된 서버 네트워크를 통해 미디어 파일을 사용자에게 가까운 서버에서 제공합니다. 이를 통해 이미지와 파일의 로딩 속도를 크게 향상시킬 수 있습니다.


인기 CDN 서비스:

- Cloudflare: 무료 플랜 제공. DNS 기반 CDN. 보안 기능 포함. 가장 많이 사용됩니다.

- BunnyCDN: 매우 저렴한 가격. 높은 성능. 사용한 만큼만 지불.

- AWS CloudFront: Amazon의 CDN. 대규모 사이트에 적합.

- KeyCDN: 합리적 가격. 실시간 이미지 처리. HTTP/2 지원.

💻
사용자 요청
🌐
CDN 엣지 서버
(가까운 서버)
📷
이미지 전송
(빠른 로딩)

이 레슨의 핵심 정리

기억해야 할 것들

1. 미디어 라이브러리에서 이미지, 비디오, 오디오, 문서를 중앙 관리할 수 있습니다.


2. 이미지 업로드 시 썸네일, 중간, 큰 크기의 복사본이 자동 생성됩니다.


3. Alt 텍스트는 접근성과 SEO 모두에 필수입니다. 모든 이미지에 작성하세요.


4. WebP 포맷이 현재 가장 권장되며, JPEG 대비 25~35% 용량이 절감됩니다.


5. ShortPixel, Smush 등의 플러그인으로 이미지 자동 압축이 가능합니다.


6. CDN을 연동하면 전 세계 사용자에게 빠른 미디어 로딩을 제공할 수 있습니다.

Stage 1 완료! Stage 2로 넘어가기
WordPress 기초를 마스터했습니다! 다음 스테이지에서 테마와 디자인을 배웁니다.
다음: 테마 선택과 설치 →
필수 이 레슨의 난이도는 어땠나요?
난이도를 선택해주세요
이전 강의 목록 다음 강의
로그인하고 XP 받기