Тръмп осреднява по една лъжа на всеки 90 минути от встъпването си в длъжност

Имам проблем с робота на Google за търсене, поради който се нуждая от помощ за разрешаването му. Имаме приложение vue.js, което се свързва с нашата Prismic CMS за данни с мета тагове. Например заглавие, описание и др. След като Prismic върне данните, ние ги инжектираме в главата на страницата. Проблемът, с който се сблъскваме, е, че когато тестваме нашия сайт в Google Search Console, получаваме противоречиви резултати. Понякога се връща със съдържанието на мета маркера, което очакваме, понякога не. Подозираме, че това е така, защото обаждането до Prismic е асинхронно и следователно роботът за търсене на Google не чака данните да бъдат върнати и инжектирани в главата. Понякога се връща, преди роботът да се опита да прочете страницата, понякога не.

Една идея, която имахме, беше да изчакаме обаждането до Prismic, но в опит да приложа това решение открих, че трябва да направя създадената () кука асинхронна:

... async created() { await this.getContent(); }, methods : { async getContent () { let document = null; try { document = await this.$prismic.client.getSingle(...); } catch(err) { return; } // add content to meta tags }, .... 

Това прави проблема по-сложен, защото означава, че трябва по някакъв начин да кажем на Vue да изчака създадената кука. Нямам идея как да го направя.

В крайна сметка това не проработи. Google Search Console все още ни дава непоследователни резултати и когато тествах това локално, потвърдих, че Vue не чака създаването () да завърши (поставям регистрационни файлове на конзолата в created () и mount (), което идва след създаването ( ), а mount () изплюва съобщението на конзолата първо).

Има ли начин да зададете мета маркери асинхронно, така че роботът на Google Search да бъде гарантиран да ги намери?

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?