1. 내부 링크
웹사이트의 링크를 분석하는 스크립트를 사용하면 서버 응답 코드에 대한 보고서를 얻고 404 오류(페이지를 찾을 수 없음)를 생성하는 끊어진 링크를 식별할 수 있습니다.
시간이 지남에 따라 모든 사이트는 페이지와 연결 링크가 추가되면서 변화를 겪고, 오래 전에 추가된 것들은 오래되어 방문자가 존재하지 않는 페이지로 연결됩니다. 이는 명함 웹사이트가 아니라 페이지 수가 많은 웹사이트인 경우 특히 중요합니다.
모든 링크를 분석한 후 보고서에서 깨진 링크가 포함된 페이지를 확인하고 이를 수정할 수 있습니다.
2. 외부 링크
모든 사이트는 어떤 방식으로든 링크를 통해 서로 연결되어 있습니다. 다른 사이트에 제공되는 링크는 시간이 지나면 오래된 것이 됩니다. 예를 들어 구조 변경, 새 사이트 생성 또는 사이트 폐쇄 등 이유가 다를 수 있습니다. 귀하가 제3자 사이트의 자료, 스크립트 또는 서비스에 연결하고 있기 때문에 이는 귀하에게 의존하지 않고 다른 소유자에 의해 제어됩니다.
이 스크립트는 또한 귀하의 사이트에서 연결되는 외부 링크의 가용성을 분석합니다. 보고서에는 더 이상 존재하지 않는 오래된 링크가 포함된 페이지도 표시되므로 이를 확인하고 수정할 수 있습니다.
3. 스크립트 설치
이 예에서는 Debian 12: php8.2에 필요한 패키지를 설치하고 Linux 콘솔에서 실행할 phar 형식의 확인 스크립트 자체를 설치합니다.
apt install php php-xml
apt install wget
wget https://github.com/dantleech/fink/releases/download/0.10.3/fink.phar
4.사용예
domain.tld 대신 도메인을 지정하고 필요한 경우 보고서 파일 경로를 조정하세요.
php /root/fink.phar https://domain.tld -x0 -o /root/report.json
작업이 완료되면 스크립트가 보고서를 생성합니다. 사이트 페이지에 표시된 링크를 크롤링하는 전체 프로세스를 실시간으로 관찰할 수도 있습니다.
이 예에서는 5,000페이지의 사이트가 14분 만에 처리되었으며 이는 제공되는 온라인 서비스를 사용하는 것보다 훨씬 빠릅니다.
4.1 보고서 파일을 분석해보자
apt install jq
cat /root/report.json | jq -c '. | select(.status==404) | {url: .url, referrer: .referrer}' | jq
파일은 다음 예와 같이 끊어진 링크가 있는 페이지를 나타냅니다:
4.1.1 좋은 것만 빼고 모두 출력
cat /root/report.json | jq -c '. | select(.status!=200) | {url: .url, referrer: .referrer}' | jq
이 예에서는 코드 200이 포함된 페이지를 제외하고 발견된 모든 페이지가 표시됩니다.
콘텐츠를 추가하는 빈도에 따라 링크를 정기적으로 확인하고 분석하면 방문자가 사이트를 더욱 편안하게 만들 수 있습니다.