μΉμ¬μ΄νΈ μ΄λ―Έμ§ λ©ν νκ·Έλ₯Ό μλμΌλ‘ μΆκ°νλ μ€ν¬λ¦½νΈ μ½λ
λΈλ‘κ·Έλ μΉμ¬μ΄νΈμμ μ΄λ―Έμ§ μ½ν
μΈ λ₯Ό νμ©ν λ, μ΄λ―Έμ§μ λν λ©ν λ°μ΄ν°λ₯Ό μΆκ°νλ κ²μ κ²μ μμ§ μ΅μ ν(SEO)μ μΉμ¬μ΄νΈμ κ°μμ±μ λμ΄λ λ° λ§€μ° μ€μν©λλ€. μμ λ§μ μ΄λ―Έμ§μ μ¬μ§μ μ μνκ³ λ°°ν¬νλ λ° λ§μ μκ°κ³Ό λ
Έλ ₯μ΄ νμν©λλ€.
κ·Έλ¬λ μ΄λ¬ν μ½ν
μΈ λ₯Ό 무λ¨μΌλ‘ μ΄μ©νκ±°λ μ¬μ©νκ² λλ©΄, μ μμμ λ
Έλ ₯μ΄ λͺ¨λ μλ―Έκ° μμ΄μ§κ² λ©λλ€. μ΄λ° κ²½μ°, μμ μ μ΄λ―Έμ§λ₯Ό νμΈμ΄ 무λ¨μΌλ‘ μ΄μ©νμ§ μλλ‘ νκΈ° μν΄ ν©λΉν μ μκΆμ νμ¬ν΄μΌ νλ©°, μ΄ λ°©λ² μ€ νλλ μ΄λ―Έμ§ λ©ν νκ·Έλ₯Ό νμ©νμ¬ κ²μ μμ§μκ² μμ μ μ μκΆμ μ리λ κ²μ
λλ€.
κ²μμμ§ μ΅μ ν(SEO)λ₯Ό μν μ΄λ―Έμ§ λ©ν νκ·Έ μλν μ€ν¬λ¦½νΈ
μ΄ κΈμμλ μ΄λ―Έμ§ λ©ν λ°μ΄ν°λ₯Ό μλμΌλ‘ μΆκ°ν μ μλ μ€ν¬λ¦½νΈ μ½λλ₯Ό μκ°νκ³ , μ΄λ₯Ό ν΅ν΄ μ¬μ΄νΈμ SEO μ±λ₯μ κ°μ νλ λ°©λ²μ λ€λ£¨κ² μ΅λλ€.
μ΄λ―Έμ§ λ¬΄λ¨ λμ© λ°©μ§ λ° κ²μ μ΅μ ν
μ΄λ―Έμ§ λ©ν λ°μ΄ν° μλμΌλ‘ μΆκ°νλ μ½λ νμ©νκΈ°
1. μ΄λ―Έμ§ λ©ν λ°μ΄ν°μ μ€μμ±
SEO μ΅μ νμ μμ΄ μ΄λ―Έμ§ λ©ν λ°μ΄ν°λ μ€μν μν μ ν©λλ€. μ΄λ―Έμ§μ λν λ©ν λ°μ΄ν°λ₯Ό μ ννκ² μΆκ°νλ©΄ κ²μ μμ§μ΄ ν΄λΉ μ΄λ―Έμ§λ₯Ό λ μ μΈμν μ μμ΅λλ€. λν, κ²μ κ²°κ³Όμμ μ΄λ―Έμ§κ° 미리보기 ννλ‘ νμλ λ, κ΄λ ¨μ± λμ μ΄λ―Έμ§λ₯Ό 보μ¬μ€ μ μμ΄ ν΄λ¦λ₯ μ λμ΄λ λ° κΈ°μ¬ν©λλ€.
λνμ μΈ λ©ν λ°μ΄ν°λ alt ν μ€νΈ, title, κ·Έλ¦¬κ³ JSON-LDλ₯Ό ν΅ν΄ ꡬ쑰νλ λ°μ΄ν°μ λλ€. ꡬ쑰νλ λ°μ΄ν°λ κ²μ μμ§μ μ΄λ―Έμ§μ λ§₯λ½μ μ 곡ν΄μ£Όμ΄, μ΄λ―Έμ§ κ²μ κ²°κ³Όμμ λ λμ μμλ₯Ό μ°¨μ§ν μ μμ΅λλ€.
2. μλμΌλ‘ μ΄λ―Έμ§ λ©ν λ°μ΄ν°λ₯Ό μΆκ°νλ μ½λ
μλλ μΉνμ΄μ§μμ μλμΌλ‘ μ΄λ―Έμ§ λ©ν λ°μ΄ν°λ₯Ό μΆκ°νλ μ€ν¬λ¦½νΈμ λλ€. μ΄ μ½λλ νμ΄μ§ λ΄ λͺ¨λ μ΄λ―Έμ§μ λν΄ νμν λ©ν λ°μ΄ν°λ₯Ό μΆμΆνκ³ , μ΄λ₯Ό ꡬ쑰νλ JSON-LD νμμΌλ‘ <script> νκ·Έμ μΆκ°νμ¬ κ²μ μμ§μ΄ μ΄λ₯Ό μ½κ² μΈμνλλ‘ ν©λλ€.
<script type="application/ld+json" id="dynamicImageMetadata"> {} </script>
3. μ΄ μ½λλ₯Ό μ΄λ»κ² μ¬μ©νλμ?
- μ€ν¬λ¦½νΈ μΆκ°νκΈ°: μ μ½λλ₯Ό λΈλ‘κ·Έλ μΉνμ΄μ§μ <head> νκ·Έ μμ μΆκ°ν©λλ€.
- μ μκΆ μ 보 μμ : μ½λ λ΄ creditText, license, copyrightNoticeμ κ°μ λΆλΆμ λ°λμ λ³ΈμΈμ μ¬μ΄νΈμ μ΄λ―Έμ§ μ μκΆμ λ§κ² μμ ν΄μΌ ν©λλ€.
- μλν: μ΄ μ€ν¬λ¦½νΈλ νμ΄μ§ λ‘λ μ μλμΌλ‘ λͺ¨λ μ΄λ―Έμ§μ λν΄ λ©ν λ°μ΄ν°λ₯Ό μΆμΆνμ¬ <script> νκ·Έ μμ JSON-LD νμμΌλ‘ μ μ₯ν©λλ€. μ΄λ κ² νλ©΄ κ²μ μμ§μ΄ μ΄λ―Έμ§λ₯Ό μΈμνκ³ ν΄λΉ μ΄λ―Έμ§λ₯Ό ν¬ν¨νλ νμ΄μ§μ SEOλ₯Ό ν₯μμν¬ μ μμ΅λλ€.
μ€ν¬λ¦½νΈ μ½λλ μμ μ μ΄λ―Έμ§ μ μκΆμ λ§κ² μμ νμ¬ μ¬μ©νμλ©΄ λ©λλ€.
μλ μ½λλ μμ μ μ΄λ―Έμ§ μμ <p class="image"> νκ·Έλ₯Ό λ¨Όμ μ λ ₯νλ©΄ μμ μ μ΄λ―Έμ§λ‘ λ±λ‘λ©λλ€. λ§μ½ μ΄λ―Έμ§ μ½λ μμ μ΄ νκ·Έκ° μ‘΄μ¬νμ§ μμΌλ©΄, μ΄λ―Έμ§ λ©ν μ½λμμ μ μΈλλ―λ‘ μμ μ΄λ―Έμ§μ νμΈμ μ΄λ―Έμ§λ₯Ό ν¨κ» μ¬μ©νλ©΄μλ μμ μ΄ μ μν μ΄λ―Έμ§λ§ μ΄λ―Έμ§ κΆλ¦¬λ₯Ό νμ¬ν μ μλλ‘ μμ±λ μ½λμ λλ€.
μμ ν΄μΌ ν μ½λ
- constcreditText="OPENIPCν°μ€ν 리";
- "license":"https://openpc.tistory.com/
- "copyrightNotice":"OPENIPCν°μ€ν 리",
- "name":"arhatnanda"//μ΄λ―Έμ§μ μμμ΄λ¦
- "license":"https://openpc.tistory.com/",//λΌμ΄μΌμ€URL
<script>
function processImageMetadata() {
let imagesFound = false;
const figureElements = document.querySelectorAll('figure');
figureElements.forEach((figureElement) => {
const previousElement = figureElement.previousElementSibling;
if (
!previousElement ||
previousElement.tagName.toLowerCase() !== 'p' ||
!previousElement.classList.contains('image')
) {
return;
}
const img = figureElement.querySelector('img');
if (img) {
imagesFound = true;
const imgSrc = img.src;
const imgAlt = img.alt || 'No alt text available';
const imgWidth = img.width;
const imgHeight = img.height;
const imageData = {
"@context": "https://schema.org/",
"@type": "ImageObject",
"contentUrl": imgSrc,
"url": imgSrc,
"caption": imgAlt,
"height": imgHeight.toString(),
"width": imgWidth.toString(),
"license": location.origin, // λΈλ‘κ·Έ λ£¨νΈ μ£Όμ
"creator": {
"@type": "Organization",
"name": "BlogAuthor" // μ€μ μ΄λ¦
},
"copyrightNotice": "β BlogAuthor",
"acquireLicensePage": window.location.href,
"creditText": "μΆμ²: μ΄ λΈλ‘κ·Έ"
};
let scriptTag = document.getElementById('dynamicImageMetadata');
let currentData = {};
if (scriptTag) {
currentData = JSON.parse(scriptTag.textContent || '{}');
}
currentData.images = currentData.images || [];
currentData.images.push(imageData);
if (scriptTag) {
scriptTag.textContent = JSON.stringify(currentData, null, 2);
} else {
scriptTag = document.createElement('script');
scriptTag.type = 'application/ld+json';
scriptTag.id = 'dynamicImageMetadata';
scriptTag.textContent = JSON.stringify(currentData, null, 2);
document.head.appendChild(scriptTag);
}
}
});
if (!imagesFound) {
const scriptTag = document.getElementById('dynamicImageMetadata');
if (scriptTag) {
scriptTag.remove();
}
}
}
document.addEventListener("DOMContentLoaded", processImageMetadata);
</script>
4. SEO μ΅μ νμ μ΄μ
μλνλ μ΄λ―Έμ§ λ©ν λ°μ΄ν° μΆκ°λ λͺ κ°μ§ μ€μν SEO μ΅μ ν μ΄μ μ μ 곡ν©λλ€:
- μ΄λ―Έμ§ μΈμ μ΅μ ν: κ²μ μμ§μ μ΄λ―Έμ§μ λ©ν λ°μ΄ν°λ₯Ό ν΅ν΄ ν΄λΉ μ΄λ―Έμ§κ° 무μμ λνλ΄λμ§ λ μ μ΄ν΄ν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ΄λ―Έμ§κ° κ²μ κ²°κ³Όμ λ μμ£Ό λ ΈμΆλκ³ , κ΄λ ¨μ±μ΄ λμμ§ μ μμ΅λλ€.
- λΉ λ₯Έ μμΈν: ꡬ쑰νλ λ°μ΄ν°λ κ²μ μμ§μ΄ νμ΄μ§μ μ½ν μΈ λ₯Ό λ λΉ λ₯΄κ³ μ ννκ² μμΈννλ λ° λμμ μ€λλ€. νΉν, JSON-LD νμμ ꡬκΈμ λΉλ‘―ν μ£Όμ κ²μ μμ§μμ μ νΈνλ ꡬ쑰νλ λ°μ΄ν° νμμ λλ€.
- μ μκΆ λ³΄νΈ: μ΄λ―Έμ§μ λν μ μκΆ μ 보λ₯Ό λͺ μν¨μΌλ‘μ¨ λΆλ² 볡μ λ₯Ό λ°©μ§νκ³ , μ΄λ―Έμ§ μμ μκ° κΆλ¦¬λ₯Ό μ£Όμ₯ν μ μμ΅λλ€.

