์ฌ์ง, ์ผ๋ฌ์คํธ, ๋์์ธ ์ฐฝ์ ๋ธ๋ก๊ทธ: ๊ฒ์ ๋ถ๋ฆฌ์ ๊ทน๋ณต๊ณผ ์ด๋ฏธ์ง SEO ๊ตฌ์กฐํ ๋ฐ์ดํฐ ์ ๋ต
์ฌ์ง, ์ผ๋ฌ์คํธ, ๋์์ธ ๋ฑ ์ด๋ฏธ์ง ์ค์ฌ ์ฐฝ์ ๋ธ๋ก๊ทธ๊ฐ ํ ์คํธ ๊ฒ์์์ ๋ถ๋ฆฌํ ์ ์ ๊ทน๋ณตํ๊ณ ์ด๋ฏธ์ง ๊ฒ์์์ ๊ฒฝ์๋ ฅ์ ํ๋ณดํ๋ SEO ๋ฐฉ๋ฒ์ ๊ตฌ์ํฉ๋๋ค
์ ์๊ถ ๋ณดํธ์ ๊ฒ์ ๋ ธ์ถ์ ํฅ์์ํค๋ JSON-LD ๊ธฐ๋ฐ ์ด๋ฏธ์ง ๊ตฌ์กฐํ ๋ฐ์ดํฐ(ImageObject) ํ์ฉ๋ฒ, ์ฃผ์ ํ๋(license, creator) ์ค๋ช , ๊ทธ๋ฆฌ๊ณ ํฐ์คํ ๋ฆฌ์ ๊ฐ์ ํ๋ซํผ์์ JavaScript๋ฅผ ํ์ฉํ์ฌ ์ฐฝ์ ์ด๋ฏธ์ง์ ๋ฉํ ํ๊ทธ๋ฅผ ๋์ ์ผ๋ก ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ฌ์ง, ์ผ๋ฌ์คํธ, ๋์์ธ ๋ฑ ์ด๋ฏธ์ง ์ค์ฌ์ ์ฐฝ์๋ฌผ ๋ธ๋ก๊ทธ๋ ์๊ฐ์ ์ผ๋ก ๋ฐ์ด๋ ์ฝํ ์ธ ๋ฅผ ์ ๊ณตํ์ง๋ง, ์์ธ๋ก ๊ฒ์ ์์ง์์์ ํ ์คํธ ๊ฒ์์์๋ ์๋์ ์ผ๋ก ๋ถ๋ฆฌํ ๋ฉด์ด ์์ต๋๋ค. ์ด์ ๋ ์ด๋ฏธ์ง ์์ฒด๊ฐ ํ ์คํธ์ฒ๋ผ ์ง์ ๊ฒ์ ๋์์ด ๋์ง ์๊ณ , ์ด๋ฏธ์ง์ ๋ํ ์ค๋ช ์ด๋ ๋ฉํ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑํ๋ฉด ๊ฒ์ ์์ง์ด ๊ทธ ๊ฐ์น๋ฅผ ์ ๋๋ก ์ธ์ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฐ๋ผ์, ๋จ์ํ ์ฐฝ์๋ฌผ ์ด๋ฏธ์ง ๊ฒ์๋ฅผ ๋์ด์ ์ด๋ฏธ์ง ๊ฒ์ ์ต์ ํ์ ๊ตฌ์กฐํ๋ ์ด๋ฏธ์ง ๋ฉํ๋ฐ์ดํฐ ์ ๊ณต์ด ๋ฌด์๋ณด๋ค ์ค์ํฉ๋๋ค. ๊ตฌ๊ธ, ๋ค์ด๋ฒ, ๋น๊ณผ ๊ฐ์ ์ฃผ์ ๊ฒ์ ์์ง๋ค์ ์ด์ ์ด๋ฏธ์ง์ ์ ์๊ถ, ์ถ์ฒ, ์ฌ์ฉ ์กฐ๊ฑด ๋ฑ์ ์ดํดํ๊ณ ์ฌ์ฉ์์๊ฒ ๋ ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ด๋ฏธ์ง ๊ด๋ จ ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทน ํ์ฉํฉ๋๋ค.
์ด๋ฏธ์ง ์ ์๊ถ ๋ณดํธ์ ๊ฒ์ ๋ ธ์ถ์ ์ํ ๊ตฌ์กฐํ ๋ฐ์ดํฐ ํ์ฉ๋ฒ
๋ณธ ๊ธ์์๋ ์ด๋ฏธ์ง ์ฐฝ์๋ฌผ ๋ธ๋ก๊ทธ๊ฐ ๊ฒ์์์ ๋ถ๋ฆฌํ ์ ์ ๊ทน๋ณตํ๊ณ , ์ด๋ฏธ์ง ๊ฒ์์์ ๊ฐ๋ ฅํ ๊ฒฝ์๋ ฅ์ ํ๋ณดํ ์ ์๋๋ก ๋๋ ํต์ฌ ์ ๋ต๊ณผ JSON-LD ๊ธฐ๋ฐ ์ด๋ฏธ์ง ๋ฉํ๋ฐ์ดํฐ ํ์ฉ๋ฒ์ ์์ธํ ์๋ดํฉ๋๋ค.
1. ์ ์ด๋ฏธ์ง ๊ตฌ์กฐํ ๋ฐ์ดํฐ๊ฐ ์ค์ํ๊ฐ?
์น์ฌ์ดํธ์ ์กด์ฌํ๋ ์ ๋ณด๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก HTML ํ๊ทธ๋ก ์์ฑ๋์ด ์์ง๋ง, ์ด ํ๊ทธ๋ค๋ง์ผ๋ก๋ ๊ฒ์ ์์ง์ด ๊ทธ ์๋ฏธ๋ฅผ ์๋ฒฝํ๊ฒ ์ดํดํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๊ทธ๋์ ์ด๋ฏธ์ง ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ผ๋ ๋ณ๋์ ํ์คํ๋ ํ์์ ํตํด ์ฝํ ์ธ ์ ์๋ฏธ๋ฅผ ๋ช ํํ ์๋ ค์ค๋๋ค.
๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ ๊ฒ์ ์์ง์ด ์ฝ๊ธฐ ์ฝ๊ณ ํด์ํ๊ธฐ ์ฌ์ด ๋ฐ์ดํฐ ํฌ๋งท์ผ๋ก, ์ฃผ๋ก JSON-LD, Microdata, RDFa ํํ๋ก ์์ฑ๋ฉ๋๋ค. ์ด๋ฏธ์ง ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ ์นํ์ด์ง์ ํฌํจ๋ ์ด๋ฏธ์ง์ ๋ํ ์์ธ ์ ๋ณด๋ฅผ ๋ช ํํ๊ฒ ์๋ ค์ฃผ๋ ๋ฉํ๋ฐ์ดํฐ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ฏธ์ง๊ฐ ๋ฌด์์ธ์ง, ๋๊ฐ ๋ง๋ค์๋์ง, ์ ์๊ถ์ ๋๊ตฌ์๊ฒ ์๋์ง, ์ด๋ค ๋ผ์ด์ ์ค๋ก ์ฌ์ฉ ๊ฐ๋ฅํ์ง ๋ฑ์ ๋ช ์ํฉ๋๋ค.
2. ๊ฒ์ ์์ง์ ๋ฉํ๋ฐ์ดํฐ๋ก ์ด๋ฏธ์ง์ ์ ๋ขฐ๋๋ฅผ ํ๋จํฉ๋๋ค.
- ์ด๋ฏธ์ง๋ ๊ฒ์์์ง ์ ์ฅ์์ ์ฝํ ์ธ ์ ๋ฌ๋ฆฌ '์ฝ์ ์ ์๋' ์์์ด๋ฏ๋ก, ์ ์๊ถ์, ์ค๋ช , ๋ผ์ด์ ์ค ์ ๋ณด๊ฐ HTML ์ฝ๋ ์์ ๋ช ํํ ๋ค์ด ์์ด์ผ ํฉ๋๋ค.
- ํนํ Google ์ด๋ฏธ์ง ๊ฒ์์์๋ ์ด ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์์ ํ๋จํฉ๋๋ค:
- ์ด ์ด๋ฏธ์ง๊ฐ ์ด๋์ ์๋๊ฐ? (์ถ์ฒ)
- ๋๊ฐ ๋ง๋ค์๊ณ , ์ด๋ค ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ ์ ์๋๊ฐ? (์ ์๊ถ ๋ฐ ๋ผ์ด์ ์ค)
- ์ฌ์ฉ์๊ฐ ์ด ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ ๋ ์ฐธ๊ณ ํด์ผ ํ ๋งํฌ๊ฐ ์๋๊ฐ? (์ฌ์ฉ ์กฐ๊ฑด ๋งํฌ)
๊ตฌ์กฐํ ๋ฐ์ดํฐ ์์: JSON-LD ์ด๋ฏธ์ง ์ฝ๋
๋ธ๋ก๊ทธ HTML head ๋๋ body ๋ด๋ถ์ ์๋์ ๊ฐ์ ๊ตฌ์กฐํ๋ ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ script type="application/ld+json" ํํ๋ก ์ถ๊ฐํ ์ ์์ต๋๋ค.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "ImageObject",
"contentUrl": "์ด๋ฏธ์ง ์ค์ ์ฃผ์",
"caption": "์ด๋ฏธ์ง ์ค๋ช
",
"license": "์ด๋ฏธ์ง ์ฌ์ฉ ํ๊ฐ URL",
"creator": {
"@type": "Person",
"name": "์ฐฝ์์ ์ด๋ฆ"
},
"copyrightNotice": "์ ์๊ถ ํ์ ๋ฌธ๊ตฌ",
"acquireLicensePage": "๋ผ์ด์ ์ค ํ์ธ ํ์ด์ง URL",
"creditText": "์ด๋ฏธ์ง ์ถ์ฒ ๋ช
์ ํ
์คํธ"
}
]
}
์ฃผ์ ํ๋ ์ค๋ช ๋ฐ SEO ์๋ฏธ
| ํ๋๋ช | ์ค๋ช | SEO ์๋ฏธ |
|---|---|---|
| @type | ๊ฐ์ฒด ์ ํ | ImageObject๋ก ๊ฒ์์์ง์ด ์ด๋ฏธ์ง ์ ๋ณด์์ ์ธ์ํฉ๋๋ค. |
| contentUrl, url | ์ด๋ฏธ์ง ๊ฒฝ๋ก | ์ค์ ์ด๋ฏธ์ง ์ฃผ์. ์ด๋ฏธ์ง ์๋ณธ์ ์ฐธ์กฐํ๋ฉฐ ์ธ๋ฑ์ฑ์ ํ์ฉ๋ฉ๋๋ค. |
| caption | ์ด๋ฏธ์ง ์ค๋ช | ๊ฒ์ ๋
ธ์ถ ์ ํจ๊ป ํ์๋ ์ ์์ผ๋ฉฐ, alt ์์ฑ์ ์ญํ ๋ ๋ณํํฉ๋๋ค. |
| license | ์ฌ์ฉ ํ๊ฐ URL | ๋ธ๋ก๊ทธ ๊ธ ๋๋ ๋ผ์ด์ ์ค ์๋ด ํ์ด์ง๋ก ์ฐ๊ฒฐ๋๋ฉฐ, Google์ด ์ ๋ขฐํ๋ ๋ผ์ด์ ์ค ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. |
| acquireLicensePage | ๋ผ์ด์ ์ค ๊ตฌ์ ๋๋ ํ์ธ URL | license์ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ ๋ขฐ๋๊ฐ ํฅ์๋๋ฉฐ, Google ์ด๋ฏธ์ง ๊ฒ์ ๊ฒฐ๊ณผ์ "์ด๋ฏธ์ง ์ฌ์ฉ ์กฐ๊ฑด ๋ณด๊ธฐ" ๋งํฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. |
| creator | ์ฐฝ์์ ์ด๋ฆ | ์ ์๊ถ์ ๋ช ์. ๊ฒ์ ๊ฒฐ๊ณผ์ ์ ์๋ช ์ผ๋ก ๋ ธ์ถ์ ์ ๋ํ์ฌ ๋ธ๋๋ฉ์ ๊ธฐ์ฌํฉ๋๋ค. |
| copyrightNotice | ์ ์๊ถ ๊ณ ์ง | ๋ช ์์ ๊ณ ์ง. ์ฝํ ์ธ ๋ณดํธ์ ์ค์ง์ ํจ๊ณผ๋ฅผ ๋ํฉ๋๋ค. |
| creditText | ํ์๋๋ ์ถ์ฒ๋ช | Google ์ด๋ฏธ์ง ๊ฒ์ ๊ฒฐ๊ณผ์ ํ์๋ ์ ์์ต๋๋ค. |
๊ตญ๋ด ํ๋ซํผ(๋ค์ด๋ฒ, ํฐ์คํ ๋ฆฌ)์์ ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ณธ ์ ๊ณตํ์ง ์๋ ์ด์

