آفلاین
user-avatar

تغییر آدرس های صفحه بندی لاراول برای سئوی بهینه تر

3 سال پیش
توسط مهدی آپدیت شد
آفلاین
user-avatar
مهدی ( 2920 تجربه )
3 سال پیش
تخصص : توسعه دهنده

سلام
بنظرتون بهترین راهکار سفارشی سازی URL های تولید شده تابع link یا render در سیستم صفحه بندی لارول چیه ؟
به لحاظ اینکه این توابع موقعی که صفحه بندی رو ایجاد میکنن ولی مشکلی که دارن اینه که آدرس URL رو بصورت یک کوئری استرینگ معمولی در میارن که از نظر سئو خیلی مورد تایید نیست
منظور من اینه که چطور میشه این ساختار آدرس رو در سیستم صفحه بندی لاراول تغییر داد تا آدرس های سئو پسندتری تولید بشه
آدرسی که سیستم صفحه بندی لاراول تولید میکنه اینه :
https://roocket.ir/series?page=2
ولی من میخوام آدرس به این شکل تولید بشه :
https://roocket.ir/series/page/2
یا
https://roocket.ir/series/2
ممنون میشم پاسخ ساده تری ارائه بدید و حدالامکان از روشهای داخلی خود لاراول باشه و نصب پکیج یا ... در اولویت آخر پاسختون باشه
سپاس

آفلاین
user-avatar
مهدی ( 23232 تجربه )
3 سال پیش

به فرم زیر عمل میکنیم

// route
Route::get('/test/{page?}', ArticleController@index);

// test/1
// test/2
// ...
//ArticleController ----
public function index($page = 1) {
    $articles = \App\Article::latest()->paginate(5, ['*'], 'page', $page);
    return view('articles.index',compact('articles'));
}

برای اینکه در موقع paginate لینک ها درست بارگذاری شوند باید از پوشه view/vendor پوشه pagination را در view کپی کرده و درون تابع render ویوو جدید مثلا default رو لود کنیم

$articles->render('pagination.default');

در اخر بااستفاده از پارامترهای که به view ارسال میشه (lastPage() و currentPage()) لینک های جدید برای صفحات رو بسازیم و تمام (که کار فوق ساده ای هست)


// parameters

 $articles->currentPage();// 5
 $articles->lastPage();// 10 

 //pervius link -> url('test/'.$articles->currentPage()-1) -> http://loclahost/test/4
برای ارسال پاسخ باید وارد سایت شوید