5. μ΄λ―Έμ§ λ©ν νμ©
μ΄λ―Έμ§ λ©ν λ°μ΄ν° μλ μΆκ° μ½λλ μΉμ¬μ΄νΈμ SEO μ±λ₯μ λμ΄λ μ€μν λꡬμ λλ€. νΉν, μ΄λ―Έμ§ μ½ν μΈ κ° μ€μν λΈλ‘κ·Έλ μΉμ¬μ΄νΈμμλ μ΄ κΈ°λ₯μ νμ©νμ¬ κ²μ μμ§ μ΅μ ν(SEO)λ₯Ό κ°ννκ³ , λ λ§μ λ°©λ¬Έμλ₯Ό μ μΉν μ μμ΅λλ€. μμ μ½λλ₯Ό μ°Έκ³ νμ¬, μμ μ μΉμ¬μ΄νΈμ λ§κ² μ μ ν μμ νκ³ μ μ©ν΄λ³΄μΈμ.
μ΄ λ°©λ²μ ν΅ν΄ μ΄λ―Έμ§ κ²μ κ²°κ³Όμμ λ λ§μ λ ΈμΆμ μ»κ³ , λ λ§μ νΈλν½μ μ λν μ μμ΅λλ€. SEOμ μμ΄μ μμ μΈλΆ μ¬νλ μ€μν μν₯μ λ―ΈμΉλ€λ μ μ μμ§ λ§μΈμ!