WP All Export나 Export All URLs 같은 내보내기 플러그인 실행 시 서버 메모리 한도 초과로 인해 치명적 오류(Fatal Error)나 타임아웃이 발생해 곤란하신가요?
크롬 개발자 도구(F12) 콘솔에서 워드프레스 기본 REST API 스크립트를 실행하여 한글 깨짐 없는 CSV(엑셀) 파일을 1초 만에 추출하는 확실한 해결 방법을 안내해 드립니다.
워드프레스 내보내기 플러그인 오류 원인
워드프레스에서 포스팅 목록이나 전체 데이터를 내보낼 때 도구의 내보내기 메뉴나 WP All Export 같은 플러그인을 주로 활용합니다. 하지만 사이트에 작성된 포스팅 수가 대량으로 누적되어 있거나 웹호스팅의 PHP 메모리 한도가 낮게 설정된 경우 다음과 같은 치명적 장애가 생깁니다.
첫째, 웹서버 응답 시간 초과로 인해 사이트에 연결할 수 없음(ERR_CONNECTION_RESET) 오류 화면이 출력됩니다.
둘째, 다운로드된 파일을 열어보면 정상적인 엑셀 데이터가 아니라 워드프레스 치명적 오류 HTML 코드가 섞여 나오는 현상이 생깁니다.
공식 문서 기준, 서버가 수천 개 항목과 커스텀 필드를 한 번에 조회하려 할 때memory_limit제한에 도달하기 때문입니다.
자세한 가이드라인은 워드프레스 공식 REST API 핸드북을 통해 확인할 수 있습니다.
REST API 콘솔 방식을 추천하는 이유
서버 과부하 위험을 완전히 차단하면서 포스팅 제목과 URL 주소만 깔끔하게 뽑아내기 위해 워드프레스 자체 REST API 엔드포인트를 활용하는 것이 가장 안전합니다.
- 서버 부하 Zero: 서버에서 파일을 생성하지 않고, 브라우저가 필요한 만큼 텍스트 데이터만 나누어 요청합니다.
- 한글 깨짐 방지: UTF-8 BOM 인코딩 처리를 거쳐 엑셀로 바로 열어도 한글 제목이 깨지지 않습니다.
- 무제한 수집: 글이 1,000개 이상이더라도 스크립트가 알아서 페이지를 넘겨가며 전체 포스팅을 자동 수집합니다.
💡 함께 보면 좋은 글:
5단계 가이드: 1초 만에 엑셀 파일 추출하기
크롬(Chrome) 브라우저를 활용하면 플러그인 설치 없이 즉시 엑셀 파일을 얻을 수 있습니다.
1단계: 본인 사이트 접속
크롬 브라우저를 열고 본인의 워드프레스 메인 페이지에 접속합니다.
2단계: 개발자 도구 콘솔 열기
Ctrl + Shift + I 단축키를 누르거나, 우측 상단 메뉴 ➔ 도구 더보기 ➔ 개발자 도구를 클릭한 뒤 Console(콘솔) 탭을 클릭합니다.
3단계: 붙여넣기 잠금 해제 (최초 1회)
콘솔 창 맨 아래 화살표(>) 옆에 allow pasting 또는 붙여넣기 허용을 입력하고 Enter를 누릅니다. (경고가 뜨지 않는다면 생략 가능합니다.)
4단계: 추출 스크립트 복사 및 실행
아래 자바스크립트 코드를 통째로 복사한 뒤, 콘솔 창 화살표 옆에 붙여넣고 Enter 키를 누릅니다.
(async () => {
let posts = [], page = 1;
while (true) {
try {
let res = await fetch(`/wp-json/wp/v2/posts?per_page=100&page=${page}`);
if (!res.ok) break;
let data = await res.json();
if (!data.length) break;
posts.push(...data);
page++;
} catch (e) { break; }
}
let csv = "\uFEFF제목,URL\n" + posts.map(p => {
let title = p.title.rendered.replace(/–/g, '-').replace(/&/g, '&').replace(/"/g, '""');
return `"${title}","${p.link}"`;
}).join("\n");
let blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
let a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = '포스팅목록.csv';
a.click();
})();
5단계: 엑셀 파일 확인
Enter를 누르면 즉시 수 초 내에 컴퓨터 다운로드 폴더로 포스팅목록.csv 파일이 자동 내려받아집니다.
단축키 막힘 및 붙여넣기 경고 해결법
실행 도중 막히는 상황이 발생했을 때의 대처법입니다.
- F12 단축키 미작동: 노트북의 경우
Fn + F12를 누르거나Ctrl + Shift + I단축키, 또는 마우스 우클릭 후 ‘검사’를 선택하세요. - 우클릭 방지 활성화: 브라우저 설정 메뉴를 이용해 개발자 도구를 열 수 있습니다.
- Self-XSS 보안 경고: 크롬 보안 방침이므로
붙여넣기 허용을 직접 입력하여 엔터를 친 후 코드를 실행하시면 해결됩니다.
자주 묻는 질문 (FAQ)
/wp-json/wp/v2/posts 부분을 /wp-json/wp/v2/pages로 변경하시면 페이지 목록도 즉시 다운로드할 수 있습니다.결론 및 요약
워드프레스 내보내기 플러그인 타임아웃 오류는 서버 메모리를 건드리지 않는 REST API 콘솔 스크립트로 깔끔하게 해결할 수 있습니다. 상기 스크립트를 활용하여 1초 만에 포스팅 목록을 엑셀로 추출해 보시기 바랍니다.
출처 및 참고 사이트:
- WordPress REST API Developer Handbook: https://developer.wordpress.org/rest-api/