ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ ๊ธ ์์ ๋ ์ง ์๋ ํ์ํ๋ ๋ฐฉ๋ฒ
๊ฒ์์์ง ์ต์ ํ(SEO)๋ฅผ ์ํ ๊ธ ์์ ๋ ์ง ํ์ ํ์ ํ
ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ์ ๊ธ์ ์์ฑํ๊ฑฐ๋ ํํ์ด์ง์ ๊ธ์ ์์ฑํ ํ ์ถ๊ฐ์ ์ผ๋ก ๊ธ์ ์์ ํ๋ ๊ฒฝ์ฐ [ ๊ธ ์์ ๋ ์ง ํ์ ]ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋ ์ฝ๋๋ฅผ ํ์ฉํ์๋ฉด ๊ธ ์์ ๋ ์ง๋ฅผ ์๋์ผ๋ก ์ํ๋ ์์น์ ํ์ํด์ค๋๋ค. ๊ธ์ ์์ฑํ๊ณ ์ ๋ณด๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ๊ธ์ ๋ด์ฉ์ด ์์ ๋ ๊ฒฝ์ฐ ํด๋น ๊ธ ์์ ๋ ์ง๋ฅผ ๋ฐฉ๋ฌธ์์๊ฒ ์๋ดํ๋ ๊ฒ์ ๊ธ์ ์ ๋ขฐ๋๋ฅผ ๋์ด๋ ์ค์ํ ์์์ ๋๋ค.
ํ ๋ฒ ์์ฑํ ๊ธ์ด ์ค๋ ๊ธฐ๊ฐ ๋์ ์ ๋ฐ์ดํธ๋์ง ์์ผ๋ฉด ๋ฐฉ๋ฌธ์๋ ์ ๋ณด์ ์ ๋ขฐ๋์ ์๋ฌธ์ ๊ฐ๊ฒ ๋๋ฉฐ, ์ต์ ์ ๋ณด๋ก ์ ๋ฐ์ดํธํ ์์ ์ ๋ณด๋์ด ์์ด์ง ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๊ธ์ ์์ฑํ ํ ์ ๋ฐ์ดํธ๊ฐ ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ ๋ฐฉ๋ฌธ์์๊ฒ ์ ๊ทน์ ์ผ๋ก ๊ธ์ ์์ ํ ๋ ์ง๋ฅผ ์๋ฆฌ๋ ๊ฒ์ ๊ธ์ ์ ๋ขฐ๋๋ฅผ ๋์ด๋ ์ค์ํ ๋ฐฉ๋ฒ์ด๋ฉฐ, ๊ฒ์ ์์ง ์ต์ ํ์๋ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๊ธ ์์ ๋ ์ง ํ์ ๋ฐฉ๋ฒ
๊ธ์ ์ต์ด ์์ฑํ๊ฑฐ๋ ์์ ํ๋ฉด ํด๋น ์ ๋ณด๋ HTML ๋ฉํ ๋ฐ์ดํฐ์ ๊ธฐ๋ก๋ฉ๋๋ค. ์ด ๊ธฐ๋ก์ ํตํด ๊ฒ์ ์์ง์ ๋ฌธ์์ ์ต์ด ๋ฐํ์ผ๊ณผ ์์ ๋ ๋ ์ง์ ๋ํ ์ ๋ณด๋ฅผ ์์งํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋๋ถ๋ถ ๊ธ ํ์ด์ง์ ๋ฐํ์ผ์ ํ์๋์ด ์์ง๋ง ์์ ๋ ์ง๋ ํ์๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ด, ๋ฐฉ๋ฌธ์๊ฐ ์ค์ ๋ก ์ธ์ ์์ ๋์๋์ง๋ฅผ ์ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ๊ฒ์ ์์ง์ด ์์งํ๋ ๋ฉํ ๋ฐ์ดํฐ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ธ์์ ๋ ์ง๋ฅผ ํ์ํด์ฃผ๋ ์ฝ๋ ์ ์ฉ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ธ ์์ ๋ ์ง ํ์ ์ฝ๋ ์์ฑ
๋ฉํ ๋ฐ์ดํฐ ์ ๋ณด ์์ง
๊ธ์์ ๋ ์ง๋ฅผ ํ์ํ๊ธฐ ์ํด์ ๋ฉํํ ๊ทธ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๋ ์ฝ๋์ ๋๋ค.
// ํ์ด์ง๊ฐ ๋ก๋๋๋ฉด ์คํ๋ ํจ์๋ฅผ ๋ฑ๋กํฉ๋๋ค.
document.addEventListener('DOMContentLoaded', function() {
// ๋ฉํ ํ๊ทธ์์ ์์ ๋ ์ง ๊ฐ์ ธ์ค๊ธฐ
const metaModifiedTime = document.querySelector('meta[property="article:modified_time"]')?.getAttribute('content');
// JSON-LD ์คํฌ๋ฆฝํธ์์ ์์ ๋ ์ง ๊ฐ์ ธ์ค๊ธฐ
const jsonLdScript = document.querySelector('script[type="application/ld+json"]');
const jsonLdData = JSON.parse(jsonLdScript?.innerText || '{}');
์์ ๋ ์ง ๋ณํ
๋ฉํํ๊ทธ์ ์ ๋ณด๋ฅผ ๊ธ ์์ ๋ ์ง ํํ์ ์ฝ๋๋ก ๋ณํํด์ ๋ ,์.์ผ๋ก ํ์๋ฅผ ํด์ค๋๋ค.
// ๋ฉํ ํ๊ทธ์์ ๊ฐ์ ธ์จ ์์ ๋ ์ง ๋๋ JSON-LD ๋ฐ์ดํฐ์์ ๊ฐ์ ธ์จ ์์ ๋ ์ง๋ฅผ ์ต์ข
์์ ๋ ์ง๋ก ๊ฒฐ์ ํฉ๋๋ค.
const lastUpdatedDate = metaModifiedTime || jsonLdData.dateModified;
// ์ต์ข
์์ ๋ ์ง๊ฐ ์กด์ฌํ ๊ฒฝ์ฐ, ํด๋น ๋ ์ง๋ฅผ ํ๊ตญ์ ๋ ์ง ํ์์ผ๋ก ํฌ๋งทํ
ํ์ฌ ํ์ด์ง์ ํน์ ์์์ ํ์ํฉ๋๋ค.
if (lastUpdatedDate) {
const formattedDate = new Date(lastUpdatedDate).toLocaleDateString('ko-KR', {
year: 'numeric',
month: '2-digit',
day: '2-digit'
});
const lastUpdatedElement = document.querySelector('.last-updated-date');
if (lastUpdatedElement) {
lastUpdatedElement.innerText = `์ต์ข
์์ ์ผ: ${formattedDate}`;
}
}
});
๊ธ ์์ ๋ ์ง ์ถ๋ ฅ
๊ธํ์ด์ง ์์ ๋ ๋ ์๋ฅผ ํ์ํด ์ฃผ๊ณ ์ถ์๊ณณ์ ์๋ ์์ ๋ ๋ ์์ ์ ๋ณด ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ์๋ฉด ๊ธํ์ด์ง์ ์์ ๋ ๋ ์ง์ ์ ๋ณด๊ฐ ๋ณด์ด๊ฒ ๋ฉ๋๋ค.
<span class="Last-Published-Date"></span>
์ ์ฒด ์ฝ๋
์๋๋ ๊ธ์์ ๋ ์ง๋ฅผ ํ์ํด์ฃผ๋ ์ ์ฒด ์ฝ๋์ ๋๋ค ์ด์ฝ๋๋ฅผ HTML ์ฝ๋ BODY ๋ถ๋ถ ์๋จ์ ๋ฃ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
<script async>
document.addEventListener('DOMContentLoaded', function() {
const metaModifiedTime = document.querySelector('meta[property="article:modified_time"]')?.getAttribute('content');
const jsonLdScript = document.querySelector('script[type="application/ld+json"]');
const jsonLdData = JSON.parse(jsonLdScript?.innerText || '{}');
const lastUpdatedDate = metaModifiedTime || jsonLdData.dateModified;
if (lastUpdatedDate) {
const formattedDate = new Date(lastUpdatedDate).toLocaleDateString('ko-KR', {
year: 'numeric',
month: '2-digit',
day: '2-digit'
});
const lastUpdatedElement = document.querySelector('.last-updated-date');
if (lastUpdatedElement) {
lastUpdatedElement.innerText = `์ต์ข
์์ ์ผ: ${formattedDate}`;
}
}
});
</script>
์ ์ฉ ๋ฐฉ๋ฒ
์คํฌ๋ฆฝํธ ์ฝ๋ ์ ์ฉ
์์ ๊ธ์์ ๋ ์ง ํ์ ์ ์ฒด ์ฝ๋๋ฅผ HTML BODY๋ถ๋ถ์ ์ ๋นํ ์์น์ ๋ฃ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
ํ์ ์ฝ๋ ์ ์ฉ
ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ๋ HTML ์ฝ๋ ํธ์ง์์ ๊ฒ์์ ํ์ ์ ์๋ ๊ธ ์ ๋ชฉ ์ฝ๋๋ฅผ ๊ฒ์ํ์๊ฑฐ๋ ๊ธ ํ์ด์ง ๋ถ๋ถ์ ์ฝ๋์ ๊ธ ํ์ด์ง ์์ ๋ ์ง๋ฅผ ํ์ํ๊ณ ์ถ์๊ณณ์ ๋ฃ์ด์ฃผ์๋ฉด ๋ฉ๋๋ค.
โ ๊ฒ์ ์ฝ๋ ์์
<h1>[ ๊ธ ์์ ๋ ์ง ํ์ ] ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ ์ ์ฌ์ดํธ์ ๊ธ ์์ ๋ ์ง ํ์ํ๋ ๋ฐฉ๋ฒ</h1>
โ ์ ์ฉ ์ฝ๋ ์์
<span class="Last-Published-Date"></span>
โ ์ฝ๋ ์์
์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ธ์์ ํ ๋ ์ง๋ฅผ ๊ฐ๋จํ ์ฝ๋๋ฅผ ์ด์ฉํด์ ๋ฐฉ๋ฌธ์์๊ฒ ๊ธ์ ์ ๋ณด์ ๋ํ ์ ๋ขฐ๋๋ฅผ ๋์ด๊ณ ๊ฒ์์์ง์ ์ต์ ํ์ ๊ธ์ ์ ์ธ ์์๋ฅผ ๋ถ์ฌํด์ ๊ฒ์ ๋ ธ์ถ์ ์กฐ๊ธ์ด๋ผ๋ ๋์์ด ๋ฌ์ผ๋ฉด ํฉ๋๋ค.