web-dev-qa-db-ja.com

最初と最後のページにそれぞれ非表示の「<prev」と「next>」ページネーションリンク

私はYiiフレームワークをBootstrap 3とともに使用していますが、最初と最後のページのデフォルトのページネーション動作が少しおかしいことに気づきました。

2/3ページのリンクは次のようになります。

< Prev | 1 | 2 | 3 | Next >

最初のページ(ページ1)では、< Prevリンクは非表示(無効または削除ではありません)ですが、再び最初のページ(ページ1)を指すように制限されています。

最後のページ(ページ3)では、Next >リンクは非表示になっていますが、最後のページ(ページ3)を指すように制限されています。

現在のページリンクにもCSS cursor:defaultがありますが、クリックは許可されます。

クローラーを支援するために、関連リンクにrel="next/prev"を追加しました。

最初と最後のページでそれぞれ次のリンクと前のリンクを完全に削除し、現在のページのリンクを無効にする(またはスパンに変更する)こともできます。これはお勧めですか?これはクローラーにとってもっと意味があると思っていただろう。

フレームワークがこれらの隠されたキャップ付きリンクをページに含める理由はありますか?意図的にコード化されているようです。

UPDATE

わかりましたので、もう少し読んでください。

rel="next/prev"は、ヘッドの追加リンク(<a>)タグに明確に記載されているのではなく、本文のリンク(<link>)タグに追加されるはずだと思いました。私は特に愚かだった。

これが私の懸念の主な原因でしたが、質問はまだ有効であると思いますので、そのままにしておきます!

3
Arth

ベストプラクティスは、リンク(最初のページ)とリンク(最後のページ)を省略することです。

  • cSSサポートのないユーザーエージェントはそれらを表示し、ユーザーを混乱させる可能性があります
  • それらを持つことは無意味です

currentページへのリンクも理想的には省略されます。

  • cSSサポートのないユーザーエージェントは、他のリンクと同じようにそれを表示するので、ユーザーは現在どのページにいるのか分からないかもしれません
  • それは無意味です

ただし、これらのリンクの有無はSEOへの影響なしである必要があります。

これらの隠されたリンクを持つことが良い考えになる理由を想像することはできません。私の推測では(彼らのコードをチェックせずに)そのように実装する方が簡単だったので、彼らはそれらを保持したということです。

1
unor