<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Google Search Console on Physical AI 드림팀</title><link>https://ditis3g.github.io/tags/google-search-console/</link><description>Recent content in Google Search Console on Physical AI 드림팀</description><generator>Hugo -- gohugo.io</generator><language>ko</language><lastBuildDate>Wed, 01 Jul 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://ditis3g.github.io/tags/google-search-console/index.xml" rel="self" type="application/rss+xml"/><item><title>GitHub Pages 블로그를 구글 검색에 노출시키기</title><link>https://ditis3g.github.io/posts/2026-07-01-study-2/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0900</pubDate><guid>https://ditis3g.github.io/posts/2026-07-01-study-2/</guid><description>&lt;p&gt;블로그를 만들어 배포하는 것으로 끝이 아니다. 사이트가 존재해도 구글이 그 존재를 모르면 검색으로는 아무도 찾아올 수 없다. GitHub Pages에 Hugo 사이트를 올린 상태에서 실제로 검색 노출까지 진행하며 한 일과, 그 과정에서 만난 함정을 정리한다.&lt;/p&gt;
&lt;h2 id="검색에-뜨려면-무엇이-필요한가"&gt;검색에 뜨려면 무엇이 필요한가
&lt;/h2&gt;&lt;p&gt;블로그가 구글 검색 결과에 나타나려면 네 가지가 모두 갖춰져야 한다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;구글이 사이트의 존재를 알아야 한다 → &lt;strong&gt;Google Search Console에 등록&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;구글이 사이트를 크롤링할 수 있어야 한다 → &lt;strong&gt;robots.txt에 sitemap 링크&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;구글이 안에 무엇이 있는지 알아야 한다 → &lt;strong&gt;sitemap.xml 제출&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;구글이 페이지를 색인에 넣어야 한다 → &lt;strong&gt;크롤링 대기 (3일~2주)&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;다행히 Hugo는 sitemap.xml을 기본으로 자동 생성하고, &lt;code&gt;enableRobotsTXT = true&lt;/code&gt;만 켜 두면 robots.txt도 만들어 준다. 결국 실제로 손봐야 할 것은 &lt;strong&gt;몇 가지 SEO 보완과 Search Console 등록&lt;/strong&gt; 정도다.&lt;/p&gt;
&lt;h2 id="현재-상태-진단과-seo-보완"&gt;현재 상태 진단과 SEO 보완
&lt;/h2&gt;&lt;p&gt;먼저 배포된 사이트에서 세 가지가 정상인지 &lt;code&gt;curl&lt;/code&gt;로 확인한다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -sI &lt;span class="s2"&gt;&amp;#34;https://&amp;lt;도메인&amp;gt;/sitemap.xml&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# → HTTP 200, content-type: application/xml 이면 정상&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -s &lt;span class="s2"&gt;&amp;#34;https://&amp;lt;도메인&amp;gt;/robots.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# → User-agent: * 는 기본. Sitemap: 링크가 있는지 확인&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -s &lt;span class="s2"&gt;&amp;#34;https://&amp;lt;도메인&amp;gt;/&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; grep -oE &lt;span class="s1"&gt;&amp;#39;&amp;lt;meta [^&amp;gt;]*(description|og:|canonical)[^&amp;gt;]*&amp;gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# → og:title, og:description, canonical 있는지 확인&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Hugo + Stack 기본 구성이면 sitemap과 meta 태그는 이미 있지만, 두 가지가 빠져 있었다. &lt;strong&gt;robots.txt에 sitemap 링크가 없어서&lt;/strong&gt; 구글이 사이트맵을 자동으로 발견하지 못하고, &lt;strong&gt;og:image가 없어서&lt;/strong&gt; 검색 결과나 메신저 공유에서 썸네일이 뜨지 않는 문제다.&lt;/p&gt;
&lt;p&gt;첫 번째는 &lt;code&gt;layouts/robots.txt&lt;/code&gt; 파일을 만들어 해결한다. Hugo는 이 파일이 있으면 우선 사용한다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;User-agent: *
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Allow: /
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Sitemap: {{ &amp;#34;sitemap.xml&amp;#34; | absURL }}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;absURL&lt;/code&gt;이 baseURL을 붙여 절대 경로로 렌더하므로 다중 도메인이나 리버스 프록시 환경에서도 안전하다.&lt;/p&gt;
&lt;p&gt;두 번째는 &lt;code&gt;hugo.toml&lt;/code&gt;의 defaultImage 블록을 활성화한다.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;defaultImage&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;defaultImage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;opengraph&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;enabled&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;local&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;src&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;img/avatar.png&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;local = true&lt;/code&gt;면 &lt;code&gt;static/&lt;/code&gt; 아래 경로를 그대로 쓴다. 개별 글에 cover 이미지가 있으면 그쪽이 우선하고, 없으면 이 기본값이 쓰인다.&lt;/p&gt;
&lt;h2 id="search-console-등록과-sitemap-제출"&gt;Search Console 등록과 Sitemap 제출
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://search.google.com/search-console" target="_blank" rel="noopener"
 &gt;Google Search Console&lt;/a&gt;에 로그인한 뒤 진행한다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;속성 추가 → URL 접두어&lt;/strong&gt;를 선택하고 사이트 URL(예: &lt;code&gt;https://&amp;lt;user&amp;gt;.github.io/&lt;/code&gt;)을 입력한다.&lt;/li&gt;
&lt;li&gt;소유권 확인에서 &lt;strong&gt;HTML 파일&lt;/strong&gt; 방식을 고르면 구글이 &lt;code&gt;googleXXXX...html&lt;/code&gt; 파일을 준다.&lt;/li&gt;
&lt;li&gt;이 파일을 블로그 프로젝트의 &lt;code&gt;static/&lt;/code&gt; 폴더에 그대로 두고 commit + push 한다.&lt;/li&gt;
&lt;li&gt;GitHub Pages 배포가 끝나면 &lt;code&gt;https://&amp;lt;도메인&amp;gt;/googleXXXX...html&lt;/code&gt;로 접근되는지 &lt;code&gt;curl&lt;/code&gt;로 확인한다.&lt;/li&gt;
&lt;li&gt;Search Console로 돌아와 &lt;strong&gt;확인&lt;/strong&gt; 버튼을 누르면 &amp;ldquo;소유권이 확인됨&amp;quot;이 뜬다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;파일 내용은 &lt;code&gt;google-site-verification: ...&lt;/code&gt; 한 줄뿐이다. 이 토큰 자체가 인증 역할을 하지만 저장소에 push해도 위험하지 않다. 다만 구글이 준 파일명과 내용은 &lt;strong&gt;이 사이트·이 계정 조합에서만 유효&lt;/strong&gt;하다는 점만 기억하면 된다.&lt;/p&gt;
&lt;p&gt;인증이 끝나면 왼쪽 메뉴 &lt;strong&gt;Sitemaps&lt;/strong&gt;에서 입력란에 &lt;code&gt;sitemap.xml&lt;/code&gt;만 넣고 제출한다. 처음에는 &amp;ldquo;가져올 수 없음&amp;quot;이 자주 뜨는데, 대부분 구글이 방금 등록된 속성을 캐시하는 중이거나 첫 fetch가 일시적으로 실패한 것이다. &lt;strong&gt;12~48시간 기다리면&lt;/strong&gt; 자동으로 재시도되어 &amp;ldquo;성공&amp;quot;으로 바뀐다. 급하면 사이트맵을 삭제 후 재제출해 강제로 다시 트리거할 수 있다.&lt;/p&gt;
&lt;p&gt;우선 노출을 원하는 페이지가 있다면 상단 &lt;strong&gt;URL 검사 도구&lt;/strong&gt;로 특정 URL을 넣고 &lt;strong&gt;색인 생성 요청&lt;/strong&gt;을 할 수 있다. 홈(&lt;code&gt;/&lt;/code&gt;), 대표·최신 글 몇 개, 핵심 카테고리 페이지 순으로 요청하면 몇 시간&lt;del&gt;하루 안에 처리된다. 하루 요청 수 제한(10&lt;/del&gt;15개)이 있으니 중요한 URL부터, 한 URL당 한 번만 누른다.&lt;/p&gt;
&lt;h2 id="노출까지의-시간차-그리고-함정"&gt;노출까지의 시간차, 그리고 함정
&lt;/h2&gt;&lt;p&gt;세팅은 하루면 끝나지만, 실제 노출까지는 시간이 걸린다.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;시점&lt;/th&gt;
					&lt;th&gt;상태&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;지금&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;site:&amp;lt;도메인&amp;gt;&lt;/code&gt; 검색 결과 0 (정상)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;3~7일&lt;/td&gt;
					&lt;td&gt;홈과 대표 글 색인 시작 → 결과 1~5개&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;1~2주&lt;/td&gt;
					&lt;td&gt;대부분 페이지 색인 완료&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;이후&lt;/td&gt;
					&lt;td&gt;고유 이름(블로그 제목 등)부터 상위 노출 시작&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;진행 상황은 두 곳에서 볼 수 있다. 구글에서 &lt;code&gt;site:&amp;lt;도메인&amp;gt;&lt;/code&gt;을 검색하면 색인된 페이지 수를 대략 파악할 수 있고, Search Console의 &lt;strong&gt;색인생성 → 페이지&lt;/strong&gt;에서 &amp;ldquo;색인 생성됨/미생성&amp;rdquo; 개수를 정확히 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;겪은 함정은 모두 &lt;strong&gt;시간차&lt;/strong&gt;에서 비롯된 것이었다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;인증 직후 URL 검사 색인 요청 실패&lt;/strong&gt;: 시스템 반영에 시간이 필요하다. 30분~1시간 뒤 재시도하면 대부분 성공한다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sitemap 제출 직후 &amp;ldquo;가져올 수 없음&amp;rdquo;&lt;/strong&gt;: 흔한 초기 현상. 기다리면 자동 재시도되어 &amp;ldquo;성공&amp;quot;으로 바뀐다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;site:&amp;lt;도메인&amp;gt;&lt;/code&gt; 결과 0&lt;/strong&gt;: 세팅 문제가 아니라 아직 색인되지 않은 것뿐이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;이 시간차를 미리 알고 있으면 조급해할 일이 없다. 파일 배치와 제출은 하루 안에 끝나고, 나머지는 구글의 스케줄대로 진행된다. 한 번 해 두면 이후로는 계속 자동으로 크롤링·색인되므로, 여유가 될 때 각 글에 개별 cover 이미지를 붙여 썸네일을 다양화하거나 Article 구조화 데이터(Structured Data)를 추가해 검색 스니펫을 더 다듬을 수 있다.&lt;/p&gt;
&lt;h2 id="한-줄-정리"&gt;한 줄 정리
&lt;/h2&gt;&lt;p&gt;검색 노출 세팅 자체는 robots.txt·og:image 보완과 Search Console 등록·sitemap 제출로 하루면 끝나고, 나머지는 구글이 3일~2주에 걸쳐 크롤링·색인하기를 기다리는 시간차의 문제다.&lt;/p&gt;</description></item></channel></rss>