워드프레스 글 URL 리스트 추출하기(+phpMyAdmin, 플러그인)

Last Updated: 2022년 04월 11일 | | 댓글 남기기

워드프레스의 모든 글 URL을 추출하고 싶은 경우 이전 글에서 소개한 Export All URLs 플러그인을 사용할 수 있습니다. 이 플러그인을 사용할 경우 사이트 내의 모든 페이지 또는 글 URL 리스트를 추출할 수 있습니다.

이 플러그인을 사용할 때 오류가 발생하거나 특정 조건에 부합하는 글 리스트만을 원하는 경우에는 phpMyAdmin에서 MySQL 쿼리를 실행하여 원하는 데이터를 추출할 수 있습니다.

워드프레스 글 URL 리스트 추출하기

무료 플러그인인 Export All URLs 플러그인을 사용하면 워드프레스 사이트 내의 모든 페이지나 포스트(글) URL을 쉽게 추출할 수 있습니다. 이 플러그인으로 글 ID, 글 제목, 글 URL 및 카테고리를 내보낼 수 있습니다("모든 워드프레스 URL 내보내기 - Export All URLs 플러그인" 참고).

제목이나 본문에 특정 단어가 포함된 글만을 추출하거나 특정 카테고리 내의 글 목록을 원하는 경우에는 phpMyAdmin에서 쿼리문을 실행하여 원하는 데이터를 얻을 수 있습니다.

또한, Export All URLs를 실행했을 때 에러가 발생하는 경우가 있습니다. 글 개수가 많은 사이트나 멀티사이트 등에서 이 플러그인을 사용하여 데이터를 추출하려고 시도하면 "이 웹사이트에 치명적인 오류가 있습니다" 오류가 발생할 수 있습니다.

워드프레스 글 URL 리스트 추출하기 - 치명적인 오류

DB 관련 작업이 잦은 경우 wpDataTables 플러그인을 사용하면 편리합니다. 이 플러그인은 유료 플러그인으로 가격이 299달러로 제법 비싼 편이지만 프런트엔드에 엑셀이나 게시판 형식으로 데이터를 표시하려는 경우나 데이터베이스에서 데이터를 추출하려는 경우에 유용하게 활용할 수 있습니다.

wDataTable 플러그인을 사용하여 원하는 데이터를 추출하는 쿼리문을 만든 다음, phpMyAdmin에서 실행하여 데이터를 엑셀이나 CSV 파일로 저장할 수 있습니다. 이와 관련하여 "워드프레스에서 제목에 특정 키워드가 포함된 글 제목 추출하기" 글을 참고해보시기 바랍니다.

아래의 작업 실행 후 되돌릴 수 없으므로 반드시 데이터베이스(DB)를 백업한 후에 진행하시기 바랍니다(참고).

모든 글 URL을 추출하고 싶은 경우 다음과 같은 MySQL 쿼리문을 사용할 수 있습니다.

SELECT posts_post.guid AS post_guid
FROM wp_posts AS posts_post
WHERE 1=1 
   AND posts_post.post_status = 'publish'
   AND posts_post.post_type = 'post'

포스트 제목과 URL을 함께 추출하려는 경우에는 다음과 같이 post_title 부분을 추가하면 됩니다.

SELECT posts_post.post_title AS post_post_title,
       posts_post.guid AS post_guid
FROM wp_posts AS posts_post
WHERE 1=1 
   AND posts_post.post_status = 'publish'
   AND posts_post.post_type = 'post'

다음 쿼리를 사용하면 글 URL 링크가 적용된 글 제목을 추출할 수 있습니다.

SELECT CONCAT('<a href="',posts_post.guid,'">',posts_post.post_title,'</a>') AS post_title_with_link_to_post
FROM wp_posts AS posts_post
WHERE 1=1 
   AND posts_post.post_status = 'publish'
   AND posts_post.post_type = 'post'

제목에 특정 단어가 포함된 글만을 추출하고 싶은 경우에는 다음과 같은 쿼리문으로 시도해볼 수 있습니다.

SELECT posts_post.guid AS post_guid
FROM wp_posts AS posts_post
WHERE 1=1
   AND posts_post.post_status = 'publish'
   AND posts_post.post_title LIKE '%플러그인%'
   AND posts_post.post_type = 'post'

특정 카테고리 내의 모든 글 목록을 추출하려는 경우에는 "MySQL Query to Retrieve Category from wp_posts" 문서에 제시된 코드를 응용할 수 있습니다.

SELECT *
FROM wp_posts
LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
LEFT JOIN wp_term_taxonomy ON (wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id)
WHERE wp_term_taxonomy.term_id IN (307)
GROUP BY wp_posts.ID

MySQL 문법을 조금 알면 다양하게 응용이 가능합니다.

MySQL 쿼리문은 phpMyAdmin의 SQL 탭에 입력하여 실행하면 됩니다.

워드프레스 글 URL 리스트 추출하기 - phpMyAdmin에서 쿼리 실행

결과가 표시되면 내보내기 메뉴를 사용하여 결과를 CSV, CSV for MS Excel 문서 등으로 저장이 가능합니다.

워드프레스 글 URL 리스트 추출하기 - phpMyAdmin에서 데이터 내보내기

phpMyAdmin에 접속하는 방법을 잘 모르는 경우에는 호스팅 업체에 문의하면 방법을 안내받을 수 있을 것입니다. 카페24의 경우에는 phpMyAdmin 서비스가 종료되었으므로 phpMyAdmin 툴을 설치한 후에 접속이 가능합니다. 가비아 등에서는 호스팅 업체 홈페이지에서 접속할 수 있습니다. 블루호스트 등 cPanel이 제공되는 환경에서는 cPanel에 접속하여 phpMyAdmin 툴에 접근할 수 있습니다.

마치며

워드프레스 내의 모든 페이지 또는 모든 글의 URL, 제목 등을 추출하는 방법에 대해 살펴보았습니다. 먼저는 플러그인으로 시도해보시고, 원하는 결과를 얻을 수 없거나 오류가 발생하는 경우에는 위에서 소개한 방법을 응용하여 데이터 추출을 시도해볼 수 있습니다.

참고


댓글 남기기

Leave a Comment