2021.07.20 수정
아래 소개된 방법은 워드프레스 버전 4.7 이전까지만 적용이 가능했던 방법입니다. 새로 업데이트한 포스팅을 참고하세요.
워드프레스 webp 첨부를 플러그인을 사용하지 않고 코드에 직접 추가하여 가능하게 하는 방법입니다.
워드프레스에 webp를 첨부하려고 하면 아래와 같은 오류가 나타납니다.
죄송합니다. 이 파일 유형은 보안 사유로 허용되지 않습니다 (Sorry, This File Type Is Not Permitted for Security Reasons) 오류를 해결해 보겠습니다.
#wordpress 폴더가 설치된 곳(루트 폴더)로 이동합니다.
sudo nano /var/www/html/wordpress/wp-config.php
Code language: JavaScript (javascript)
편집기 진입 후 파일을 아래로 내려보면,
/* That’s all, stop editing! Happy publishing. */ 위의 코드를 확인할 수 있습니다.
모든 파일의 업로드를 허용한다는 코드인
define('ALLOW_UNFILTERED_UPLOADS', true);
Code language: JavaScript (javascript)
을 추가해줍니다. 물론 붙여넣기 전 i를 눌러 하단에 insert 모드로 변경되었는지 확인하고 넣어주세요.
만약 해당 코드(define(‘FS_METHOD’, ‘direct’);)이 없다면, 디버그 밑에 한 줄 띄고 넣어주시면 됩니다.
추가를 완료했으면 ctrl+x > y 입력 후 엔터를 쳐서 빠져나옵니다.
대시보드에서 미디어 > 새로 추가에서 webp를 첨부합니다. 동작하지 않을 경우 로그아웃 후 로그인한 뒤 재첨부해보세요.
하지만 글에서 바로 업로드하려고 하면 죄송합니다. 이 파일 유형은 보안상의 이유로 허용하지 않습니다. 오류가 다시 노출됩니다. 그렇기 때문에 글에 바로 첨부하지 말고 대시보드 > 미디어 > 새로 추가 에서 사용할 사진을 모두 불러놓고 셋팅하는 것을 추천드립니다. 참고로 특성 이미지(썸네일) 설정도 잘 동작합니다.
하지만 해당 사이트에서는 nginx를 이용하여 webp 자동 변환하는 기능을 사용하고 있기 때문에, 업로드는 png로 하되 특정 시간에 일괄적으로 변환되도록 동작하여 특정 시간이 지나기 전까지는 webp로 보이지 않을 수 있습니다.