آموزش صفحهبندی در وردپرس؛ بدون افزونه و با افزونه رایگان
- افزونه وردپرسمقالات آموزشی
- بروزرسانی شده در

وقتی تعداد نوشتههای سایتتون بالا میره، نمایش همه اونها توی یک صفحه پیدا کردن مطالب رو سخت میکنه. صفحه هم بیدلیل طولانی و شلوغ میشه. صفحهبندی در وردپرس نوشتهها رو بین چند صفحه تقسیم میکنه تا کاربر با شماره صفحه یا دکمههای قبلی و بعدی بین مطالب جابهجا بشه.
خود وردپرس این قابلیت رو داره و توی خیلی از قالبها اصلاً نیازی به نصب افزونه نیست. اول روش داخلی و رایگان وردپرس رو برای قالبهای بلوکی و کلاسیک بررسی میکنیم. بعد هم سراغ افزونه رایگان Pagination by BestWebSoft میریم تا اگه قالبتون صفحهبندی مناسبی نداره، بتونید شماره صفحهها رو بهش اضافه کنید.
آنچه در این مقاله میخوانید
صفحهبندی در وردپرس چه کاری انجام میده؟
صفحهبندی یا Pagination یعنی فهرست نوشتهها بین چند آدرس جدا تقسیم بشه. مثلاً صفحه اول آرشیو تازهترین نوشتهها رو نشون میده و کاربر با رفتن به صفحه دوم، به نوشتههای قدیمیتر میرسه.
این قابلیت بیشتر توی صفحه وبلاگ، دستهبندیها، برچسبها و بایگانی نویسندهها به کار میره. صفحهبندی درست پیدا کردن مطالب رو راحتتر میکنه و نمیذاره یک صفحه بیشازحد بلند ساخته بشه. البته برای بهتر شدن سرعت سایت نباید فقط به صفحهبندی تکیه کنید. روشهای دیگه رو هم میتونید توی آموزش افزایش سرعت لود وردپرس ببینید.
تعداد نوشتههای هر صفحه رو مشخص کنید
قبل از اینکه ظاهر صفحهبندی رو تنظیم کنید، باید مشخص بشه توی هر صفحه چند نوشته دیده بشه. از پیشخوان وردپرس به مسیر «تنظیمات ← خواندن» برید. جلوی گزینه «بیشترین تعداد نوشتهها در هر برگه وبلاگ» عدد دلخواهتون رو وارد کنید و روی «ذخیره تغییرات» بزنید.

یک عدد ثابت که برای همه سایتها مناسب باشه نداریم. انتخاب این عدد به طراحی قالب، اندازه تصویرهای شاخص و مقدار اطلاعاتی بستگی داره که روی هر کارت نوشته دیده میشه. بعد از ذخیره تنظیمات، بهتره صفحه وبلاگ رو هم با کامپیوتر و هم با موبایل بررسی کنید.
روش اول: صفحهبندی با قابلیت داخلی وردپرس
روش انجام این کار به نوع قالبتون بستگی داره. قالبهای بلوکی از ویرایشگر سایت و بلوکها استفاده میکنن. قالبهای کلاسیک هم صفحههای آرشیو رو با فایلهای PHP میسازن. اگه گزینه «نمایش ← ویرایشگر» رو میبینید، به احتمال زیاد قالبتون بلوکیه. اگه بهجای اون گزینههایی مثل «سفارشیسازی» یا «ویرایشگر پرونده پوسته» دارید، احتمالاً از قالب کلاسیک استفاده میکنید.

