如何在客户端生成丰富的片段

问题描述

在我正在开发的网站中,无法在后端检索当前价格,因此我们尝试在客户端生成部分产品丰富网页摘要,希望 Google 抓取工具能够去取它们。

在同一页面上,我们有关于产品的其他数据,有些是在后端生成的,有些是由第三方服务生成的,但它们都共享相同的 @id 字段。

我没有找到太多有关在客户端生成丰富网页摘要的文档,但是按照本指南https://developers.google.com/search/docs/advanced/structured-data/generate-structured-data-with-javascript,我想出了以下代码

// retrieve values from hypothetic `getProductValues` function
const { richSnippetProductId,offerUrl,amount,currency } = getProductValues(); 

// create a JS object
const structuredData = {
  '@context': 'http://schema.org','@type': 'Product','@id': richSnippetProductId,offers: {
      '@type': 'Offer',availability: 'https://schema.org/InStock',url: offerUrl,price: amount,priceCurrency: currency,}
};

// stringify in order to insert the variable in the rich snippet
const structuredDataText = JSON.stringify(structuredData);

// create the rich snippet
const script = document.createElement('script');
script.setAttribute('type','application/ld+json');
script.textContent = structuredDataText;
document.body.appendChild(script);

您认为这是一个方法吗?还有其他我们应该考虑的方法吗?您认为最好将脚本添加页面headbody(如果有什么不同)?

对于如何让爬虫更容易找到数据,您有什么其他建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...