태그 보관물: 문제 해결 일반

macOS에서 부팅시 앱 자동 실행 방지하는 방법

macOS에서 부팅시 자동으로 실행되는 앱을 멈추고 재부팅시 다시 실행이 안되게 해야 하는 경우가 있습니다. 여러 방법으로 자동 구동 앱을 실행이 안되게 할 수가 있는데요. 이 글에서는 몇가지 방법을 해설해보겠습니다.

시스템 설정 → 일반 → 로그인 항목 및 확장 프로그램 → 로그인 시 열기 에서 항목을 토글하고 -를 누릅니다. 그러면 이 앱은 일단 부팅시 자동 실행이 안됩니다.

그래도 안되면 아래 디렉토리에서 자동 실행되는 앱에 해당되는 plist 파일을 삭제해봅니다.

그리고 시스템 종료를 실행해서 뜨는 대화상자에서 “다시 로그인하면 윈도우 다시 열기”를 언체크하고 종료하시고 확인해보시면 되는데요. 그래도 자동 실행이 되면요.

하면 com.apple.loginwindow.암호화된-문자열.plist 와 같은 파일이 표시됩니다.

이렇게 하고 시스템 종료를 하고 다시 부팅하면 자동 실행이 멈춥니다. “다시 로그인하면 윈도우 다시 열기”를 언체크하시구요.

제 경우 해결이 되었는데 안된다면 cp 명령어로 복제해둔 파일을 복구하면 일단 전의 상태로 돌아가게 됩니다. 자동 실행이 안고쳐진 상태지만 일단은 원점에서 돌아가 해결방법을 간구할 수 있습니다. 위에 소개한 벙법대로 실행하면 대부분 해결이 됩니다.

소프트웨어 설정이 저장되는 방식

윈도우를 사용하는 컴퓨터에서 작동하는 모든 프로그램은 설정 사항을 고를 수 있는 경우 이 설정 사항이 저장되는 고유의 방식이 있습니다. 크게 세가지 방식이 특정되는데요.

(1) 램에 저장됨
(2) 특정 디렉토리에 저장됨
(3) 레지스트리에 저장됨

이 세가지 방식을 잘 이해한다면 문제가 있게 될때 프로그램을 삭제하고 재설치할때 요령을 더 잘 살펴볼 수 있게 됩니다.

보통 프로그램을 삭제하면 (1), (2), (3)에 해당되는 설정 사항도 지우는게 일반적인 상식인데요. 프로그램에 따라서는 안지울 수도 있습니다. 이유는 프로그램 재설치시 전에 했던 설정을 복구하기 위함이거나 오류가 발생해서 안지워지는 것일 수 있네요.

완전하게 설정 사항까지 지우려면 (1), (2), (3)에 해당되는 작동 방식을 특정해서 조치를 해야 합니다.

(1)은 삭제후 재부팅을 해보면 좋구요.
(2)는 프로그램마다 설치되어 작동하는 디렉토리와 부수적으로 생성된 디렉토리를 지우면 좋구요.
(3)은 레지스트리에서 삭제가 안된 설정 항목을 지우는 것입니다.

(2)의 경우 윈도우에서는 Program Files 디렉토리만 주로 알려져 있지만, 유저 홈디렉토리 아래 AppData 라고 된 숨겨진 디렉토리의 특정 하위 디렉토리와, 유저 홈디렉토리에 숨겨진 디렉토리로 된 다른 디렉토리도 지워야 하는 경우가 있습니다.

(3)은 디렉토리에 비해 더 잘 안알려져 있을 가능성이 큰데요. 보안을 목적으로 암호화된 방식으로 저장되기도 하고, 잘 안알려져 있는 정보일 가능성이 커서입니다. 이 경우에도 레지스트리에 남아 있는 설정 사항을 지워야 하는 경우가 많습니다.

