最近,我一直在使我的网站对SEO更加友好。一切都充满乐趣和游戏 直到出现规范标签。
我的网站索引的结构如下。
example.com/all
显示所有产品。 example.com/all?brand=levis
显示了Levi's的所有产品。example.com/jeans
显示了所有牛仔裤。我想拥有引用mysite.com/all
,mysite.com/all?brand=current-brand
和mysite.com/current-category
的动态规范标签。
该网站还具有用于颜色和品牌的过滤器选项,可产生mysite.com/hoodies?color=grey
和mysite/hoodies?brand=nike&color=green
之类的块。在这两种情况下,我都希望规范引用mysite.com/hoodies
我试图用if else解决方案解决此问题,但没有成功。
现在如何设置如下:
views / layouts / application.html.erb
<%= yield :canonical %>
浏览/页面/关于
<%= content_for :canonical do %>
<link rel="canonical" href="example.com/about/" />
<% end %>
观看次数/产品/显示
<% content_for :canonical do %>
<link rel="canonical" href="<%="example.com/#{@product.id}/"%>" />
<% end %>
这两个可以很好地工作,但是当涉及到索引页时,它将变得更加棘手。
首先我尝试了
<% content_for :canonical do %>
<link rel="canonical" href="<%="example.com/#{@category.slug}/"%>" />
<% end %>
按类别分类时,此解决方案效果很好,但在转到mysite.com/all
或mysite.com/all?brand=levis
时崩溃。
我尝试尝试一些if else语句,在这些语句中我试图定位当前的子弹,但最终都崩溃了。
你们对我能做什么有建议吗?
答案 0 :(得分:0)
我通过放置解决了问题
<% content_for :canonical do %>
<link rel="canonical" href="<%="example.com/#{@category.slug}/"%>" />
<% end %>
下
<% if @category %>
它不完全符合我在询问中所述,因为example.com/all?brand=levis
和example.com/all
都没有规范。但这对于SEO可能甚至更好,因为Google可能会使用/all
和/jeans
来复制内容,但我不确定100%。如果您还有其他更好的解决方案,请与我分享,我会感到非常高兴!