원문 캡처 · blog.okturtles.org
원문 캡처 · blog.okturtles.org

워드프레스 블로그의 글과 링크, 댓글을 보존하면서 Astro 정적 사이트로 이전하는 절차를 소개한다. 명령줄과 JavaScript, HTML, CSS에 익숙한 사용자를 위한 튜토리얼이며, 워드프레스 4.9.21을 기준으로 작성됐다. 최신 버전에서는 절차가 조금 다를 수 있다.

원문은 워드프레스의 유지보수 부담과 자체 블로그에서 발생한 CPU 과다 사용 및 오류를 이전 이유로 든다. Astro를 선택한 이유로는 Markdown 지원, 다양한 프레임워크와의 호환성, 클라이언트 런타임 없이 작동하는 Astro 컴포넌트 등을 꼽았다. 이는 해당 블로그 운영진의 선택 이유이며, 정적 사이트 생성기에 관한 일반적인 설명도 참고할 수 있다.

이전은 사이트를 로컬에 복제하고, 워드프레스 관리자 화면의 Tools > Export에서 All content를 선택해 XML 파일을 내려받는 것으로 시작한다. XML에는 글과 댓글의 텍스트가 들어가지만 이미지 같은 파일은 포함되지 않는다. 이미지는 앞서 만든 사이트 복제본에 있어야 한다.

게시물을 Markdown으로 변환하려면 WordPress to Hugo Exporter를 이용해 ZIP 파일을 내려받고, 압축을 푼 뒤 _posts 폴더의 게시물을 사용한다. 대안으로 blog2md와 Jekyll Exporter도 제시한다. 오래된 워드프레스 버전에서는 Jekyll Exporter의 이전 버전을 내려받아야 할 수 있다.

이후 wordpress-to-astro 프로젝트를 포크하거나 복제한다. 변환한 게시물은 src/posts/에, 사이트 복제본의 wp-content 폴더는 public/에 넣는다. Node.js를 설치한 뒤 프로젝트의 README.md에 따라 로컬에서 렌더링하고, 기존 블로그와 비슷하게 템플릿 파일을 수정한다.

댓글을 유지하려면 Isso 인스턴스를 설정해 XML에서 댓글을 가져올 수 있지만, 설정 방법은 튜토리얼 범위에 포함되지 않는다. 완성된 정적 파일은 dist/에 생성되며, Astro 배포 안내에 따라 배포할 수 있다. 이전 단계의 자세한 설명은 원문 튜토리얼에서 확인할 수 있다.