WordPress에서 영구 링크가 작동하지 않는 이유를 이해하는 방법
게시 됨: 2021-12-27검색 엔진 최적화(SEO)는 가시성과 검색 순위를 높일 수 있으므로 많은 사이트 작업이 검색 엔진 최적화(SEO)에 중점을 둡니다. SEO 전략의 일부는 URL 구조를 기반으로 해야 합니다. 하지만 WordPress에서 퍼머링크가 작동하지 않으면 트래픽 수치를 낮추는 데 어려움을 겪을 수 있습니다.
영구 링크가 깨졌을 때를 아는 것은 간단하지만, 그것을 고치는 방법은 이해하기 쉽지 않습니다. 대부분의 경우 서버 구성 파일로 이동하여 일부를 변경해야 합니다. 그러나 WordPress 내에서 빠른 재설정이 필요한 전부일 수 있습니다.
다음 몇 섹션에서 워드프레스에서 퍼머링크가 작동하지 않을 때 해야 할 일을 보여드리겠습니다. 먼저, 깨진 영구 링크와 그 모양에 대해 더 자세히 이야기하겠습니다.
WordPress에서 깨진 영구 링크의 모습
사용하는 서버나 설정에 관계없이 깨진 영구 링크는 모두 동일하게 보입니다. 대부분의 경우 홈 페이지는 완벽하지만 다른 페이지에는 404 오류가 표시됩니다.

일부 특정 인스턴스(예: 사이트 내에 존재하지 않는 합법적인 URL)의 경우 404 오류를 홈 페이지로 리디렉션할 수 있습니다. 하지만 발견되지 않은 근본적인 문제가 있는 경우가 많기 때문에 많은 경우에 영구적인 솔루션은 아닙니다.
게다가 워드프레스 내에서 퍼머링크가 작동하지 않으면 사이트를 탐색하지 않는 한 알 수 없습니다. 사용자가 알림을 보낼 때 문제를 처음 알 수 있습니다. 이것은 사용자 경험(UX)이나 평판에 좋지 않습니다.
워드프레스에서 퍼머링크가 작동하지 않는 이유
WordPress의 슬러그 및 영구 링크는 사이트의 '설정 후 잊어버리기' 측면에 가깝습니다. 게시물별로 슬러그를 편집할 수 있지만 초기 WordPress 설치 프로세스 후에 전역 영구 링크 구조를 설정합니다. 권장되는 일반적인 방법은 SEO에 영향을 줄 수 있으므로 이후에 두는 것입니다.
따라서 WordPress에서 깨진 영구 링크는 수정하기가 더 어렵습니다. 대신 탐색할 몇 가지 다른 방법이 있습니다.
- 새 플러그인을 설치하거나 이전 플러그인의 설정을 변경하면 퍼머링크를 간접적으로 변경할 수 있습니다. 이것은 특히 서버 구성 파일에 연결하는 플러그인에 해당됩니다.
- 작은 기회이지만 일부 핵심, 테마 및 플러그인 업데이트로 인해 영구 링크가 손상될 수 있습니다. 이것이 깨끗하고 최신 백업이 필요한 이유 중 하나입니다(자세한 내용은 나중에).
- 말하자면 백업을 사용하여 사이트를 복원해야 하는 경우 영구 링크 구조가 손상될 수도 있습니다. 이는 사이트 마이그레이션에도 적용됩니다.
그러나 WordPress에서 영구 링크가 작동하지 않는 한 가지 더 일반적인 원인이 있습니다. 서버 구성 파일을 수동으로 편집하는 것입니다. 이 파일을 수정하기로 결정하면 충돌하는 플러그인과 동일한 손상을 입습니다.
오류의 원인에 관계없이 오류 수정 작업을 시작하고 싶을 것입니다. 이제 원인을 알았으므로 문제가 있는 곳을 파헤치고 발견할 수 있습니다.
깨진 WordPress 영구 링크를 수정하는 데 필요한 것
아직 twigging하지 않았다면 서버의 핵심 파일로 이동해야 합니다. 이 때문에 록큰롤 준비가 된 필요한 모든 것을 얻는 것이 좋습니다. 준비해야 할 요소의 체크리스트는 다음과 같습니다.
- 파일 작업을 위해 서버에 대한 관리 액세스 권한입니다. 대부분의 경우, 특히 사이트 소유자인 경우 입력이 필요하지 않습니다.
- 서버 자격 증명, 특히 로그인 세부 정보. 호스팅 제어판 또는 제공업체의 이메일에서 찾을 수 있습니다. 자격 증명을 찾을 수 없는 경우 호스트가 자격 증명의 위치를 알려줄 수 있습니다.
- Cyberduck, FileZilla 또는 Transmit과 같은 SFTP(Secure File Transfer Protocol) 클라이언트. 이들 각각은 서버에서 단순한 파일 검색 이상의 기능을 제공합니다.
- 문제를 일으키지 않고 SFTP를 사용하는 기술. 이 튜토리얼 전체에서 SFTP를 사용 하는 방법 을 알고 싶어할 것입니다.
- 웹 사이트 및 가능한 경우 서버의 깨끗하고 최신 전체 백업. 지속적인(또는 도입된) 오류로 인해 복원해야 하는 경우 백업은 귀하가 소유한 가장 귀중한 파일이 됩니다.
텍스트 편집기와 같은 선택적 도구가 있지만 필수는 아닙니다. 위의 목록은 WordPress에서 작동하지 않는 영구 링크를 수정하는 데 필요한 전부입니다.
WordPress에서 작동하지 않는 영구 링크를 수정하는 방법
필요한 모든 도구, 기술 및 서비스가 준비되면 작업에 착수할 수 있습니다. 다음 몇 분 동안 WordPress에서 작동하지 않는 영구 링크를 다음과 같은 방법으로 수정하는 방법을 보여드리겠습니다.
- WordPress 대시보드에서 영구 링크를 재설정하고 몇 초 정도 걸립니다.
- 영구 링크에 영향을 줄 수 있는 플러그인과의 비호환성을 확인합니다.
- Apache 서버의 경우 영구 링크 문제를 해결할 수 있는 위치를 알려 드리겠습니다.
- Nginx 서버에 대해서도 동일한 내용을 보여드릴 것입니다. Nginx 서버는 (더 많이는 아니지만) 인기가 있기 때문입니다.
기사가 끝나면 앞으로 퍼머링크 관련 문제를 해결할 수 있는 올바른 지식을 갖게 될 것입니다. 통과해야 할 것이 많기 때문에 WordPress 자체 내에서 시작하겠습니다.
1. WordPress 내에서 영구 링크 재설정
WordPress 대시보드 내에서 영구 링크를 빠르게 재설정하면 문제가 해결되기를 바랍니다. 몇 초가 소요되며 영구 링크 문제를 해결하는 간단한 방법이므로 먼저 이 작업을 수행하는 것이 좋습니다.
시작하려면 WordPress의 설정 > 영구 링크 페이지로 이동하십시오.

