Pagination les balises rel = prev/next pour le SEO

Laravel 4 nous propose un outil incorporé pour la pagination. mais il existe une balise :

<link rel=”prev” href=”?page=1″>
<link rel=”next” href=”?page=3″>

Cette balise peut-être utilisée dans le <head>, pour aider google a lui faire comprendre que nous utilisons un système de pagination. Laravel ne prévoit rien :( et bien tampis, je vais devoir coder :)

<head> est normalement dans notre layout principal , nous devons donc déclarer une  section  par :

<head>
...
@section('hlinks')
@show
...
</head>

Dans notre vue avec pagination, nous avons normalement une section du type :

@section('content')

    @foreach($items as $item)
         <div class="row">
                {{$item->Title }}
          </div>
    @endfor

   <div class="mesBtnsDePagination">
		{{ $items->links() }}
   </div>

@stop

@section('hlinks')
  @include('hlinks', array('pagination'=>$items))
@stop

$items->links() affiche les liens vers les éventuelles autres pages de résultats. Nous passons donc $items a notre vue « hlinks » dans notre nouvelle section.

Dans notre nouvelle vue « app/views/hlinks.blade.php », $pagination est de type Illuminate\Pagination\Paginator nous pouvons donc facilement récupérer la page courante par la méthode ->getCurrentPage()

@if ($pagination instanceof Illuminate\Pagination\Paginator)
	  @if (($page= $pagination->getCurrentPage())>1)
	    <link rel="prev" href="{{Request::url()}}?page={{($page-1)}}">
	  @endif
	   @if ($page<$pagination->getLastPage())
      <link rel="next" href="{{Request::url()}}?page={{++$page}}">
	   @endif
@endif

Voila, nous avons un système facile a réutiliser pour une meilleure déclaration de nos pages avec pagination dans nos moteurs de recherche.

Share Button

Vous devriez aimer...