feat(site): prerender every locale and publish structured data, llms.txt and sitemaps
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Successful in 53s
ci / 모바일 린트·타입·Jest (push) Successful in 45s
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 21s
ci / .NET API 서버 테스트 (push) Successful in 13s
deploy-site / deploy (push) Failing after 27s
ci / 워크스페이스 빌드 검증 (push) Successful in 36s
Some checks failed
ci / 정본·보안·린트·타입·테스트 (push) Successful in 53s
ci / 모바일 린트·타입·Jest (push) Successful in 45s
ci / Supabase Edge Functions + Cloudflare Worker (push) Successful in 21s
ci / .NET API 서버 테스트 (push) Successful in 13s
deploy-site / deploy (push) Failing after 27s
ci / 워크스페이스 빌드 검증 (push) Successful in 36s
Crawlers received an empty client-rendered shell (107 characters of text); most AI crawlers do not run JavaScript, so the product was invisible to them. - Build renders each locale to static HTML (/ for Korean, /en/ … /vi/) with src/entry-server.tsx + scripts/prerender.mjs; the browser hydrates the same locale. The language menu links to those pages instead of switching in place. - Per-locale head: title, description, canonical, hreflang (+ x-default /en/), Open Graph and X cards with a per-locale 1200x630 image. - JSON-LD graph: Organization, WebSite, WebPage, SoftwareApplication (KRW offers, version, release date, download URL from the canonical sources), HowTo and FAQPage. No invented ratings. - robots.txt (search, ai-input and ai-train allowed; /app, /api, invites excluded), sitemap.xml with language alternates, llms.txt and llms-full.txt generated from the same translations and canonical values. - IndexNow key and a post-deploy ping (Bing, Naver, Yandex). - A factual "at a glance" section and two FAQ answers (recognised languages, where data is stored) in all 10 languages. - Icons, apple-touch-icon and web manifest; asset base is now absolute so sub-path pages load the same bundle. Verified: 3.6k-7.7k characters of text per page, no hydration warnings, no overflow at 320/1440 in six locales, axe 0, Lighthouse mobile SEO, accessibility and best practices 100.
This commit is contained in:
parent
52e364e578
commit
a0abda7a5c
45 changed files with 852 additions and 79 deletions
|
|
@ -84,3 +84,12 @@ jobs:
|
|||
curl --fail --silent --show-error https://d3ro.chanpaca.net/privacy/ --output /dev/null
|
||||
curl --fail --silent --show-error https://d3ro.chanpaca.net/terms/ --output /dev/null
|
||||
curl --fail --silent --show-error https://d3ro.chanpaca.net/delete-account/ --output /dev/null
|
||||
# 검색·AI 검색용 산출물(언어별 미리 그린 페이지, sitemap, robots, llms.txt)
|
||||
for path in en/ ja/ sitemap.xml robots.txt llms.txt llms-full.txt; do
|
||||
curl --fail --silent --show-error "https://d3ro.chanpaca.net/$path" --output /dev/null
|
||||
done
|
||||
curl --fail --silent --show-error https://d3ro.chanpaca.net/en/ | grep -q 'application/ld+json'
|
||||
|
||||
- name: IndexNow 알림 (Bing·네이버·Yandex)
|
||||
continue-on-error: true
|
||||
run: node scripts/ci/ping-indexnow.mjs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue