كيفية إضافة رقم الصفحة إلى عنوان صفحة قائمة المنشورات في هوجو

بعض محركات البحث لا تحب عندما يكون لدى الموقع صفحات لها نفس العناوين...

Page content

لإضافة رقم الصفحة إلى عنوان صفحة المدونة في قائمة المنشورات في Hugo، تحتاج إلى تعديل نموذج القائمة الخاص بك

(عادة layouts/blog/list.html أو layouts/_default/list.html، أحيانًا حتى layouts/_default/baseof.html) لكي يكتشف إذا كنت على صفحة مُصنَّفة. ثم، تعديل العنوان ديناميكيًا عن طريق إلحاق رقم الصفحة عند الحاجة.

hugo-site-generator

وصف عام

الفكرة الأساسية هي استخدام Hugo’s الكائن المُصنَّف المدمج وعرض رقم الصفحة بشكل مشروط إذا كان أكبر من 1. هذا هو كيفية القيام بذلك:

  1. الوصول إلى المُصنَّف:
    استخدم .Paginator على صفحة القائمة الخاصة بك للعمل مع التصنيف.
  2. التحقق من الصفحة الحالية:
    استخدم .Paginator.PageNumber للحصول على رقم الصفحة الحالية.
  3. منطق العنوان المشروط:
    • إذا كنت على الصفحة 1، أظهر العنوان العادي ({{ .Title }}).
    • إذا كنت على الصفحة 2 أو أعلى، أضف " - الصفحة X" إلى عنوانك.

مثال على نموذج 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>

روابط مفيدة