본문으로 이동
SEOBlogBot$100 무료 받기

의사결정 트리

게시 전 링크 게이트: 차단, 보류 또는 통과

초안이 링크하는 호스트에 대한 일괄 호출과 4가지 질문으로 구성된 트리를 실행합니다. 트리는 게시물의 최종 발송, 대기 또는 중단을 결정합니다.

SEOBlogBot 연구팀 ·

저폴리 스타일의 다리를 따라 세 개의 서로 다른 나무 문
명명 참고 사항

사람들은 'a href 백링크 체크어'라고 입력할 때 Ahrefs를 의미합니다. 아래 게이트는 도메인 평점 소스라면 어떤 것이든 작동하며, 여기서는 자체 bulk_dr 액션을 사용합니다. 이 분야의 실제 도구에는 Ahrefs, Semrush, Moz가 있으며, Google Search Console은 오직 자체 링크만 보여줍니다.

게이트가 확인하는 항목

게이트는 외부 링크만 읽습니다. 랭킹, 트래픽 또는 Search Console 데이터를 보지 않으며, 분석 데이터가 필요하지 않습니다.

스크립트는 렌더링된 HTML에서 모든 <a href>를 추출하고 각 URL을 호스트로 단순화합니다. 중복을 제거한 후 bulk_dr로 한 번의 호출로 전송합니다. 빌드 외부로 나가는 데이터는 없습니다. 최대 2,000개 호스트에 대해 1 크레딧이 소모되므로, 60개 참조가 있는 게시물이라도 비용은 천문학적으로 적습니다.

마크다운이 아닌 렌더링된 HTML에서 실행하세요. 단축 코드, 임베드 및 플러그인은 사용자가 직접 입력하지 않은 링크를 추가합니다. 방문자가 실제로 보는 내용을 확인하세요.

실행 위치

게이트는 가능한 한 마지막에 배치하세요. 가장 좋은 위치는 CMS 또는 정적 생성기가 최종 HTML을 생성한 후 스케줄러 직전의 마지막 빌드 단계입니다. 모든 곳에서 동일한 일괄 호출을 사용합니다.

WordPress

상태 변경을 Scheduled 후크에 연결하고 해당 후크 내부에서 게이트를 실행하세요. 최종 판정이 PASS일 때만 게시물이 Scheduled 상태로 남아야 합니다. 하나의 후크, 하나의 규칙.

Hugo

hugo build 이후 public 폴더에서 생성된 HTML을 읽는 단계를 추가하세요. 배포 단계가 실행되기 전에 호스트 목록을 일괄 호출에 보냅니다.

Ghost

게시물 스케줄링 이벤트에 웹훅을 구독하세요. 핸들러는 게시물의 HTML에서 링크를 추출하고 동일한 호출을 수행하므로, Ghost와 정적 사이트 모두 하나의 규칙을 공유합니다.

트리: 질문 하나씩

01

어떤 호스트도 평점 0 또는 행 없음으로 반환됩니까?

0은 해당 호스트를 참조하는 도메인이 인덱스에 없음을 의미합니다. 이는 신규 사이트의 경우 정상적이지만, 권위 있는 출처로 인용한 경우 경고입니다. 질문 2로 이동하세요.

02

0인 호스트가 본문에서 지정한 출처입니까?

게시물이 이를 연구, 보고서 또는 공식 페이지로 언급한다면 게시물을 HOLD하고 편집자에게 보냅니다. 각주 도구나 브랜드 언급이라면 PASS하세요.

03

3개 이상의 호스트가 자체 기준치 아래에 있습니까?

아래 섹션에서 자신의 이력에서 기준치를 선택하세요. 하나의 게시물에 3개 이상의 낮은 호스트가 있으면 스크랩된 목록이나 AI 초안 일부를 붙여넣은 것일 수 있습니다. HOLD하세요.

04

동일한 호스트가 5회 이상 링크되었습니까?

단일 외부 도메인에 대한 반복 링크는 제휴 패턴처럼 보입니다. 첫 번째 언급으로 줄이세요. 스크립트가 판단할 수 없으면 HOLD하세요.

정원에서 가위로 관목을 다듬는 정원사

트리가 이 순서로 질문하는 이유

질문은 가장 저렴한 신호부터 가장 판단이 필요한 순서로 진행됩니다. 각 답변은 다음 질문이 결정해야 할 범위를 좁히므로, 사람이 검토해야 할 초안 수가 줄어듭니다.