제어판에서 프로그램 삭제후 수동으로 이 세가지 방식에 대응되는 조치가 잘 이루어졌다면 설정이 완벽하게 지워져서 바라는 결과가 얻어집니다.

요즘은 클라우드 시대라, (4) 클라우드 서버에 저장된 설정 항목도 지우는 조치도 있을 수 있습니다.

주의할 점은 (1)부터 (4)까지 할때는 백업을 해두고 하거나 완전하게 잘 아는 경우에만 하는게 좋을 수 있을 것입니다. 잘못 지워버리면 다른 프로그램의 기능도 망가질 수 있으니까요.

프로그램이 문제가 생겨서 삭제후 재설치할때 이 글에서 언급한 지식이 있으면 더 잘 고칠 수 있을 것입니다.

개발적인 지식을 더 발전시키는 방법

컴퓨터는 활용적인 지식이 있고 개발적인 지식이 있습니다. 활용적인 지식도 개발적인 지식 못지 않게 응용이 필요해서 중요한데요. 웹서버 설정처럼 활용적이라고 할 지식처럼 전문성을 가지고 있어야 잘 하게 되는 경우에 해당됩니다. 설정 파일에 대한 이해와 설정하려는 사이트에 대한 이해, 자원배분을 생각해보는 이해 등등의 지식이 필요하죠.

사실 맞춤해설을 받고 연습을 하면 다들 전문성이 있어야 하는 지식도 익숙해질 수 있습니다. 제가 이 글에서 소개하려고 하는 것은 실천지침인데요. 컴퓨터 활용 능력 시험 등급 1, 2급 다 하실 수 있고 네트워크나 수리기능사 같은 다른 자격증도 보유하셨다면 여기서 그치지 않고 공부를 이어갈때 실력 향상이 되는 방법입니다. 대단한 것은 아니고 무엇을 더 배우면 좋을지에 대한 소개네요.

수리기능사 자격증 보유자시라면, ARM 관련 개발서를 읽고 취미로 하시면 실력 향상에 도움이 됩니다. 회로 구성도 해보고 납땜이나 C로 하는 하드웨어 개발 등등이 이어져서 수리할때도 마더보드 교체없이 하는 UEFI 재프로그래밍이나 시스템 예약 파티션에 대해서도 알게 되니까요.

수학전공이셨다면 수치해석과 같은 체계를 프로그램으로 구현하는 것을 보시면 좋을 것 같애요. 미적분이나 미분방정식 연산을 프로그램 언어로 구현하는 것도 배워보시면 좋을 것 같구요.

웹프로그래밍 과정을 듣고 마스터하셨다면 웹보안쪽 공부와 DBMS 심화 공부, 풀스택 공부로 이어가시면 됩니다.

개발쪽은 아니라면, 검색이 편한 인터넷 서점에서 “비전공자를 위한”이나 “모두를 위한”과 같은 수식어를 포함한 검색어로 검색해보시면 원리를 심도있게 알려주는 책이 많이 나오니 참고해보시구요.

그리고 블로그 하나 만드셔서 알고 계신 지식을 글로 작성해서 올리는 것도 하시면 공부에 도움이 되죠.

요즘처럼 대학에서 안배운 분들께도 전공에 준하는 교육을 해주는 시대에서는 누구나 전문지식을 아는데 큰 도움이 되어줍니다. 무엇보다도 중요한 것은 현재 지식 수준에서 멈추는게 아니라, 전문적인 진보된 지식을 늘 알려고 하는 것입니다. 이 경우에는 자기가 체현한 분야에서 보다 더 난이도를 높혀서 공부해보는 것이구요. 이를 위해 각 분야별 주제가 포함되는 것을 트리로 그려보면 빠르게 판단해서 영역별 공부를 뭘 해야 할지가 그려지죠.

각 분야별로 심화시킬 수 있는 주제들이 있으니 잘 살펴보시고 주제를 심화해서 배우시면 딱입니다.


