Home > PHP Framework > Laravel > A brief talk about laravel paging seo

A brief talk about laravel paging seo

藏色散人
Release: 2020-04-14 13:38:05
forward
3617 people have browsed it

Laravel's paging is very simple and easy to use, but there is one thing that is not very ideal.

The link generated by the default paging is

users?page=1
Copy after login

This form is not very friendly to SEO (theory) Above)

Then we may need a paging link in the form of

users/page/1
Copy after login

So how to do it?

I now have two ways to implement it

The first one was used in my previous project, directly regularizing

Directly regularizing in blade There should be room for optimization in replacing

{!! preg_replace("~(/?)\?page=~", '/page/', $users->render()) !!}
Copy after login

. I hope you can give me some advice.

Of course, the corresponding routing must also be configured accordingly. It is very simple, so I won’t expand it.

The effect of this method is achieved, but it really doesn’t have the style of laravel.

What is the style of laravel? composer, package

So let’s introduce the second method

laravel-paginateroute
Copy after login

The method of use is very simple, the following is excerpted from the readme

The first step

// 要注意对应版本,可到https://packagist.org 方便查看
composer require spatie/laravel-paginateroute
Copy after login

The second step

Register,

// config/app.php
'providers' => [
    ...
    'Spatie\PaginateRoute\PaginateRouteServiceProvider',
];
'aliases' => [
    ...
    'PaginateRoute' => 'Spatie\PaginateRoute\PaginateRouteFacade',
];
Copy after login

The third step

// app/Providers/RouteServiceProvider.php
use PaginateRoute;
// ...
public function boot(Router $router)
{
    PaginateRoute::registerMacros();
    parent::boot($router);
}
Copy after login

Use

In routing

// app/Http/routes.php
// Generates /users & /users/page/{page}
Route::paginate('users', 'UsersController@index');
Copy after login

This will generate two routes

/users
/users/page/{page}
Copy after login

Then in the controller, you can write it normally according to laravel's paging

Used like this in the page, this is the corresponding writing method of simplePaginate

@if(PaginateRoute::hasPreviousPage())
  <a href="{{ PaginateRoute::previousPageUrl() }}">Previous</a>
@endif
@if(PaginateRoute::hasNextPage($users))
  <a href="{{ PaginateRoute::nextPageUrl($users) }}">Next</a>
@endif
Copy after login

Recommended: "laravel tutorial"

The above is the detailed content of A brief talk about laravel paging seo. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template