English আর Bangla page-এর দরকার coherent URL, real localization, reciprocal hreflang আর maintainable pairing—automatic visibility-এর প্রতিশ্রুতি না।

Bilingual website দুইটি দারুণ reading experience দিতে পারে।

আবার duplicate title, broken language switch, missing translation, conflicting canonical আর HTML-এর সাথে না-মেলা sitemap-ও তৈরি করতে পারে।

দ্বিতীয় তালিকাটা যতটা হওয়া উচিত, তার চেয়ে বেশি দেখা যায়।

এই portfolio-র English আর Bangla structure বানানোর সময় localization-কে translation toggle হিসেবে দেখিনি। Routing আর content contract হিসেবে দেখেছি।

যে URL system ধরে রাখা যাবে, সেটাই নিন

English আছে /-এ। Bangla আছে /bn-এ।

এই site-এ subdirectory ভালো fit কারণ:

  • দুই ভাষা এক domain-এ;
  • প্রতিটি page-এর stable, shareable URL;
  • পুরোনো English URL সরাতে হয় না;
  • route structure বোঝানো সহজ;
  • sitemap-এ counterpart pair করা যায়।

Subdomain নিজে থেকে “SEO-র জন্য খারাপ” না। Query parameter-ও নিজে থেকে uncrawlable না। এগুলোর operational tradeoff আলাদা।

Product বহু বছর consistent রাখতে পারবে—এমন URL system-ই ভালো।

প্রতিটি ভাষার নিজের canonical

English page Bangla page-এর canonical না।

Bangla page English page-এর canonical না।

প্রতিটি localized page নিজের self-referencing canonical পায়:

export const metadata: Metadata = {
  alternates: {
    canonical: "/bn/blog/example",
    languages: {
      en: "https://www.mhtawfik.com/blog/example",
      bn: "https://www.mhtawfik.com/bn/blog/example",
      "x-default": "https://www.mhtawfik.com/blog/example",
    },
  },
};

দুই version একই language cluster ফিরিয়ে দেয়।

Reciprocity জরুরি। English যদি Bangla-কে reference করে, কিন্তু Bangla English-কে না করে—implementation অসম্পূর্ণ।

hreflang hint, visibility switch না

hreflang Google-কে localized variant বুঝতে আর উপযুক্ত version দেখাতে সাহায্য করে।

এটা:

  • দুর্বল page-কে useful করে না;
  • নিজে ranking তৈরি করে না;
  • canonical-এর বদলি না;
  • content translate করে না;
  • নির্দিষ্ট version দেখানোর নিশ্চয়তা দেয় না।

Google বলে page-এর ভাষা content থেকে বোঝে, শুধু lang বা hreflang থেকে না।

তবু <html lang="en"> আর <html lang="bn"> ঠিক রাখি। Browser, screen reader আর document correctness-এর জন্য দরকার।

Route group-এ root language পরিষ্কার

এই site-এ আলাদা root layout:

app/
  (en)/layout.tsx
  (en)/page.tsx
  (bn)/layout.tsx
  (bn)/bn/page.tsx

Route group public URL-এ আসে না। প্রতিটি layout সঠিক lang, font আর locale metadata সামলায়।

এটাই একমাত্র valid Next.js architecture না। এই repository-র জন্য সবচেয়ে পরিষ্কার।

Source-এ content pair করুন

প্রতিটি article-এর:

  • shared canonical slug;
  • English .mdx;
  • Bangla .bn.mdx;
  • explicit locale;
  • Bangla translationOf;
  • real publication আর revision date।

Content validator missing counterpart আর broken internal article link reject করে।

Metadata যে problem ধরতে পারে না, এটা ধরে: language switch এমন page-এ যাচ্ছে—যেটা নেই।

Sentence না, thinking localize করুন

Literal translation noun রাখে, মানুষটাকে হারায়।

English technical writing compact abstraction নিতে পারে। Bangla অনেক সময় context আগে দিলে আর sentence একটু শ্বাস নিলে ভালো পড়ে।

একই রাখি:

  • reader problem;
  • factual meaning;
  • decision;
  • code;
  • evidence।

নতুন করে লিখি:

  • rhythm;
  • example;
  • transition;
  • technical explanation;
  • CTA language।

তাই Bangla post counterpart, line-by-line copy না।

এক cluster-এ সব signal

প্রতিটি pair-এ দেখি:

  1. দুই URL আছে;
  2. প্রত্যেকের নিজের canonical;
  3. একই reciprocal alternate;
  4. language switch real counterpart-এ;
  5. sitemap-এ একই relation;
  6. localized title আর description;
  7. author fact consistent;
  8. সম্ভব হলে internal link reader-এর ভাষায়।

কোনো layer disagree করলে rendered tag patch না করে source model ঠিক করি।

llms.txt সম্পর্কে

এই site generated llms.txt directory publish করে, কারণ কিছু tool বা মানুষ এটা পড়তে পারে।

এটা supplemental।

Google বলে AI search feature-এর জন্য llms.txt required না। এক file সব crawling, training, retrieval বা citation control করে না। এগুলো আলাদা system।

Page, visible content, structured data, crawler access আর independent reference বেশি গুরুত্বপূর্ণ।

আমি যে result চাই

Goal “আরও URL” না।

Goal:

  • international client English-এ কাজ evaluate করতে পারে;
  • Bangla reader natural voice-এ একই expertise বোঝে;
  • search system counterpart relation বুঝতে পারে;
  • name, author আর service fact consistent থাকে;
  • pair ভাঙলে content system loud failure দেয়।

এটাই useful bilingual product।

Content side-এর জন্য পড়ুন search engine-এর আগে মানুষের জন্য technical content। Next.js localization-এ route বা metadata conflict থাকলে একটি broken pair পাঠান

  • #Next.js
  • #International SEO
  • #Localization
  • #Hreflang
  • #বাংলা
M H Tawfik (Al Mojakkar Hossain Tawfik)

এম এইচ তাওফিক (আল মোজাক্কার হোসাইন তাওফিক)

আল মোজাক্কার হোসাইন তাওফিক, পেশাগতভাবে এম এইচ তাওফিক ও তাওফিক নামে পরিচিত, একজন ফ্রিল্যান্স ফুল স্ট্যাক ওয়েব ডেভেলপার এবং SoftWebGrove-এর প্রতিষ্ঠাতা।

আরও পড়ুন

ইঞ্জিনিয়ারিং, SaaS, ফ্রিল্যান্সিং আর নির্ভরযোগ্য প্রোডাক্ট তৈরির সম্পর্কিত লেখা।