جستجو
محصولات
    منو بسته
    2 دی 1403

    چند زبانه کردن سایت و مشکل Domain Authority

    5 سال پیش
    #1623
    من سایتم را چند زبانه کردم ولی الان با تغییر زبان آدرس سایت هیچ تغییر نمیکنه و سایت همچنان بصورت http://DomainName.com نشون می دهد. می خواهم برای زبان انگلیسی به انتهای سایت en/ اضافه کند و آدرس سایت بصورت http://DomainName.com/en باشد.
    نقل قول
    0
    5 سال پیش
    #1624
    مطلب زیر را در انجمن ببینید:
    نمایش fa و en در آدرس سایت
    نقل قول
    0
    5 سال پیش
    #1628
    من این کار رو انجام دادم ولی یه باگی هست.

    ریدایکرت 302 داره میزنه از لحاظ سئو باید 301 بزنه چون 302 اعتبار صفحه رو انقال نمیده به عبارت دیگه domain authority انتقال پیدا نمیکنه و سایت با مشکل مواجه خواهد شد

    من دنبال این حالتم که مثلا پیش فرض زبان فارسی هست و زمان زدن domain.com به زبان فارسی باز بشه بدون fa و وقتی زبان رو روی انگلیسی قرار میدهیم بشه domain.com/en
    نقل قول
    0
    5 سال پیش
    #1630
    وقتی تیک گزینه ذکر شده در پست قبلی را می زنید به تمام روت ها fa یا en  یا هر زبانی که دارید را اضافه می کند.
    فایل زیر را باز کنید:
    \Presentation\Nop.Web.Framework\Localization\LocalizedRouteExtensions.cs


    داخل متد ClearSeoFriendlyUrlsCachedValueForRoutes میتونید یه if بزارید اگه زبان جاری فارسی باشه بیخیالش بشه


            public static void ClearSeoFriendlyUrlsCachedValueForRoutes(this IEnumerable<IRouter> routers)
            {
                if (routers == null)
                    throw new ArgumentNullException(nameof(routers));

                //clear cached settings
                foreach (var router in routers)
                {
                    var routeCollection = router as RouteCollection;
                    if (routeCollection == null)
                        continue;

                    for (var i = 0; i < routeCollection.Count; i++)
                    {
                        var route = routeCollection[i];
                        (route as LocalizedRoute)?.ClearSeoFriendlyUrlsCachedValue();
                    }
                }
            }

    دستور if را بالای دستور (route as LocalizedRoute) بنویسید.
    نقل قول
    2
    09127857628