متاتگهای صفحهبندی سئو در لاراول
متاتگهای صفحهبندی (Pagination Meta Tags) از جمله تکنیکهای سئوی فنی هستند که به موتورهای جستجو کمک میکنند رابطهی بین صفحات یک مجموعهی محتوایی (مثل آرشیو مقالات، دستهبندی محصولات یا نتایج جستجو) را بهتر درک کنند. در این مطلب، ضمن مرور مفهوم rel="prev" و rel="next"، به یک نکتهی مهم و بهروز دربارهی وضعیت فعلی این تگها نزد گوگل میپردازیم، نحوهی پیادهسازی آنها را در فریمورک لاراول بررسی میکنیم و در نهایت چند نکتهی تکمیلی برای سئوی بهتر صفحات صفحهبندیشده ارائه میدهیم.

آشنایی با متاتگهای صفحهبندی
فرض کنید در صفحهی دوم از مجموعهای از مقالات هستیم که نشانی آن به شکل https://example.com?page=2 است. کدهایی که بهصورت سنتی در بخش head خروجی سایت قرار میگرفتند به شکل زیر هستند:
|
1 2 3 4 5 6 |
<head> <!-- ... --> <link rel="prev" href="https://example.com?page=1"> <link rel="next" href="https://example.com?page=3"> <!-- ... --> </head> |
این کدها به موتور جستجو اعلام میکنند که این صفحات بخشی از یک دنبالهی پیدرپی هستند و همگی به یک موضوع واحد اشاره دارند.
نکتهی مهم: آیا rel="prev/next" هنوز اعتبار دارد؟
گوگل در سال ۲۰۱۹ بهصورت رسمی اعلام کرد که دیگر از سیگنالهای rel="prev" و rel="next" برای درک ساختار صفحهبندی استفاده نمیکند. به بیان دیگر، این تگها دیگر تأثیری در نحوهی خزش یا ایندکسگذاری گوگل ندارند و گوگل صفحات صفحهبندیشده را همانند سایر صفحات مستقل بررسی و ایندکس میکند.
با این حال، درج این تگها همچنان بیفایده نیست، چرا که:
- مرورگرها و برخی ابزارهای دسترسیپذیری (Accessibility) همچنان از این تگها برای پیمایش استفاده میکنند.
- سایر موتورهای جستجو ممکن است هنوز به این سیگنال توجه داشته باشند.
- حفظ ساختار معنایی صحیح صفحه، بخشی از استانداردهای HTML و تجربهی کاربری بهتر است.
بنابراین توصیه میشود این تگها را برای سازگاری و استاندارد بودن کد همچنان درج کنید، اما برای سئوی صفحهبندی، بهجای تکیه بر آنها، به راهکارهایی که در ادامه توضیح داده میشوند تکیه کنید.
| روش | کاربرد اصلی | وضعیت نزد گوگل |
|---|---|---|
rel="prev" / rel="next" |
مشخص کردن ترتیب صفحات | از ۲۰۱۹ نادیده گرفته میشود |
rel="canonical" |
جلوگیری از محتوای تکراری | معتبر و پیشنهادی |
| صفحهی View All | نمایش کل محتوا در یک صفحه | گزینهی جایگزین مناسب |
پیادهسازی صفحهبندی در لاراول
لاراول ابزاری قدرتمند به نام Paginator برای صفحهبندی اطلاعات در اختیار توسعهدهنده قرار میدهد. کد زیر بر اساس صفحهای که کاربر در حال مشاهدهی آن است، لینکهای صفحهی قبلی و بعدی را در صورت وجود، بهدرستی در خروجی قرار میدهد.
افزودن تگها در فایل Blade
|
1 2 3 4 5 6 7 8 9 10 11 |
@if( $items->lastPage() > 1 ) @if( $items->currentPage() > 1 ) <link rel="prev" href="{{ $items->previousPageUrl() }}"> @endif @if( $items->hasMorePages() ) <link rel="next" href="{{ $items->nextPageUrl() }}"> @endif @endif |
این قطعه کد باید در فایل قالب Blade مربوط به بخش head صفحه درج شود.
افزودن پارامترهای اضافی در Controller
اگر سیستم صفحهبندی شما دارای پارامترهای اضافی (مثل فیلتر یا جستوجو) باشد، لازم است این پارامترها را با متد appends به کوئری صفحهبندی اضافه کنید تا در لینکهای تولیدشده نیز حفظ شوند:
|
1 2 3 4 5 6 7 8 9 10 11 |
<?php $search_name = request( 'name' ); $items = Item::where( 'name', $search_name ); $extra_params = [ 'name' => $search_name, ]; return view( 'items' )->with( [ 'items' => $items->paginate()->appends( $extra_params ) ] ); |
در صورتی که این پارامترها اضافه نشوند، لینکهای prev و next فیلتر یا جستوجوی کاربر را از دست میدهند و به صفحهی نامرتبطی هدایت میکنند.
نکات تکمیلی برای سئوی صفحات صفحهبندیشده
استفاده از rel="canonical"
برای هر صفحه از مجموعه، تگ canonical باید به آدرس همان صفحه اشاره کند، نه به صفحهی اول. اشتباه رایج این است که همهی صفحات را به صفحهی اول کانونیکال کنیم که باعث میشود گوگل صفحات داخلی را ایندکس نکند.
جلوگیری از محتوای تکراری در تگهای Title و Description
اگر عنوان و توضیحات متا برای همهی صفحات یکسان باشد، بهتر است شمارهی صفحه را به انتهای عنوان اضافه کنید. مثلا «عنوان مطلب – صفحه ۲».
ارائهی گزینهی View All در صورت امکان
اگر تعداد آیتمها زیاد نیست، ارائهی یک صفحهی «مشاهدهی همه» میتواند تجربهی کاربری و سئو را همزمان بهبود دهد، زیرا گوگل معمولا چنین صفحهای را در نتایج ترجیح میدهد.
احتیاط در استفاده از noindex برای صفحات داخلی
برخی سایتها صفحات دوم به بعد را noindex میکنند تا فقط صفحهی اول ایندکس شود. این روش میتواند باعث از دست رفتن رتبهی محتوای صفحات داخلی شود. بنابراین باید متناسب با نوع محتوا و رقابت کلمات کلیدی تصمیمگیری شود.
اشتباهات رایج در پیادهسازی صفحهبندی
- عدم افزودن پارامترهای فیلتر و جستوجو به لینکهای صفحهبندی
- کانونیکال کردن اشتباه همهی صفحات به صفحهی اول
- استفاده از لینکهای صفحهبندی مبتنی بر جاوااسکریپت بدون URL قابل خزش
- عدم رعایت یکنواختی در ساختار URL صفحات (مثل ترکیب همزمان
?page=و/page/)
اصول سئو در طراحی سایت اختصاصی
زمانی که از وردپرس برای طراحی سایت استفاده میکنید و افزونههای سئو را روی سایتتان نصب میکنید، بسیاری از فعالیتهای لازم برای سئو بهصورت خودکار توسط این افزونهها انجام میشوند. اما در طراحی وبسایت با لاراول یا سایر فریمورکهای اختصاصی، این نکات باید بهصورت دستی و آگاهانه در کد سایت پیادهسازی شوند تا سایت بتواند به جایگاه مناسب خود در نتایج جستجو دست پیدا کند.