워드프레스 FIFU 플러그인 CDN 문제 - 티스토리 이미지 링크 업데이트로 생긴 이미지 깨짐 문제 완벽 해결 가이드
워드프레스에서 FIFU(Featured Image From URL) 플러그인을 활용해 티스토리 이미지를 끌어오던 사이트들에서 최근 갑자기 썸네일이 깨지거나 ‘이미지를 불러올 수 없습니다’라는 오류가 발생했습니다.
이는 2025년 6월 이후 티스토리가 이미지 CDN 정책을 개편하면서 링크 형식이 달라졌고, Jetpack Site Accelerator(옛 Photon)·워드프레스 코어가 쿼리스트링을 제거해 버리는 고질적 특성이 겹친 복합적인 호환성 문제입니다. 본 글에서는 원인을 프로그래밍 레벨에서 파헤치고, 최적의 해결 방안을 소스 수정 예제까지 포함해 안내하겠습니다.
문제 증상의 세부 징후
- 새 URL(예시)
https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2F...%2Fimg.png?credential=...&expires=1753973999&signature=...
fname=
파라미터 뒤에 원본 경로가 URI-인코딩돼 있고,credential·signature·expires
값으로 서명 토큰이 붙습니다.
- 이전 URL(예시)
https://i0.wp.com/blog.kakaocdn.net/dn/epyn2u/.../img.jpg?ssl=1&w=800&resize=800&ssl=1
- WP .com CDN이 자동 프록시한 형태.
Jetsack CDN이 작동 중이면 새 URL을 다음과 같이 재작성합니다.
https://i0.wp.com/img1.daumcdn.net/thumb/R1280x0/
이때 Jetpack은 ‘?’ 뒤 쿼리스트링을 잘라 버리는 기본 정책을 따르므로 서명 정보가 통째로 소실되고, DaumCDN은 403(Forbidden) 또는 빈 응답을 돌려줍니다. 그 결과 썸네일이 깨지는 것이죠. (core.trac.wordpress.org, developer.jetpack.com)
아키텍처별 근본 원인
구성 요소 | 역할 | 현재 동작 | 문제 포인트 |
티스토리/Daum CDN | 이미지 원본·리사이즈·토큰 검증 | URI 쿼리 전체 필요 | Jetpack이 토큰을 제거 |
Jetpack Site Accelerator(Photon) | 이미지 CDN·리사이즈 | 기본적으로 쿼리스트링 무시 | 토큰이 포함된 URL 지원X (developer.jetpack.com) |
워드프레스 코어 | srcset 계산, width·height 삽입 | 일부 필터에서 쿼리스트링 제거 | 외부 서비스 기반 리사이즈 호환성 저하 (core.trac.wordpress.org) |
FIFU | 외부 URL을 특성 이미지·본문에 삽입 | Jetpack이 활성이면 WP CDN로 재프록시 | Jetpack 영향권에서 자유롭지 못함 |
해결 전략 Top 5
1) Jetpack Site Accelerator 완전히 끄기 (가장 간단, 추천)
- 워드프레스 대시보드 → Jetpack → Settings → Performance.
- ‘Enable Site Accelerator(이미지 CDN)’ 토글을 OFF.
- 캐시플러그인·Cloudflare 등을 사용한다면 캐시 삭제 후 확인.
- Photon이 완전히 비활성화되면
i0.wp.com
형태가 더 이상 생성되지 않아 토큰이 온전히 유지됩니다.
- Photon이 완전히 비활성화되면
2) 특정 도메인만 Photon 우회하기 (코드 스니펫)
Jetpack을 계속 쓰지만 daumcdn.net·kakaocdn.net만 예외로 둘 수 있습니다.
/**
* Daum/Tistory 이미지 URL은 Jetpack CDN 처리에서 제외
*/
function skip_kakao_on_photon( $skip, $url ) {
if ( strpos( $url, 'daumcdn.net' ) !== false || strpos( $url, 'kakaocdn.net' ) !== false ) {
return true; // Photon 스킵
}
return $skip;
}
add_filter( 'jetpack_photon_skip_image', 'skip_kakao_on_photon', 10, 2 );
functions.php
또는 사이트 전용 플러그인에 삽입 후 캐시를 지우면 됩니다.
3) Photon이 쿼리스트링을 유지하도록 강제(실험적)
Jetpack 내부 훅 jetpack_photon_add_query_string_to_domain
은 기본값이 false라 쿼리를 버립니다. 다음 스니펫으로 전역 허용을 시도할 수 있으나, 일부 서버 군에서는 무시됩니다.
add_filter( 'jetpack_photon_add_query_string_to_domain', '__return_true' );
안정성이 떨어지므로 1)·2) 방법이 권장됩니다.
4) FIFU 설정 변경으로 Jetpack CDN 차단
- FIFU → Settings → Content Delivery 탭
- ‘Use CDN’ 옵션을 끄거나
- ‘CDN exceptions’ 필드에
img1.daumcdn.net,blog.kakaocdn.net
입력
- 플러그인이 자체 캐시용으로 이미지를 로컬 복사해 두게 하려면 ‘Auto Convert External Images to Media Library’를 켜고, 크론/REST API로 주기적 ‘Import’ 작업을 돌리면 토큰 만료 우려도 사라집니다.
5) 링크 변환 스크립트로 ‘fname’ 원본 주소 추출
최근 티스토리 링크는 fname=
값에 실제 원본이 들어가 있으므로, 포스팅 시점에 PHP나 파이썬 스크립트로
fname=
이후 문자열을urldecode()
- 그대로 FIFU URL에 저장
- Jetpack 우회를 병행
하면 토큰과 상관없이 원본 경로만 쓰므로 장기적으로 안정적입니다. 다만 티스토리가credential·expires·signature
를 필수검증으로 바꾸면 다시 깨질 수 있으니 버퍼 전략(로컬 복사)을 병행하세요.
실행 체크리스트
- Jetpack Site Accelerator 토글 OFF 또는 스킵 필터 적용
- FIFU의 CDN 옵션 확인, 캐시 비움
- Cloudflare·서버 캐시 초기화
- 문제 페이지 소스에서
i0.wp.com
주소가 남아있는지 재확인 - Regenerate Thumbnails(필요 시)로 썸네일 재생성
위 단계를 차례로 적용하면 99 % 이상 이미지 깨짐 현상이 사라집니다. 특히 SEO 관점에서도 Jetpack CDN 미사용이 큰 문제를 야기하지 않으니, 속도 최적화가 꼭 필요하다면 대신 ShortPixel Adaptive Images 같은 서비스로 교체하는 방법도 검토하십시오.
결론
- 원인: 티스토리 CDN URL의 서명 토큰이 쿼리스트링에 포함됐고, Jetpack Photon·워드프레스 일부 필터가 이 문자열을 제거해 요청이 무효화됨.
- 핵심 해결책: Jetpack Site Accelerator를 끄거나, 해당 도메인만 우회·쿼리 유지 필터를 적용해 토큰을 보존.
- 플러그인 측면: FIFU에서는 CDN 이용 설정을 비활성화하거나, 이미지 로컬 복사를 통해 장기 토큰 만료 리스크 제거.
이 가이드를 따라 설정을 수정하면 티스토리 → 워드프레스 이미지 파이프라인이 안정적으로 복원됩니다. 현정님 블로그 운영에 꼭 도움이 되길 바랍니다.
키워드
티스토리 이미지 깨짐, Jetpack Photon 쿼리스트링, 워드프레스 이미지 CDN 문제, FIFU 설정 방법, DaumCDN 토큰, Site Accelerator 비활성화, 티스토리 워드프레스 호환, 외부 이미지 프록시 우회, jetpack_photon_skip_image, 블로그 최적화
참고 자료
- Jetpack Photon이 기본적으로 쿼리스트링을 무시한다는 공식 훅 문서: (developer.jetpack.com)
- 워드프레스 코어에서 이미지 관련 필터가 쿼리스트링을 제거한다는 트랙 이슈: (core.trac.wordpress.org)
'컴퓨터 인터넷 모바일 it > 블로그 애드센스 등' 카테고리의 다른 글
www.cbt.tistory.com에서 응답하는 데 시간이 너무 오래 걸립니다. 'http://detectportal.brave-http-only.com/' , 'http://www.gstatic.com/generate_204' (0) | 2025.08.27 |
---|---|
chatGPT 티스토리 블로그 마크다운 옮길 때 소소한 수정 팁 (0) | 2025.07.04 |
티스토리 워드프레스 블로그 이전 파이썬 스크립트 오류 수정판2 (0) | 2025.06.18 |
티스토리 워드프레스 블로그 이전 파이썬 스크립트 오류 수정판 (0) | 2025.06.07 |
티스토리 블로그 애드센스 무효트래픽 방지코드, 티스토리 링크 버튼 로그인제한 30일 징계 (0) | 2025.06.07 |
댓글