fix(supporters): 검색엔진 소유 확인 메타 태그를 실제로 렌더
site.json 에 googleSiteVerification·naverSiteVerification 키는 있었는데 어디에서도 메타 태그로 내지 않았다. 값을 넣어도 소유 확인이 되지 않는 상태였다. 색인 등록을 시작하려다 드러났다. Base.astro 가 값이 있을 때만 메타를 낸다. 없으면 태그 자체가 나가지 않는다. 소유 확인은 색인 허용과 무관하므로 noindex 상태에서도 미리 해 둘 수 있다. 구글은 DNS TXT 로도 되지만 네이버 서치어드바이저는 메타 태그나 파일만 받는다. 검증: 값을 넣은 빌드에 메타 2개, 값 없는 빌드에 0개. 게이트 41/41, check 오류 0건, tsc 0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3d8603f5e1
commit
247d29173d
@ -61,6 +61,11 @@ const ld = jsonLd ? JSON.stringify({ '@context': 'https://schema.org', ...(Array
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Inter:wght@400;500;600&display=swap" rel="stylesheet" />
|
||||
{ld && <script type="application/ld+json" set:html={ld} />}
|
||||
{/* 검색엔진 소유 확인. site.json 의 값이 있을 때만 낸다. 값은 각 콘솔이 주는 content 문자열이다.
|
||||
구글은 DNS TXT 로도 되지만 네이버 서치어드바이저는 메타 태그나 파일만 받는다.
|
||||
소유 확인은 색인 허용과 무관하므로 noindex 상태에서도 미리 해 둘 수 있다. */}
|
||||
{has((S as Record<string, any>).googleSiteVerification) && <meta name="google-site-verification" content={(S as Record<string, any>).googleSiteVerification} />}
|
||||
{has((S as Record<string, any>).naverSiteVerification) && <meta name="naver-site-verification" content={(S as Record<string, any>).naverSiteVerification} />}
|
||||
{GA4 && <script is:inline async src={`https://www.googletagmanager.com/gtag/js?id=${GA4}`}></script>}
|
||||
{GA4 && <script is:inline set:html={`window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date());gtag('config','${GA4}',{anonymize_ip:true});
|
||||
document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('a');if(!a)return;var h=a.getAttribute('href')||'';var g=a.dataset.ga;var ev=h.indexOf('tel:')===0?'click_tel':g==='reservation'||a.classList.contains('cta')?'click_reservation':g==='clinic-site'?'click_clinic_site':g==='map'?'click_map':g==='hotel'?'click_hotel':g==='flight'?'click_flight':null;if(ev)gtag('event',ev,{link_url:h,page_path:location.pathname,place_id:a.dataset.gaId||undefined});},true);`} />}
|
||||
|
||||
@ -61,6 +61,11 @@ const ld = jsonLd ? JSON.stringify({ '@context': 'https://schema.org', ...(Array
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Inter:wght@400;500;600&display=swap" rel="stylesheet" />
|
||||
{ld && <script type="application/ld+json" set:html={ld} />}
|
||||
{/* 검색엔진 소유 확인. site.json 의 값이 있을 때만 낸다. 값은 각 콘솔이 주는 content 문자열이다.
|
||||
구글은 DNS TXT 로도 되지만 네이버 서치어드바이저는 메타 태그나 파일만 받는다.
|
||||
소유 확인은 색인 허용과 무관하므로 noindex 상태에서도 미리 해 둘 수 있다. */}
|
||||
{has((S as Record<string, any>).googleSiteVerification) && <meta name="google-site-verification" content={(S as Record<string, any>).googleSiteVerification} />}
|
||||
{has((S as Record<string, any>).naverSiteVerification) && <meta name="naver-site-verification" content={(S as Record<string, any>).naverSiteVerification} />}
|
||||
{GA4 && <script is:inline async src={`https://www.googletagmanager.com/gtag/js?id=${GA4}`}></script>}
|
||||
{GA4 && <script is:inline set:html={`window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date());gtag('config','${GA4}',{anonymize_ip:true});
|
||||
document.addEventListener('click',function(e){var a=e.target.closest&&e.target.closest('a');if(!a)return;var h=a.getAttribute('href')||'';var g=a.dataset.ga;var ev=h.indexOf('tel:')===0?'click_tel':g==='reservation'||a.classList.contains('cta')?'click_reservation':g==='clinic-site'?'click_clinic_site':g==='map'?'click_map':g==='hotel'?'click_hotel':g==='flight'?'click_flight':null;if(ev)gtag('event',ev,{link_url:h,page_path:location.pathname,place_id:a.dataset.gaId||undefined});},true);`} />}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user