몇 달 전에 워드프레스 테마를 현재 테마인 Publisher로 바꾼 후에 새 글을 발행해도 전면 페이지와 아카이브 페이지(카테고리 페이지 등)에 곧바로 표시되지 않는 문제가 발생했습니다. 워드프레스에서 새 글을 발행해도 전면 페이지에 표시되지 않는 문제가 발생하면 캐시 문제를 의심해볼 수 있습니다.
[ 이 글은 2017년 12월에 발행되었으며 2024년 6월 28일에 최종 수정되었습니다. ]
워드프레스에서 새 글을 발행해도 전면 페이지에 표시되지 않는 문제 - 캐시 플러그인 문제
테마를 변경한 후에 첫 페이지에 새 글이 표시되지 않는 문제를 해결하기 위해 캐시 플러그인을 W3 Total Cache에서 Hyper Cache로 변경했지만 문제가 조금 완화되었을 뿐 완전히 해결되지는 않았습니다.
Chris Mok님이 서버 캐시 문제일 수 있다고 하셔서 Bluehost에 연락하여 서버 캐시를 삭제했지만 그래도 문제가 지속되었습니다.
그러다가 브라우저 캐시 문제 같다는 생각을 해오다가 오늘 Browser Caching 기능을 비활성화하니 새 글이 곧바로 전면 페이지에 표시되는 것 같습니다.
캐시 플러그인의 브라우저 캐시 기능 비활성화
Hyper Cache 플러그인의 경우 설정 > Hyper Cache > General에서 브라우저 캐시 기능을 해제할 수 있습니다.
사실 위의 스크린샷에서 뒷부분이 잘렸지만 다음과 같이 브라우저 캐시 기능을 사용하면 블로그에서 페이지를 리로드하지 않아서 업데이트된 콘텐츠가 표시되지 않을 수 있다는 경고가 표시되어 있습니다.
Lets browser to use a local copy of the page if newer than specified. Attention: the browser may not reload a page from the blog showing not updated content.
해결 방법은 너무 간단한데, 원인을 파악하는 데 몇 개월이 걸렸습니다. 그리고 캐시 문제 때문에 Disqus를 제거하고 워드프레스 기본 댓글 시스템을 바꾸는 등 몇 가지 변화가 있었습니다.
캐시 플러그인을 다시 W3 Total Cache로 바꿀까 잠시 생각했지만 귀찮아서 당분간 현재 상태로 사용할 것 같습니다.
클라우드웨이즈 호스팅을 이용하는 경우
클라우드웨이즈를 이용하는 경우 Breeze 캐시 플러그인의 캐시를 삭제하면 캐시 문제가 해결될 것입니다.
그래도 문제가 해결되지 않으면 사이트 전체 캐시를 삭제할 수 있습니다.
WP Rocket 등 다른 캐시 플러그인을 사용하는 경우에는 해당 캐시 플러그인의 캐시를 삭제하여 테스트해보세요.
리눅스 서버에서 캐시 삭제하기
한편으로는 이 문제를 겪으면서 여러 가지를 배우게 되었습니다. 가령 서버 캐시를 삭제하려면 SSH에서 다음 명령을 사용하면 된다는 것을 Bluehost 담당자로부터 알게 되었습니다.
sync; echo 1 > /proc/sys/vm/drop_caches
free -h 명령을 사용하면 사용되고 있는 캐시 크기와 여유 캐시 크기를 확인할 수 있습니다.
최근 메모리 문제 때문에 메모리를 늘려야 하나 고민했는데, 같은 웹호스팅 서버에 연결된 워드프레스 사이트 하나를 삭제하니까 위의 스크린샷보다 여유 캐시 크기가 많이 늘어난 것을 확인할 수 있었습니다.
참고로 보통 공유호스팅 플랜에서는 SSH 접속을 허용하지 않지만 Siteground에서는 특이하게 SSH 접속을 허용합니다("해외 호스팅 Siteground 공유호스팅에서 SSH 사용하기" 참고).
혹시 새 글을 발행해도 곧바로 블로그에 표시되지 않는 문제가 발생하는 경우 여러 가지 방법에도 해결이 안 되면 브라우저 캐시 설정을 확인해보시기 바랍니다.
이 글을 발행한 후에 이 블로그의 테마를 인기 매거진 테마인 뉴스페이퍼로 바꾸었다가 현재 GeneratePress 테마가 사용되고 있습니다. 캐시 플러그인은 Hyper Cache에서 Cache Enabler 플러그인으로 바꾸었습니다.
도움이 되었습니다. 감사합니다^^
블로그를 방문해주셔서 감사합니다.
무더운 날씨에 건강 주의하시기 바랍니다 :)