WordPress 플러그인의 가장 일반적인 10가지 실수
게시 됨: 2019-08-27WordPress의 가장 성공적인 기능 중 하나는 플러그인 생성을 통해 이 콘텐츠 관리 시스템의 기본 기능을 확장하는 개발자 커뮤니티를 장려할 수 있다는 것입니다. 그리고 WordPress 시장 점유율이 최근 몇 년 동안 성장을 멈추지 않았다는 사실이 인재를 유치하는 열쇠입니다.
워드프레스 플러그인이 최고입니다. 웹 사이트를 사용자 정의해야 하는 경우 필요한 작업을 수행하는 플러그인을 찾기만 하면 그렇게 할 수 있다는 사실을 알고 있으면 마음의 평화를 얻을 수 있습니다. 그리고 비용도 많이 절감됩니다.
(대부분의 경우) 맞춤형 솔루션을 개발할 필요가 없다는 것은 안도입니다. 그것은 몇 년 전 비용의 일부에 불과한 가격으로 복잡한 웹사이트에 대한 액세스를 민주화합니다.

그러나 모든 것이 장미 침대는 아닙니다. WordPress 플러그인을 선택할 때 매우 신중해야 합니다. WordPress의 인기는 인재를 끌어들입니다. 그러나 때때로 원하는 품질 수준이 없는 플러그인을 만드는 경험이 부족한 개발자도 끌어들입니다. 그들을 감지하는 것은 긍정적인 평가의 수나 설치된 사이트의 수를 세는 것만큼 쉽지 않습니다. 훨씬 더 복잡합니다.
고객의 WordPress 설치 분석을 시작한 이후 Nelio에서 겪었던 문제는 거기에 설치된 쓰레기의 양입니다. 우리는 당신이 믿지 않을 일을 보았습니다 ...
그렇기 때문에 오늘 저는 WordPress 플러그인에서 수년간 직면한 가장 일반적이고 흥미로운 문제에 대해 설명하겠습니다.
WordPress 플러그인 문제 목록
여기에서 WordPress 플러그인에서 찾을 수 있는 문제 목록을 알려 드리겠습니다. 그것들은 일반적인 문제이고 우리는 그것들로 고통받는 플러그인의 특정 이름을 제공하지 않을 것이지만 그것들은 존재하고 당신은 그것들을 피하기 위해 주의해야 합니다.
데이터베이스에 추가 테이블 생성
WordPress 데이터베이스는 전쟁터입니다. 많은 플러그인이 확장하여 자체 테이블을 추가합니다. 이것이 틀릴 필요는 없지만 대부분의 경우 필요하지 않습니다.

WordPress 데이터베이스는 플러그인이 사용할 새 테이블을 추가할 필요가 없을 만큼 충분히 일반적입니다. 그렇다면 왜 개발자는 WordPress에 더 많은 테이블을 추가해야 한다고 생각합니까? 대답은 아주 쉽습니다. 편안함과 무지입니다.
WordPress에 대한 경험이 거의 없는 사람이 추가 테이블을 추가하고 SQL에서 직접 쿼리를 만들어 데이터를 읽고 수정하는 것이 여러 번 더 쉽습니다. 이것은 제대로 수행되지 않으면 보안 구멍이 될 뿐만 아니라 메타 테이블 사용을 피하게 됩니다.
사용자 정보를 확장하려면 wp_usermeta 테이블이 있습니다. 내용( wp_postmeta ), 주석( wp_commentmeta ) 또는 분류 용어(레이블 및 카테고리, wp_termmeta 테이블 포함)에 대해서도 마찬가지입니다.
WordPress는 이 메타 정보를 표준적이고 안전한 방식으로 읽고 수정할 수 있는 방법을 제공합니다. 성능에 대한 정당성이 없는 한, 친애하는 WordPress 개발자 여러분, 플러그인에 추가 테이블을 사용하지 마십시오.
잘못된 스크립트 및 스타일 로드
대부분의 WordPress 플러그인은 조만간 자체 JavaScript 및 CSS 파일을 로드해야 하며 때로는 WordPress 관리자 패널에서, 때로는 웹 전면에서 로드해야 합니다. 그리고 안타까운 것은 이것이 종종 잘못되었다는 것입니다.

WordPress에 CSS 스타일이나 JavaScript 파일을 추가하려면 표준 WordPress 대기열에 추가해야 합니다. 이렇게 하려면 먼저 wp_register_style 및 wp_register_script 함수를 사용하여 등록한 다음 wp_enqueue_style 및 wp_enqueue_script 각각을 사용하여 대기열에 넣습니다.
이러한 기능을 사용하면 스타일과 스크립트가 갖는 종속성을 정의할 수 있으므로 WordPress는 종속성을 올바르게 관리하고 필요한 것만 대기열에 넣습니다.
다른 것은 잘못된 것입니다. 그리고 여기에는 개발자 문서조차도 책임이 있습니다. WordPress Codex의 wp_head 후크에 있는 예제를 살펴보십시오. 개발자는 이것을 참조로 사용할 것이고, 그러면 무슨 일이 일어나게 될까요?
WordPress에서 스크립트나 스타일을 대기열에서 빼기 위해 wp_dequeue_script 또는 wp_dequeue_style 을 사용하는 것에 대해 생각조차 하지 마십시오. 여러 번 우리는 플러그인이 WordPress와 함께 제공되는 jQuery 버전을 대기열에서 빼내어 자체(일반적으로 구식임)를 추가하고 거기에서 모든 것이 작동을 멈추는 것을 보았습니다…
WordPress 지침에 따라 스크립트와 스타일을 올바르게 로드하지 않는 플러그인을 발견했다면 지금 당장 설치에서 비활성화할 수 있는 충분한 이유가 됩니다.
플러그인을 비활성화할 때 데이터베이스를 정리하지 않음
이것은 WordPress 플러그인의 또 다른 고전적인 측면이며 아마도 가장 일반적으로 보게 될 것입니다. 작동하려면 WordPress 플러그인이 데이터베이스에 레코드를 추가해야 합니다. 여기서 문제는 플러그인을 비활성화할 때 해당 레코드가 데이터베이스 테이블에 영원히 남아 있는 것이 일반적이라는 것입니다.
WordPress 플러그인은 일반적으로 비활성화할 때 데이터베이스에서 생성한 데이터를 지우지 않습니다. 아뇨, 가끔 지나가다가 이 쓸모없는 데이터를 가져가는 쓰레기 수거차가 없습니다.
WordPress 플러그인은 사용자가 비활성화할 때 생성한 추가 테이블과 표준 테이블에 추가한 데이터를 제거해야 합니다. 그러나 매우 드물게 발생합니다. 나는 당신이 당신의 데이터베이스로 이동하여 그것을 주시할 것을 권장합니다. 분명히 당신은 거기에서 쓸모없는 쓰레기를 찾을 것입니다.

개발자가 조심한다면 WordPress에서 플러그인을 비활성화하면 일시적으로 비활성화할지 영구적으로 비활성화할지 묻습니다. 후자의 옵션은 작업 중에 추가한 모든 데이터를 지우므로 모든 것을 깨끗하게 유지하기 위해 쓰레기를 제거합니다.
사용자 지침을 제공하지 않음
WordPress 플러그인을 설치하고 활성화하면 일반적으로 플러그인의 기능을 찾을 수 있는 WordPress 대시보드에 새 메뉴가 나타날 것으로 예상합니다. 하지만 항상 그런 것은 아닙니다.

새 플러그인이 기존 메뉴(일반적으로 도구 메뉴 또는 설정 메뉴) 내에 메뉴를 추가하는 경우가 있습니다. 따라서 사용자는 방금 설치 및 활성화된 새 플러그인이 포함된 메뉴가 어디에 있는지 조사해야 합니다.
일반적으로 플러그인의 README.txt 파일에 WordPress에서 플러그인을 활성화하면 어떻게 되는지 설명하는 것이 좋습니다. 이렇게 하면 사용자의 불안을 줄이고 삶을 조금 더 쉽게 만들 수 있습니다. 그렇지 않으면 사용자가 플러그인이 추가한 기능이 어디에 있는지 찾지 못하면 결국 비활성화되고 개발자가 되기를 바라는 마지막 일이 됩니다.
이것은 초보자에게만 일어나는 일이라고 생각할 수 있습니다. 하지만 그렇지 않습니다. 최근에 특정 작업을 수행하기 위해 특정 플러그인을 설치했는데(이름을 지정하지 않으려고 했습니까?), 저도 이와 같은 상황에 처해 있습니다. 플러그인 설정이 어디에 있는지 찾을 수 없습니다. 그리고 워드프레스를 오랫동안 다뤄왔어야 하는 나에게 이런 일이 일어난다면 경험이 적은 사람에게는 이와 같은 상황이 끔찍하다.

