๋ธ๋ก๊ทธ ๋ด๋ถ ๋งํฌ ๋ฐ ์ธ๋ถ ๋งํฌ ์๋ ์ค์ ๋ฐฉ๋ฒ์ผ๋ก SEO ์ต์ ํํ๊ธฐ
๋ธ๋ก๊ทธ ๊ธ ์์ฑ ์ ๋ด๋ถ ๋งํฌ์ ์ธ๋ถ ๋งํฌ๋ฅผ ์๋์ผ๋ก ์ฝ์ ํ์ฌ SEO ์ต์ ํ๋ฅผ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ๊ณผ. ์ ๊ณต๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ํ์ฉํ์ฌ ์๋ ๋ฐฑ๋งํฌ๋ฅผ ์ค์ ํ๊ณ , ๋ฐฉ๋ฌธ์ ์ฒด๋ฅ ์๊ฐ์ ๋๋ ค ์ฌ์ดํธ ํ์ง์ ๊ฐ์ ํ๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
์๋ ๋ด๋ถ ๋ฐ ์ธ๋ถ ๋งํฌ ์ฝ์ ์ฝ๋ ํ์ฉ๋ฒ๊ณผ SEO ์ญํ
๋ธ๋ก๊ทธ๋ฅผ ์์ฑํ ๋, ๋ด๋ถ ๋งํฌ์ ์ธ๋ถ ๋งํฌ๋ฅผ ์๋์ผ๋ก ์ค์ ํด์ฃผ๋ ๊ธฐ๋ฅ์ ์ด์ ํจ์จ์ฑ์ ๊ทน๋ํํฉ๋๋ค. ์ธ๋ถ ๋งํฌ๋ ๋ค๋ฅธ ์ ๋ขฐํ ์ ์๋ ์ฌ์ดํธ๋ก๋ถํฐ์ ๋ฐฑ๋งํฌ ์ฉ๋๋ก ํ์ฉ๋์ด ๊ฒ์ ์์ง์ ์ฌ์ดํธ์ ์ ๋ขฐ๋์ ํ์ง์ ๋์ด๋ ๋ฐ ๊ธฐ์ฌํ ์ ์์ต๋๋ค. ๋ํ, ๋งํฌ๋ฅผ ํตํด ๋ฐฉ๋ฌธ์์๊ฒ ์ฐ๊ด๋ ๋ ๋ง์ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
๋ด๋ถ์ ์ธ๋ถ ๋งํฌ๋ฅผ ์ค์ ํด ์ฃผ๋ ๊ฒ์ ๋ฐฉ๋ฌธ์์ ์ฒด๋ฅ ์๊ฐ์ ๋๋ฆฌ๊ณ , ๊ฒ์ ์์ง์ด ๋ธ๋ก๊ทธ ๋ด์ฉ์ ๋ณด๋ค ์ ์ดํดํ๊ณ ์์ธํ๋ ๋ฐ ๋์์ ์ค ์ ์๋ ํต์ฌ SEO ๊ธฐ์ ์ ๋๋ค. ์ ์ ํ ์ต์ปค ํ ์คํธ ์ฌ์ฉ์ ๋กฑํ ์ผ ํค์๋ ๋ ธ์ถ์๋ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
ํนํ, ๊ฒ์ ์์ง ์ต์ ํ(SEO)์์ ๋ด๋ถ์ ์ธ๋ถ ๋งํฌ๋ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ๋ฐฑ๋งํฌ๋ ๋ค๋ฅธ ์ฌ์ดํธ๋ก๋ถํฐ์ ์ ๋ขฐ๋(Authority)๋ฅผ ๋์ด๋ ๋ฐ ๊ธฐ์ฌํ์ฌ ์ฌ์ดํธ ํ์ง์ ๊ฐ์ ํ๋ ํจ๊ณผ๊ฐ ์์ผ๋ฉฐ, ๋ด๋ถ ๋งํฌ๋ ํ์ด์ง ๊ฐ ์ฐ๊ฒฐ์ฑ์ ๊ฐํํ์ฌ ํฌ๋กค๋ฌ์ ์ ๊ทผ์ฑ์ ๋์ ๋๋ค.
์๋ ๋งํฌ ์ฝ์ ์ ํ์์ฑ ๋ฐ ํจ์จ ์ฆ๋ ๋ฐฉ์
๋ด๋ถ/์ธ๋ถ ๋งํฌ ์๋ ์ค์ ์ ๋นํจ์จ์ฑ
๋งค๋ฒ ํฌ์คํ ํ ๋๋ง๋ค ๋ด๋ถ ๋ฐ ์ธ๋ถ ๋งํฌ๋ฅผ ์๋์ผ๋ก ์ค์ ํ๋ ๊ฒ์ ๋ค์ ๋ฒ๊ฑฐ๋กญ๊ณ ๋ฐ๋ณต์ ์ด๋ฉฐ ์๋ชจ์ ์ธ ์์ ์ด ๋ ์ ์์ต๋๋ค. ์ด๋ ์ฝํ ์ธ ์ ์ ์๊ฐ์ ๋๋ฆฌ๊ณ ์ด์ ํผ๋ก๋๋ฅผ ๋์ด๋ ์์ธ์ด ๋ฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ์๋์ผ๋ก ์์ฑํ ๊ธ๊ณผ ๊ด๋ จ๋ ๋งํฌ๋ฅผ ํ์ฌ ํ์ด์ง์ ์ค์ ํ๊ณ , ๋ค๋ฅธ ์ฌ๋์ ๊ธ์ ๋ํ ์๋ ๋ฐฑ๋งํฌ๋ ์ถ๊ฐํด์ฃผ๋ ์๋ ์ฝ๋๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
์๋ ๋งํฌ๋ฅผ ํตํ ์์ ์ ํจ์จ ์ฆ๋ ๋ฐ ์ฝํ ์ธ ํ์ง ํฅ์
์ด ์ฝ๋๋ ํนํ ๊ธ ์์ฑ ์ ์ ์ฉํ๋ฉฐ, ์ ์ ํ ๋งํฌ ์๋ฅผ ์ ์งํ์ฌ ์ฝํ ์ธ ์ ํ์ง๋ ํฅ์์์ผ์ค๋๋ค. ์๋์ ์ฝ๋๋ ํน์ RSS ํผ๋๋ฅผ ํตํด 3๊ฐ์ ๋งํฌ๋ฅผ ๋๋ค์ผ๋ก ๊ฐ์ ธ์ ํ์ฌ ํ์ด์ง์ ์ ์ ํ ์์น์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ด 3๊ฐ์ ๋งํฌ๋ ์ ์ ํ ์์น์ ๋ฐฐ์น๋์ด ๋ธ๋ก๊ทธ ๊ธ ์ฌ์ด์์ ์์ฐ์ค๋ฝ๊ฒ ๋ณด์ผ ์ ์๋๋ก ์ค์ ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ๋ ๋ง์ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ผ๋ฉฐ, ๋ธ๋ก๊ทธ ์ด์์๋ ๊ธ ์์ฑ์ ๋์ฑ ์ง์คํ ์ ์๊ฒ ๋์ด ๋ธ๋ก๊ทธ ์ด์ ํจ์จ์ด ๋์์ง๋๋ค.
์๋ ๋ด๋ถ/์ธ๋ถ ๋งํฌ ์ฝ๋ ์ฌ์ฉ ๋ฐฉ๋ฒ
- RSS ์ฃผ์ ๋ณ๊ฒฝ ๋ฐ ์ค์ : ์ํ๋ RSS ํผ๋ URL์ ์ ๋ ฅํฉ๋๋ค. ๋ด๋ถ ๋งํฌ ์ฃผ์๋ ํ๋๋ง ์ ๋ ฅํ๋ฉด ๋๋ฉฐ, ๋ฐฑ๋งํฌ๋ฅผ ์๋ก ๊ณต์ ํ๋ ์ด์์์ ๋งํฌ๋ฅผ ๊ณต์ ํ์ฌ ์ด 3๊ฐ์ ๋งํฌ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
- ์์น ์ค์ (Paragraph Index): ๋งํฌ๊ฐ ์ฝ์
๋
pํ๊ทธ์ ์๋์ ์ง์ ํฉ๋๋ค. ์ ๋นํ ์์น์pํ๊ทธ ์๋์ ์ ํ์ฌ ์ค์ ํ๋ฉด ๋ฉ๋๋ค. ๋งจ ๋ง์ง๋ง ๋งํฌ๋ ๊ธ ํ๋จ์ ์๋์ผ๋ก ์ค์ ๋ฉ๋๋ค. (์ฃผ๋ก 2๊ฐ์ ์ค์ ๋ง ๋ณ๊ฒฝํฉ๋๋ค.) - ์คํฌ๋ฆฝํธ ์ฝ์
: ์ฝ๋๋ฅผ ์์ ํ์ผ๋ฉด, ์ฝ๋๋ฅผ ๋ณต์ฌํด์ HTML ํธ์ง๊ธฐ์ ์ ์ผ ํ๋จ
/body์์ ๋ฃ์ด ์ฃผ์๋ฉด ์๋์ผ๋ก ๋งํฌ๊ฐ ์ค์ ๋ฉ๋๋ค.

