feat: standalone Blazor WebAssembly admin + SEO enhancements
Architecture: - Admin UI: /admin (Standalone Blazor WebAssembly, 219 WASM files) - Portal: /portal (Razor Pages, Cookie/OAuth auth) - Homepage: / (Razor Pages, SSR) - API: /api (FastEndpoints + JWT) SEO: - Sitemap: Public content only (blog, FAQ, announcements, contact) - robots.txt: Exclude /admin and /portal, reference production domain - Naver verification: naverb1813cd79ddc2ded5c5291fca5cb46c2.html ready Technical: - TaxBaik.Web.Client: StaticWebAssetBasePath=admin - Server Program.cs: UseBlazorFrameworkFiles + MapFallback for SPA routing - base href="/admin/" for client-side navigation - blazor.webassembly.js (standalone, not web.js) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -15,16 +15,31 @@ public class SitemapModel : PageModel
|
||||
|
||||
public async Task OnGetAsync()
|
||||
{
|
||||
var baseUrl = "http://178.104.200.7/taxbaik";
|
||||
// 프로덕션 도메인 기본값 (배포 환경에서 자동 감지 가능)
|
||||
var baseUrl = $"{Request.Scheme}://{Request.Host.Value}/taxbaik";
|
||||
|
||||
// 정적 페이지 (공개 콘텐츠만)
|
||||
Urls.AddRange(new[]
|
||||
{
|
||||
// 홈페이지
|
||||
$"{baseUrl}",
|
||||
$"{baseUrl}/about",
|
||||
$"{baseUrl}/services",
|
||||
$"{baseUrl}/contact",
|
||||
$"{baseUrl}/blog"
|
||||
$"{baseUrl}/privacy",
|
||||
$"{baseUrl}/terms",
|
||||
|
||||
// 공개 콘텐츠
|
||||
$"{baseUrl}/blog",
|
||||
$"{baseUrl}/faq",
|
||||
$"{baseUrl}/announcement",
|
||||
$"{baseUrl}/inquiry"
|
||||
|
||||
// 제외: /admin (관리자), /portal (고객 포탈)
|
||||
// robots.txt에서도 disallow
|
||||
});
|
||||
|
||||
// 동적 페이지: 블로그 포스트
|
||||
var (posts, _) = await _blogService.GetPublishedPagedAsync(1, 1000);
|
||||
foreach (var post in posts)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user