우리는 문제가 있음을 알고 있었습니다.
https://www.sitepoint.com/our-gatsby-redesign/
UX 팽창을 제어하려는 우리의 노력은 마지막 비즈니스 환경을 일시적으로 막는 것처럼 새로운 누수가 발생하는 출판 비즈니스 환경으로 인해 실패했습니다. 외부 당사자가 관리하는 광고에 대한 우리의 의존은 사이트 성능 개선에 주요 장애물이었습니다. 트래픽 증가가 감소했습니다.
사람들에게 모범 사례로 코드를 작성하고 배울 수 있는 장소를 제공 한 사이트에서 이것은 좋지 않았습니다. 그리고 우리가 자랑스럽게 느낄 수 있는 사이트도 아니었습니다.
설상가상으로, 병목 현상이 발생하여 적응이 까다로운 물류 비즈니스가 되었습니다. 우리 팀은 사이트를 변경하는 데 어려움을 겪고 있었습니다. 몇 년 동안 프리미엄 경험에 중점을 두었던 WordPress 및 PHP 경험을 가진 한 명의 개발자가 있었습니다. 코드 변경을 테스트 하려면 팀이 준비 서버에 액세스하기 위해 대기열에서 기다려야 합니다.
그것은 누구에게도 활력을 불어 넣지 않았으며 확실히 효율적이지 않았습니다.
이제 약간의 변화가 있었고 해결책을 찾기 시작했습니다. 많은 연구 끝에 Gatsby가 우리 팀에 적합하다고 판단했습니다. 그것은 우리의 재능 강점에 영향을 미치고, 우리가 식별한 모든 문제를 해결하는 데 도움이 되고, 편집 과정을 바꿀 필요가 없도록 백엔드에 WordPress를 계속 사용할 수 있게 합니다.
우리가 개츠비로 이사 한 이유
최종 결과.
연구 과정 초기에 개츠비는 심각한 선두 주자처럼 보이기 시작했습니다. SitePoint는 소규모 사이트가 아니므로 선택한 기술이 매우 까다로운 요구를 처리 할 수 있어야 한다는 것을 알고 있었습니다. 개츠비는 우리의 모든 상자를 확인했습니다.
스타일 구성 요소가 있는 유지 관리가 더 쉬운 CSS
처음부터 사이트를 다시 만들려고 하면서 동시에 일부 디자인을 변경하려고 했습니다. 이 작업을 돕기 위해 styled-components를 사용하기로 결정했습니다.
스타일 구성 요소를 사용하면 사이트 스타일을 쉽게 유지 관리 할 수 있으며 스타일을 변경하고 싶을 때 볼 위치를 알고 있습니다. 스타일은 항상 구성 요소와 함께합니다.
우리가 어떻게 빌드를 했는지
Gatsby의 기본 문서를 따르고 gatsby-source-wordpress 플러그인으로 게시물을 가져 오는 것으로 시작했습니다.
이것은 우리에게 큰 초기 테스트였습니다. 사이트에 Gatsby를 사용할 수 있는지 확인해야 했습니다.
20 년간의 블로깅 이후 17,000 개가 넘는 게시물이 게시 되었습니다. 우리는 빌드에 오랜 시간이 걸리겠지만 Gatsby가 이러한 방대한 양의 컨텐츠를 처리 할 수 있는지 알아내야 했습니다. 예상 한대로 이 테스트는 Gatsby가 작동한다는 좋은 소식을 전달했습니다.
대규모 사이트에서 작업하는 다른 팀을 위한 빠른 팁 : 개발 환경을 개선하기 위해 환경 변수를 사용하여 Gatsby가 개발 중인 모든 사이트 게시물을 가져 오지 못하게 했습니다. 진행을 늦추기 위한 60 분의 핫 리로드와 같은 것은 없습니다.
if (hasNextPage && process.env.NODE_ENV != "development") {
return fetchPosts({ first: 100, after: endCursor });
}
이 시점에서 WordPress 소스 플러그인에 몇 가지 제한이 있었습니다. 필요한 데이터를 모두 얻지 못해 WordPress GraphQL 플러그인으로 옮겼습니다.
Yoast를 사용하여 SEO에 대한 메타 데이터를 설정하고 올바른 정보를 가져와야 했습니다. 우리는 WordPress GraphQL로 이것을 할 수 있었습니다. 이러한 방식으로 콘텐츠 팀은 메타 데이터를 동일한 방식으로 계속 편집 할 수 있으며 각 빌드에서 데이터는 여전히 동적이며 가져옵니다.
빌드하는 동안 팀에 3 ~ 4 명이 새 블로그의 일부를 작업하게 됩니다. 과거에는 피드백을 받으려면 스테이징 서버로 푸시하여 아무도 사용하지 않았는지 확인해야 했습니다.
Gatsby Cloud가이 문제에 대한 훌륭한 솔루션이라는 것을 알았습니다. 이제 누군가 GitHub의 지점으로 푸시하면 Gatsby Cloud에서 미리보기 링크와 함께 빌드가 생성됩니다. 개발자는 이 링크를 공유하고 이전보다 훨씬 효과적으로 테스트 및 피드백을 즉시 받을 수 있습니다.
이 빠른 피드백 주기 덕분에 팀의 여러 사람이 빌드 작업을 쉽게 하고 중대한 병목 현상을 막을 수 있었습니다.
Launch Day Fun
큰 날에는 새 사이트를 시작하고 초기 테스트를 거쳤습니다. 새 블로그는 날고 있었습니다. 모든 페이지 로드는 즉시 느껴졌습니다.
SitePoint Premium에서 일부 문제가 발생하여 속도가 느려지거나 충돌하기 시작했습니다. 범인은 사람들이 현재 읽고 있는 인기 있는 책을 끌어들이는 블로그 페이지의 새로운 요소였습니다. 클라이언트 측 API 호출을 통해 이 작업을 수행 할 수 있으며 블로그 측에서 발생하는 트래픽 양으로 인해 Premium에서 처리하기에는 너무 많은 작업이었습니다.
일시적으로 문제를 해결하기 위해 일부 페이지 캐싱을 API에 빠르게 추가했습니다. 우리는 우리가 잘못하고 있음을 깨달았습니다. 빌드 할 때 이 데이터를 소싱해야 했으므로 사용자에게 페이지를 제공 할 때 인기 있는 책이 이미 로드 되었습니다.
이것은 Gatsby를 사용할 때 해야 할 주요 사고 방식입니다. 빌드시 얻을 수 있는 모든 데이터는 빌드시 가져와야 합니다. 실시간 데이터가 필요한 경우에만 클라이언트 측 API 호출을 사용해야 합니다.
빌드 중에 API 호출을 다시 작성하면 블로그 페이지의 첫로드가 훨씬 빨라져 Premium이 중단되었습니다.
우리가 여전히 해결해야 할 것
오늘날의 현장 경험이 얼마나 좋은지 과장하기는 어렵지만 여전히 해결해야 할 몇 가지 어려움이 있습니다.
새 기사가 게시되거나 컨텐츠가 하루에 여러 번 업데이트 되는 경우 이러한 변경 사항이 표시되기 전에 Gatsby 빌드를 다시 실행해야 합니다.
이를 위한 우리의 솔루션은 하루 일정에 따라 예정된 시간에 실행되는 간단한 크론 작업입니다. 이것에 대한 장기적인 해결책은 WordPress 게시 및 업데이트 버튼에 웹훅을 추가하여 한 번 누르면 새 빌드가 트리거 되도록 하는 것입니다.
또한 증분 빌드를 실행해야 합니다. 지금은 매번 전체 사이트를 다시 빌드해야 하며 콘텐츠 아카이브가 제공되는 데 다소 시간이 걸릴 수 있습니다. 개츠비는 방금 증분 빌드를 도입했으며, 사이트에서 이를 구현하기 위해 노력하고 있습니다. 그것이 설정되면 변경된 것이 유일한 내용이라면 빌드가 훨씬 빨라질 것입니다.
우리의 속도 점수는 여전히 우리가 원하는 곳이 아닙니다. 이 사이트는 주관적으로 매우 빠르지 만 등대에서는 여전히 일관된 점수를 얻지 못하고 있습니다. 우리는 최적의 사용자 경험과 SEO를 위해 모바일과 데스크탑을 모두 녹지대 (90 점 이상)로 가져오고 싶습니다.
다시할까요?
이 유형의 출시는 일반적으로 꽤 신경을 쓰는 이벤트이며 출시 당일 팀에서 많은 작업을 수행합니다.
Gatsby를 사용하면 출시가 정말 쉬워졌습니다. 우리는 WordPress를 새로운 도메인으로 옮기고 Gatsby 버전의 사이트에서 sitepoint.com을 가리켜 야했습니다.
그 다음 우리는 앉아서 교통 체증에 어떤 일이 일어 났는지 알기 위해 숫자를 보았습니다. 며칠 안에 데이터가 들어 오기 시작했고 트래픽이 15 % 증가했습니다. 사용자 참여도는 전반적으로 향상되었습니다.
그 효과가 왜 그렇게 즉각적 이었는지 알아내는 것은 어렵지 않습니다. 우리는 정적 HTML 및 CSS 페이지에서 더 나은 SEO를 실행했으며 Gatsby 로의 이동으로 인해 속도가 크게 향상되었습니다.
우리는 이동 한 후 등대 속도 점수를 모바일에서 6-15에서 50-60 범위로, 데스크톱의 30 대에서 70대로 증가 시켰습니다. 우리는 이번 변경으로 속도를 항상 최우선으로 유지하고 싶었습니다. 따라서 매일 여러 페이지에서 속도 테스트를 수행하고 점수를 알려주는 Caliber라는 훌륭한 도구를 사용하고 있습니다. 우리는 이 도구를 사용하여 점수를 계속 향상 시키고 있습니다. 모든 것이 90 세 이상을 유지할 수 있도록 3 개월 안에 다른 기사를 제공해 드리겠습니다.
팀은 개츠비에서 일하는 것을 좋아합니다. 블로그 코드베이스는 아무도 작업하고 싶지 않았습니다. 이제 훌륭한 개발자 경험 덕분에 모든 사람들이 그 카드를 가지고 싶어합니다.
개츠비로의 전환에 주목하고 있으며, 준비가 되었는지 궁금하다면 조언을 받아보십시오. 전환 가치가 있습니다.
등록된 댓글이 없습니다.