اضافه کردن صفحهبندی در قالبهای بلوکی
توی قالبهای بلوکی، وردپرس بلوک داخلی Pagination یا «صفحهبندی» رو داخل بلوک Query Loop در اختیارتون میذاره. Query Loop همون بخشی از قالبه که فهرست نوشتهها رو نمایش میده.
- از پیشخوان به «نمایش ← ویرایشگر» برید.
- بخش «قالبها» رو باز کنید و قالب «خانه»، «وبلاگ» یا «بایگانی» موردنظرتون رو انتخاب کنید.
- روی فهرست نوشتهها کلیک کنید تا بلوک Query Loop انتخاب بشه.
- با دکمه افزودن بلوک، «صفحهبندی» رو داخل Query Loop و بعد از فهرست نوشتهها بذارید.
- دکمههای «قبلی»، «شماره صفحهها» و «بعدی» رو داخل بلوک صفحهبندی نگه دارید یا براساس نیازتون مرتب کنید.
- روی «ذخیره» کلیک کنید و نتیجه رو توی صفحه آرشیو ببینید.
اگه صفحهبندی دیده نمیشه، اول ببینید تعداد نوشتههای منتشرشده از عددی که توی «تنظیمات ← خواندن» گذاشتید بیشتر هست یا نه. تا وقتی همه نوشتهها توی یک صفحه جا بشن، وردپرس صفحه دوم رو نمیسازه.

اضافه کردن صفحهبندی در قالبهای کلاسیک
خیلی از قالبهای کلاسیک از قبل صفحهبندی دارن. پس اول پایین صفحه وبلاگ و دستهبندیها رو نگاه کنید. اگه شماره صفحهها یا دکمههای قبلی و بعدی دیده میشن، لازم نیست کدی اضافه کنید.
اگه قالبتون صفحهبندی نداره و با کدنویسی آشنا هستید، میتونید تابع استاندارد the_posts_pagination() رو بعد از حلقه نوشتهها توی فایل آرشیو چایلد تم بذارید. چایلد تم نسخهای جدا از قالب اصلیه و کمک میکنه تغییرهای شما بعد از بهروزرسانی قالب پاک نشن.
<?phpif ( have_posts() ) { the_posts_pagination();}?>فایل دقیق به ساختار قالبتون بستگی داره و ممکنه index.php، archive.php یا فایل دیگهای باشه. فایل قالب اصلی رو مستقیم ویرایش نکنید، چون بهروزرسانی بعدی ممکنه تغییرها رو پاک کنه. اگه درباره فایلها و چایلد تم مطمئن نیستید، روش افزونهای بخش بعد برای شما سادهتره.
روش دوم: صفحهبندی با افزونه رایگان Pagination by BestWebSoft
Pagination by BestWebSoft یک افزونه رایگانه که برای اضافه کردن صفحهبندی عددی به بخشهایی مثل صفحه وبلاگ و آرشیو نوشتهها طراحی شده. قبل از نصب، بخش نیازمندیهای صفحه رسمی افزونه رو ببینید تا مطمئن بشید نسخه وردپرس و PHP هاستتون با نسخه فعلی افزونه هماهنگه.
برای بیشتر سایتها بهتره اول قابلیت داخلی وردپرس رو امتحان کنید. اگه قالب کلاسیک شما شماره صفحهها رو نمایش نمیده یا میخواید بدون ویرایش فایلهای قالب صفحهبندی رو تنظیم کنید، Pagination by BestWebSoft میتونه گزینه مناسبی باشه.

نصب افزونه Pagination by BestWebSoft
- از پیشخوان وردپرس به «افزونهها ← افزودن افزونه تازه» برید.
- عبارت
Pagination by BestWebSoftرو جستوجو کنید. - نام افزونه و سازنده اون رو با صفحه رسمی افزونه توی مخزن وردپرس مقایسه کنید.
- روی دکمه نصب و بعد روی دکمه فعالسازی کلیک کنید.

بعد از فعالسازی، از فهرست افزونههای نصبشده وارد تنظیمات Pagination بشید. گزینههای دقیق این صفحه ممکنه با انتشار نسخههای تازه تغییر کنن. بخشهای مربوط به محل نمایش، نوع صفحهبندی و ظاهر شمارهها رو بررسی کنید، تنظیمات دلخواهتون رو ذخیره کنید و بعد نتیجه رو توی صفحه وبلاگ و یکی از دستهبندیها ببینید.