그리고 정보 하나더 드리자면요. 평소에 PC운용할때 불편한 것이 있었다면 “나라면 이 기능을 이렇게 개선해서 편리하게 해보겠다”라는 판단을 하면서 개발을 어떻게 할지 생각해두는 것과 같은 기능도 중요합니다. 그러면 개발할때 편리함을 더 하는 방향으로 궁리가 진행되어 남들이 선호하는 프로그램이 될 가능성이 높죠. 기능을 활용만 하다가, 개발쪽으로 넘어오셨다면 활용시절에 하던 생각을 이어가는 것도 하나의 실력 향상의 동기 부여가 됩니다. 실재로 UX/UI 관련도 이렇게 해서 잘하게 되기도 합니다.


원리를 잘 알아둘때는 작동 흐름 파악도 중요합니다. 작동 흐름 파악을 늘 하려고 노력하면 체현이 되구요. 문제 발생시 어디에서 뒤틀렸는지도 빠르게 알게 되구요. 휴리스틱이라고 해서, 현상이나 오류에 갇히지 않고 빠르게 원인을 파악하는 것도 가능해집니다. 문제가 인위적인 문제라면, 원리상으로 있는 실행 단계를 뒤틀어서 실행되는데요. 원리적 작동 흐름을 꿰차면, 이 판단이 빨라집니다. 해결방법을 모르더라도 어떻게 알아낼지도 알게 되구요.


지식을 해설할때 중요한 정보는 고수분들이 쓰신 해설을 내용 이해만 하는데서 그치지 않고, 설명 흐름을 잘 살펴서 이 흐름대로 자신이 직접 해설해보는 것도 방법입니다. 목차를 보면서 연상해보기도 하고 본문에서 보여주는 행간의 의미나 단락별 이행 관계도 생각할줄 알면 글도 잘써집니다. 이것도 해볼만한 실천지침이죠.

IT 기술을 배울때 채택하면 좋은 방법 – 연역과 귀납의 경험적 운용

IT 기술은 그 역사의 흐름과 기술 발전의 흐름에 맞추어 오래전의 기술도 배워야 하고 이후에 바뀐 기술도 배워야 합니다. 이는 기술 이해가 체계적이라 기존의 기술도 알아두면 이후의 기술에 대한 이해가 깊어지기 때문이구요. 기술을 실재 상황에 적용할때 기지를 더 발현하기가 좋게 되서네요.

흔히들 일상언어로 말할때 “다 안다고 자만하지 말고 겸손하게 임해”라는 말도 흡사한 전제인데요. 기초를 배웠을때 다 안다고 생각하는 경우도 있게 되고, 자만하지 않더라도, 기초를 기술하는 개념 몇개만 알고 멈출때보다 더 많이 알려고 하는 의지를 가지게 해주는 말일 것입니다.

물론 해킹이나 과학기술 계통에서 있는 고수가 하수를 대하는 특수한 방법들(흔히 맨스플레인이라고 하는 방법들)을 상기시키는 말이기도 한데, 원칙은 위에서 언급한 공부 태도를 길러주는 방법입니다. 위의 말이 이렇게도 쓰이는 것은 IT도 사람이 하는 분야라, 한 표현에 결부되어 부착된 문화라서이고, 이 이해도 기존의 기술과 이후의 기술을 잘 알아두는 태도에 의해 더 잘 이해가 될 수 있습니다.

이 체현을 위해 생각해볼만한 한가지 정보가 되는 IT 기술 공부법의 노하우를 어떻게 채택하면 좋을지 말해보겠습니다.