대부분의 최신 WordPress 설치의 경우 게시물 이름 영구 링크 구조가 있습니다. 그러나 지금은 일시적으로 변경해야 합니다. 이렇게 하려면 다른 라디오 버튼을 선택하십시오. URL 구조를 그대로 유지하는 데 매우 주의를 기울이고 싶다면 Custom Structure 를 선택하고 /%postname%/
태그를 사용하는 것이 좋습니다.

그런 다음 변경 사항을 저장하고 원래 구조(이 경우 게시물 이름 )를 다시 선택한 다음 변경 사항을 다시 저장합니다. 이렇게 하면 영구 링크가 재설정되므로 사이트와 문제가 해결되었는지 확인하세요.
2. 플러그인 충돌 및 비호환성 확인
WordPress에서 작동하지 않는 영구 링크를 수정하는 다음 방법은 많은 WordPress 문제를 해결하기 위해 널리 사용되는 단계를 보다 간단하게 수행하는 것입니다. 플러그인은 (물론) 사이트의 무수한 영역에 영향을 미치므로 불량 플러그인이 영구 링크에 문제를 일으킬 수 있습니다.
이 단계의 표준 접근 방식은 SFTP를 통해 서버에 로그인하는 것이지만 이 경우에는 필요하지 않습니다. 대신 WordPress 내의 플러그인 > 설치된 플러그인 페이지로 이동하십시오.

이 화면에서 각 플러그인에 대한 모든 확인란을 선택합니다. 맨 위에 있는 전역 확인란을 사용하여 시간을 절약할 수 있습니다. 드롭다운 일괄 작업 메뉴에서 비활성화 를 선택합니다.