์ฃผ์ ํ๋ซํผ์ ๊ธฐ์ ์ , ์ ์ฑ ์ ํ๊ณ
- ํ๋ซํผ ๊ตฌ์กฐ์ ์ ์ฑ ์ ์ฐจ์ด: ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ์ ํฐ์คํ ๋ฆฌ ๊ฐ์ ๋ํ ๋ธ๋ก๊ทธ ํ๋ซํผ์ ์ฌ์ฉ์ ํธ์์ฑ์ ์ด์ ์ ๋ง์ถฅ๋๋ค. ๊ตฌ์กฐํ ๋ฐ์ดํฐ ์ฝ์ ์ ๊ณ ๊ธ SEO ๊ธฐ๋ฅ์ ํด๋นํ์ฌ, ๊ฐ๋ณ ์ฌ์ฉ์๊ฐ ์ง์ ์ธ๋ฐํ๊ฒ ์ค์ ํ์ง ์๋ ํ ์ผ๊ด์ ์ผ๋ก ์ ์ฉํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
- ์ด์ ๋น์ฉ๊ณผ ๊ธฐ์ ์ ๋์ : ๋ชจ๋ ์ด๋ฏธ์ง์ ๋ํด ์ ํํ ๋ผ์ด์ ์ค, ์ ์์ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์์งํ๊ณ ์์ฑํ๋ ์์ ์ ๋งค์ฐ ๋ง์ ๋น์ฉ๊ณผ ๊ธฐ์ ์ ๋ ธ๋ ฅ์ ์๊ตฌํฉ๋๋ค. ํนํ ์ ์๊ถ ์ ๋ณด๊ฐ ๋ถ๋ถ๋ช ํ ์ด๋ฏธ์ง๊ฐ ๋ค์์ธ ๋ธ๋ก๊ทธ ํ๊ฒฝ์์๋ ์๋ํ์ ์ด๋ ค์์ด ํฝ๋๋ค.
- ์ฝํ ์ธ ์ ์๊ถ๊ณผ ๊ด๋ฆฌ ์ด์: ์ ์๊ถ๊ณผ ๊ด๋ จ๋ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ์๋ชป ํ์ํ ๊ฒฝ์ฐ ๋ฒ์ ๋ถ์์ด ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์, ํ๋ซํผ ์ฐจ์์์ ์์ธํ ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ฅผ ์ผ๊ด ์ ๊ณตํ๋ ๋ฐ ์ ์คํ ์๋ฐ์ ์์ต๋๋ค.
- ๊ฐ๋ณ ๋ธ๋ก๊ฑฐ์ SEO ์ญํ ๊ฐ์กฐ: ํฐ์คํ ๋ฆฌ์ ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ๋ ๊ธฐ๋ณธ์ ์ธ ํ๋ซํผ ํ๋ง ์ ๊ณตํ๋ฉฐ, ์ธ๋ถ์ ์ธ SEO ์์ ์ ๊ฐ๋ณ ๋ธ๋ก๊ฑฐ๊ฐ ์ง์ ์ํํ๋๋ก ์ ๋ํฉ๋๋ค. ๋ฐ๋ผ์ ๊ตฌ์กฐํ ๋ฐ์ดํฐ ์ฝ์ ์ญ์ ๋ธ๋ก๊ฑฐ๊ฐ ์ง์ ์คํฌ๋ฆฝํธ๋ ํ๋ฌ๊ทธ์ธ ํํ๋ก ์ ์ฉํ๋ ๋ฐฉ์์ด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
license์ acquireLicensePage์ ๊ฒฐ์ ์ ์ค์์ฑ
Google์ ์ด ๋ ํญ๋ชฉ์ ๊ธฐ๋ฐ์ผ๋ก "์ด๋ฏธ์ง ์ฌ์ฉ ์กฐ๊ฑด ๋ณด๊ธฐ" ๋งํฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ผ์ด์ ์ค ์ฃผ์๊ฐ ์์ ์ ๋ธ๋ก๊ทธ ์ฃผ์์ ์ผ์นํ์ง ์์ผ๋ฉด Search Console ๊ตฌ์กฐํ ๋ฐ์ดํฐ ๊ฒฝ๊ณ ๋ฐ์ ๋ฐ ๊ฒ์ ๋ ธ์ถ ์ ์ ๋ขฐ๋ ํ๋ฝ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ฅด๊ฒ ์ ๋ ฅ ์:
- ๋ด ์ด๋ฏธ์ง๊ฐ ๋ช ํํ ์ถ์ฒ์ ์ ์๊ถ ์ ๋ณด๋ฅผ ๊ฐ์ถ ๊ฒ์ผ๋ก ์ธ์๋ฉ๋๋ค.
- ์ด๋ฏธ์ง ๊ฒ์ ๊ฒฐ๊ณผ์์ ์ ์ ์ด๋ฆ, ์ฌ์ฉ ์กฐ๊ฑด ๋งํฌ๊ฐ ํจ๊ป ๋ ธ์ถ๋์ด ๋ธ๋๋ฉ ํจ๊ณผ๊ฐ ๊ทน๋ํ๋ฉ๋๋ค.
- ๋์ฉ ๋ฐฉ์ง ๋ฐ ๋ด ์ฐฝ์๋ฌผ์ ๊ฐ์น๋ฅผ ์ฝ๋๋ก ๋ณดํธํ๋ ์ค์ง์ ์ธ ํจ๊ณผ๊ฐ ์์ต๋๋ค.



