##内部対策SEO:ページネーション対策 [link rel="next"/"prev"]
アーカイブページでページネーションを使用している際に
現在のページに対する前後ページの存在をlinkタグで吐き出すコードです。
rel=prev/nextは コンテンツを理解するためのヒントとして使われているため、
必ず処理されるわけではありませんが、SEO対策の上で必要な物なので
これをhead内に入れておくだけで安心です。
<?php
$archiveBaseRrl = preg_replace('/\/page:[1-9].*?$/', '', Router::url($this->BcBaser->getHere(), true));
$params = $this->Paginator->params();
if ($this->Paginator->hasNext()) {
$nextPageUrl = $archiveBaseRrl . '/page:' . ($params['page']+1);
echo '<link rel="next" href="' . h($nextPageUrl) . '" />';
}
if ($this->Paginator->hasPrev()) {
$prevPageUrl = $archiveBaseRrl . '/page:' . ($params['page']-1);
echo '<link rel="prev" href="' . h($prevPageUrl) . '" />';
}
?>