어떤 경우, IT도 과학이기에 체계적이기도 하고 논리적인 판단이 일정 부분 적용되는 분야가 IT라, 스키마를 잘 짜두면 판단의 체계에 의해 잘하는 인식으로 안착하기도 합니다. 연역이 가능한 부분이구요. 귀납적인 것을 추가한다면, 실시간으로 작동흐름을 살펴서 판단하는 방법도 있습니다. 그런데 이 경우에 연역이 가능한 부분과 귀납이 가능한 부분을 잘 구별해야 합니다. IT가 수학적이라 연역이 되더라도, 사용이나 경험에 의해 부가되는 분야라, 사용자의 동기나 맥락 등의 영향을 받아 같은 알고리즘도 다른 방식으로 인식될때가 있어서네요.

예를 들면 사이트 지표 측정 도구에서 실재로는 연결이 안느린데, 사이트 속도 지표 점수가 확 낮게 나오는 경우가 있습니다. 이 경우 여러 추측이 가능하지만, 제작 의도에 따라서는 지금 당장은 안느리더라도 사용자가 많아질 것을 예측해서 점검해보게 하려는 일괄적인 권고이기도 하구요. 지켜두면 좋아서 권고하는 경우가 많습니다. 하지만, 실재로는 안느린 조건에서 보면 SEO 적용에 부담이 가기도 해서 스트레스 유발 요인이 되기도 합니다. 다시 말해 제작 의도와 사용 경험이 서로 어긋나는 경우도 상당히 많다는 것이죠. 이는 원칙 하나만 알아서는 안되는 경우입니다. 때로는 제작 의도가 더 말이 되는 경우도 있으나, 둘다 맞는 경우도 있죠. 이는 연역과 귀납의 조화로운 운용이 필요한 경우입니다.

연역은 보통 논리라고 인식됩니다. 전제가 옳으면 결론이 틀릴 수가 없습니다. 이는 프로그래밍 방법론에서 특히 잘 통용되죠. 그런데 귀납적이어야 할때도 있습니다. 하나의 지식만 알고 여러 소프트웨어를 작동시키다보면 체계적이고 논리적이라고 생각했던 판단이 적용이 안될때가 있습니다. 이 경우는 IT 기술은 경험에도 의존하고 있는 체제이고, 고도화된 기술들이라 제작자가 만든대로 작동하기에 단일한 작동방법으로는 작동이 안될때가 상당히 많죠. 다시 말해 작동방법의 경우의 수를 다 알면 좋구요. 소프트웨어마다 다르다는 것을 전제해두어야 당황스러움을 줄일 수 있습니다. 여기서 작동방법의 경우의 수를 다 알아두는 것은 위에 말한 “다 안다고 자만하지 말고 겸손하게 임하는 것”에 의해 가능해집니다.

단순하지만 초심자 시절에는 혼동되는 것은 어떤 경우는 마우스 한번클릭으로 작동하고 다른 경우는 두번클릭으로 작동할때가 있고, 휠을 돌리면 스크롤되는 깊이를 조정한다든지, 맥에서는 휠을 올리면 스크롤이 내려가는 등등의 구별점도 관련 현상이구요. 대부분의 경우 이를 미리 안말해줘도 고려하는 능력들이 다 있는데, 특수한 경우 단일한 경우만 상정하는 경우도 있어서 당황하기도 하네요. 경험이 중요하구요. 어떤 경우 타과학하신 분들 중에서는 과학의 일양성에 대한 인식을 IT에다가도 적용하시고 어려운 것부터 보시기도 하는데, 활용법은 쉽게 알 수 있어도 기술적인 것이나 원리는 기초부터 배워야 합니다. (부끄러우시면 집에서 몰래 보면 됩니다 (?)) 고도화되어 기술들이 겹쳐지고 발전하면 이해도 꽤 어려워지구요. 논리나 체계도 중요한데, 문제 해결에 있어서는 경험이 중요하죠.

