بسته

چند زبانه کردن سایت و مشکل 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
دسته بندی ها