我们正在向汽车行业提供客户满意度调查,并尝试在 Google 有机搜索结果页面上启用 Rich Snippets 以进行评论和评级。
我们无权访问服务器代码。我们只有客户端代码访问权限。因为我们能够让他们的主网站实现以下代码并包含我们的 JavaScript 文件。
<script type="text/javascript" src="//ukapi.xyzcorp.com/Scripts/xyz.js"></script>
<div id="DealerRating1" class="xyzDealerRating" data-xyz-action="GetDealerRatingHTMLBoxSmall" data-xyz-dealercode1="UK45199" data-xyz-dealercode2="UK45200"></div>
我们正在使用 jQuery 和 AJAX 修改 DOM 以显示 5 星评论,并在文档准备好时添加 Rich Snippets for Reviews 和 Ratings,以便用户查看评分。
$(document).ready(function () {
GetDealerRatings();
});
function GetDealerRatings() {
var dealerRatings = $(".xyzDealerRating");
$.each(dealerRatings, function (i, dealerRating) {
GetWebAPI(dealerRating, sUrl + '/api/' + $(dealerRating).data("xyz-action") + '?dealercode1=' + $(dealerRating).data("xyz-dealercode1") + '&dealercode2=' + $(dealerRating).data("xyz-dealercode2"));
});
}
function GetWebAPI(dealerRating, sUrl) {
$.ajax({
url: sUrl,
type: 'GET',
dataType: 'json',
crossDomain: true,
cache: false,
contentType: 'application/json; charset=utf-8',
async: true,
success: function (data) {
WriteResponse(dealerRating, data);
});
}
function WriteResponse(dealerRating, data) {
$(dealerRating).empty();
//$(dealerRating).append(data);
document.getElementById("DealerRating1").innerHTML = data;
不幸的是,这不起作用,因为谷歌只能看到下面这个
<div id="DealerRating1" class="auraDealerRating" data-aura-action="GetDealerRatingHTMLBoxSmall" data-aura-dealercode1="UK45968" data-aura-dealercode2="UK45969"></div>
丰富的片段代码仅在文档准备好后加载。
<div id="DealerRating1" class="auraDealerRating" data-aura-action="GetDealerRatingHTMLBoxSmall" data-aura-dealercode1="UK45968" data-aura-dealercode2="UK45969">
<div class="auradrsmall" itemscope="" itemtype="http://schema.org/Review">
<span class="header">Customer Recommendation</span>
<div itemprop="itemReviewed" itemscope="" itemtype="http://schema.org/LocalBusiness">
<span itemprop="name" class="auraGoogleReviewText">Hutchings Hyundai - Bridgend</span>
</div>
<span itemprop="author" itemscope="" itemtype="http://schema.org/Person">
<span itemprop="name" class="auraGoogleReviewText">Aura Corporation</span>
</span>
<meta itemprop="datePublished" content="2015-06-12">
<div class="section">
<div class="col type">Sales</div>
<div class="col auraratingsmall10" itemprop="reviewRating" itemscope="" itemtype="http://schema.org/Rating">
<span itemprop="ratingValue" class="auraGoogleReviewText">4.9</span>
</div>
<div class="col">
<ul>
<li>7 Customers</li>
<li><a href="javascript:openlightbox('UK45968');">2 with comments</a></li>
</ul>
</div>
</div>
<div class="footer">Real customer reviews from <span class="aura">aura</span> </div>
</div>
</div>
我们确实研究了“<em>面向网站管理员和开发人员的 AJAX 抓取指南”,但这只有在我们能够控制服务器代码的情况下才有效。但是,我们不能,因为我们只能访问客户端代码 https://support.google.com/webmasters/answer/174992?hl=en
有人有类似的问题吗?有没有办法让谷歌抓取这个?或替代解决方案?