Multicurrency Online Store: Why JS Solutions Break SEO
Այս հոդվածում. ինչպես է աշխատում արժույթի փոխարկումը JS-ի միջոցով և ինչու է դա խնդիր SEO-ի համար, ինչ է տեսնում Googlebot-ը ձեր խանութը ինդեքսավորելիս, ինչով է տարբերվում սերվերային փոխարկումը, ինչպես կարգավորել բազմարժութային խանութը առանց օրգանական որոնման կորուստների:
Case: a store on Tilda, with an audience in several countries. It would seem that you connect a JS currency conversion widget, prices are recalculated in the user's browser — problem solved. But when you look at Search Console, you see that organic traffic for foreign queries is not growing. The reason is that the search engine does not see the same thing that the buyer sees.
Ըստ Անդրսահմանային գնումների ուսումնասիրություններ, 92% of buyers prefer to see prices in local currency, and every third buyer abandons the cart if the price is shown only in foreign currency. This sounds obvious — but what's interesting is how most stores solve this problem, and why the solution turns into an SEO problem.
Ինչպես է աշխատում JS-փոխարկումը
Արժույթի փոխարկման վիդջեթների և սկրիպտների մեծ մասն աշխատում է նույն սխեմայով. էջը բեռնվում է սկզբնական արժույթով գներով, այնուհետև JS-ը API-ի միջոցով ստանում է փոխարժեքը և վերահաշվարկում թվերը անմիջապես օգտատիրոջ բրաուզերում։
Գնորդի համար սա նորմալ է թվում. նա մտավ էջ, մեկ վայրկյան անց տեսավ գինը եվրոյով։ Երբեմն բեռնման ժամանակ լինում է փոքր թարթում, երբեմն՝ ոչ։ Տեսողականորեն աշխատում է։
Խնդիրը ոչ թե այն է, որ օգտատերը ինչ-որ բան չի տեսնում։ Խնդիրն այն է, որ որոնողական ռոբոտը էջը տեսնում է բոլորովին այլ կերպ։
Ինչ է տեսնում Googlebot-ը
Googlebot-ը ինդեքսավորում է էջերը նախնական ռենդերինգի ժամանակ։ Ըստ Google Search Central-ի՝ JavaScript-ի ռենդերինգը կարող է հետաձգվել. սկզբում ինդեքս է մտնում էջի HTML տարբերակը, JS-ը կարող է մշակվել ավելի ուշ կամ ընդհանրապես չմշակվել։
Սա նշանակում է, որ որոնման արդյունքներում կարող են հայտնվել գները սկզբնական արժույթով՝ ռուբլով, եթե խանութն ի սկզբանե ռուսական է։ Գերմանիայից օգտատերը հարցում է կատարում, արդյունքներում տեսնում է «4500 ₽», սեղմում է, և միայն էջի բեռնումից հետո գինը վերահաշվարկվում է եվրոյով։
Սրանք միանգամից երկու խնդիր են։ Առաջինը՝ որոնման արդյունքներում սնիփեթը ցույց է տալիս չտեղայնացված գին, ինչը նվազեցնում է սեղմելիությունը։ Երկրորդը՝ եթե դուք օգտագործում եք միկրոմարկավորում (schema.org/Product՝ price դաշտով), այն HTML-ում գրվում է սկզբնական արժույթով։ Որոնողական համակարգը տեսնում է կառուցվածքային տվյալները ռուբլով և դրանք հենց այդպես է ցուցադրում rich results-ում։
Օրինակ, եթե դուք օգտագործում եք Tilda, էջի կոդում հաճախ կարելի է հանդիպել մետա-թեգեր կամ JSON-LD մարկավորում՝ «price»: «4500» և «priceCurrency»: «RUB» տեսքով։ Նույնիսկ եթե JS-սկրիպտը ֆրոնտենդում փոխարինում է ցուցադրումը «€45»-ով, որոնողական ռոբոտը, որը կարդում է սկզբնական HTML-ը, կֆիքսի հենց ռուբլու արժեքը, ինչը կհանգեցնի որոնման արդյունքներում գնի ցուցադրման սխալների։
Որպեսզի համոզվեք, որ որոնողական համակարգը տեսնում է հենց այն արժույթը, որը դուք ակնկալում եք, խորհուրդ ենք տալիս ստուգել էջը Google Rich Results Test-ի միջոցով։ Այս գործիքը ցույց կտա, թե ինչպես է Google-ը մեկնաբանում ձեր միկրոմարկավորումը իրական ժամանակում։
Ապրանքների համար կառուցվածքային տվյալների ձևաչափը, ներառյալ գնի և արժույթի դաշտերը, ավելի մանրամասն նկարագրված է Google-ի պաշտոնական փաստաթղթերում՝ ապրանքների համար կառուցվածքային տվյալների։
Ինչու է սա ավելի վատ, քան թվում է
Ենթադրենք, դուք առաջխաղացնում եք էջը գերմանական շուկայի համար։ Google Merchant Center-ում կամ օրգանական որոնման արդյունքներում գնորդը ակնկալում է տեսնել գինը եվրոյով։ Եթե ձեր միկրոմարկավորումը ասում է «4500 RUB», դա պարզապես գեղեցիկ չէ. Google-ը կարող է չցուցադրել ձեր ապրանքները տեղական առևտրային արդյունքներում։
SEO-ռազմավարությունը կոնկրետ շուկայի համար ենթադրում է, որ այս էջի բովանդակությունը համապատասխանում է լսարանին՝ լեզու, արժույթ, համատեքստ։ JS-փոխարկումը տեղայնացման պատրանք է ստեղծում, բայց ինդեքսավորվող բովանդակությունը մնում է սկզբնական տեսքով։
Արժույթի փոխարկման դեպքում օգտատիրոջ բրաուզերը սերվերից ստանում է արդեն պատրաստի էջ՝ գները ցանկալի արժույթով։ Ամեն ինչ հաշվարկված է նախապես, բրաուզերը ստանում է պատրաստի HTML՝ ճիշտ թվերով։
Googlebot-ը տեսնում է նույնը, ինչ տեսնում է գնորդը՝ գինը եվրոյով, ճիշտ միկրոմարկավորումը, ճիշտ սնիպետը։ Տեղայնացումն ամբողջական է՝ օգտատիրոջ և որոնման համակարգի համար միաժամանակ։
Այս մոտեցման շրջանակներում փոխարժեքը վերցվում է հուսալի աղբյուրից (օրինակ՝ ECB կամ այլ API) և կիրառվում է պրոքսի սերվերի կողմից էջը տրամադրելիս։ Քեշը թարմացվում է ըստ ժամանակացույցի։ Օգտատերը երբեք չի տեսնում «թարթում» բեռնման ժամանակ։
Ձեր խանութը վաճառքներ ունի՞ մի քանի երկրներում։
Multify-ը գները փոխակերպում է սերվերի կողմից՝ որոնման համակարգերը տեսնում են ճիշտ տվյալներ, իսկ գնորդները ստանում են գները իրենց արժույթով՝ առանց թարթման։
Multify works as a proxy layer between the site and the user. When a request comes from a user in Germany, the server returns the page with prices already recalculated in euros. The exchange rate is updated automatically.
Սա կարևոր է ոչ միայն SEO-ի, այլև URL-ի կառուցվածքի համար։ Կայքի լեզվական տարբերակը գտնվում է /de/ կամ de.yourdomain.com հասցեում, և այդ նույն հասցեում Googlebot-ը տեսնում է ճիշտ գերմանալեզու բովանդակություն՝ եվրոյով գներով։ hreflang-ը ավտոմատ կերպով է ստեղծվում՝ առանձին կարգավորելու կարիք չկա։
JS-մոտեցման հետ տարբերությունը սկզբունքային է. JS-ի դեպքում դուք ձևացնում եք, թե կայքը տեղայնացված է, իսկ սերվերի վրա փոխարկման դեպքում կայքն իսկապես տեղայնացված է՝ և՛ մարդկանց, և՛ որոնողական համակարգերի համար։
Ի՞նչ անել, եթե դուք արդեն ունեք JS-փոխարկում
Եթե դուք այժմ օգտագործում եք արժույթի փոխարկման վիդջեթ, ապա Google Search Console-ում ստուգեք՝ ի՞նչ է տեսնում Googlebot-ը ձեր ապրանքային էջերը ինդեքսավորելիս։ «URL ստուգում» գործիքը ցույց է տալիս HTML-ը, որը ստացել է ռոբոտը. տեսեք, արդյոք այնտեղ կան գները անհրաժեշտ արժույթով և արդյոք միկրոմարկավորումը ճիշտ է։
Եթե տեսնում եք սկզբնական արժույթը, դա աղետ չէ, բայց դա նշանակում է, որ այլ երկրներից օրգանական տրաֆիկը լիարժեք չի աշխատում։
Ոչ, բայց այն աշխատում է ավելի բարդ, քան կցանկանայինք։ Google-ը իսկապես ռենդեր է անում JavaScript-ը, բայց դա տեղի է ունենում առանձին հերթում և կարող է հետաձգվել։ Նոր էջերի կամ արագ փոփոխվող գների համար ինդեքսավորման ուշացումը նշանակում է, որ արդիական բովանդակությունը որոնման արդյունքներում կհայտնվի ավելի ուշ։ Դինամիկ տվյալների, ինչպիսիք են գները, դա անընդունելի է։
Իսկ Yandex-ի մասին ի՞նչ կասեք:
Yandex-ը նույնպես ռենդեր է անում JavaScript-ը, բայց սահմանափակումներով։ ԱՊՀ շուկաների (Ղազախստան, Բելառուս, Հայաստան) համար սա նույնպես արդիական խնդիր է. ռոբոտը կարող է ճիշտ բովանդակություն չստանալ սկզբնական սքանավորման ժամանակ։
Ինչպե՞ս ստուգել, որ որոնման համակարգը տեսնում է ճիշտ արժույթը:
Google Search Console-ի միջոցով՝ «URL Inspection» → «View crawled page» → «More info»: Սա ցույց է տալիս այն HTML-ը, որը ստացել է Googlebot-ը: Փնտրեք ձեր գները՝ ինչ արժույթով են դրանք նշված միկրոտվյալների priceCurrency թեգում:
Ցանկանու՞մ եք, որ Googlebot-ը տեսնի ճիշտ գները:
Մենք ցույց կտանք, թե ինչպես է այն աշխատում ձեր խանութում՝ կկարգավորենք դեմո և միասին կստուգենք: