M
Murad İsmayılovMüəllif
murad.ismailov@example.comNext.js App Router-də Çoxdilli (i18n) Arxitektura
Sub-path routing, middleware ilə dil aşkarlanması və axtarış sistemləri üçün SEO dostu lokalizasiya.
Qlobal auditoriyaya xitab edən müasir platformalar üçün tətbiqin bir neçə dildə (məsələn: Azərbaycan, İngilis, Rus) fəaliyyət göstərməsi şərtdir. Əvvəlki Pages Router-də daxili 'i18n' konfiqurasiyası var idi, lakin App Router-də bu proses tamamilə yeni və daha çevik fəlsəfəyə keçdi.
📌 1. Dinamik Seqment Strukturu: '[lang]'
App Router-də çoxdillilik qovluq strukturu vasitəsilə təşkil olunur:
src/app/[lang]/layout.tsx
src/app/[lang]/blog/[slug]/page.tsx
Bu zaman istifadəçi:
- '/az/blog/meqale-1'
- '/en/blog/meqale-1'
ünvanlarına daxil olduqda Next.js URL-dən 'params.lang' dəyərini oxuyur və səhifəni həmin dilin lüğəti ilə render edir.
📌 2. Middleware ilə Avtomatik Dil Aşkarlanması
İstifadəçi sayta sadəcə '/' yazaraq daxil olduqda nə baş verməlidir?
'src/proxy.ts' və ya 'middleware.ts' daxilində brauzerin 'Accept-Language' başlığı oxunur. Əgər istifadəçinin brauzer dili azərbaycan dilidirsə, avtomatik '/az' ünvanına, əks halda '/en' ünvanına 'NextResponse.redirect' edilir.
📌 3. SEO və 'hreflang' Meta Teqləri
Axtarış sistemlərinə (Google) bildirmək lazımdır ki, bu iki səhifə bir-birinin tərcüməsidir:
<link rel="alternate" hrefLang="az" href="https://site.az/az/blog/..." />
<link rel="alternate" hrefLang="en" href="https://site.az/en/blog/..." />
Bu teqlər təkrarlanan məzmun cəzalarının (duplicate content penalty) qarşısını alır və hər ölkənin axtarış nəticələrində düzgün dilin çıxmasına kömək edir.
←Bütün yazılara qayıtKateqoriya: Next.js