WordPress 사용자 인터페이스 변경
WordPress는 사용하기 쉽습니다. 그리고 이것의 중요한 부분은 WordPress에 기본적으로 포함된 사용자 인터페이스 덕분입니다. 이 인터페이스는 새로운 WordPress 설치에서 간단하지만 더 많은 플러그인을 추가할수록 더 복잡해집니다.
또한 WordPress 플러그인의 일반적인 문제는 때때로 사용자가 WordPress 대시보드에서 찾을 것으로 기대하는 것과 완전히 다른 사용자 인터페이스를 사용한다는 것입니다.

WordPress 사용자 인터페이스는 디자이너의 관점에서 다소 지루하지만 때로는 완전히 다른 솔루션을 선택하는 것보다 사용자에게 익숙한 동일한 스타일과 동일한 사용자 경험을 따르는 것이 훨씬 더 현명합니다.
플러그인에서 우리는 동일한 WordPress 스타일을 유지하고 사용자 인터페이스의 모든 요소를 사용자가 기대하는 위치에 배치하려고 노력합니다. 그러나 WordPress와 거의 또는 전혀 유사하지 않아 사용자를 혼란스럽게 하는 많은 플러그인 인터페이스를 보았습니다.
권장 사항은 WordPress 플러그인의 디자이너라면 WordPress 스타일 가이드를 따르고 현재 제공하는 구성 요소를 재사용하여 React에서 인터페이스를 만들고 Gutenberg 블록 편집기에서 직접 내보내는 것입니다. 우리는 Nelio A/B Testing의 혁신에 그것들을 사용하고 있으며 훌륭합니다.
재산의 한계를 넘다
WordPress 대시보드에는 개발자의 관점에서 두 가지 유형의 영역이 있습니다. 한편으로는 특정 플러그인이 추가하는 페이지인 개인 영역이 있습니다. 이러한 영역 내에서는 해당 페이지가 속한 플러그인에 포함된 CSS 스타일 및 스크립트만 대기열에 넣어야 합니다.
반면에 WordPress에 기본적으로 제공되는 공통 영역이 있습니다. 공통 영역의 예로는 콘텐츠 편집기, 메뉴 또는 위젯 편집기, 설정 등이 있습니다.

WordPress 지침을 따르는 잘 프로그래밍된 플러그인은 개인 영역에만 영향을 미치는 스크립트와 스타일을 대기열에 추가합니다. 이것은 그들이 이러한 리소스를 대기열에 넣을 때 자신의 속성의 개인 페이지에서 수행하려고 하는지 여부를 확인하는 조건이 코드에 있음을 의미합니다. 그렇지 않으면 해당 범위를 벗어나는 항목을 대기열에 넣지 않습니다.
불행히도 코드에 이 조건을 포함하는 것을 "잊는" 플러그인이 많이 있습니다. 이로 인해 JavaScript 코드와 스타일이 항상 모든 페이지에 로드되어 다른 공통 페이지나 다른 플러그인의 비공개 페이지를 손상시킬 수 있습니다.
그것을 감지하는 것은 보이는 것보다 쉽습니다. 플러그인을 사용 중이고 사용자 인터페이스가 손상된 것처럼 보인다면 다른 플러그인이 JavaScript 또는 CSS를 사용해서는 안 되는 위치에 배치하고 첫 번째 플러그인의 스타일과 동작을 깨뜨릴 수 있습니다. 우리는 그것을 보았다. 그것은 우리에게 일어났고(그들이 우리의 인터페이스를 깨뜨린 것입니다), 불행하게도, 그것은 계속 일어날 것입니다.
좋은 프로그래밍 관행을 따르지 않음
WordPress에서 프로그래밍하기 위해 세계 최고의 해커일 필요는 없지만 프로그래밍과 관련하여 최소한의 품질이 예상됩니다.
WordPress의 가장 큰 장점 중 하나는 오픈 소스 철학입니다. 플러그인의 소스 코드를 탐색하는 것은 항상 할 수 있는 일입니다(적어도 공식 저장소에 있는 플러그인).