نمایش Pagination by BestWebSoft در سایت
بعد از فعال کردن افزونه و ذخیره تنظیمات، صفحه وبلاگ یا یکی از دستهبندیها رو باز کنید و پایین فهرست نوشتهها رو ببینید. اگه تعداد نوشتهها از ظرفیت یک صفحه بیشتر باشه و قالبتون با افزونه سازگار باشه، شماره صفحهها باید همونجا نمایش داده بشن.
اگه صفحهبندی دیده نشد، اول کش سایت و مرورگرتون رو پاک کنید. بعد مطمئن بشید نوشته کافی برای ساخته شدن صفحه دوم دارید. اگه صفحهبندی قبلی قالب هم کنار صفحهبندی افزونه دیده میشه، یکی از اونها باید غیرفعال بشه تا دو بخش مشابه به کاربر نمایش داده نشن. برای تغییر کدهای قالب بهتره از توسعهدهنده کمک بگیرید.

نکات مهم سئوی صفحهبندی
صفحهبندی فقط ظاهر صفحه رو عوض نمیکنه. موتور جستوجو باید بتونه لینک صفحههای بعدی رو پیدا کنه و محتوای اونها رو بخونه. طبق راهنمای صفحهبندی گوگل، بهتره هر صفحه آدرس جدا داشته باشه و دکمههای جابهجایی با لینک معمولی و قابلخزش ساخته بشن.
- هر صفحه باید آدرس مخصوص خودش رو داشته باشه. مثلاً صفحه دوم نباید همون آدرس صفحه اول رو بارگذاری کنه.
- هر صفحه بهتره canonical خودش رو داشته باشه. canonical نشونهایه که آدرس اصلی همون صفحه رو به موتور جستوجو معرفی میکنه.
- لینک صفحههای بعدی باید با تگ استاندارد
<a href>ساخته بشه تا ربات جستوجو بتونه اون رو دنبال کنه. - صفحههای دوم و بعدی رو بدون دلیل از ایندکس خارج نکنید، چون این کار ممکنه پیدا کردن نوشتههای قدیمیتر رو برای موتور جستوجو سخت کنه.
- بعد از تغییر صفحهبندی، چند آدرس آرشیو رو با موبایل بررسی کنید و مطمئن بشید لینکها درست کار میکنن.
اگه میخواید بخشهای فنیتر مثل قابلیت خزش، canonical و ساختار لینکها رو بهتر بشناسید، آموزش سئو تکنیکال وردپرس هم بهتون کمک میکنه.
چرا صفحهبندی نمایش داده نمیشه؟
- نوشته کافی ندارید: تعداد نوشتهها باید از ظرفیت یک صفحه بیشتر باشه.
- بلوک خارج از Query Loop قرار گرفته: توی قالب بلوکی، بلوک صفحهبندی باید داخل Query Loop باشه.
- قالب از کوئری سفارشی استفاده میکنه: کوئری یعنی درخواستی که نوشتهها رو از پایگاه داده میگیره. بعضی قالبها یا صفحهسازها فهرست نوشتهها رو با روش اختصاصی خودشون میسازن و صفحهبندی عادی روی اونها اثر نمیذاره.
- کش نسخه قبلی رو نشون میده: کش یک نسخه موقت از صفحهست که برای بارگذاری سریعتر نگه داشته میشه. کش سایت و مرورگر رو پاک کنید و دوباره نتیجه رو ببینید.
- کد توی فایل اشتباه قرار گرفته: توی قالب کلاسیک، تابع صفحهبندی باید بعد از حلقه اصلی نوشتهها اجرا بشه.
سؤالهای رایج درباره صفحهبندی در وردپرس
برای صفحهبندی در وردپرس حتماً باید افزونه نصب کنیم؟
نه. وردپرس بهصورت داخلی از صفحهبندی پشتیبانی میکنه. توی قالبهای بلوکی میتونید از بلوک صفحهبندی داخل Query Loop کمک بگیرید و خیلی از قالبهای کلاسیک هم این قابلیت رو از قبل دارن.
افزونه Pagination by BestWebSoft رایگانه؟
نسخه رایگان Pagination by BestWebSoft از مخزن رسمی وردپرس قابل نصبه. قبل از نصب، صفحه رسمی افزونه رو ببینید و نیازمندیهای نسخه فعلی اون رو با نسخه وردپرس و PHP هاستتون مقایسه کنید.
چرا شماره صفحهها توی سایت دیده نمیشن؟
معمولاً تعداد نوشتهها برای ساخت صفحه دوم کافی نیست، بلوک صفحهبندی بیرون Query Loop قرار گرفته یا قالب از فهرست نوشتههای اختصاصی استفاده میکنه. اول تعداد نوشتههای هر صفحه رو از تنظیمات خواندن بررسی کنید.
جمعبندی
برای بیشتر سایتها، قابلیت داخلی وردپرس بهترین نقطه شروعه. توی قالب بلوکی میتونید بلوک صفحهبندی رو به Query Loop اضافه کنید. خیلی از قالبهای کلاسیک هم شماره صفحه یا دکمههای قبلی و بعدی رو از قبل نمایش میدن.
اگه قالبتون صفحهبندی مناسبی نداره، نسخه رایگان Pagination by BestWebSoft میتونه گزینه جایگزین باشه. فقط یادتون نره قبل از نصب، سازگاری نسخه فعلی افزونه رو بررسی کنید و بعد از فعالسازی، صفحهبندی رو با موبایل و کامپیوتر آزمایش کنید.