UEFI 펌웨어의 경우에도 BIOS 시절의 지식을 알면 시스템 고장의 원인을 알게 되는 진입로가 되는데요. 이 경우에도 기존의 지식과 새로운 지식을 융합해서 이해하려는게 중요합니다. 시스템 리저브드 파티션이나 NVRAM 등에 대한 인식이 가능했다면 잘하는 것입니다. 이에 대해서는 직접 살펴보세요. 이 기술들은 PC 고장과도 관련이 있어서 하나만 알아도 아주 기분이 확 살아나는 지식인데, 이 경우에도 정말 많은 것이 더 배움을 기다리고 있는 경우입니다.

그래서 초심자 시절에는 개념을 확실하게 잡기 위해 이미 정해진 표준 언어로 사태를 기술한 표현으로 배우되, 표현의 의미보다는 표현의 연관을 살피는게 요령입니다. 프로그래밍을 할때 IDE가 표시한 오류에 의미만을 생각하면 문제가 있는 라인으로 가봐도 문법적인 오류가 없는 경우가 있구요. 이 경우에는 오류 메시지의 표현의 의미보다는 표현이 지시하는 연합된 원리를 떠올려보려고 노력하면 좋습니다. 이것을 초심자 시절에는 어렵다고 하는 것은 실력이나 자격 문제라기보다 경험이 없어서인데, 요즘은 비전공자분들에게도 친절하게 원리를 알려주는 문헌과 인터넷 자료가 많으니 보시길요.

한 현상에 대해 잘 알려진 규칙만이 정답이 아님을 아는 것도 좋습니다. 보통 이상 현상은 잘 알려진 규칙을 비틀고 얽히게 해서 일어나니까요.

인터넷이 안된다고 하면 보통 네트워크 장치 리셋이나 라우터를 보라고 하는데 이 경우에도 경험이 많아지면 그이상도 보게 될 수 있습니다. 라우터 펌웨어가 변조되었다든지, 운영체제의 ARP 문제라든지, 네트워크 구동 소프트웨어에 유저권한이 바뀌었다든지, 파일이 리패키징된 등등의 가능성을 알려고 하는 진입점도 이 글에서 말하는 태도를 잘 알면 가능하구요. 전공이 아닌 분야더라도 문제 원인만큼은 잘 알게 되어 질문이나 수리 요청도 아주 잘하는 실력 향상으로 이어질 수 있습니다.

잘 해설받은 루트가 중요합니다. 요즘은 큰 업체에서는 자기들 사이트에 문서들을 공유하는데 이를 참고하시구요. IT적인 글은 개념을 떠올려야 하는 부분과, 써본 경험에 의해 사용과정을 떠올려보는 부분을 잘 구별할줄 알면 잘하시는 것입니다.

보통 신계급 또는 위자드리라는 칭찬도 받는 분들이 계시는데 그분들도 이글에서 말한 연역과 귀납을 잘 운용해서일 것입니다. 일단 이렇게 해설해둡니다.

Flex Posts 플러그인 사용시 발췌문 길이 조정도 안되고 아주 길게 표시될때 해결법

Flex Posts 플러그인은 사이드바에 위젯으로 등록해서 랜덤 포스트, 최신글 표시 등을 담당하는 플러그인입니다.

모종의 이유로 발췌문 표시 조절이 안되고 아주 길게 표시될때 해결법은요.

여러 연쇄적인 실행이 있을테니 이 글에서 말한 것과 다른 원인일 수 있으나, 일단 아래와 같은 플러그인 파일을 들여다보세요.

Flex Posts 디렉토리 아래 template-tags.php

이 파일에서 flex_posts_excerpt() 함수가 직접적으로 발췌문을 표시하는 코드입니다.

제 경우 이 파일과 이 파일 위에 기재된 함수를 고쳐서 해결했는데요.

를 추가하고

flex_posts_excerpt() 함수를 아래와 같이 대체했습니다.

이렇게 해두니 다시 잘 작동합니다.

get_the_excerpt()와 wp_trim_words()로 발췌문 길이 조정하기

발췌문은 플러그인과 같은 추가된 프로그램에서 조정하기도 하지만, 워드프레스 코어에서 제공하는 함수로 조정할 수도 있습니다.

