【问题标题】:Search robots can't index because of assets present rails heroku由于存在资产,搜索机器人无法索引 rails heroku
【发布时间】:2019-10-15 13:30:36
【问题描述】:

在这些网站上 https://staging.blockbutler.io 和 https://blockbutler.io (heroku 上的 RoR) Google 和 Yandex 搜索机器人无法索引的原因:“robots.txt 块” 但 robots.txt 很好。如果你将删除 javascript_include_tag 和 stylesheet_link_tag 它完美地索引了页面。我花了 3 天时间尝试不同的测试 - 没有任何帮助:

  1. 如果只有javascript_include_tag 为空 application.js 或只有stylesheet_link_tag 为空 application.scss - 没有索引
  2. 添加gem 'rails_12factor' - 否 索引
  3. rake assets:precompile RAILS_ENV=production 并将静态文件从公共/资产推送到服务器 - 无索引
  4. 将资产放在页脚 - 无索引
  5. 将资产包装在 <noindex> 和 rel: "nofollow" 中 - 无索引

我真的不知道魔法发生了什么,我很高兴有任何想法

运行谷歌搜索控制台实时测试时的日志:

生产.rb:

config.assets.js_compressor = :uglifier
config.assets.enabled = true
config.assets.version = '1.0'
config.assets.compile = true

robots.txt:

User-agent: *
Allow: /

User-agent: Yandex
Allow: /

User-agent: Google
Allow: /

Sitemap: https://blockbutler.io/sitemap.xml

附言抱歉英语不好 - 将不胜感激编辑我的语言(:

【问题讨论】:

    标签: ruby-on-rails heroku google-search-console


    【解决方案1】:

    这里有一些该死的魔法。 将<%= javascript_include_tag 'application', rel: "nofollow" %> 更改为<script src="/assets/application.js" rel="nofollow"></script>

    现在谷歌索引器工作得很好。谷歌索引器不喜欢大文件名。会考虑如何防止缓存资产文件。

    附言好的。现在每次我更新资产时 - 我都会更改资产名称,例如 applicationv0.js 等。仍然不知道,为什么谷歌对默认的 application-hash.js 文件名不满意

    【讨论】:

      猜你喜欢
      • 2020-05-31
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      相关资源
      最近更新 更多