보기에 좋은 코드와 눈물을 흘리게 하는 코드 등 모든 것을 찾을 수 있습니다. 그리고 그것이 성능 관점에서 하나가 다른 하나보다 나쁘다는 것을 의미하지는 않습니다. 그러나 잘 문서화되고 들여쓰기가 잘 된 코드와 파일 및 폴더의 논리적 배포에 따라 구조화된 코드를 본다면 성배를 찾은 것입니다.
워드프레스 플러그인의 코드가 보기에 좋다면 아마도 프로그래머가 세심하고 세련되었기 때문일 것입니다. 이는 품질의 분명한 표시입니다.
보안 구멍 열기
WordPress 플러그인은 일련의 코드 지침에 불과합니다. 일반적으로 WordPress의 기능을 확장하는 PHP 및 JavaScript. 이 코드는 사용자로부터 매우 안전하게 데이터를 얻고 화면에 정보를 렌더링합니다.

데이터를 가져와 화면에 인쇄할 때 해당 데이터를 올바르게 처리하지 않으면 보안 허점을 추가할 수 있습니다. WordPress는 입력 데이터의 유효성을 검사 및 삭제하고 출력 데이터를 이스케이프 처리하는 데 중점을 둡니다.
데이터의 유효성을 검사하고 사용자가 플러그인에 입력하는 내용이 실제로 우리가 원하는 것인지 확인하여 코드 삽입을 방지하는 기능이 많이 있습니다. 플러그인 개발자가 사용하지 않는다면 그것은 게으름이나 무지 때문입니다. 워드프레스에 무엇을 설치하게 되는지 주의하세요. 그렇지 않으면 후회하게 될 것입니다.
부적절한 활동 수행
이전 섹션에 계속해서 의심스러운 출처에서 온 플러그인이 있습니다. 때때로 비용을 절약하기 위해 원하는 플러그인이 포함되어 있지만 비용을 지불하고 싶지 않은 .zip 파일을 검색하기 위해 인터넷의 어두운 곳을 샅샅이 뒤집니다.

플러그인을 찾으면 그 플러그인이 선물과 함께 제공된다는 사실을 깨달을 때까지 모든 것이 행복입니다. 크롤러, 암호화폐 채굴기, 스팸에서 웹사이트를 제어할 수 있는 악성 코드까지. 당신은 모든 것을 찾을 수 있습니다.
그곳에서 찾은 플러그인의 출처에 주의하십시오. 공식 WordPress 저장소와 가장 잘 알려진 시장은 WordPress 플러그인의 유일한 신뢰할 수 있는 소스입니다. 이러한 저장소에 들어가려면 플러그인 개발자가 몇 가지 품질 테스트를 통과해야 합니다. 알려진 장소만 신뢰하고 신뢰할 수 없는 출처에서 얻은 플러그인은 피하세요.
가치를 더하지 않음
WordPress 플러그인이 저지를 수 있는 최악의 실수는 사용자에게 가치를 더하지 않는 것입니다. 개발자로서 때때로 다른 사람들에게 매우 유용할 수 있다고 생각하는 미친 아이디어가 있습니다. 사실 플러그인이 가져오는 양이 매우 적으면 결국 사용자 수가 비슷할 것입니다.
공식 WordPress 저장소에는 가치가 낮은 많은 플러그인이 있습니다. 그러나 이것은 모든 시장이나 애플리케이션 저장소에서 발생하는 일입니다.
개발자로서 다른 경쟁 제품과 차별화되고 싶다면 잠재 사용자에게 가치를 제공하는 데 집중하세요. 그렇게 하면 플러그인이 WordPress 내에서 성공하는 데 필요한 인기를 얻게 됩니다.
WordPress 플러그인 선택이 복잡합니다.
모든 것이 사용자 리뷰 수와 별점을 기반으로 하는 것은 아닙니다. 좋은 WordPress 플러그인을 선택하는 것은 복잡합니다. 플러그인 자체의 소스 코드를 분석해야만 발견되는 숨겨진 놀라움이 많이 있습니다. 그리고 그것을 이해할 지식이 없다면 주의하십시오.
저장소 내부의 플러그인 지원 포럼에서 찾을 수 있는 주석을 보고 사람들이 그것에 대해 어떤 종류의 문제가 있는지 확인하십시오. 통제된 환경에서 플러그인을 시도하고 이상한 점을 발견하면 개발자에게 도움을 요청하세요.
이 후에 보이는 내용이 마음에 들지 않으면 대안을 찾으십시오. 수천 개의 플러그인이 여러분을 기다리고 있습니다. 또는 아래에 의견을 남겨주세요. 우리는 항상 컬렉션에 추가할 새롭고 흥미로운 플러그인에 대한 아이디어를 찾고 있습니다.
Unsplash 에서 Goh Rhy Yan 의 추천 이미지 .
