티스토리에서 워드프레스로 블로그 이전 후 Redirect

Published Aug 30, 2022 | Updated Sep 23, 2022 | 0 comments

WordPress로 이전 한지 꽤 시간이 지났음에도 아직도 예전 블로그 글들이 오래전에 작성된 거라 더 노출이 잘 되는듯 하다

그래서 이전 블로그 조회시 현재 블로그에 동일한 글이 있는 경우 Page 를 Redirect 하게 끔 수정해 보았다.

두 사이트 모두 permalink 를 동일한 형식으로 사용중이고, 이전 사이트 에서 마이그레이션(링크 참조) 한 상태라

일부러 삭제한 글을 제외하면 동일한 경로에 존재한다.

현재 WordPress 사이트에 CORS 설정이 필요하다

Origin 은 정해져 있고, GET Method 를 사용해서 접근할 예정이라 아래 코드를 테마 파일의 function.php 파일에 추가해 주었다.

// BEGIN TISTORY CORS
add_action('init', 'handle_tistory_redirect');
function handle_tistory_redirect() {
    $origin = get_http_origin();
    if ($origin === 'https://kkomzi.tistory.com') {
    	header("Access-Control-Allow-Origin: https://kkomzi.tistory.com");
        header("Access-Control-Allow-Methods: GET, OPTIONS");
        header("Access-Control-Allow-Credentials: true");
        header('Access-Control-Allow-Headers: *');
        if ('OPTIONS' == $_SERVER['REQUEST_METHOD']) {
            status_header(200);
            exit();
        }
    }
}
// END TISTORY CORS

이전 사이트의 Head 태그 사이에 아래 Javascript 코드를 추가한다.

간단하게 메인 페이지가 아닌 경우 Pathname 을 사용해서 response.ok 인 경우만 redirect 하는 코드이다.

태그 및 카테고리 페이지를 위해서는 조건 추가가 필요하겠지만, 그냥 이쯤에서 만족하는 걸로…..

<script type="text/javascript">
function redirect() {
	var url = new URL(window.location.href);
	if(url.pathname.substring(0) != '/') {
		var newUrl = "https://blog.kkomzi.net" + url.pathname.substring(0);
		fetch(newUrl, {
			method: 'GET'
		})
		.then((response) => {
			if(response.ok) {
				//window.location.replace(newUrl);
				window.location.href = newUrl;
			} else {
				console.log(response);
			}
		})
		.catch((error) => console.log(error))
		;
	}
}
</script>

그리고 Body 태그의 onload 이벤트에서 해당 function 을 호출합니다.

<body onload="redirect()">

TAG INFORMATION

Learn more on this topic

Related Blog Posts

워드프레스 재사용 가능 블록 메뉴 추가하기

워드프레스 재사용 가능 블록 메뉴 추가하기

워드프레스 관리자 페이지 좌측에 보이는 메뉴 목록에는 기본적으로 워드프레스 재사용 가능 블록 메뉴가 존재하지 않습니다. 재사용 가능 블록을 관리하기 위해 해당 페이지로 가기 위해서는 포스트 추가 및 편집 화면에서 찾아서 들어가야 합니다. 자주 쓰지 않을 때는 몰랐는데 최근에 자주 사용하다 보니 불편함이 생기네요 그래서 메뉴에 추가해서 쉽게 들어갈 방법을 찾던 중 다른 분이 작성해 둔 코드를 보고 추가할 수 있었습니다. ( 참조 링크 ) function.php 에 아래 코드를...

read more
워드프레스 재사용 가능 블록 – Read More

워드프레스 재사용 가능 블록 – Read More

워드프레스로 글을 작성하다 보면 일부 항목을 숨긴 상태로 표시했다가 필요한 경우 사이트를 방문한 사용자가 직접 펼쳐서 내용을 확인하게 하는 방식으로 작성 하는 경우가 있습니다. 이런 경우 Read More 로 검색해 보면 다양한 플러그인이 존재합니다. 아니면 Content Toggle (Accordion) Block For Gutenberg - Ultimate Blocks 같은 블록모음 플러그인을 설치해서 해당 블록을 사용할 수도 있습니다. 하지만 이와 같은 방법은 플러그인...

read more

Join in the conversation

Leave a Comment

0 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

cloud app service

전광판

텍스트를 입력하고 텍스트 효과 및 배경효과 를 변경해서 전체화면으로 표시할 수 있는 전광판 용도로 사용하실 수 있습니다. 각종 스포츠 및 공연 관람시 응원 용도로 사용이 가능합니다.

Carousel

여러개의 슬라이드를 추가하여 프레젠테이션 및 이미지 슬라이드 용도로 사용하실 수 있습니다. 브라우저가 포함된 IT 기기로 큰 모니터에 연결하여 매장 내 공지사항 및 메뉴소개를 이미지로 표시할 수 있습니다.

타이머

지정된 시간이 경과한 후 소리로 알려주는 타이머 기능을 하고 있습니다.

Pin It on Pinterest

Shares
Share This

Share This

Share this post with your friends!

Shares