우선 get_the_excerpt()로 발췌문을 가져오는게 가능하구요. 가져온 발췌문을 wp_trim_words()로 잘라내서 잘라진 발췌문을 표시하도록 코딩하면 됩니다.

아래와 같은 코드가 참고가 될 것입니다.

이 경우는

get_the_excerpt() 함수로 현재 처리되고 있는 글의 발췌문을 가져와서
wp_trim_words() 함수로 잘라내고 이를 echo()로 표시하는 코드입니다.

get_the_excerpt()의 잘라내는 기본값은 55글자구요. 위 코드를 쓰면 이를 15로 조정해서 처리할 수 있게 됩니다.

이를 응용해서

처럼 테마 functions.php 파일에 기재해두면 워드프레스 코어의 포스트 임베드 위젯을 쓸때 표시되는 발췌문의 길이를 55로 제한해서 표시하는게 됩니다.

플러그인 위젯으로 발췌문을 표시하는 기능을 쓸때도 이 함수들을 잘 쓰면 좋습니다. 플러그인에서 자체적으로 구현하지 않았다면요. 자체적으로 구현한 코드가 버전이 오래된 등의 이유로 잘 작동하지 않을때도 위의 두 함수를 잘 활용하면 대체가 됩니다. 모종의 이유로 변조된 경우에도 해당됩니다.

웹브라우저 관련 유저 에이전트를 PHP를 써서 확인하고 기능 실행하기

wpcode 관련해서 PHP 코드를 포함시켜도 되는 조건에서 오류가 나기도 하는데요. 이 경우 wpcode 실행시 문제지만 코드 상에서 문제를 찾아야 할때 참고가 되시는 함수가 있네요.

$_SERVER 변수는 기정의 변수로 서버 환경에서 감지된 정보가 저장되어 있는 변수인데요. 저도 $_SERVER[‘HTTP_USER_AGENT’]와 같은 키로 테스트해봤는데 이 키로는 원하는 정보가 안나옵니다.

PHP에서 get_browser() 함수를 쓰는 방안이 있는데요. browscap.ini를 잘 설정하고 쓰면 웹브라우저 유저 에이전트를 알아낼때 필요한 정보가 배열 변수로 반환되어 쓰면 되네요.

https://www.php.net/manual/en/function.get-browser

를 참조하시길요. 함수에 넘기는 인자와 반환된 변수의 값도 나오고 browscap.ini를 설정하는 방법이 나온 링크도 나옵니다.

함수 리턴값으로 아래처럼 되었다면

browscap.ini 를 잘 설정하고 php.ini 에 경로를 기입후 웹서버를 재기동하고,

이런식으로 해두면 작동할 것 같습니다. 배열 변수 키는 위 링크에 나오니 참고하시길요.

아스트라 프로 4.7.0에서 검색결과 500 오류 해결

아스트라 프로 4.7.0으로 클라우드웨이즈에서 어플리케이션 추가를 했습니다. 검색결과를 테스트해보니 500 오류가 나서 아래와 같이 조치했습니다.

(1) wp-config.php 에 define(‘WP_DEBUG’, true); 추가후 관찰
(2) Fatal error: Uncaught ArgumentCountError: 3 arguments are required, 2 given in /var/www/html/wp-content/themes/astra/inc/core/common-functions.php:966 오류 발생
(3) 해당 파일을 테마 편집기로 열어서 보니 $title 변수에 add_filter()가 걸려있고 인자가 두개 관찰
(4) 그래도 작동해야 하지만, 세번째, 네번째 인자를 줘도 같은 오류라 다 966라인을 다 지우고
(5) 그다음 라인 어딘가의 echo $title; 구문을 지우고 $title = “검색 결과: <span>” . the_search_query() . “</span>”; 추가후 재실험
(6) 잘 작동함.
(7) wp-config.php에 define(‘WP_DEBUG’, false); 로 되돌림.

