Připojuji dynamická strukturovaná data k hlavě html, jakmile přijde moje odpověď Ajaxu. Něco jako:-

function appendSchemaToScript(schema){ var el = document.createElement('script'); el.type = 'application/ld+json'; el.text = JSON.stringify(schema); document.querySelector('head').appendChild(el); } 

Tato značka skriptu se perfektně zobrazuje, když kontroluji prvky. Když však jako agenta uživatele vyberu GoogleBot, značka skriptu se vůbec nepřipojí. Včera jsem nasadil tyto nové změny. Musím nějakou dobu počkat, než se změny projeví?

Pokud ne, proč Google Bot nezobrazuje můj dynamicky připojený skript? Je to proto, že je to po počátečním načtení stránky? Pokud ano, jak mám přidat dynamicky vykreslená strukturovaná data?

  • Jak testujete jako Googlebot? Skutečnost, že se nepřidává, když provádíte tento test, by měla být vodítkem k tomu, proč to skutečný Googlebot nevidí.
  • Podívejte se na následující článek - to vysvětluje, co se stane, když se vyhledávacím robotům zobrazují stránky s AJAX nebo jinými funkcemi závislými na JavaScriptu. Dlouhé, ale užitečné čtení, které vám může dát nějaké nápady: onely.com/blog/ultimate-guide-javascript-seo
  • @TonyMcCreath Ahoj .. Děkuji za odpověď. Testuji to jako robot Google výběrem GoogleBot jako uživatelského agenta ze síťových podmínek. Značka skriptu se přidává (kontroluje se z prvků), pokud je uživatelský agent automaticky vybrán, ale ne, když ručně vyberu uživatelského agenta jako google robota. Mám čekat, až vyhledávací konzole uloží stránku do mezipaměti?
  • @HenryVisotski Děkuji .. je to velmi poučný článek. Nicméně .. Pořád nechápu, jaké kroky bych měl dodržet, abych přidal dynamické schéma JSON-LD do hlavy po počátečním načtení stránky.
  • 1 @TonyMcCreath Ukázalo se, že se mi problém podařilo vyřešit čekáním na několik dní. Vyhledávací konzole nevybírá strukturovaná data JSON-LD ani během testu živé adresy URL. Avšak nyní po opětovné indexaci se nová strukturovaná data dokonale vyzvednou. Děkuji za vaší pomoc

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?