web-dev-qa-db-ja.com

フィルタリングを使用したページの正規URLの実装

ユーザーが画像を投稿したり、投票したりできるウェブサイトにフィルタリングオプションを実装しています。フィルタリングオプションは、trending(デフォルト)およびnewです。

URLは次のようなものです。

  • example.com/tags/sunset/←トレンド画像(5回以上のアップ投票があるすべての画像)
  • example.com/tags/sunset/?sort=new←新しい画像(日付の降順に並べられたすべての画像)

コンテンツの重複を避けるために、正規URLを使用しています。たとえば、上記の2つのURLは同じ標準URL(傾向のあるコンテンツを含むURL)を持ちます。

example.com/tags/sunset/

ただし、ページネーションの正規URLに問題があります。

1ページに10個の画像があります。

sunsetタグに25個の画像(1、2、3ページ)があるとします。

example.com/tags/sunset/?sort=new&page=3

しかし、トレンドは15のみです(1,2ページ):

example.com/tags/sunset/?page=2

新しいコンテンツ(すべての画像)でフィルタリングされたURLの正規URLは次のようになります。

example.com/tags/sunset/&page=3

ただし、タグsunsetのトレンドコンテンツの3ページがないため、このURLはエラー404を返します。

この問題を回避するにはどうすればよいですか?

2
casusbelli

この状況では、標準のページ分割ページと標準ページに一致する標準ページマスターページがないページ分割ページの標準タグは無視すると思います。

最初のページ(またはマスターページに2番目のページがある場合は2番目のページ)に正規タグを保持し、ページ分割されたページに rel = next/prevタグ を実装するだけです。最初のページ。

私の経験では、rel = next/prevでページ分割されたページはとにかくSERPSから削除されるため、IMOは潜在的な重複コンテンツをソートするのに十分です。

したがって、セットアップは次のようになります。

一ページ目:

https://example.com/tags/sunset/?sort=new

<link rel="canonical" href="https://example.com/tags/sunset/"/> 
<link rel="next" href="https://example.com/tags/sunset/?sort=new&page=2">

2番目のページ:(example.com/tags/sunset/?page=2にページ2がある場合は、標準タグも含めることができます)

https://example.com/tags/sunset/?sort=new&page=2

<link rel="prev" href="https://example.com/tags/sunset/?sort=new">
<link rel="next" href="https://example.com/tags/sunset/?sort=new&page=3">

ページ分割されたシーケンスの最後のページ:

https://example.com/tags/sunset/?sort=new&page=3

<link rel="prev" href="https://example.com/tags/sunset/?sort=new&page=2">

マスターページ分割されたページがないページに noindex を追加するルートをたどることができますが、そのページからSEOのメリットを失うと主張する人もいるかもしれません。

1
Max