feat(seo): make paca.chanpaca.net the canonical domain for the whole site
Both hostnames served the same sitemap and feed, so the sitemap submitted for
paca.chanpaca.net listed only mediabrowser.chanpaca.net URLs and Naver rejected
it as not matching the verified domain. Switch every canonical URL, Open Graph
tag, hreflang, JSON-LD, sitemap, RSS feed, llms files, app share link, package
manifest and promo UTM to paca.chanpaca.net, then resubmit the corrected Naver
and Search Console sitemaps. All 2,757 tests pass.
💘 Generated with Crush
Assisted-by: Crush:deepseek-v4.1-flash
This commit is contained in:
parent
a5a8da7424
commit
a2916e953c
31 changed files with 176 additions and 174 deletions
|
|
@ -148,7 +148,7 @@ public class SiteSeoAeoGeoGateTests
|
|||
Assert.Contains("<rss", feed);
|
||||
Assert.Contains("<channel>", feed);
|
||||
Assert.Contains("<item>", feed);
|
||||
Assert.Contains("mediabrowser.chanpaca.net", feed);
|
||||
Assert.Contains("paca.chanpaca.net", feed);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -159,16 +159,16 @@ public class SiteSeoAeoGeoGateTests
|
|||
Assert.True(File.Exists(enPath), "site/en/index.html 영문 랜딩 페이지가 존재해야 합니다.");
|
||||
var enHtml = File.ReadAllText(enPath);
|
||||
Assert.Contains("lang=\"en\"", enHtml);
|
||||
Assert.Contains("https://mediabrowser.chanpaca.net/en/", enHtml);
|
||||
Assert.Contains("https://paca.chanpaca.net/en/", enHtml);
|
||||
Assert.Contains("hreflang=\"ko\"", enHtml);
|
||||
|
||||
// 2. 한국어 홈: hreflang en 은 실제 영문 URL(/en/)을 가리켜야 한다 (자기 참조 금지).
|
||||
var indexHtml = File.ReadAllText(Path.Combine(SiteDir, "index.html"));
|
||||
Assert.Contains("hreflang=\"en\" href=\"https://mediabrowser.chanpaca.net/en/\"", indexHtml);
|
||||
Assert.Contains("hreflang=\"ko\" href=\"https://mediabrowser.chanpaca.net/\"", indexHtml);
|
||||
Assert.Contains("hreflang=\"en\" href=\"https://paca.chanpaca.net/en/\"", indexHtml);
|
||||
Assert.Contains("hreflang=\"ko\" href=\"https://paca.chanpaca.net/\"", indexHtml);
|
||||
|
||||
// 3. 영문 페이지도 상호 참조(양방향) hreflang 및 자기 canonical 을 지녀야 한다.
|
||||
Assert.Contains("<link rel=\"canonical\" href=\"https://mediabrowser.chanpaca.net/en/\">", enHtml);
|
||||
Assert.Contains("<link rel=\"canonical\" href=\"https://paca.chanpaca.net/en/\">", enHtml);
|
||||
Assert.Contains("hreflang=\"x-default\"", enHtml);
|
||||
|
||||
// 4. 번역본이 없는 하위 페이지에는 존재하지 않는 영문 hreflang 을 걸지 않는다 (중복 콘텐츠/무효 참조 방지).
|
||||
|
|
@ -223,7 +223,7 @@ public class SiteSeoAeoGeoGateTests
|
|||
var html = File.ReadAllText(path);
|
||||
|
||||
Assert.Contains("lang=\"ko\"", html);
|
||||
Assert.Contains($"https://mediabrowser.chanpaca.net/{file}", html);
|
||||
Assert.Contains($"https://paca.chanpaca.net/{file}", html);
|
||||
Assert.Contains("rel=\"canonical\"", html);
|
||||
Assert.Contains("hreflang=\"ko\"", html);
|
||||
Assert.DoesNotContain("hreflang=\"en\"", html);
|
||||
|
|
@ -259,7 +259,7 @@ public class SiteSeoAeoGeoGateTests
|
|||
|
||||
// 언어/정규 URL/유효 hreflang (번역본 없는 하위 페이지에 무효 영문 hreflang 금지)
|
||||
Assert.Contains("lang=\"ko\"", html);
|
||||
Assert.Contains($"https://mediabrowser.chanpaca.net/{file}", html);
|
||||
Assert.Contains($"https://paca.chanpaca.net/{file}", html);
|
||||
Assert.Contains("rel=\"canonical\"", html);
|
||||
Assert.Contains("hreflang=\"ko\"", html);
|
||||
Assert.DoesNotContain("hreflang=\"en\"", html);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue