워드프레스 핑백 트랙백이란? 비활성화 방법 2가지

워드프레스 핑백과 트랙백은 글에 다른 사이트의 링크를 걸었을 때 그 사이트에 알림을 보내고, 받은 쪽에는 댓글 형태로 남기는 기능입니다. WordPress 7.1.3 원본 코드와 토론 설정을 확인한 결과, 트랙백은 주소를 직접 적어 보내고 핑백은 XML-RPC로 자동 전송됩니다. 두 기능은 토론 설정에서 사이트 전체로 끄거나, 편집 화면 오른쪽 설정의 토론에서 글마다 끌 수 있습니다.
새로 설치한 WordPress 7.1.3은 핑백·트랙백을 보내는 설정과 받는 설정이 모두 켜진 상태로 시작합니다.
1️⃣ 워드프레스 트랙백이란?
트랙백은 글쓴이가 상대 글의 트랙백 주소를 직접 적어 보내는 알림입니다. 받는 쪽 워드프레스는 글 주소 끝에 [trackback/]이 붙은 주소로 HTTP POST 요청을 수신합니다. 이 요청은 [wp-trackback.php]가 처리하며, 보낸 글의 제목과 요약을 댓글 목록에 트랙백으로 등록합니다.
트랙백을 보내는 칸은 고전 편집기(Classic Editor)의 [트랙백 보낼 대상] 하나뿐이며, 블록 편집기에서는 핑백과 트랙백을 받을지만 정합니다. 그래서 지금 워드프레스에서 트랙백은 받는 쪽 기능으로 남아 있습니다.
2️⃣ 워드프레스 핑백이란: XML-RPC로 자동 전송되는 알림
핑백은 글을 발행하면 워드프레스가 본문의 링크를 스스로 찾아 상대 사이트의 [xmlrpc.php]로 보내는 알림입니다. 받는 쪽은 보낸 글에 자기 주소 링크가 실제로 있는지 확인한 뒤에만 댓글 목록에 핑백으로 등록하며, 링크가 없으면 거부합니다.
핑백은 사이트끼리 링크를 알리려고 만든 기능이지만, 같은 워드프레스 XML-RPC 통로가 스팸 댓글과 비밀번호 대입 공격에 이용되고 있습니다.
3️⃣ 워드프레스 핑백 트랙백 차이와 장단점
| 구분 | 트랙백 | 핑백 |
|---|---|---|
| 보내는 방식 | 글쓴이가 상대 트랙백 주소를 직접 입력 | 발행할 때 본문 링크를 찾아 자동 전송 |
| 전송 통로 | HTTP POST (wp-trackback.php) | XML-RPC (xmlrpc.php의 pingback.ping) |
| 받는 쪽 확인 | 보낸 글을 확인하지 않고 등록 | 보낸 글에 내 주소 링크가 있는지 확인 |
| 댓글 목록 표시 | 트랙백 | 핑백 |
장점은 상대 사이트의 댓글 목록에 내 글의 링크가 남아 방문자가 유입될 수 있다는 것이고, 단점은 같은 통로로 스팸이 들어온다는 것입니다. 트랙백은 보낸 글을 확인하지 않아 스팸을 보내기 쉽고, 핑백은 링크를 확인해도 XML-RPC 통로 자체가 공격 대상이 됩니다.
핑백은 자기 사이트의 글로 거는 내부 링크에도 전송되므로, 글끼리 핑백 댓글이 달리는 셀프 핑백이 생깁니다.
4️⃣ 셀프 핑백 비활성화: pre_ping 코드와 상대 주소
핑백을 켜 둔 채 셀프 핑백만 막으려면, 보낼 링크 목록에서 자기 사이트 주소를 빼는 코드를 차일드 테마의 [functions.php]나 사이트 전용 플러그인에 넣습니다. WordPress 7.1.3도 [pre_ping] 훅에 링크 목록을 참조로 넘기므로, 아래 코드를 그대로 사용할 수 있습니다.
// self-pingbacks 없애기
function stop_self_ping( &$links ) {
$home = get_option( 'home' );
foreach ( $links as $l => $link )
if ( 0 === strpos( $link, $home ) )
unset($links[$l]);
}
add_action( 'pre_ping', 'stop_self_ping' );이 코드는 핑백을 보내기 직전 [pre_ping] 단계에서 링크 목록을 받아, 자기 사이트 주소로 시작하는 링크를 지웁니다. 내부 링크를 [/워드프레스란/]처럼 도메인이 없는 상대 주소로 걸어도 셀프 핑백은 생기지 않습니다. 핑백 자체를 끄는 사이트라면 이 코드는 필요 없습니다.
5️⃣ 워드프레스 핑백 트랙백 비활성화 방법 2가지
첫 번째 방법은 사이트 전체에 적용하는 토론 설정입니다. 관리자 화면 [설정 › 토론]의 [기본 글 설정]에는 보내는 칸과 받는 칸이 있으며, ① [글에 링크한 모든 블로그에 알림 시도]가 보내는 칸입니다. ② [새 글에서 다른 블로그로부터 링크 알림(핑백과 트랙백) 허용]이 받는 칸이며, 두 칸의 체크를 해제하고 [변경 사항 저장]을 누릅니다. 화면 안내대로 이 설정은 새 글에만 적용되므로, 이미 발행한 글은 두 번째 방법으로 비활성화합니다.

두 번째 방법은 글마다 끄는 것입니다. 편집 화면 오른쪽 설정에서 [토론]을 열어 [핑백 및 트랙백 허용]을 끄면 그 글만 핑백과 트랙백을 받지 않습니다.
이미 발행한 글 여러 개는 글 목록에서 골라 [일괄 편집]의 [핑] 항목으로 한 번에 비활성화할 수 있습니다.
서버에서 [xmlrpc.php]를 막으면 들어오는 핑백만 끊기며, 내 글에서 나가는 핑백은 첫 번째 방법의 보내는 칸을 해제해야 멈춥니다.
🔢 FAQ & 추천 콘텐츠
ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.