#ruby #indexing #ruby-on-rails-5 #google-search-console #solidus
#ruby #индексирование #ruby-on-rails-5 #google-search-console #solidus
Вопрос:
Индексация Google остановилась на моем сайте с ошибкой типа
"invalid value type for "name" field.
Код rails, генерирующий этот HTML,
<% if products.any? %>
<ul id="products" class="inline product-listing" data-hook>
<% products.each do |product| %>
<% url = spree.product_path(product, taxon_id: @taxon.try(:id)) %>
<li id="product_<%= product.id %>" class="columns three <%= cycle("alpha", "secondary", "", "omega secondary", name: "classes") %>" data-hook="products_list_item" itemscope it
emtype="http://schema.org/Product">
<% cache(@taxon.present? ? [I18n.locale, current_pricing_options, @taxon, product] : [I18n.locale, current_pricing_options, product]) do %>
<div class="product-image">
<%= link_to(render('spree/shared/image', image: product.gallery.images.first, size: :small, itemprop: "image"), url, itemprop: 'url') %>
</div>
<%= link_to(truncate(product.name, length: 50), url, class: 'info', itemprop: "name", title: product.name) %>
<span itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<% if price = product.price_for(current_pricing_options) %>
<span class="price selling" itemprop="price" content="<%= price.to_d %>">
<%= price.to_html %>
</span>
<% end %>
<span itemprop="priceCurrency" content="<%= current_pricing_options.currency %>"></span>
</span>
<% end %>
</li>
<% end %>
Страница отображается нормально, но не индексируется в Google. Как я могу это исправить? есть ли у меня синтаксическая ошибка so в коде rails? Я не вижу ни одного. что может быть причиной этого?
Комментарии:
1. Внимательно посмотрите на ошибку. Что-то не так с
name
хотя бы одним значением. Вам нужно просмотреть их и посмотреть, какой из них является виновником.
Ответ №1:
Я исправил это, переписав код rails, заключенный в теги заголовка html, как показано ниже:
<h6 style="color:Black;" class="info" itemprop="name">
<%= link_to(truncate(product.name, length: 50), url, title: product.name) %>
</h6>