이 순서는 편집자의 시간을 보호합니다. 명확한 이유가 있는 HOLD는 처리하는 데 1분이 걸리지만, 모호한 플래그는 주 말까지 무시될 수 있습니다.

먼저 0, 그다음 맥락

0은 가장 저렴한 신호이므로 먼저 확인합니다. 단독으로는 정보가 부족합니다. 다음 질문은 0이 중요한지 여부를 결정하므로, 트리는 0만으로 차단하지 않습니다.

인덱스에 새로 추가된 호스트를 상상해 보세요. 점수는 0이며 팀원 중 누구도 들어본 적이 없습니다. 게시물이 이를 단순히 언급만 했다면 PASS입니다.

횟수보다 기준치 먼저

단일 약한 호스트는 보통 노이즈입니다. 하나의 초안에 여러 약한 호스트가 있으면 패턴이 형성되며, 기준치는 패턴을 찾기 위한 것입니다. 무언가를 세기 전에 이력에서 기준치를 설정하세요. 그래야 횟수에 의미가 생깁니다.

반복은 마지막으로

단일 호스트로의 반복 링크는 품질 문제보다 스타일 문제입니다. 품질 관련 질문이 끝난 후 마지막에 확인하세요. 반복 횟수만으로 게시물의 운명이 결정되지는 않아야 합니다.

파이프라인에서 각 종료 지점의 동작

종료 코드는 제안 사항이며 자체 CI에 매핑하세요.
종료의미파이프라인 작업검토자
PASS규칙 발동 없음게시물이 스케줄러로 이동아무도 없음
HOLD소프트 규칙 1개 발동상태를 '검토 대기'로 설정하고 호스트 목록이 포함된 Slack 메시지 발송편집자
BLOCKAPI 오류 401/402 또는 잘못된 목록작업 실패, 게시물은 초안 상태로 유지파이프라인 소유자

편집자가 HOLD 시 확인해야 할 내용

  • 게시물 제목과 스케줄에서 차지할 예정이었던 슬롯.
  • 각 플래그된 호스트의 평점과 발동된 규칙.
  • 호스트가 나타나는 문장, 그래야 전체 초안을 검색할 필요가 없습니다.
  • 스크립트가 판단할 수 없을 때의 1줄 이유.
  • 게시물을 해제하거나 작성자에게 되돌려 보내는 명확한 방법.

차용하지 않고 기준치 선택하기

자신의 이력에서 시작하세요. 만족하는 30개의 게시물을 선택하고 외부 호스트를 bulk_dr로 한 번 실행하세요. 평점을 정렬한 후 10번째 백분위수를 확인하세요.

이 백분위수는 이미 허용하는 항목 중 가장 약한 10%를 플래그하므로 합리적인 첫 기준치입니다. 우리의 평점은 0~100의 로그 스케일이며, Ahrefs DR과 Moz DA는 별도의 스케일입니다. 포럼 임계값은 이전되지 않습니다.

30개 게시물 샘플을 날짜와 함께 저장소에 유지하여 샘플이 변경될 때 기준치를 다시 계산할 수 있게 하세요.

분기마다 기준치를 검토하세요. 링크 그래프는 성장하고 인덱스는 월 1회 정도 새로 고쳐집니다. 봄에 8점을 받은 호스트가 새로 고침 후 15점이 될 수 있습니다. 용어집은 이러한 숫자 뒤의 용어를 설명합니다.

30줄의 게이트

shell과 jq로 작성된 스케치. 언어를 교체해도 구조는 동일합니다.

bash
HOSTS=$(grep -o 'href="https\?://[^/"]*' post.html | sed 's|.*//||' | sort -u | paste -sd, -)
RES=$(curl -s -H "Authorization: Bearer $SBB_KEY" \
  "https://seoblogbot.com/api.php?action=bulk_dr&domains=$HOSTS")

case $(echo "$RES" | jq -r '.ok') in
  true) ;;
  *) echo "BLOCK: api error"; exit 2 ;;
esac

# inspect the response once and adapt the jq path to its shape
echo "$RES" | jq '.'
작업대 위에 놓인 망치, 렌치 및 드라이버

게이트 호출 실패 시

모든 오류가 초안에 대한 판정이 아닙니다. 호출 실패은 작업의 문제이며, 아래 세 가지 HTTP 케이스는 세 가지 다른 응답이 필요합니다. 출시 전에 해당 응답을 기록해 두세요. 밤중에 임기응변으로 대응하는 사람이 없어야 합니다.

401은 설정 문제입니다

