워드프레스 블로그 운영 중 Mixed Content경고가 있었습니다.
SSL 인증서를 설치해 사이트 주소를 https로 바꾸더라도, http일 때(https로 바꾸기 전) 생성된 페이지 내에 포함된 이미지, 폰트, 링크의 내용들이 자동으로 https로 바뀌지 않습니다. 브라우저는 페이지 내에 http://로 된 부분이 남아 있으면 “안전하지 않은 페이지”로 판단합니다. 이를 Mixed Content(혼합 콘텐츠)라고 합니다. 암호화된 https속에 암호화되지 않은 http데이터가 섞여 보안에 문제가 생긴다고 판단해 경고를 하게 됩니다.
문제1 워드프레스 기존 컨텐츠 주소가 http로 되어 mixed content 문제가 생김

워드프레스를 설치하고 ssl을 설치했지만 데이터베이스에 존재하던 모든 http주소를 https로 바꾸지 않았기 때문에 생긴 문제였습니다.
SSH를 열어 워드프레스 설치 디렉터리에 가서 wp-config.php를 확인합니다.
wp-config.php 파일 수정
워드프레스는 사이트 기본 주소를 인식할 때 wp-config.php나 설정 메뉴의 주소 값을 기준으로 삼습니다. SSL을 설치해도 기준 주소가 http로 되어 있으면 내부 링크나 스크립트를 불러올 때 http 주소를 요청하게 됩니다. 따라서 이 사이트의 진짜 주소는 https라고 시스템에 명시를 해줘야 합니다.
define( 'WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/' );
define( 'WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/' );WP_HOME, WP_SITEURL 이 두가지가 http로 설정되어 있다면 https로 바꾸고 저장
DB 수정
사이트 주소를 https로 바꿔도 과거에 작성했던 글 속에 삽입된 이미지, 링크 등은 자동으로 바뀌지 않습니다. 이 데이터들은 DB에 http:// 형태로 그대로 남아 있습니다.
이 데이터들을 하나씩 수정하기 어렵기도 하고 DB 테이블을 직접 수정하다가는 잘못된 테이블을 날려 사이트가 터질 수 있습니다. 그렇기에 효율성과 안전성을 따져 플러그인의 도움을 받아 빠르게 일괄 변환을 해줍니다.
Better Search Replace 플러그인 설치 후

검색하기 입력부분에 http로 된 도메인 예) http://abc.com 입력
다음으로 교체 입력부분에 https로 바뀐 도메인 예) https://abc.com 입력
검색/바꾸기 실행 버튼 클릭
테스트 먼저 하고 싶으면 추가 설정에 있는 테스트 실행으로 실행 버튼 클릭
문제2 워드프레스 테마에서 제공하는 폰트가 http로 되어 mixed content 문제가 생김

wp-config.php파일과 DB까지 https로 변환했지만 특정 폰트나 스타일에서 여전히 혼합콘텐츠 경고가 발생하곤 합니다. 오류 내용을 보니 폰트 경로가 http로 남아있었기 때문입니다. 이유는 테마의 캐싱 및 설정 저장 메커니즘 때문입니다.
테마가 구글 폰트나 테마 자체 폰트 등을 불러올 때, 성능 최적화를 위해 매번 새로 불러오지 않고 http 시절의 경로를 자체 설정 파일에 저장해두기 때문입니다.
외모 – 사용자정의 – 타이포그래피 메뉴로 이동

위에 폰트부터 클릭

폰트 활성화 옵션인 Enabled를 클릭해 disabled로 만들어 잠시 끄고 save버튼 눌러서 저장
다시 enabled로 활성화하고 save버튼 눌러서 저장
하단의 다른 폰트도 똑같이 반복 하면 이번 폰트 관련 mixed content 에러 문제는 해결됩니다.
단순히 토글 버튼을 누르는 행동처럼 보이지만 버튼을 누르는 순간 기존 캐시된 폰트경로 데이터를 파기하고 새로 만들라는 명령을 받게 됩니다.
Better Search Replace로 DB를 수정했지만 해결되지 않는 부분

yoast seo 플러그인이 생성한 og:image에 있는 부분이 바뀌지 않음
Yoast SEO플러그인은 사이트 검색 엔진 최적화 요소인 속도를 높이기 위해 글의 메타 데이터 og:image 등을 일반 워드프레스 DB와 별개로 자신들의 고유한 색인 테이블(Indexables)에 따로 저장해 놓습니다. 그래서 기본 DB를 바꿔도 Yoast SEO플러그인이 들고 있던 데이터는 변하지 않아 에러가 지속됩니다.
Yoast Test Helper 플러그인 설치 후 활성화
워드프레스 기본 왼쪽 메뉴 도구 – yoast test 클릭

Reset Indexables tables & migrations 클릭
Reset Indexables 과정은 Yoast SEO 플러그인이 따로 적어둔 데이터 테이블을 초기화하고 다시 쌓도록 만드는 과정입니다.
수정 완료됨.

이걸 했으면 다시 seo데이터 최적화 시작하기를 해줘야 합니다.
고유주소 규칙 갱신
설정 – 고유주소 – 변경 사항 저장(다른 것 아무것도 건드릴 필요 없음)
워드프레스의 고유 주소 체계나 플러그인 데이터에 변화가 생기면, 서버의 페이지 경로 안내 역할을 하는 .htaccess 파일이나 주소 규칙 Rewrite Rules가 꼬일 수 있습니다. 아무것도 건드리지 않고 변경 사항 저장만 눌러줘도 워드프레스 시스템에게 고유주소 규칙을 최신 상태로 갱신하라고 명령을 하게 됩니다.


