كيفية إضافة رقم الصفحة إلى عنوان صفحة قائمة المنشورات في هوجو
بعض محركات البحث لا تحب عندما يكون لدى الموقع صفحات لها نفس العناوين...
لإضافة رقم الصفحة إلى عنوان صفحة المدونة في قائمة المنشورات في Hugo، تحتاج إلى تعديل نموذج القائمة الخاص بك
(عادة layouts/blog/list.html أو layouts/_default/list.html، أحيانًا حتى layouts/_default/baseof.html) لكي يكتشف إذا كنت على صفحة مُصنَّفة. ثم، تعديل العنوان ديناميكيًا عن طريق إلحاق رقم الصفحة عند الحاجة.
وصف عام
الفكرة الأساسية هي استخدام Hugo’s الكائن المُصنَّف المدمج وعرض رقم الصفحة بشكل مشروط إذا كان أكبر من 1. هذا هو كيفية القيام بذلك:
- الوصول إلى المُصنَّف:
استخدم.Paginator
على صفحة القائمة الخاصة بك للعمل مع التصنيف. - التحقق من الصفحة الحالية:
استخدم.Paginator.PageNumber
للحصول على رقم الصفحة الحالية. - منطق العنوان المشروط:
- إذا كنت على الصفحة 1، أظهر العنوان العادي (
{{ .Title }}
). - إذا كنت على الصفحة 2 أو أعلى، أضف
" - الصفحة X"
إلى عنوانك.
- إذا كنت على الصفحة 1، أظهر العنوان العادي (
مثال على نموذج Hugo (لنموذج list.html الخاص بك، أو داخل علامة `` في baseof.html/layouts):
{{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - الصفحة {{ .Paginator.PageNumber }}{{ end }}
أو، في نص الصفحة الفعلي:
{{ .Title }}{{ if gt .Paginator.PageNumber 1 }} - الصفحة {{ .Paginator.PageNumber }}{{ end }}
ملاحظات:
- يعمل هذا على صفحات القوائم المُصنَّفة (القسم، التصنيف، إلخ) لأن
.Paginator
متاح. .Paginator.PageNumber
يرجع رقم الصفحة الحالية.- أضف فقط “الصفحة X” للصفحات التالية، وليس للصفحة الأولى.
المراجع:
- دليل Hugo حول القوائم والتصنيف يظهر
.Paginator.Project
وعناوين ديناميكية كطريقة موصى بها. - قم بتعديل الموقع بناءً على ما إذا كنت ترغب في وضع هذا في علامة العنوان في المتصفح (أي،
<title>
) أو في العناوين داخل الصفحة.
إذا كنت ترغب في ظهور رقم الصفحة في عنصر HTML <title>
لتحسين محركات البحث، ضع المنطق أعلاه في الموقع المناسب في رأس HTML الخاص بك (غالبًا layouts/_default/baseof.html). أما بالنسبة للعناوين المرئية، فضعه في أي مكان تطبع فيه عنوان القسم.
لا يوجد قصير مخصص رسمي لهذا - إنه نمط يتم تطبيقه مباشرة باستخدام Hugo في نماذجك.
تعديل MainRoad
يستخدم هذا الموقع حاليًا نموذج Mainroad، لذلك لتحسين تحسين محركات البحث على هذه الصفحة، قمت بتحسين إنشاء العنوان في صفحات مؤشر المدونة كالتالي:
<title>{{ block "title" . }}{{ if .IsHome }}{{ .Site.Title }}{{ if and (eq .Kind "home") .Paginator (gt .Paginator.PageNumber 1) }} - الصفحة {{ .Paginator.PageNumber }}{{ end }}{{ else }}{{ .Title }}{{ if and (in (slice "section" "taxonomy" "term") .Kind) .Paginator (gt .Paginator.PageNumber 1) }} - الصفحة {{ .Paginator.PageNumber }}{{ end }} - {{ .Site.Title }}{{ end }}{{ end }}</title>