이렇게 하면 모든 플러그인이 꺼지지만 사이트에 영향을 미치는 영구 링크 문제도 해결되기를 바랍니다.
다음으로 영구 링크가 더 이상 작동하지 않을 때까지 각 플러그인을 차례로 활성화합니다. 플러그인을 찾으면 다시 비활성화하고 문제가 되는 플러그인을 제외하고 사이트를 원래대로 되돌립니다.
이 시점에서 몇 가지 옵션이 있습니다.
- 더 이상 필요하지 않으면 플러그인을 완전히 삭제하십시오.
- WordPress 플러그인 디렉토리에서 시작하여 대안을 찾으십시오.
- 개발자에게 연락하여 알려주고 수정을 요청하세요.
어떤 경우에도 문제가 해결될 때까지 플러그인을 비활성화 상태로 유지해야 합니다. 영구 링크가 깨진 상태로 유지되는 것을 원하지 않기 때문입니다.

3. Apache 서버 구성
지금은 예전만큼 인기가 없지만 Apache 서버는 여전히 웹사이트를 호스팅하는 확실한 방법입니다. 뿐만 아니라 일반 사용자가 관리하기에도 간단합니다(단점이 있지만 다른 기사에 해당됨).
따라서 WordPress 영구 링크를 다시 작동시키기 위해 수행할 수 있는 몇 가지 작업을 살펴보겠습니다.
.htaccess 파일을 사용하여 영구 링크를 다시 작동시키십시오.
WordPress 내에서 다른 영구 링크 구조를 전환하는 것과 마찬가지로 .htaccess 파일을 재설정할 수도 있습니다. 모르는 사람을 위해 이것은 서버가 콘텐츠를 관리하는 데 도움이 되는 구성 파일입니다. 새로운 지침으로 편집할 수 있지만 이 경우 비활성화하고 싶습니다(또는 최소한 서버에서 일시적으로 사용하지 않도록 하십시오).
새로운 지침으로 .htaccess 파일을 편집할 수 있지만 이 경우 비활성화하고 싶습니다(또는 최소한 서버에서 임시로 파일을 사용하지 않도록 하십시오).
이를 위해 이전에 얻은 자격 증명과 선택한 SFTP 클라이언트를 사용하여 서버에 로그인해야 합니다. 일단 들어가면 올바른 사이트로 이동하고 싶을 것입니다. 서버에 하나뿐인 경우 너무 어렵지 않아야 합니다. 그러나 둘 이상의 사이트에 대해 특정 이름을 가진 항목을 찾으십시오.
사이트 이름이 표시되지 않으면 서버의 기본 설치일 수 있습니다. 이 경우 www , root , public_html 또는 이와 유사한 것을 찾으십시오. 사이트의 파일이 거기에 있을 것입니다.
올바른 위치에 있으면 .htaccess 파일을 찾으세요. 가장 최상위 디렉토리에 있어야 합니다.

이 파일을 백업해도 되지만 서버에 남아 있지만 다른 이름으로 유지됩니다. 이렇게 하려면 파일을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 이름 바꾸기 (또는 이와 유사한) 옵션을 찾습니다.

이렇게 하면 WordPress가 .htaccess 파일이 존재하지 않는 것처럼 건너뜁니다. 여기에서 가이드의 첫 번째 단계에 따라 퍼머링크를 재설정하고 싶을 것입니다. 이렇게 하면 서버에 완전히 새로운 .htaccess 파일이 생성되고 어느 시점에서 영구 링크가 작동하지 않는지 테스트할 수 있습니다.
그들이 작동한다면 .htaccess 파일 내의 어떤 것이 영구 링크 오류의 원인이 될 것입니다. 문제를 일으키는 줄을 찾기 위해 잘라내기 및 붙여넣기 작업을 수행할 수 있지만 사용할 준비가 된 새로운 .htaccess 파일이 있으므로 필요하지 않을 수 있습니다.
Apache 구성에 AllowOverride 규칙 추가 파일
이 다음 팁에서는 서버의 루트 폴더에 있어야 합니다. 이것은 액세스할 수 있는 가장 높은 수준이며 일부 호스트에서는 이 작업을 허용하지 않을 수 있음을 경고합니다. 따라서 공유 서버를 사용하는 경우 이것은 선택 사항이 아닙니다. 다만, 서버를 관리하거나 가상사설망(VPN)을 사용하는 자가 다음을 수행할 수 있습니다.
etc 폴더가 있기 때문에 올바른 위치에 있는지 알 수 있습니다. 일부 서버에는 etc/httpd/httpd.conf
경로와 파일이 있지만 Linux 서버는 etc/apache2/apache2.conf
를 사용할 수 있습니다.