어떤 이유인지는 불명확하지만 이전 버전으로 돌아가는 다른 어플리케이션에서는 잘 되는 검색 기능이 최신 버전으로 새로 만든 어플리케이션에서 안되서 워드프래스 재설치, 플러그인 재설치, 테마 재설치를 해도 안되었습니다. 위와 같이 조치하니 되었네요.

위에 add_filter()는 아스트라 설정에서 제목을 읽어와서 표시할때 필요한 기능인데, 이 기능을 안쓰고 그냥 $title 변수를 하드코딩해서 해결했습니다.

일단 같은 문제가 있다면 참고해보세요. 아스트라 프로에서 구성한 사이트에서 검색기능 실행시 500 오류가 나면 해볼만한 사례입니다.

webmin으로 리눅스 서버 설정 간편하게 하기

webmin은 웹기반 리눅스 서버 설정 관리자로 매우 편리한 설정이 가능하게 해줍니다. 물론 설정 사항들에 대한 지식이나 설정값을 선택하고 입력하는 지식은 이미 있어야 하지만요. 서버 설정 경험이 일정 정도 있고 서버에 대한 경험이 있는 사용자에게 직접 명령어 타이핑을 고안할 필요없이 매우 광범위한 설정을 UI로 돕는 기능을 제공하고 있습니다.

데비안, 우분투 계열 리눅스와 레드햇 기반 리눅스를 모두 지원합니다. 슬랙웨어 기반은 어떤지 미확인입니다.

제가 사용하는 리눅스는 리눅스 민트 계열의 하모니카OS인데요. 우분투 기반인만큼 apt 명령어로 간단하게 설치가 되어 사용이 가능해집니다.

이렇게 설치해서 설치가 완료되면 웹브라우저에서 서버주소:10000 로 연결하면 UI가 뜹니다. 메뉴에서 잘 설정해서 쓰면 됩니다.

더 자세한 정보는

https://webmin.com

에서 구할 수 있습니다.

슬러그 보정 플러그인에 긴급추가할 기능

이제 셀 정렬 기능과 업데이트 확인 기능만 추가하면 끝날 것 같았는데요.

회원분께서 보고해주신 현상 중에 슬러그가 달라져서 영구주소가 변경되면 301 리디렉션을 반드시 해야 되는 것이 유의되네요.

제 플러그인의 기본 제작 방침은 슬러그 변조시 복호화 가능, 불가능 여부에 따라 400 오류나 404 오류가 나는 것을 보정하기 위함인데요. 이게 그냥 고치게 하면 SEO에 문제가 옵니다. 301 리디렉션을 반드시 구현하거나, 조치를 해서 400 오류나 404 오류난 경우를 감지해서 고치게 해야 하네요.

플러그인에 공지를 해서 400 오류나 404 오류가 아니면 하지 말라고 하는 방안도 있구요.
REST API 등으로 가능하면 헤더를 조사해서 400나 404가 반환되어야 슬러그 보정기능을 하게 한다든지요.

이 두가지 경우가 다 가능한 선택지인데 이 경우들에서도 구글에 색인된 정보를 알아내서 301 리디렉션을 자동으로 추가하는 기능이 필요해보이네요.

각각의 기능이 중첩되는 양태에 의해서는 사용상에 혼동이 있을 수 있어서 SEO가 안좋게 되면 큰일입니다.

그래서 출시를 밀어두고 있구요. 제 블로그에서 쓸 용도로만 해보려고 하기도 합니다.

출시할 플러그인은 이번 개발 끝내고 착수할 파워토이즈 개념의 플러그인으로 할까도 생각중이네요 ㅎㅎ SEO와 상관없는 기능을 구현할 플러그인이라 출시가 가능합니다.

여튼 슬러그 보정 기능 실행시 조건화해두어야 할 사안입니다. 301 리디렉션을 해야 한다는 것.