ํฐ์คํ ๋ฆฌ ๋ฑ ๋ธ๋ก๊ทธ ํ๋ซํผ์์ ์ด๋ฏธ์ง ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ฅผ ๋์ ์ผ๋ก ์ฝ์ ํ๋ JavaScript ์ฝ๋
์ด๋ฏธ์ง ์ฐฝ์๋ฌผ ๋ธ๋ก๊ทธ๋ ํ์ธ์ ์ด๋ฏธ์ง์ ์์ ์ ์ฐฝ์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฆฌํ์ฌ ๋ฉํ ํ๊ทธ๋ฅผ ์ ์ฉํด์ผ ํฉ๋๋ค. ์๋ ์ฝ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ํน์ ํด๋์ค(div.my-license-img)๋ก ๊ฐ์ธ์ง ์์ ์ ์ฐฝ์ ์ด๋ฏธ์ง์๋ง JSON-LD ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋์ ์ผ๋ก ์์ฑํ์ฌ ์ฝ์
ํ๋ ์์ ์
๋๋ค.
JavaScript ์ฝ๋ ์์ (MutationObserver ํฌํจ)
script
document.addEventListener('DOMContentLoaded', () = {
const buildImageMetadata = () = {
const images = [];
const seen = new Set();
// div.my-license-img ๋ด img ๋ง ์์ง (์์ ์ ์ฐฝ์ ์ด๋ฏธ์ง ์ ๋ณ)
document.querySelectorAll("div.my-license-img img").forEach(img = {
if (!seen.has(img.src)) {
seen.add(img.src);
images.push({
"@type": "ImageObject",
"contentUrl": img.src,
"url": img.src,
"caption": img.alt || "No alt text available",
"height": img.height.toString(),
"width": img.width.toString(),
"license": "https://everydayhub.tistory.com/", // ์์ ์ ๋ผ์ด์ ์ค URL
"creator": {
"@type": "Person",
"name": "arhatnanda" // ์์ ์ ์ด๋ฆ
},
"copyrightNotice": "OPENIPCํฐ์คํ ๋ฆฌ", // ์์ ์ ์ ์๊ถ ๋ช
์
"acquireLicensePage": window.location.href, // ํ์ฌ ๊ธ ์ฃผ์
"creditText": "OPENIPCํฐ์คํ ๋ฆฌ" // ์ถ์ฒ ๋ช
์ ํ
์คํธ
});
}
});
let script = document.getElementById("dynamicImageMetadata");
if (images.length) {
const jsonLd = {
"@context": "https://schema.org",
"@graph": images
};
if (!script) {
script = document.createElement("script");
script.id = "dynamicImageMetadata";
script.type = "application/ld+json";
document.head.appendChild(script);
}
script.textContent = JSON.stringify(jsonLd, null, 2);
} else {
script?.remove();
}
};
buildImageMetadata();
// DOM ๋ณ๊ฒฝ ๊ฐ์ง ๋ฐ ๋ฉํ๋ฐ์ดํฐ ๊ฐฑ์ (ํฐ์คํ ๋ฆฌ ์นํ์ ๋ณํ ํ ์ด๋ฏธ์ง ๋ก๋ ๋์)
new MutationObserver(mutations = {
mutations.forEach(mut = {
mut.addedNodes.forEach(node = {
if (node.nodeType === 1) { // ELEMENT_NODE
if (node.tagName === "IMG" || node.querySelector("img")) {
buildImageMetadata();
}
}
});
});
}).observe(document.body, { childList: true, subtree: true });
});
/script
ํฐ์คํ ๋ฆฌ ์ด๋ฏธ์ง ๋ฉํ ํ๊ทธ ์ ์ฉ ๋ฐฉ๋ฒ
ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ๋ ์ด๋ฏธ์ง ์ฝ์
์ ํน๋ณํ ์นํ์(ํ๋ ์ด์คํ๋) ํํ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ต๋๋ค. ์ผ๋ฐ img ํ๊ทธ๊ฐ ์๋๋ฏ๋ก, ์นํ์๋ฅผ ์ง์ ๊ฐ์ธ๋ div๋ฅผ ํตํด JS๊ฐ ๊ตฌ๋ถํ ์ ์๋๋ก ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
- 1. ์ฐฝ์ ์ด๋ฏธ์ง๋ง ์ ๋ณํ์ฌ ๊ฐ์ธ๊ธฐ: ํฐ์คํ ๋ฆฌ์์ ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ ํ, HTML ํธ์ง์์ ํด๋น ์ด๋ฏธ์ง ์ฝ๋(์นํ์ ํํ)๋ฅผ
div class="my-license-img".../div๋ก ๊ฐ์๋๋ค. - 2. JS์ ๋์ ์๋ฆฌ: ํฐ์คํ ๋ฆฌ ํ์ด์ง๊ฐ ๋ก๋๋๋ฉด ์นํ์๋ ์ค์
imgํ๊ทธ๋ก ๋ณํ๋ฉ๋๋ค. ์์ JavaScript ์ฝ๋๋document.querySelectorAll("div.my-license-img img")๋ฅผ ํตํด ์ด ๋ณํ๋ ์ด๋ฏธ์ง๋ฅผ ์ฐพ์ JSON-LD ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์์ฑํฉ๋๋ค. - 3. MutationObserver ํ์ฉ: ํฐ์คํ ๋ฆฌ์ฒ๋ผ ์ด๋ฏธ์ง ๋ก๋๊ฐ ๋น๋๊ธฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ง๊ฑฐ๋ DOM ๋ณ๊ฒฝ์ด ์ฆ์ ํ๊ฒฝ์์,
MutationObserver๋ฅผ ์ฌ์ฉํด ํ์ด์ง๊ฐ ์์ ํ ๋ก๋๋๊ฑฐ๋ ์๋ก์ด ์ด๋ฏธ์ง๊ฐ ์ถ๊ฐ๋ ๋๋ง๋ค ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ ํ์ฌ ๋๋ฝ์ ๋ฐฉ์งํฉ๋๋ค.
์์ ์ด ์ฐฝ์ํ ์ด๋ฏธ์ง๋ฅผ ์ ๋ก๋ํ๊ณ ์ฝํ ์ธ ๋ฅผ ๋ณดํธํ๊ณ , ๊ฒ์์์ ๋ ์ ๋ณด์ด๊ณ , ๋ด ์์ ๋ฌผ์ ๋ํ ์ ์๊ถ์ ๋ถ๋ช ํ ํ๊ธฐ ์ํด์๋ผ๋ ๊ตฌ์กฐํ ๋ฐ์ดํฐ ์ฝ์ ์ ๋ ์ด์ ์ ํ์ด ์๋ ํ์์ ๋๋ค. ํนํ ๋์์ธ ์ผ๋ฌ์คํธ ์ฌ์ง ๋ธ๋ก๊ทธ๋ฅผ ์ด์ํ์ ๋ค๋ฉด, ์ค๋๋ถํฐ๋ผ๋ ๊ตฌ์กฐํ ๋ฐ์ดํฐ์ ๋ฉํ ์ ๋ณด ์ฝ์ ์ ํตํด ์ฝํ ์ธ ์ ๋ฒ์ , ๊ธฐ์ ์ ๊ฐ์น๋ฅผ ๋ํด๋ณด์ธ์.
Q1: ์ด๋ฏธ์ง ๊ตฌ์กฐํ ๋ฐ์ดํฐ๊ฐ ํ ์คํธ ๊ฒ์ SEO์๋ ์ํฅ์ ์ฃผ๋์?
๋ค, ๊ฐ์ ์ ์ผ๋ก ์ํฅ์ ์ค๋๋ค. ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ฅผ ํตํด ์ด๋ฏธ์ง๊ฐ ์ฝํ
์ธ ์ ๋งฅ๋ฝ๊ณผ ์ฃผ์ ๋ฅผ ๋ช
ํํ๊ฒ ์ค๋ช
ํ๊ณ (caption ํ๋ ๋ฑ), ํ์ด์ง์ ์ ๋ขฐ๋(์ ์๊ถ, license ์ ๋ณด)๋ฅผ ๋์ด๋ฉด, ๊ฒ์ ์์ง์ ํด๋น ํ์ด์ง ์ ์ฒด์ ํ์ง์ ๋๊ฒ ํ๊ฐํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํ
์คํธ ๊ฒ์ ๊ฒฐ๊ณผ ์์ ํฅ์์ ๊ฐ์ ์ ์ธ ๊ธ์ ์ ํจ๊ณผ๋ฅผ ์ค ์ ์์ต๋๋ค.
Q2: ํ์ธ์ ๋ฌด๋ฃ ์ด๋ฏธ์ง์ ๋์ ์ฐฝ์ ์ด๋ฏธ์ง๋ฅผ ํ ํ์ด์ง์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด, ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ ์ด๋ป๊ฒ ์ ์ฉํด์ผ ํ๋์?
๋ฐ๋์ ์์ ์ ์ฐฝ์ ์ด๋ฏธ์ง์๋ง ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฉํด์ผ ํฉ๋๋ค. ํ์ธ์ ์ด๋ฏธ์ง์ ์์ ์ creator๋ license ์ ๋ณด๋ฅผ ๋ฃ์ผ๋ฉด ์ ์๊ถ ์ ๋ณด๋ฅผ ์ค๊ธฐ์ฌํ๋ ๊ฒ์ด ๋์ด Search Console ๊ฒฝ๊ณ ๋ ๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค. ์ ์์ ์ฝ๋์ฒ๋ผ, ์๋ฐ์คํฌ๋ฆฝํธ์์ div.my-license-img์ ๊ฐ์ ํน์ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ์ฐฝ์ ์ด๋ฏธ์ง๋ง ์ ๋ณํ์ฌ ๋ฉํ ํ๊ทธ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์์ ํ๊ณ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์
๋๋ค.
Q3: license์ acquireLicensePage ํ๋๋ฅผ ํ์ฌ ๊ธ์ URL๋ก ์ค์ ํด๋ ๋ฌธ์ ๊ฐ ์๋์?
์์ ์ ์ฐฝ์๋ฌผ์ด๋ฉฐ, ํด๋น ๊ธ์์ ์ด๋ฏธ์ง์ ์ฌ์ฉ ์กฐ๊ฑด(์: ์์
์ ์ด์ฉ ๊ธ์ง ๋ฑ)์ ๋ช
ํํ ์ค๋ช
ํ๊ณ ์๋ค๋ฉด ํ์ฌ ๊ธ์ URL(window.location.href)๋ก ์ค์ ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ฉฐ ๊ถ์ฅ๋ฉ๋๋ค. Google์ ์ด ๋งํฌ๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ์ด๋ฏธ์ง ์ฌ์ฉ ์กฐ๊ฑด์ ํ์ธํ ์ ์๋๋ก ์๋ดํ๋ฉฐ, ์ด๋ ์ด๋ฏธ์ง์ ์ถ์ฒ์ ์ ์๊ถ ์ ๋ขฐ๋๋ฅผ ๋์ด๋ ๋ฐ ๊ฒฐ์ ์ ์ธ ์ญํ ์ ํฉ๋๋ค.