๋งํฌ ๋์์ธ ๊พธ๋ฏธ๊ธฐ ๋ฐ CSS ํ์ฉ
๋งํฌ ๊พธ๋ฏธ๊ธฐ (CSS ์ ์ฉ)
์๋์ผ๋ก ์ฝ์ ๋ ๋งํฌ๊ฐ ๋ณธ๋ฌธ ๋ด์์ ๋์ ๋๊ณ ์ฌ์ฉ์ ํด๋ฆญ์ ์ ๋ํ ์ ์๋๋ก ๋์์ธ์ ์ ์ฉํ ์ ์์ต๋๋ค. ๋งํฌ๋ฅผ ์ข ๋ ์ด์๊ฒ ๊พธ๋ฏธ๋ ค๋ฉด ์๋ ๊ธฐ๋ณธ CSS๋ฅผ ์์ ์ ์ฌ์ดํธ ๋์์ธ์ ๋ง๊ฒ ์์ ํด์ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
์์ ๋ CSS ์ฝ๋๋ ๋ธ๋ก๊ทธ ์คํจ์ CSS ํธ์ง๋ ํ๋จ์ ์ฒจ๋ถํด ์ฃผ์๋ฉด ๋ฉ๋๋ค. ์ด CSS๋ ๋งํฌ๋ฅผ ๋ฒํผ ํํ๋ก ๋ง๋ค์ด ๊ฐ๋ ์ฑ๊ณผ ํด๋ฆญ๋ฅ (CTR)์ ๋์ด๋ ๋ฐ ๋์์ ์ค๋๋ค.
๋ด๋ถ/์ธ๋ถ ์๋ ๋งํฌ CSS ์ฝ๋
.custom-link {
text-decoration: none !important;
color: white !important;
margin-top: 20px !important;
margin-bottom: 10px !important;
display: block !important;
padding: 10px 15px;
background-color: #333333;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
transition: background-color 0.3s;
}
๋ด๋ถ ์ธ๋ถ ์๋ ๋งํฌ ์์ฑ ๊ธฐ๋ฅ์ ํตํด, ๋ธ๋ก๊ทธ ํฌ์คํ ์ ๋ณด๋ค ์์ํ๊ฒ ๊ด๋ฆฌํ๊ณ , ๋ฐฉ๋ฌธ์์๊ฒ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ์ฌ์ฉ ์ ๋งํฌ ์๋ฅผ ์ ์ ํ ์กฐ์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. (์ฐธ๊ณ : ๊ธ ๋ชฉ๋ก์ ์๋์ผ๋ก ํ์ฑํด์ฃผ๋ ๊ฐ๋จํ ์ฝ๋, ๊ธ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๊น๋ํ๊ฒ ์ ๋ฆฌํด์ฃผ๋ ์ฝ๋์ ๋ฆฌ๊ธฐ)
Q1. ์๋ ๋งํฌ ์ฝ์ ์ด SEO์ ์ ์ํฅ์ ๋ฏธ์น์ง๋ ์๋์?
A1. ์๋ ๋งํฌ ์ฝ์ ์์ฒด๋ ๋ฌธ์ ๊ฐ ๋์ง ์์ผ๋, ๋งํฌ์ ํ์ง๊ณผ ์๋์ด ์ค์ํฉ๋๋ค. ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ จ์ฑ ์๋ ์ฝํ ์ธ ๋ก ์ฐ๊ฒฐํ๊ณ , ์ง๋์น๊ฒ ๋ง์ ๋งํฌ๋ฅผ ํ ํ์ด์ง์ ์ฝ์ ํ์ง ์๋๋ค๋ฉด SEO์ ๊ธ์ ์ ์ ๋๋ค. ํนํ ์ธ๋ถ ๋งํฌ์ ๊ฒฝ์ฐ ์ ๋ขฐ๋ ๋์ ์ถ์ฒ๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์ค์ํ๋ฉฐ, ๋๋ฌด ๋ง์ ๋ฐฑ๋งํฌ๋ ์คํธ์ผ๋ก ์ค์ธ๋ฐ์ ์ ์์ผ๋ฏ๋ก ๋งํฌ ์ ์กฐ์ ์ด ํต์ฌ์ ๋๋ค.
Q2. RSS ์ฃผ์๋ฅผ ๊ผญ 3๊ฐ ๋ชจ๋ ์ฌ์ฉํด์ผ ํ๋์?
A2. ์คํฌ๋ฆฝํธ ๊ตฌ์กฐ์ 3๊ฐ์ RSS ์ฃผ์๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ค์ ๋์ด ์์ง๋ง, ํ์์ ๋ฐ๋ผ 1๊ฐ ๋๋ 2๊ฐ์ ์ฃผ์๋ง ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ๋ค๋ง, ์ฝ๋ ๋ด์์ ํด๋น RSS๋ฅผ ์ฐธ์กฐํ๋ ๋ถ๋ถ(rssUrls[i])๊ณผ main() ํจ์ ๋ด์ if (i === 0), else if (i === 1), else if (i === 2) ์กฐ๊ฑด์ ์ฃผ์ ์ฒ๋ฆฌํ๊ฑฐ๋ ์ญ์ ํ์ฌ ์ฌ์ฉํ์ง ์๋ ๋งํฌ์ ์ฝ๋๋ฅผ ์คํํ์ง ์๋๋ก ์์ ํด์ผ ํฉ๋๋ค. ๋ด๋ถ ๋งํฌ(์ธ ๋ฒ์งธ RSS)๋ ๋ฐฉ๋ฌธ์ ์ฒด๋ฅ ์๊ฐ ํ๋ณด๋ฅผ ์ํด ์ ์งํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Q3. ์ฝ์ ๋๋ ๋งํฌ์ ์์น(p ํ๊ทธ ์ธ๋ฑ์ค)๋ ์ด๋ป๊ฒ ๊ฒฐ์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์๊น์?
A3. ๋งํฌ์ ์์น๋ ๋ฐฉ๋ฌธ์์ ์ดํ๋ฅ ์ ์ค์ด๋ ๊ฒ์ ์ด์ ์ ๋ง์ถฐ์ผ ํฉ๋๋ค. ๋๋ฌด ๊ธ์ ์ด๋ฐ์ ๋ฐฐ์นํ๋ฉด ๋ณธ๋ฌธ ๋ด์ฉ์ ์ฝ๊ธฐ ์ ์ ์ดํํ ์ ์๊ณ , ๋๋ฌด ํ๋จ์ ๋ฐฐ์นํ๋ฉด ํจ๊ณผ๊ฐ ๋จ์ด์ง๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ณธ๋ฌธ์ 30% ์ง์ ๊ณผ 60% ์ง์ , ๊ทธ๋ฆฌ๊ณ ๊ธ์ ๋งจ ๋์ ๋ฐฐ์นํ์ฌ ์์ฐ์ค๋ฌ์ด ํ๋ฆ์ ์ ๋ํ๊ณ ์ ๋ณด์ ํ์ฅ์ฑ์ ๋์ด๋ ๊ฒ์ด ๊ฐ์ฅ ํจ๊ณผ์ ์ ๋๋ค.
๋ด๋ถ ์ธ๋ถ ์๋๋งํฌ ์ฝ๋ (JavaScript)
script
const rssUrls = [
{ url: 'https://api.rss2json.com/v1/api.json?rss_url=' + encodeURIComponent('https://openipc.kr/rss?geo=KR'), minParagraphs: 10 }, // ์ฒซ ๋ฒ์งธ RSS (์: ์ธ๋ถ ๋ฐฑ๋งํฌ)
{ url: 'https://api.rss2json.com/v1/api.json?rss_url=' + encodeURIComponent('https://openpc.tistory.com/rss?geo=KR'), minParagraphs: 15 }, // ๋ ๋ฒ์งธ RSS (์: ์ธ๋ถ ๋ฐฑ๋งํฌ)
{ url: 'https://api.rss2json.com/v1/api.json?rss_url=' + encodeURIComponent('https://everydayhub.tistory.com/rss'), minParagraphs: 0 } // ์ธ ๋ฒ์งธ RSS (์: ๋ด๋ถ ๋งํฌ)
];
async function fetchRssItems(rssUrl) {
const response = await fetch(rssUrl);
const data = await response.json();
if (data.status === 'ok') {
return data.items.map(item = ({
title: item.title.trim(),
url: item.link.trim(),
}));
}
return [];
}
function addLinkAfterParagraph(titles, position) {
const contentElement = document.querySelector(".tt_article_useless_p_margin.contents_style");
if (!contentElement) return;
const paragraphs = contentElement.querySelectorAll("p");
// position์ ๋ฐฐ์ด ์ธ๋ฑ์ค์ด๋ฏ๋ก, 9๋ 10๋ฒ์งธ p ํ๊ทธ ๋ค
if (paragraphs.length position && titles.length 0) {
const randomTitle = titles[Math.floor(Math.random() * titles.length)];
const linkElement = document.createElement("p");
// target="_blank"๋ฅผ ์ฌ์ฉํ์ฌ ์ ํญ์์ ์ด๋ฆฌ๋๋ก ์ค์
linkElement.innerHTML = `a href="${randomTitle.url}" target="_blank" class="custom-link"${randomTitle.title} - ๊ด๋ จ๋ ๊ธ ๋ณด๊ธฐ/a`;
paragraphs[position].parentNode.insertBefore(linkElement, paragraphs[position].nextSibling);
}
}
async function main() {
for (let i = 0; i rssUrls.length; i++) {
const { url } = rssUrls[i];
const rssItems = await fetchRssItems(url);
if (rssItems.length 0) {
if (i === 0) {
addLinkAfterParagraph(rssItems, 9); // ์ฒซ ๋ฒ์งธ RSS๋ 10๋ฒ์งธ p ๋ค (์ธ๋ถ ๋งํฌ 1)
} else if (i === 1) {
addLinkAfterParagraph(rssItems, 14); // ๋ ๋ฒ์งธ RSS๋ 15๋ฒ์งธ p ๋ค (์ธ๋ถ ๋งํฌ 2)
} else if (i === 2) {
// ๋ง์ง๋ง RSS๋ ๊ธ ํ๋จ์ ์ถ๊ฐ (๋ด๋ถ ๋งํฌ)
const contentElement = document.querySelector(".tt_article_useless_p_margin.contents_style");
const randomItem = rssItems[Math.floor(Math.random() * rssItems.length)];
const linkElement = document.createElement("p");
linkElement.innerHTML = `a href="${randomItem.url}" target="_blank" class="custom-link"${randomItem.title} - ๊ด๋ จ๋ ๊ธ ๋ณด๊ธฐ/a`;
contentElement.appendChild(linkElement);
}
}
}
}
main();
/script