기사 디렉토리
아무리 훌륭한 코드라도 잘못된 플러그인을 선택하면 워드프레스 웹사이트를 망가뜨릴 수 있습니다.
이건 과장이 아닙니다. 멀쩡하게 잘 작동하던 웹사이트들이 몇 가지 코드 조각을 추가한 후 로딩 속도가 0.8초에서 3초로 껑충 뛰는 경우를 너무나 많이 봤습니다. 오랜 조사 끝에 특정 코드 조각이 데이터베이스에서 불필요한 쿼리를 여러 개 실행하고 있었던 것으로 밝혀졌습니다.
오늘은 워드프레스 커뮤니티에서 자주 비교되는 두 가지 코드 스니펫 관리 플러그인인 WPCode와 Fluent Snippets에 대해 이야기해 보겠습니다.
솔직히 말해서, 저는 두 가지 모두 많이 사용해 봤고, 친구들이 실수하는 것을 막도록 도와주기도 했습니다. 오늘은 제가 직접 경험한 모든 것을 솔직하게 공유하겠습니다.
먼저 배경 설명을 좀 드리겠습니다.
워드프레스에 사용자 정의 코드를 추가하는 방법은 크게 몇 가지가 있습니다. 첫 번째는 테마의 functions.php 파일을 직접 수정하는 것인데, 간단하고 직관적이지만 테마를 업데이트할 때마다 수정 내용이 모두 초기화됩니다. 두 번째는 자식 테마를 사용하는 것인데, 이 방법은 조금 더 낫지만 유지 관리 비용이 더 많이 듭니다. 마지막으로, 관리 및 실행이 더 안전한 신뢰할 수 있는 코드 스니펫 플러그인을 사용하는 방법도 있습니다.
WPCode와 Fluent Snippets는 이 두 분야에서 경쟁하는 업체입니다.
워드프레스 커뮤니티의 오랜 베테랑인 WPCode 는 WPCode 팀에서 개발한 제품으로, 꾸준히 좋은 평판을 유지해 왔습니다. 현재 10점 만점에 4.9점이라는 높은 평점을 받고 있으며, 리뷰 수가 31개에 불과함에도 불구하고 그 자체로 우수성을 입증합니다.
Fluent Snippets 는 WPManageNinja 팀(네, FluentCRM을 만든 바로 그 팀입니다)에서 만든 또 다른 제품입니다. 4만 건 이상의 설치 횟수와 4.6점의 평점을 기록하고 있으며, WPCode보다는 약간 적지만 설치 횟수는 4배나 많습니다.
흥미롭네요. 설치량과 정격 출력 사이의 반비례 관계에는 분명 이유가 있을 겁니다.
편집 경험
WPCode는 ACE 에디터를 사용하는데, 솔직히 말해서 아주 전통적인 워드프레스 스타일을 가지고 있습니다. 코드 강조 표시 기능은 있지만 색상 구성이 다소 보수적이고, 코드 자동 완성 기능은 기대하지 마세요. VS Code에 익숙한 사람이라면 WPCode를 사용하면서 "아, 5년 전으로 돌아간 것 같네"라는 어색한 느낌을 받을 겁니다.
Fluent Snippets는 다릅니다. Monaco Editor에 직접 통합되어 있습니다.
네, VS Code와 같은 에디터입니다. 코드 강조 표시, 자동 완성, 구문 힌트 등 모든 기능이 로컬 환경에서 코드를 작성하는 것과 거의 동일합니다. 처음 사용했을 때 바로 반해버렸어요. "드디어 제대로 된 에디터를 만들어주는 플러그인이 나왔구나!"라는 느낌이었죠.
하지만 여기서 의문이 생깁니다. 더 나은 편집기가 반드시 더 나은 사용자 경험을 의미할까요?
불확실한.
선전에 콘텐츠 웹사이트 사업을 하는 친구가 있는데, 혼자서 30개가 넘는 웹사이트를 관리하고 있어요. 그 친구가 WPCode를 정말 좋아한다고 하더라고요. 왜냐하면 사용하기가 간단하기 때문이라고 해요. 관리자 페이지에 들어가서 몇 번만 클릭하면 코드가 나타나고, 그게 전부라는 거죠. 화려한 기능은 필요 없고, 안정적이고 오류 없는 작동만 있으면 된다는 거예요.
그 당시 그 말들이 제 마음을 정말 울렸습니다.
네, 모나코 에디터는 훌륭하고 매우 강력한 도구입니다. 하지만 매일 30개 이상의 웹사이트를 관리하는 사람에게는 학습 곡선 자체가 부담스러울 수 있습니다.
存储方式
편집기에 대해 이야기했으니 이제 좀 더 심도 있는 내용으로 넘어가 보겠습니다.
WPCode 는 데이터베이스에 저장되고, 모든 스니펫은 wp_options 테이블에 저장됩니다. 각 읽기 작업에는 데이터베이스 쿼리가 포함되며, 동시 접속이 많은 상황에서는 쿼리 횟수가 누적될 수 있습니다.
Fluent Snippets는 파일 저장소를 사용합니다. 코드 스니펫은 wp-content/fluent-snippets/ 디렉터리에 PHP 파일로 저장되며, WordPress는 데이터베이스 쿼리를 거치지 않고 실행 중에 해당 파일을 직접 포함합니다.
이론적으로 파일 저장 방식은 더 빠르고 안전합니다.
파일 저장 방식이 더 안전하다고 여겨지는 이유는 무엇일까요? 파일 저장 방식은 본질적으로 SQL 인젝션 공격의 위험을 격리하기 때문입니다. 데이터베이스에는 삽입될 수 있는 코드 조각이 존재하지 않습니다.
하지만, 단서가 있습니다.
파일 저장에도 문제가 있습니다. 코드 조각을 업데이트할 때마다 파일 쓰기 권한이 필요합니다. 서버 구성이 잘못되었거나 특정 가상 호스팅 환경에서는 파일 쓰기에 문제가 발생할 수 있습니다. 이전에 한 그룹에서 코드 조각을 업데이트한 후 코드가 작동하지 않는다는 불만이 제기되었는데, 조사 결과 파일 권한 문제인 것으로 밝혀졌습니다.
그러므로 만능 해결책은 없으며, 각자 처한 상황에 따라 대처해야 합니다.
로딩 조건
두 플러그인 간의 가장 명확한 차이점은 바로 여기에 있습니다.
WPCode의 조건부 로딩 기능은 매우 기본적인 수준으로, 포그라운드 로딩과 백그라운드 로딩을 모두 지원합니다. 또한, 이 기능을 전역적으로 활성화 또는 비활성화할 수도 있습니다. 사용법은 아주 간단합니다.
Fluent Snippets의 조건부 로딩 기능은 정말 놀랍습니다. 사용자 역할, URL 규칙, 기기 유형, 심지어 사용자 정의 필드에 따라서도 로딩이 가능합니다. 그 전문성은 타의 추종을 불허합니다.
그게 무슨 뜻이야?
즉, 매우 세밀한 제어가 가능합니다. 예를 들어, "URL에 /product/가 포함되어 있고 사용자가 로그인하지 않은 모바일 기기에서만 이 코드를 로드"하는 것은 WPCode에서는 사실상 불가능하지만 Fluent Snippets에서는 기본 기능으로 제공됩니다.
물론 비용이 발생합니다. 구성이 복잡할수록 유지 관리 비용이 높아집니다. 6개월 후에는 직접 작성한 조건과 규칙을 이해할 수 있을지조차 의문입니다.
내 감정
WPCode는 마치 스위스 군용 칼과 같습니다. 충분하고 안정적이지만 기능에는 한계가 있습니다.
Fluent Snippets는 전문가용 도구 상자와 같습니다. 더 많은 작업을 수행할 수 있지만, 무엇을 해야 하는지 정확히 알아야 합니다.
솔직히 말해서, 이 두 사람은 같은 분야에서 경쟁하는 사이조차 아닙니다.
개인 웹사이트를 운영하거나 소규모 사업을 운영하는 경우라면 WPCode로도 충분합니다. WPCode의 가장 큰 장점은 코드를 효율적으로 관리하고, 버그를 방지하며, 안정적인 운영을 보장한다는 점입니다.
정교한 작업을 수행하거나 사이트에 복잡한 비즈니스 로직이 있는 경우 Fluent Snippets의 조건부 로딩 기능은 매우 유용할 수 있습니다.
실제 적용 사례: 콘텐츠 유형은 숏코드를 직접 호출할 수 없습니다.
자, 이제 기본적인 비교 방법을 살펴봤으니 실제 사례를 몇 가지 살펴보겠습니다.
많은 사람들이 Fluent Snippets에서 콘텐츠 유형 스니펫을 만든 다음 그 안에 숏코드를 작성합니다.
예를 들어
[nihaoya]좋아요.
솔직히 말씀드리자면, 저도 전에 이런 함정에 빠진 적이 있어요.
Fluent Snippets는 PHP 유형, 콘텐츠 유형, CSS/JS 유형의 세 가지 스니펫을 지원합니다.
코드 조각의 유형이 콘텐츠(PHP+HTML)로 설정되어 있으면 다음 내용을 안에 작성하세요. [nihaoya]구문 분석은 하지 않고, 단지... [nihaoya] 이 문자들은 원래 그대로 출력됩니다.
축약된 출력물이 아니라 일반 텍스트입니다.
숏코드를 실제로 실행하려면 PHP 함수 `do_shortcode()`로 감싸야 합니다. 구문은 다음과 같습니다.
<?php echo do_shortcode('[nihaoya]'); ?>
이렇게 하면 WordPress가 숏코드를 분석하여 해당 콘텐츠를 출력합니다.
이 사실을 알아내는 데 시간이 꽤 걸렸습니다. 설명서에 명확하게 나와 있지 않았거든요.
만약 코드 조각에서 PHP 타입을 사용한다면 훨씬 간단합니다. 함수 안에 `return` 문을 작성하고 `add_shortcode`로 등록하기만 하면 숏코드가 제대로 작동합니다. 여기에는 모호한 부분이 전혀 없습니다. 문제는 오로지 Content 타입에 있습니다.
이 기능을 작성한 사람은 Content 타입이 주로 HTML 콘텐츠용이고, 단축 표현은 PHP 타입을 사용해서 처리해야 한다고 생각했던 것 같습니다. 그래서 인터페이스에 이 점이 명확하게 표시되지 않았던 것이죠. 하지만 실제로는 많은 사람들이 두 타입을 혼용해서 사용하고 있어 문제가 발생합니다.
결론
WPCode는 어떤 사용자에게 적합할까요? 간단한 기능을 필요로 하는 소규모 웹사이트 운영자나, 개발에 많은 노력을 들이고 싶지 않은 사용자에게 적합합니다. 설치 및 사용 준비가 완료되어 있어 학습 곡선이 짧고, 문제 해결도 간편합니다.
Fluent Snippets는 어떤 웹사이트에 적합할까요? 복잡한 조건부 제어와 성능에 중점을 둔 중대형 웹사이트에 적합합니다. 파일 저장 방식을 통해 실행 속도가 향상되고, 조건부 로딩으로 더욱 세밀한 제어가 가능하며, 모나코 에디터를 통해 더욱 편리한 개발 환경을 제공합니다.
물론, 이는 여러분이 이러한 "더 많은 것"을 배우는 데 드는 비용을 기꺼이 지불할 의향이 있다는 전제 하에 가능한 일입니다.
솔직히 말해서, 단순히 구글 애널리틱스 코드나 저작권 표시를 글 끝에 추가하는 정도라면 WPCode로도 충분합니다. "더 나은 편집기"를 위해 Fluent Snippets를 굳이 수정할 필요는 없습니다.
하지만 사이트에 A/B 테스트가 필요하고 기기, 사용자 역할 또는 페이지 유형에 따라 다른 코드를 로드해야 하는 경우 Fluent Snippets의 조건부 로딩 기능을 사용하면 수동 판단과 하드 코딩 작업을 크게 줄일 수 있습니다.
마지막으로 한 가지만 더 말씀드리겠습니다.
도구는 단지 수단일 뿐입니다. 도구의 진정한 가치는 그 잠재력을 최대한 활용할 수 있는지에 달려 있습니다.
WPCode는 안정적이고 사용하기 쉬우며 빠른 배포에 적합한 인기 있는 도구입니다. Fluent Snippets는 더욱 강력한 성능과 유연한 조건 제어 기능을 제공하는 전문 도구로, 개발자와 복잡한 웹사이트에 적합합니다.
플러그인을 선택하는 것은 자신의 기술을 뽐내는 것이 아니라 웹사이트를 더욱 안정적이고 빠르며 안전하게 만드는 것입니다.
저는 기능이 많거나 성능이 뛰어난 제품이 아니라, 자신에게 가장 잘 맞는 제품이 최고라고 굳게 믿습니다.
한 문장 요약
- 소규모 사이트, 간단한 요구 사항 → WP코드
- 대규모 부지, 복잡한 조건 제어 → 플루언트 스니펫
마지막으로 조언 하나 드리자면, 가장 가치 있는 탐구는 직접 코드를 실행해보고 경험을 쌓는 것입니다. 그냥 북마크만 해두고 연습하지 않는 건 금물입니다!
Chen Weiliang의 블로그( https://www.chenweiliang.com/ ) 에 게시된 "WPCode vs Fluent Snippets: 어느 것이 더 좋을까요? 플러그인 비교 및 실용 튜토리얼"이 여러분께 도움이 되기를 바랍니다.
이 기사 링크( https://www.chenweiliang.com/cwl-34009.html )를 자유롭게 공유해 주세요.
