Resolving Page Title Problems in Multilingual Websites

یکی از چالش‌های رایج در ساخت سایت‌های چندزبانه با وردپرس اینه که بتونیم عنوان صفحات (Title Tag) رو برای هر زبان به‌صورت جداگانه تنظیم کنیم. اگر از افزونه TranslatePress نسخه رایگان استفاده کرده باشید، احتمالاً متوجه شده‌اید که امکان ترجمه مستقیم تایتل صفحات وجود نداره. همین موضوع باعث میشه مثلاً وقتی سایت فارسی رو انگلیسی می‌کنید، عنوان صفحه همچنان فارسی باقی بمونه. از طرف دیگه، بیشتر مدیران سایت‌ها برای بهینه‌سازی سئو از Yoast SEO استفاده می‌کنن. این افزونه کنترل تایتل صفحات رو در دست می‌گیره، اما به‌صورت پیش‌فرض راه‌حلی برای چندزبانه کردن تایتل‌ها در نسخه رایگان TranslatePress نداره.

راه‌حل: استفاده از کدنویسی در functions.php


برای رفع این مشکل، می‌تونیم با استفاده از فیلترهای Yoast SEO و کمی کدنویسی در فایل functions.php قالب، به‌صورت دستی عنوان‌های انگلیسی رو برای هر صفحه مشخص کنیم.

  • بررسی زبان فعال سایت

اولین قدم، تشخیص زبانیه که کاربر انتخاب کرده. در وردپرس می‌تونیم با get_locale() زبان فعال رو بگیریم. مثلاً:


if ( get_locale() === 'en_US' ) {
    // اینجا یعنی زبان روی انگلیسی تنظیم شده
}

  • تغییر عنوان صفحات با توجه به شرایط

حالا برای هر صفحه یا بخش از سایت می‌تونیم شرط بذاریم. مثال ساده:


if ( get_locale() === 'en_US' ) {
        
        // صفحه اصلی
        if ( is_front_page() ) {
            return "Karin Company";
        }

        // بلاگ
        if ( is_home() ) {
            return "Karin | Blog";
        }

        // نوشته‌های تکی
        if ( is_single() && 'post' === get_post_type() ) {
            return "Karin | Blog | " . get_the_title();
        }
    }

نکات مهم


  • برای صفحات خاص میتونید از ID صفحه‌ها یا slug صفحه استفاده کنید.
  • برای صفحه بلاگ باید از شرط is_home() استفاده کنید، چون وردپرس اون رو به‌عنوان «برگه نوشته‌ها» در نظر می‌گیره، نه یه صفحه عادی.
  • این روش فقط روی زبان انگلیسی (en_US) اعمال میشه. اگر بخواید زبان‌های دیگه هم اضافه کنید، می‌تونید شرط‌های جدید برای fa_IR یا هر لوکال دیگه‌ای بنویسید.

جمع‌بندی


با این روش می‌تونید بدون نیاز به نسخه پولی TranslatePress یا افزونه‌های جانبی، کنترل کامل روی عنوان صفحات چندزبانه داشته باشید و مطمئن بشید که برای هر زبان، تایتل‌ها به شکل درست نمایش داده می‌شن.

درنهایت اینکه


اگر شما هم توی سایت وردپرسی‌تون با چنین مشکلات فنی برخورد کردید و دنبال یه تیمی هستید که راه‌حل درست و اصولی پیدا کنه، ما توی کارین دقیقاً همین کار رو می‌کنیم: از طراحی تا توسعه و سئو، برای اینکه سایتتون هم درست کار کنه و هم توی نتایج گوگل دیده بشه.