سلام قالب من زفایر هست . اما در فایل index اصلا endwhile نداره نمیدونم endwhile کجاست لطفا راهنمایی کنید.
سلام این قالب حرفهای هست و باید این مورد را از پشتیبان یا سازنده قالب بپرسید. معمولا در پوشههای زیرین هست.
سلام
چجوری باید به این افزونه دستور noindex اضافه کنیم که گوگل پیج هارو ایندکس نکنه ؟
ممنون
درود دوره نبرد صفحه اول گوگل رو ببینید در این باره توضیح داده شده که باید چکار کنید.
سلام خسته نباشید، آقای مقدم فرمودید انفولد خودش داره، کجاشه ؟ چطوری باید فعال و تنظیمش کنیم ؟
درود موقع ساخت المنتها خودش این قابلیت رو داره. میتونید توی المنت وبلاگ مدل شماره صفحات رو انتخاب کنید.
سلام ، ممنون از سایت خوبتون . من از این مطلب شما استفاده کردم و افزونه رو نصب کردم . مشکلی که هست اینه وقتی کد مذکور رو به انتهای فایل index.php مکان قید شده اضافه میکنم کلا صفحه مطالب از کار میوفته و دیگه لود نمیشه . ممنون میشم پیشاپیش از راهنمایی شما
سلام سپاس باید جای صحیح اضافه کنید. بستگی به قالب شما داره که جای صحیحش کجا هست.
سلام خسته نباشید بنده از قالب انفولد استفاده می کنم
درون ویرایشگر اجازه نمیده این کد رو قرار بدم و اینکه اصلاً داخل این فایل ها چیزی بنام endwhile نیستش
لطفاً راهنمایی بفرمایید تشکر
درود
کاربر گرامی قالب انفولد خودش شماره صفحه دارد با این حال برای سفارشی سازی از یک برنامه نویس کمک بگیرید.
چطوری می تونم ازش استفاده کنم ؟
آموزش را ببینید .
سلام
دقیقا نگفتی کجای index.php باید بزاریم
اولش اخرش؟گجاش؟
سلام انتهای index.php باید قرار بگیره بعد از endwhile
سلام
سلام تو بخش صفحه بندی و title سایت یه سوال دارم که مشکل سایت شما هم هست فکر کنم
تو title صفحه اصلی من مثلا زده فروشگاه اینترنتی ایران وقتی میرم صفحه 2 بعد بعد title عوض نمیشه و همین فروشگاه اینترنتی ایران هست به جای اینکه بزنه فروشگاه اینترنتی ایران – صفحه 2 از 100 مثلا ( که تو سایت شما هم تست کردم همین مشکل رو داره.
هیچ مقاله ای تو سایت های ایرانی نیست که این مشکل رو توضیح داده باشه. تو سایت های خارجی هم سرچ کردم خیلیشون گفتن از افزونه یواسته که میگن از اونم نیست. کد title قالبم رو تغییر دادم باز درست نشد. قالبم جنه هستش.
میشه راهنمایی کنید چیکار باید کرد که تو title صفحه اصلی صفحه بندی رو هم بزنه که گوگل Duplicate title tags حساب نکنه صفحات رو؟
سلام افزونه صفحه بندی رو باید تغییر بدید یا اگر با قالب هست باید قالب رو ویرایش کنید یا تغییر بدید
سلام
ممنون از جوابتون
ولی چند بار این کارو کردم نشد
البته اینم بگم که سایت رو لوکال هاسته
منتظر جوابتون هستم
یاعلی
سلام متشکرم. روی هاست اصلی تست کنید
سلام روزتون بخیر
من این افزونه رو نصب کردم
فقط یه مشکل دارم ،و اون اینه که میخوام تو هربخش 15 تا یا 9 تا باکس مطلب یا محصول مطلب رو نشون بده
الان فقط تا 10تا نشون میده
آیا امکانش هست؟
چطوری باید این کارو بکنم؟
سایت رو خودم طراحی کردم
سلام از بخش تنظیمات > خواندن. تعداد ۱۰ رو به هر تعدادی که دوست دارید تغییر بدید
سلام چجوری میشه مثل سایت فارسروید دوتا پست تایپ شماره بندی کرد که به برگه دسته خودش بره؟
درود.
برای آشنایی با post type ها می توانید مطلب آموزشی زیر را مطالعه کنید :
https://mihanwp.com/post-type
سلام : از قالب islemag استفاده می کنم چگونه بجای نمایش متن “نوشته های کهنه تر و یا تازه” شماره بندی صفحات قرار بدهم؟
سلام. من این افزونه رو نصب و فعال کردم و کد فوق رو هم بین php?> و endwhile وارد کردم ولی هیچ اتفاقی نمیفته. قالب من divi هست و فقط فایل index.php رو از میون فایل هایی که گفتید داره. ممنون میشم اگه راهنمایی بفرمایید.
سلام ممنون فقط یه سوال من در وب سایتم مطالب دسته بندی رو چند بخش کردم و در صفحه اصلی با خاصیت <?php query_posts(‘showposts=2&cat=3’); ?> در نمایش هستند چجوری برای هر بخش جدا شماره صفحات بسازم در صفحه اصلی ؟؟؟؟؟ خواهشا راهنمایی کنید هر جا گشتم پیدا نکردم جوابشو ممنون
سلام باید با کد نویسی page numbers بسازید. به کد بالا posts_per_page=3 اضافه کنید
سلام :ممنون از مطالب خوبتونیه سوال داشتم من از شماره بندی صفحات بدون افزونه استفاده میکنم – واینکه چطور میشه اعدادش رو فارسی کرد + اعداد نمایش بازدید از پستمن از افزونه وردپرس فارسی استفاده میکنم ولی اعداد شماره صفحات و نمایش تعداد بازدید فارسی نشدهممنون میشم اگر راهنمایی کنید.
سلام فونت فارسي نصب كنيد مثلا بي يكان
سلام :از فونت ایران سنس استفاده میکنم ولی نشد باز
ایران سنس اعدادش انگلیسی هست. از نسخه اعداد فارسی ایران سنس استفاده کنید