디렉토리별로 서버의 특정 측면을 재정의할 수 있도록 하는 규칙을 apache2.conf 파일에 추가하고 싶을 것입니다. 복잡함을 이해할 필요가 없기 때문에 여기에서 이것의 세부 사항에 대해서는 다루지 않을 것입니다. 그러나 이 작업을 시도하기 전에 백업을 확인하는 것이 좋습니다.
SFTP 클라이언트로 돌아가서 apache2.conf 파일로 이동하고 텍스트 편집기에서 엽니다. 내에서 다음 코드 모음을 찾습니다.
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
AllowOverride None
라인을 AllowOverride All
로 변경하고 싶을 것입니다. 변경 사항을 저장하고 나면 퍼머링크가 작동하는지 확인하고 싶을 것입니다. 그렇지 않은 경우 서버를 다시 시작해야 할 수 있습니다. 이것은 SSH(Secure Shell) 액세스를 사용하는 고급 기술입니다. 블로그의 다른 기사에서 이에 대해 다룹니다.
서버에 있을 때 sudo systemctl restart apache2
를 입력하여 다시 시작합니다. 다른 호스트의 복잡성 때문에 문제가 발생하면 호스트와 이야기하고 싶을 것입니다. 많은 호스트가 서버에 액세스하는 사용자 지정 방법을 가지고 있으며 가장 최적의 접근 방식을 찾고 싶을 것입니다.
4. Nginx 서버 구성
Nginx는 Apache의 틴탑 Hot Rod에 비해 매우 매끄러운 레이싱 카입니다. 그만큼 팬도 많고 경쟁사 대비 점유율도 높다.
여기서 단점은 필요한 파일을 찾는 것이 다른 서버 유형보다 까다롭다는 것입니다. 그래도 여전히 가능하므로 Nginx 서버 내에서 작동하지 않는 영구 링크를 수정하는 방법을 알려 드리겠습니다.
Nginx 구성 파일 찾기
먼저 올바른 구성 파일을 찾아야 합니다. 여기에서 서버의 정확한 위치에 대해 호스트에게 문의해야 할 수도 있습니다. 우리의 경우 파일은 etc/nginx/site-enabled/
디렉토리에 있지만 귀하의 파일은 다를 수 있습니다.
내부에 들어가면 default.conf 라는 파일이나 사이트 이름을 딴 파일을 찾으십시오. 필요한 경우 호스트에게 다시 문의하십시오. Nginx 구성 파일은 코드 블록을 사용하여 다른 규칙을 정의하고 server {
로 시작하는 블록이 있기 때문에 파일이 올바른지 알 수 있습니다.
이 블록을 찾으면 사이트가 루트 또는 하위 디렉토리에 있는지 여부에 따라 수정할 수 있습니다.
Nginx 구성 파일 수정
default.conf 파일을 열고 커서를 server
블록 주위로 이동한 상태에서 다른 들여쓰기 블록을 찾으십시오. 이번에는 location /
입니다. 안에 다음을 추가합니다.
try_files $uri $uri/ /index.php?$args;
전체 블록은 다음과 유사해야 합니다.
location / try_files $uri $uri/ /index.php?$args;
이것은 사이트가 서버의 루트 디렉토리에 있는 경우에만 적용됩니다. 사이트가 하위 디렉토리에 있는 경우(많은 사이트 중 하나일 수 있음) 해당 위치를 해당 하위 디렉토리로 지정하고 싶을 것입니다.
location /subdirectort/ try_files $uri $uri/ /subdirectory/index.php?$args;
변경 사항을 저장할 때 sudo systemctl reload nginx
를 사용하여 서버를 다시 시작하십시오. Apache 지침과 마찬가지로 이 작업을 수행하지 못할 수도 있습니다. 이 경우 호스트와 이야기하고 도움을 요청하십시오.
마무리
퍼머링크는 사람이 읽을 수 있는 방식으로 웹사이트의 게시물과 페이지에 액세스할 수 있습니다. 그들이 잘못되면 낙진으로 인해 사이트가 무릎을 꿇을 수 있습니다. 종종 WordPress에서 작동하지 않는 영구 링크에 대해 가장 먼저 알게 되는 것은 사용자가 받게 될 404 오류의 수가 많다는 것입니다.
이 문제를 해결하려면 WordPress 내에서 영구 링크를 재설정하는 것이 가장 좋은 시나리오입니다. 하지만 다른 많은 경우에 서버를 열고 파일을 삭제(또는 수정)해야 다시 작동하게 됩니다. 이 게시물은 선박을 바로 잡고 항해를 계속하는 데 필요한 기술과 워크플로를 제공해야 합니다.
귀하의 영구 링크가 WordPress에서 작동하지 않습니까? 이전에 겪었던 문제입니까, 아니면 지금 경험하고 있는 문제입니까? 아래 의견 섹션에서 상황과 해결 방법을 공유하십시오!