401은 키가 누락되었거나 잘못되었음을 의미합니다. 게시물에 대한 판단이 아닌 broken job으로 처리하세요. 게시물은 초안 상태로 유지되고, 파이프라인 소유자에게 메시지가 전달됩니다.

402는 예산 문제입니다

402는 크레딧이 소진되었음을 의미하며, 재시도로 해결할 수 없습니다. 작업을 중지하고 사람에게 알림을 보냅니다. 계정 페이지에서 크레딧을 충전한 후 실패한 배치 작업을 다시 실행하세요.

잘못된 응답은 버그입니다

JSON이 파싱되지 않거나 ok가 false인 경우, 원본 응답을 로그에 기록하고 중지하세요. 누락된 필드를 추측하지 마세요. 추측된 평점으로 인해 HOLD되어야 할 게시물이 통과될 수 있습니다.

게시물 ID, HTTP 상태 및 시간을 포함하여 각 실패를 로그에 기록하여 동일한 오류가 조용히 반복되지 않도록 하세요.

호출뿐만 아니라 결과 확인하기

성공적인 응답은 호출이 작동했음을 의미합니다. 게시물이 올바른 상태로 스케줄링되었음을 증명하지는 않습니다. 다시 읽어보세요. 게이트가 Scheduled로 설정한 후, 작업이 완료된 것으로 간주하기 전에 상태와 게시 시간을 확인하세요.

그렇지 않으면 게이트는 종이 위로는 통과하지만 CMS가 변경 사항을 조용히 무시할 수 있습니다. 같은 작업에 읽기 확인을 작성하세요. 이 확인은 저렴합니다. 상태가 일치하지 않을 때 명확하게 실패하게 하세요.

읽기 확인은 어떤 단계가 어긋났는지도 보여줍니다. 상태가 잘못된 경우 게이트가 최종 빌드 전에 실행되었을 수 있습니다. 다음 출시 전에 이를 인지하세요.

읽기 확인 결과를 게이트 판정과 함께 로그에 유지하세요. 이 두 가지를 통해 게이트와 CMS가 특정 날짜에 동의했는지 확인할 수 있습니다.

게이트 추가 전 팀이 묻는 질문

a href 백링크 체크어가 이 게이트와 동일한가요?

아니요. 사람들은 그 구문을 입력할 때 Ahrefs를 의미합니다. 이 게이트는 API를 통해 링크 데이터를 읽는 스크립트이며, 브라우저 탭이 아닌 파이프라인 내부에서 실행됩니다.

게이트가 게시 속도를 늦추나요?

추가 비용은 초안당 API로 한 번 왕복하는 것입니다. 너무 느리다고 결정하기 전에 자체 네트워크에서 측정하세요. 답은 빌드 설정에 따라 달라지기 때문입니다.

첫날 기준치는 어떻게 선택하나요?

위 섹션의 30개 게시물 샘플을 사용하세요. 샘플이 준비될 때까지 게이트를 로그 전용 모드로 실행하세요. 이 모드에서는 판정을 기록하지만 상태를 변경하지 않습니다.

게이트가 편집자를 대체하나요?

아니요. 초안을 PASS, HOLD, BLOCK으로 분류하여 편집자가 검토해야 할 초안 수를 줄여줍니다. HOLD가 해당 게시물에 어떤 의미를 가지는지는 사람이 결정합니다.

최종 초안이 아닌 초안에서 게이트를 실행할 수 있나요?

실행할 수 있지만, 판정은 그 순간의 링크만 설명합니다. 마지막 HTML에서 다시 실행하세요. 늦은 편집으로 링크가 추가되거나 제거될 수 있기 때문입니다.

0은 항상 출처가 나쁘다는 의미인가요?

아니요. 0은 해당 호스트를 참조하는 도메인이 인덱스에 없음을 의미합니다. 신규 사이트의 경우 정상적이며, 게시물이 해당 호스트를 권위 있는 출처로 제시할 때만 경고가 됩니다.

우리의 입장

차단보다 보류를 더 많이

너무 쉽게 차단하는 게이트는 세 번째로 불만인 편집자에 의해 비활성화됩니다. BLOCK은 인프라 오류에 사용하고, 규칙 충돌은 명확한 이유가 있는 HOLD로 처리하세요.

  • 판정과 함께 호스트 목록을 로그에 기록하여 이의 제기에 1분이 걸리도록 하세요.
  • 게시 후 감사를 두 번째 레이어로 실행하세요.
  • 이 게이트를 추가하게 만드는 실패 사례에 대한 사후 검토를 읽어보세요.