تحسين SEO في Hexo
كيفية تطبيق SEO في موقع Hexo، مولّد المواقع الثابتة المبني على Node.js: مزايا HTML الثابت، وضبط خرائط الموقع وrobots.txt والأوصاف وcanonical والروابط الدائمة.
اللغات
Hexo مولّد مواقع ثابتة مبني على Node.js؛ يحوّل hexo generate ملفات Markdown إلى HTML ثابت خالص، فيقرأ Googlebot المحتوى كاملاً من أول جلب بلا قائمة انتظار لعرض JavaScript. وهذه قاعدة قابلية الزحف لا SEO مكتملاً. لا توفر معظم القوالب الافتراضية خريطة موقع أو robots.txt أو وصف meta لكل مقال أو canonical أو بيانات منظمة؛ بل تضيفها عبر _config.yml وترويسة المقال وتعديلات القالب والإضافات. وأهم الفخاخ قيمة url: الخاطئة، والرابط الافتراضي القائم على التاريخ الذي ينكسر عند إعادة التسمية، وأرشيفات الفئات والوسوم منخفضة القيمة. أما المواقع الموجهة إلى Baidu فيزيل لها الناتج الثابت عائقاً حقيقياً في الزحف، لكنه لا يضمن الفهرسة أو الترتيب.
الخلاصة — يبني Hexo مدونتك مسبقاً كملفات HTML عادية، لذلك ترى Google المحتوى لحظة جلب الصفحة بلا انتظار JavaScript. هذا هو الجزء السهل. أما القيد فهو أن Hexo لا يضيف وحده خريطة موقع أو
robots.txtأو أوصاف meta أو وسوم canonical؛ بل تفعّلها ببعض الإضافات وإعدادات الضبط.
ما Hexo؟
Hexo إطار تدوين مجاني مبني على Node.js. تكتب المقالات بصيغة Markdown، وتشغّل hexo generate، فيحوّلها إلى ملفات HTML مكتملة ترفعها إلى مضيف مثل GitHub Pages أو Netlify أو Cloudflare Pages. وعندما يطلب قارئ أو Google صفحة، يحصل على HTML كاملاً فوراً، ولا يبقى شيء يبنيه المتصفح. Evidence for this claim Hexo generates static site files from source content. Scope: Hexo static generation. Confidence: high · Verified: Hexo documentation
هذا ممتاز لـSEO: يوجد النص والروابط في الصفحة منذ البايت الأول، فلا تحتاج Google إلى تشغيل JavaScript للعثور على المحتوى. ينتمي Hexo إلى عائلة Hugo وJekyll؛ فجميعها تبني كل شيء مسبقاً (راجع مولّدات المواقع الثابتة).
ما الذي لا يفعله Hexo لك؟
هنا يقع المبتدئون في الفخ: يفتقد موقع Hexo جديد بقالب افتراضي معظم أساسيات SEO، وعادةً تحتاج إلى إضافة ما يلي:
- خريطة موقع XML — ثبّت إضافة
hexo-generator-sitemap. Evidence for this claim The official Hexo sitemap generator creates sitemap.xml output. Scope: hexo-generator-sitemap plugin. Confidence: high · Verified: Hexo sitemap generator - ملف
robots.txt— ثبّتhexo-generator-robotstxtأو ضع ملفاً في مجلد المصدر. - أوصاف meta — أضف
description:إلى كل مقال، وتحتاج معظم القوالب إلى تعديل صغير كي تطبعه فعلياً. - وسوم canonical — تعتمد على القالب؛ ويستطيع قالب NexT الشائع إخراجها بعد ضبطه.
أهم إعدادين قبل الإطلاق
في ملف _config.yml:
- يجب ضبط
url:على عنوان موقعك الحقيقي معhttps://، مثلhttps://yourdomain.com. والخطأ فيه يوجه روابط خريطة الموقع وcanonical والخلاصة إلى المكان الخطأ. - يتحكم
permalink:في نمط URL. يضع الافتراضي التاريخ في كل عنوان، ويفضل كثيرون:title/الأنظف. أياً كان اختيارك، لا تغيّر عنوان المقال لاحقاً بلا إعادة توجيه، لأن ذلك يكسر الروابط ويفقد إشارات الترتيب.
أكثر ما يسيء الناس فهمه
«إنه HTML ثابت، إذن SEO تلقائي». لا. يعني HTML الثابت أن Google تستطيع الزحف إلى محتواك بسهولة؛ وهذه بداية جيدة لا خط النهاية. ما زلت تحتاج إلى خريطة الموقع وأوصاف meta ووسوم canonical ومحتوى جيد. والجزء الثابت يعني فقط أنك تتجنب مشكلات فهرسة JavaScript في تطبيقات الصفحة الواحدة.
هل تريد النسخة الكاملة، بكل الإضافات وإصلاحات قالب NexT وفخ المحتوى المكرر في صفحات الفئات والوسوم والبيانات المنظمة واستهداف Baidu؟ انتقل إلى تبويب Advanced.
الخلاصة — ينتج
hexo generateملفات HTML ثابتة خالصة، فيوجد المحتوى في أول بايت من الاستجابة بلا خدمة عرض ويب ولا تأخير للموجة الثانية. هذه قاعدة قابلية الزحف، وليست SEO مكتملاً. لا توفر القوالب الافتراضية خريطة موقع أو robots.txt أو وصف meta لكل مقال أو canonical أو بيانات منظمة؛ بل تضيفها عبر_config.ymlوترويسة المقال وتعديلات القالب والإضافات. وأهم الفخاخ: قيمةurl:الخاطئة تفسد canonical والخريطة والخلاصة؛ ونمط الرابط الافتراضي القائم على التاريخ يربط URL باسم الملف؛ وصفحات أرشيف الفئات والوسوم تنشئ محتوى مكرراً منخفض القيمة. أما المواقع الموجهة إلى Baidu فيمنحها الناتج الثابت ميزة حقيقية في الزحف.
الناتج الثابت لـHexo هو ميزة الزحف
يمرر hexo generate ملفات Markdown وقوالب التصميم عبر خطوة بناء، ويكتب مجلداً من HTML وCSS والأصول المكتملة. والحقيقة المهمة لـSEO هي متى يوجد HTML: مرة عند البناء وللجميع، لا عند كل طلب ولا في المتصفح. Evidence for this claim The Hexo generate command builds static files into the configured public directory. Scope: Hexo generate command. Confidence: high · Verified: Hexo: Commands
تصف Google مرحلتين لصفحات JavaScript: تجلب الموجة الأولى HTML الخام وتفهرس المحتوى الثابت فوراً، أما الثانية فهي قائمة مؤجلة لعرض Chromium بلا واجهة وقد تستغرق ثواني أو أياماً. يتجاوز ناتج Hexo الموجة الثانية بالكامل؛ فكل صفحة HTML خام عند أول جلب. وتقول إرشادات Google إن العرض الديناميكي “a workaround and not a long-term solution… use server-side rendering, static rendering, or hydration as a solution” (ترجمة) «حل التفافي لا حل طويل الأجل… استخدم العرض من جهة الخادم أو العرض الثابت أو hydration». وينتج Hexo العرض الثابت، وهو أحد الأساليب الثلاثة الموصى بها صراحةً.
وينتج عن ذلك مكسبان آخران:
- روابط قابلة للزحف افتراضياً. تُخرج قوالب Hexo روابط
<a href>عادية في HTML الثابت، فتستوفي شرط Google بأن تكون الروابط عناوين حقيقية قابلة للزحف، بلا تنقل مولّد بـJavaScript. - زحف منخفض التكلفة. تكاد الملفات الثابتة المقدمة من CDN لا تستهلك معالجة في الخادم لكل طلب، فيزحف Googlebot بالمعدل المسموح بلا خفض بسبب العبء. وكما قال Gary Illyes: “if you are making expensive database calls, that’s going to cost the server a lot” (ترجمة) «إذا أجريت استدعاءات مكلفة لقاعدة البيانات فسيكلف ذلك الخادم كثيراً»؛ ولا يجري Hexo أياً منها.
تنبيه: غياب ما يعطل العرض للزواحف لا يعني غيابه للمستخدمين. فما زالت JavaScript وCSS في القالب تؤثران في Core Web Vitals.
اضبط _config.yml أولاً؛ وurl: هو الأهم
اضبط هذه المفاتيح العامة قبل أول نشر:
url: https://yourdomain.com # must match your live domain, with https://
permalink: :title/ # or :year/:month/:day/:title/ (the default)
title: Site Title
description: Global meta description fallback
author: Your Name
language: en
meta_generator: false # removes the <meta name="generator" content="Hexo"> tagurl:أهم إعداد منفرد. إنه عنوان الموقع الأساسي الذي تستخدمه القوالب والمولّدات لوسوم canonical والخلاصات وخرائط الموقع وتقسيم الصفحات. وقد تنتشر قيمة خاطئة في كل هذه المخرجات. Evidence for this claim Hexo's url configuration supplies the website URL used by themes and generators. Scope: Exact downstream fields depend on the installed theme and plugins. Confidence: high · Verified: Hexo: Configurationpermalink:— ينتج الافتراضي:year/:month/:day/:title/عناوين قائمة على التاريخ تبدو قديمة مع الوقت وتربط slug باسم الملف. ومن الخيارات الأنظف/:title/أو/:category/:title/.- يزيل
meta_generator: falseبصمة مولّد Hexo من<head>. - هل تنشر في مجلد فرعي؟ لا تكفي
url:؛ اضبطroot:على مسار المجلد مثلroot: /blog/. يبنيurl_forروابط نسبةً إلى الجذر، بينما يضيفfull_url_forقيمةurl:كاملة. والخطأ فيroot:يجعل الروابط والخلاصات ومدخلات الخريطة تشير إلى جذر النطاق لا المسار الحقيقي. - أولوية الإعداد: يحدد
_config.ymlللموقع قيمurlوrootوpermalink، ثم تُضاف إعدادات القالب، سواء من ملفه المرفق_config.ymlأو من_config.<theme>.ymlفي جذر المشروع، للعرض من دون تجاوز بنية URL؛ فلا يستطيع القالب إصلاحurl:خاطئ. - الاختبار في الوضع الآمن؟ يعطل
hexo server --safeأوhexo --safeكل إضافة وبرنامج، فيغيب عن الناتج ملف الخريطة وrobots.txt ووسوم إضافات SEO. لا تستخدم معاينة الوضع الآمن لفحص SEO؛ شغّلhexo generateعادياً أولاً.
عناصر تحكم SEO في ترويسة المقال وما ينقصها
يمكنك الاعتماد على حقول ترويسة المقال الأصلية في Hexo التالية:
---
title: "Article Title for the <title> tag"
date: 2024-01-15
updated: 2024-06-01
tags: [tag1, tag2]
categories: [Category]
permalink: /custom-url/ # overrides the global pattern for this post
published: true
sitemap: false # exclude this post from sitemap.xml
---ما لا توفره ترويسة المقال الأصلية ويحتاج إلى دعم القالب أو تعديل قالب:
description، أي وصف meta: لا تطبعه معظم القوالب بلا تعديل.keywords، كلمات meta لكل مقال: وهي عديمة الجدوى إلى حد كبير؛ فقد تجاهلت Google<meta name="keywords">منذ 2009. تعامل معها أداة تنظيم لا وسيلة ترتيب.canonical، أي تحديد قيمة canonical بديلة: يعتمد على القالب.
حافظ على تحديث الحقل updated: عند مراجعة المقال؛ إذ تعتمد حداثة خريطة الموقع عليه.
الإضافات الأساسية
خريطة الموقع — hexo-generator-sitemap (رسمية):
npm install hexo-generator-sitemap --savesitemap:
path:
- sitemap.xml
tags: true
categories: trueتقرأ الإضافة lastmod من حقل updated لكل مقال، وتعود إلى date عند غيابه. وهذا مهم لأن Bing تحذر من أن lastmod “should reflect the true last modification time of the page content, not the sitemap file itself.” (ترجمة) «ينبغي أن يعكس وقت آخر تعديل حقيقي لمحتوى الصفحة لا لملف الخريطة نفسه». بعد hexo generate، أرسل sitemap.xml الناتج إلى Google Search Console وBing Webmaster Tools. وانتبه لتحذير Bing الآخر: “Do not submit a static sitemap and forget it. New pages won’t get picked up” (ترجمة) «لا ترسل خريطة ثابتة ثم تنسها، فالصفحات الجديدة لن تُلتقط». وفي Hexo يعني ذلك إعادة النشر والإرسال أو استخدام IndexNow بعد كل مقال جديد.
ملف robots.txt — hexo-generator-robotstxt:
npm install hexo-generator-robotstxt --saverobotstxt:
useragent: "*"
allow:
- /
disallow:
- /private/
sitemap: https://yourdomain.com/sitemap.xmlمن دونها لا ينتج Hexo ملف robots.txt إطلاقاً، ولا توجد إشارة إلى خريطة الموقع للزواحف.
RSS — hexo-generator-feed: مهم للمجمّعات وأهلية Google News؛ ويستخدم John Mueller نفسه خلاصة RSS في موقعه الثابت.
IndexNow — hexo-indexnow: توصي Bing بقرن خرائط الموقع بـIndexNow للإرسال الفوري على مستوى URL. ضع ملف المفتاح الناتج في source/ لينشر في yourdomain.com/<key>.txt. وهذا مخصص لـBing وYandex وغيرهما، لا Google التي لا تستخدم IndexNow للصفحات العامة.
ثبات الروابط الدائمة: إصلاح abbrlink
يعاني الرابط الافتراضي مشكلتين في SEO: يغير تبديل اسم ملف Markdown عنوان URL لأن slug يأتي من اسم الملف، وتنتج العناوين غير اللاتينية رموزاً مشوهة. تفصل hexo-abbrlink العنوان عن اسم الملف بكتابة تجزئة ثابتة في ترويسة المقال:
npm install hexo-abbrlink --savepermalink: posts/:abbrlink/
abbrlink:
alg: crc32 # crc16 or crc32
rep: hex # dec or hexتحصل على عنوان مثل /posts/3a9c2b1d/ يبقى عند تغيير اسم الملف أو الفئة أو التاريخ. وتظل القاعدة: بعد نشر URL لا تغيّره بلا إعادة توجيه 301؛ فتغيير الاسم من دونها يهدر قيمة الروابط وإشارات الترتيب المتراكمة.
وثمة فخان آخران ينبغي معرفتهما قبل اختيار النمط:
- لا تستخدم الرمز
:id. توثق Hexo أن معرفات المقالات لا تبقى بعد إعادة ضبط ذاكرة قاعدة البيانات المؤقتة؛ وقد يغير إعادة بنائها عناوين كل المقالات بصمت. استخدم:titleأو:abbrlinkأو رمزاً ثابتاً آخر. trailing_indexوtrailing_htmlعنصران منفصلان. يبدلهما إعدادpretty_urlsكلٌ على حدة؛ أحدهما يزيلindex.htmlاللاحق من الروابط، والآخر يضيف شرطة مائلة نهائية. وإذا لم يطابقا طريقة حل المضيف للعناوين، إذ يعيد بعض المضيفين توجيه/postإلى/post/ولا يفعل آخرون، فقد تختلف الروابط الداخلية وcanonical والخريطة عن URL الذي يقدمه الخادم فعلاً.
إعداد SEO في قالب NexT
NexT أشهر قوالب Hexo، ويُضبط في _config.next.yml:
canonical: true # builds canonical from url: + page path
webmaster_tools:
google: VERIFICATION_STRING
bing: VERIFICATION_STRING
baidu: VERIFICATION_STRING
open_graph:
enable: true
twitter_card: summary_large_imageفجوة وصف meta في NexT: لا يحقن NexT تلقائياً <meta name="description"> لكل مقال من description: في ترويسة المقال. عليك تعديل قالب الرأس ليستخدم page.description ثم يعود إلى وصف الموقع عند غيابه. وهذه أكثر هفوات SEO شيوعاً في NexT. لكنه يدعم canonical: true وOpen Graph وTwitter Cards بعد تفعيلها.
في القوالب الأخرى، تنشئ أو تعدل عادةً جزء الرأس لإخراج og:title وog:description وog:image وog:url وtwitter:card؛ ويختلف الدعم كثيراً بين القوالب.
من يملك كل وسم عندما يخرجه القالب والإضافة معاً؟ قد يحاول دعم Open Graph وcanonical في القالب وإضافة شاملة مثل hexo-seo كتابة الوسم نفسه. وتشغيلهما معاً ينتج وسوم <meta> أو canonical أو كتل JSON-LD مكررة أو متعارضة في <head>. اختر طبقة واحدة مالكة لكل فئة وسوم، القالب أو الإضافة، وعطّل الميزة المقابلة في الأخرى قبل النشر.
صفحات الفئات والوسوم: فخ المحتوى المكرر
ينشئ Hexo تلقائياً صفحة أرشيف لكل فئة ووسم، مليئة بمقتطفات تظهر أيضاً في المقالات نفسها. وعلى نطاق واسع يصبح ذلك مئات الصفحات منخفضة القيمة التي تتنافس على الاستعلامات نفسها وتشتت انتباه الزحف. خياراتك:
sitemap: falseلكل أرشيف، وهو غير عملي على نطاق واسع.- إضافة
noindexفي قوالب أرشيف الفئات والوسوم. - إبقاؤها مفهرسة فقط إذا كانت الفئة مركز موضوع منسقاً وحقيقياً ذا قيمة.
- استخدام canonical ذاتي المرجع لكل صفحة من الأرشيف المقسّم؛ تشير الصفحة 2 إلى نفسها لا إلى الصفحة 1.
تنبيه للخيار الثاني: يؤدي noindex طويل الأجل في النهاية إلى توقف Google عن اتباع روابط الصفحة، وقد يقلل الزحف إلى مقالات لا تصل إليها إلا عبر تلك الوسوم. تأكد من إمكان الوصول إليها بطريقة أخرى.
قائمة مساراتك أكبر من source/. لا تأتي صفحات الفئات والوسوم والأرشيف والتقسيم من ملفات Markdown؛ بل تنشئها واجهة مولّد Hexo، ويمكن للقوالب والإضافات تسجيل مولّداتها أيضاً. لذلك قد يتوسع سطح URL القابل للزحف بصمت أبعد مما تتوقعه عند تصفح source/. بعد تثبيت قالب أو إضافة أو تحديثهما، شغّل hexo generate وقارن قائمة المسارات في public/ بدلاً من افتراض معرفتك بكل URL ينتجه Hexo.
البيانات المنظمة وJSON-LD
لا يحقن Hexo بيانات منظمة افتراضياً. إما أن تضيف كتلة JSON-LD من نوع BlogPosting إلى قالب المقال، مع headline وdatePublished وdateModified وauthor وpublisher وurl، أو تستخدم إضافة شاملة مثل hexo-seo تولد schema لمسار التنقل والموقع والمقال.
مؤشرات Core Web Vitals
الناتج الثابت سريع، لكن القوالب قد تهدر ذلك. تجمع NexT وقوالب كثيرة مكتبات كبيرة من JS وCSS وخطوط الأيقونات، وكثيراً ما يكون Font Awesome سبباً في LCP أو حجب العرض. راجع باستخدام Lighthouse، ثم استخدم hexo-all-minifier لضغط HTML/CSS/JS وقت البناء وhexo-lazyload-image وdefer أو async لبرامج الجهات الخارجية.
استهداف Baidu للمواقع ذات الجمهور الصيني
لا يتعامل زاحف Baidu جيداً مع JavaScript، لذلك يزيل HTML الثابت في Hexo عائقاً أمام الاكتشاف. أضف baidu_site_verification في NexT، وأنشئ خريطة بصيغة Baidu عبر hexo-generator-baidu-sitemap، وادفع العناوين عبر hexo-submit-urls-to-search-engine. ملاحظة استضافة: GitHub Pages محجوب في بر الصين الرئيسي؛ استخدم Gitee Pages أو Cloudflare أو CDN صينياً لزيارات Baidu.
تعامل مع ذلك كميزة في قابلية الزحف لا ضماناً. لا يثبت HTML الثابت وحده أن Baidu يكتشف صفحاتك أو يفهرسها أو يرتبها؛ تحقق من نشاط الزحف وحالة الفهرسة مباشرةً في Baidu Ziyuan بدلاً من افتراض أن الناتج الثابت يضمن الظهور.
النشر على GitHub Pages: فخاخ SEO
- اضبط
url:على عنوانك المنشور، بنطاق مخصص وhttps://، قبل أول نشر. - ضع ملف
CNAMEفيsource/للنطاقات المخصصة كي لا يُعاد ضبطه مع كلhexo deploy. - افرض HTTPS من Settings ← Pages في المستودع بعد انتشار DNS.
- فضّل سير عمل GitHub Actions على
hexo-deployer-gitلتجنب مشكلات إعادة ضبط CNAME.
Hexo مقابل Hugo وJekyll وAstro من منظور SEO
تنتج الأربعة HTML ثابتاً خالصاً، لذلك قاعدة قابلية الفهرسة متطابقة، ولا عيب في Hexo على مستوى الإطار. الفروق تشغيلية: يبني Hugo بلغة Go أسرع كثيراً على نطاق واسع ويوفر خريطة مدمجة؛ وJekyll هو افتراضي GitHub Pages؛ ويقدم Astro صفراً من JS افتراضياً عبر الجزر. وميزة Hexo منظومة إضافات npm غنية ومجتمع صيني كبير. تحدد جودة المحتوى الترتيب لا المولّد. وكما قال Mueller عن تبديل المولّدات: “Will your site’s SEO suddenly explode? No. Also No.” (ترجمة) «هل سينفجر SEO في موقعك فجأة؟ لا، ولا أيضاً».
للاطلاع على نظرة عامة إلى المجموعة والمولّدات الأخرى، راجع مولّدات المواقع الثابتة؛ وللصورة الأشمل للعرض، راجع SEO وJavaScript.
ملخص بالذكاء الاصطناعي
خلاصة مكثفة لنسخة Advanced:
- Hexo مولّد مواقع ثابتة مبني على Node.js. ينتج
hexo generateملفات HTML ثابتة خالصة، فيوجد المحتوى في أول بايت من الاستجابة، بلا خدمة عرض ويب ولا تأخير قائمة عرض الموجة الثانية. وتحصل افتراضياً على روابط<a href>قابلة للزحف وملفات CDN قليلة الكلفة في الزحف. - HTML الثابت هو الحد الأدنى لقابلية الزحف، لا SEO مكتمل. لا تتضمن القوالب الافتراضية خريطة موقع أو robots.txt أو وصف meta لكل مقال أو canonical أو بيانات منظمة.
- اضبط
_config.ymlأولاً.url:هو الإعداد الأشد أثراً؛ فهو يغذي canonical والخريطة وRSS والتقسيم، وقيمته الخاطئة تفسدها كلها. ويحتاج النشر في مجلد فرعي إلى ضبطroot:أيضاً. اخترpermalink:نظيفاً، وتجنب الرمز:idلأنه لا يبقى بعد إعادة ضبط الذاكرة المؤقتة، واضبطmeta_generator: false. لا يستطيع إعداد القالب تجاوزurlأوrootأوpermalinkعلى مستوى الموقع، كما تعطل معاينة الوضع الآمن--safeكل إضافة وبرنامج؛ فلا تفحص مخرجات SEO فيها. - تنجز الإضافات العمل الأساسي:
hexo-generator-sitemap(يقرأlastmodمن الحقلupdated)، وhexo-generator-robotstxt، وhexo-generator-feed، وhexo-indexnowلـBing وYandex لا Google، وhexo-abbrlinkللروابط الدائمة الثابتة. - قالب NexT: يدعم canonical وOpen Graph، لكنه لا يطبع تلقائياً وصف meta لكل مقال؛ ويكون تعديل القالب هو الإصلاح الأكثر شيوعاً. وإذا استطاع القالب وإضافة SEO إصدار الوسوم نفسها، فعّل مالكاً واحداً فقط لكل فئة كي تتجنب التكرار.
- ثلاثة فخاخ: قيمة
url:الخاطئة؛ والرابط الافتراضي القائم على التاريخ الذي يكسر الروابط عند إعادة التسمية، فلا تغيّر URL بلا 301؛ وأرشيفات الفئات والوسوم المنشأة تلقائياً التي تصنع محتوى مكرراً منخفض القيمة، فإما noindex أو canonical مناسب. تنشأ مسارات الأرشيف والوسوم والتقسيم من واجهة مولّد Hexo لا من ملفاتsource/، وقد يوسع تحديث قالب أو إضافة سطح URL القابل للفهرسة بصمت؛ لذلك قارنpublic/بعد التغييرات. - Baidu: يزيل الناتج الثابت عائقاً حقيقياً لأن زاحف Baidu ضعيف مع JavaScript، لكنها ميزة قابلية زحف لا ضمان فهرسة أو ترتيب؛ تحقق في Baidu Ziyuan. وGitHub Pages محجوب في الصين، فاستخدم Gitee أو Cloudflare أو CDN صينياً.
- مقارنةً بـHugo وJekyll وAstro: الحد الأدنى لقابلية الفهرسة واحد؛ وتكمن ميزة Hexo في منظومة إضافات npm والمجتمع الصيني. جودة المحتوى هي التي تحدد الترتيب لا المولّد.
الوثائق الرسمية
وثائق من المصادر الأولية: Hexo ومحركات البحث والإضافات الرئيسية.
Hexo
- وثائق Hexo — نظرة عامة إلى الإطار.
- الإعداد —
urlوpermalinkوmeta_generatorوبقية_config.yml. - الروابط الدائمة — متغيرات أنماط URL ومفاضلاتها.
- ترويسة المقال — الحقول الأصلية التي يدعمها Hexo لكل مقال.
- النشر على GitHub Pages — دليل النشر الرسمي.
الإضافات
- hexo-generator-sitemap — إضافة خريطة الموقع الرسمية.
- hexo-abbrlink — روابط دائمة ثابتة قائمة على التجزئة.
- إعدادات SEO في قالب NexT — canonical والتحقق لمشرفي المواقع وOpen Graph.
محركات البحث: العرض والروابط وخرائط الموقع
- أساسيات SEO وJavaScript — مراحل الزحف ← العرض ← الفهرسة التي يتيح البناء الثابت تخطيها للمحتوى.
- العرض الديناميكي (موقوف) — توصية Google باستخدام العرض الثابت بدلاً منه.
- اجعل روابطك قابلة للزحف — شرط
<a href>الذي يستوفيه Hexo افتراضياً. - دليل SEO لمطوري الويب — العناوين والأوصاف وcanonical وخرائط الموقع والبيانات المنظمة.
- Bing: إبقاء المحتوى قابلاً للاكتشاف بخرائط الموقع — تفضيل XML ودقة
lastmodوIndexNow.
اقتباسات من المصادر
تصريحات موثقة من Google وBing وJohn Mueller ترتبط مباشرةً بموقع Hexo ثابت.
Google: العرض الثابت هو المسار الموصى به
- “Dynamic rendering was a workaround and not a long-term solution for problems with JavaScript-generated content in search engines… Instead, we recommend that you use server-side rendering, static rendering, or hydration as a solution.” (ترجمة) «كان العرض الديناميكي حلاً التفافياً لا حلاً طويل الأجل لمشكلات المحتوى المنشأ بـJavaScript في محركات البحث… ونوصي بدلاً منه بالعرض من جهة الخادم أو العرض الثابت أو hydration». ينتج Hexo عرضاً ثابتاً. المصدر
- “Server-side or pre-rendering is still a great idea because it makes your website faster for users and crawlers, and not all bots can run JavaScript.” (ترجمة) «يظل العرض من جهة الخادم أو العرض المسبق فكرة ممتازة، لأنه يجعل الموقع أسرع للمستخدمين والزواحف، ولأن الروبوتات لا تستطيع كلها تشغيل JavaScript». المصدر
Bing: خرائط الموقع والحداثة
- “XML remains the preferred format for sitemaps” (ترجمة) «تظل XML الصيغة المفضلة لخرائط الموقع»، لأنها تدعم بيانات منظمة مثل
lastmodلتقييم الحداثة. المصدر - تقول عن
lastmodإنه “should reflect the true last modification time of the page content, not the sitemap file itself.” (ترجمة) «ينبغي أن يعكس وقت آخر تعديل حقيقي لمحتوى الصفحة لا لملف الخريطة نفسه»؛ وهنا يجب إبقاء حقلupdatedفي Hexo محدثاً. المصدر - “By combining sitemaps for comprehensive site coverage with IndexNow for fast, URL-level submission, you provide the strongest foundation for keeping your content fresh, discoverable, and visible.” (ترجمة) «بجمع خرائط الموقع للتغطية الشاملة مع IndexNow للإرسال السريع على مستوى URL، توفر أقوى أساس لإبقاء المحتوى حديثاً وقابلاً للاكتشاف والظهور». المصدر
Gary Illyes من Google: زحف المواقع الثابتة قليل الكلفة
- “If you are making expensive database calls, that’s going to cost the server a lot.” (ترجمة) «إذا أجريت استدعاءات مكلفة لقاعدة البيانات فسيكلف ذلك الخادم كثيراً»؛ ولا يفعل HTML الثابت المقدم من CDN ذلك. التغطية
John Mueller: تبديل المولّد ليس وحده مكسباً في SEO
- “Will this change how your site appears in all search engines? Will your site’s SEO suddenly explode? No. Also No.” (ترجمة) «هل سيغيّر هذا ظهور موقعك في كل محركات البحث؟ وهل سينفجر SEO فيه فجأة؟ لا، ولا أيضاً»؛ فجودة المحتوى لا اختيار المولّد هي التي تقود الترتيب. المصدر
قائمة تحقق SEO في Hexo
مراجعة للتأكد من ملاءمة موقع Hexo للبحث؛ ومعظم هذه الميزات معطل افتراضياً:
- قيمة
url:في_config.ymlهي نطاقك الحي معhttps://، وليست عنصراً نائباً أوhttp://. وإذا كان النشر في مجلد فرعي، فضبطتroot:أيضاً. - اخترت نمط رابط دائم لن يتغير، ويفضل
:title/أوhexo-abbrlinkللتجزئات الثابتة. ولم تستخدم الرمز:idلأنه لا يبقى بعد إعادة ضبط ذاكرة قاعدة البيانات المؤقتة. - إذا كان القالب وإضافة SEO يستطيعان إصدار وسوم canonical أو OG أو JSON-LD، فهناك مالك واحد فقط مفعّل لكل فئة، لا كلاهما.
- ضبطت
meta_generator: falseلإزالة بصمة Hexo، وهذا اختياري لكنه أنظف. - ثبّت
hexo-generator-sitemap؛ ويُنشأsitemap.xmlويُرسل إلى Google Search Console وBing Webmaster Tools. - تحافظ على تحديث الحقل
updated:في ترويسة المقال كي يكونlastmodفي الخريطة دقيقاً. - ثبّت
hexo-generator-robotstxt، أو وضعتrobots.txtيدوياً فيsource/، مع إشارة إلى الخريطة. - لكل مقال
description:، والقالب يطبع فعلياً<meta name="description">، مع تعديل NexT عند الحاجة. - تصدر وسوم canonical وتشير إلى عناوين HTTPS الحية؛ وفي NexT:
canonical: true. - توجد وسوم Open Graph وTwitter Card، من NexT أو تعديل جزء الرأس.
- أضفت JSON-LD من نوع
BlogPosting، عبر مقطع قالب أو إضافةhexo-seo. - عالجت أرشيفات الفئات والوسوم: noindex أو canonical مناسب أو إبقاء مراكز موضوع حقيقية فقط، لا نسخ منخفضة القيمة.
- لكل صفحة أرشيف مقسمة canonical ذاتي المرجع؛ الصفحة 2 تشير إلى الصفحة 2 لا الأولى.
- راجعت JavaScript وCSS في القالب عبر Lighthouse، ونظرت في إضافات الضغط والتحميل الكسول للصور.
- في GitHub Pages: يوجد
CNAMEفيsource/، وHTTPS مفروض، والنشر عبر Actions لتجنب إعادة ضبط CNAME. - مواقع Baidu ليست على GitHub Pages، وضبطت تحقق Baidu وخريطته ودفع URL.
- لم تغيّر أي URL قط بلا إعادة توجيه 301.
ورقة مرجعية سريعة لـSEO في Hexo
ما هو مفعّل افتراضياً وما يجب إضافته
| ميزة SEO | افتراضي Hexo | كيفية توفيرها |
|---|---|---|
| HTML ثابت ومحتوى قابل للزحف | نعم | hexo generate |
روابط <a href> قابلة للزحف | نعم | قوالب التصميم |
| خريطة موقع XML | لا | hexo-generator-sitemap |
| robots.txt | لا | hexo-generator-robotstxt أو ملف يدوي |
| خلاصة RSS | لا | hexo-generator-feed |
| وصف meta لكل مقال | لا، يعتمد على القالب | description: مع تعديل القالب |
| وسم canonical | لا، يعتمد على القالب | canonical: true في NexT |
| Open Graph وTwitter Card | لا، يعتمد على القالب | دعم NexT أو تعديل جزء الرأس |
| بيانات منظمة JSON-LD | لا | مقطع قالب أو إضافة hexo-seo |
| روابط دائمة ثابتة | لا، قائمة على التاريخ/اسم الملف | hexo-abbrlink |
| إرسال IndexNow | لا | hexo-indexnow لـBing وYandex، لا Google |
أهم إعدادات _config.yml
| الإعداد | سبب أهميته |
|---|---|
url: | أساس canonical والخريطة وRSS والتقسيم؛ وقيمته الخاطئة تفسدها كلها |
root: | مسار المجلد الفرعي عند النشر فيه؛ وهو مطلوب مع url: وإلا تعطلت الروابط النسبية إلى الجذر |
permalink: | الافتراضي قائم على التاريخ؛ و:title/ أنظف؛ لا تغيّره بعد النشر وتجنب الرمز :id غير الدائم |
meta_generator: false | يزيل الوسم <meta name="generator" content="Hexo"> |
أوامر تثبيت الإضافات
npm install hexo-generator-sitemap --save
npm install hexo-generator-robotstxt --save
npm install hexo-generator-feed --save
npm install hexo-abbrlink --save
npm install hexo-indexnow --saveحقائق سريعة
- يتجاوز ناتج Hexo قائمة عرض الموجة الثانية لدى Google، لأن المحتوى موجود في أول جلب.
- يأتي
lastmodمن الحقلupdated، أو يعود إلىdate؛ فحافظ على تحديثه. - تتجاهل Google
<meta name="keywords">منذ 2009؛ فهو للتنظيم فقط. - تُنشأ أرشيفات الفئات والوسوم تلقائياً وتكون منخفضة القيمة؛ استخدم noindex أو canonical مناسباً.
- زاحف Baidu ضعيف مع JavaScript، لذا يمنح Hexo الثابت ميزة، لكن GitHub Pages محجوب في الصين.
بناء موقع Hexo وتشغيله والتحقق منه
حلقة بناء Hexo الأساسية واحدة في كل مكان، ولا تختلف إلا واجهة الأوامر المستخدمة.
macOS وLinux
# install dependencies and the SEO plugins
npm install
npm install hexo-generator-sitemap hexo-generator-robotstxt hexo-generator-feed --save
# clean stale output, then build the static HTML
npx hexo clean && npx hexo generate
# preview locally before deploying
npx hexo server
# confirm the sitemap and robots.txt were actually generated
ls public/sitemap.xml public/robots.txtعلى Windows (PowerShell)
# install dependencies and the SEO plugins
npm install
npm install hexo-generator-sitemap hexo-generator-robotstxt hexo-generator-feed --save
# clean stale output, then build the static HTML
npx hexo clean; npx hexo generate
# preview locally before deploying
npx hexo server
# confirm the sitemap and robots.txt were actually generated
Get-ChildItem public\sitemap.xml, public\robots.txtالتأكد من وجود المحتوى في HTML الخام، لا في ناتج عرض JavaScript
جوهر Hexo هو أن المحتوى موجود سلفاً في HTML. تحقق من ذلك بالتأكد من ظهور نص المقال في الاستجابة الخام قبل تشغيل أي JavaScript.
macOS وLinux
# fetch the raw HTML and search for a phrase from your post body
curl -s https://yourdomain.com/your-post/ | grep -i "a sentence from your post"
# confirm the canonical tag points at the live HTTPS URL
curl -s https://yourdomain.com/your-post/ | grep -i 'rel="canonical"'على Windows (PowerShell)
# fetch the raw HTML and search for a phrase from your post body
(Invoke-WebRequest https://yourdomain.com/your-post/).Content | Select-String "a sentence from your post"
# confirm the canonical tag points at the live HTTPS URL
(Invoke-WebRequest https://yourdomain.com/your-post/).Content | Select-String 'rel="canonical"'إذا ظهرت العبارة في ناتج curl أو Invoke-WebRequest، فهي موجودة في HTML الثابت وتراها Google في الموجة الأولى، وهذا هو المطلوب.
أدوات SEO في Hexo
إضافات Hexo، أي حزمة أدوات SEO
- hexo-generator-sitemap — مولّد خريطة XML الرسمي؛ يقرأ
lastmodمن الحقلupdated. - hexo-generator-robotstxt — ينشئ
robots.txtمع إشارة إلى الخريطة. - hexo-generator-feed — خلاصة RSS أو Atom للمجمّعات وأهلية Google News.
- hexo-abbrlink — روابط دائمة ثابتة قائمة على التجزئة تتحمل إعادة تسمية الملفات.
- hexo-indexnow وhexo-submit-urls-to-search-engine — يدفعان العناوين المتغيرة إلى Bing عبر IndexNow وإلى Baidu على الترتيب.
- hexo-all-minifier وhexo-lazyload-image — مساعدان لتحسين Core Web Vitals.
- hexo-seo — خيار شامل يولّد البيانات المنظمة.
الاختبار والمراقبة
- Google Search Console — إرسال الخريطة وفحص العناوين ومراقبة الفهرسة.
- Bing Webmaster Tools — إرسال الخريطة وضبط IndexNow وتشغيل Site Scan.
- Baidu Webmaster (Ziyuan) — التحقق ودفع العناوين للمواقع الموجهة إلى جمهور صيني.
- Lighthouse وPageSpeed Insights — تدقيق JavaScript وCSS في القالب بحثاً عن تراجعات Core Web Vitals.
- عرض المصدر وcurl — التأكد من وجود المحتوى وcanonical ووصف meta في HTML الخام؛ راجع تبويب Scripts.
أخطاء SEO في Hexo ينبغي تجنبها
أخطاء ملموسة تقع فعلاً عند إعداد موقع Hexo أو نقله؛ هذه وقاية لا تشخيص، وللتشخيص راجع تبويب Troubleshooting.
ترك url: كعنصر نائب أو على http://
نشر الموقع مع بقاء url: http://yoursite.com على قيمة القالب الابتدائي الافتراضية أو البروتوكول الخاطئ خطأ، لأن canonical والخريطة وروابط RSS والتقسيم كلها تُبنى من هذه القيمة، فتشير بصمت إلى عنوان خاطئ. الحل: اضبط url: على نطاقك الحي الحقيقي مع https:// قبل أول hexo generate، وراجعه كلما نقلت النطاق.
إعادة تسمية ملف مقال أو تغيير slug بلا إعادة توجيه
يشتق الرابط الافتراضي URL من اسم ملف المقال وتاريخه، لذلك تغير إعادة تسمية ملف Markdown أو تعديل التاريخ عنوان URL الحي. والخطأ أن كل رابط وارد وإشارة ترتيب متراكمة في العنوان القديم ستواجه 404. الحل: انتقل إلى hexo-abbrlink لرابط ثابت قائم على التجزئة قبل تراكم الروابط، وإذا اضطررت إلى تغيير URL منشور فأضف إعادة توجيه 301 لدى المضيف أو CDN.
النشر بلا hexo-generator-sitemap وhexo-generator-robotstxt
افتراض أن مولّد المواقع الثابتة يتولى أساسيات الزواحف تلقائياً خطأ؛ فتثبيت Hexo الافتراضي لا ينتج خريطة ولا robots.txt، ولا توجد إشارة إلى الخريطة تستطيع الزواحف العثور عليها. الحل: ثبّت الإضافتين، وتأكد من وجود public/sitemap.xml وpublic/robots.txt بعد hexo generate، ثم أرسل الخريطة إلى Search Console وBing Webmaster Tools.
ترك أرشيفات الفئات والوسوم متاحة للفهرسة على نطاق واسع
ترك صفحات الفئات والوسوم التي ينشئها Hexo تتراكم مع زيادة المقالات خطأ؛ فكل أرشيف مليء بمقتطفات تكرر المقالات نفسها، وينتهي بك الأمر إلى مئات الصفحات منخفضة القيمة التي تتنافس على الاستعلامات ذاتها وتشتت انتباه الزحف. الحل: أضف noindex إلى قوالب الأرشيف، واجعل صفحات الأرشيف المقسمة ذات canonical ذاتي المرجع، أو أبقِ الفئة مفهرسة فقط إذا كانت مركز موضوع حقيقياً ومنسقاً.
افتراض أن hexo-indexnow يشمل Google أيضاً
تثبيت IndexNow وتوقع تسريع فهرسة Google خطأ؛ فهو بروتوكول لـBing وYandex وBaidu، ولا تستهلكه Google للصفحات العامة، لذلك تظل بحاجة إلى خريطة مرسلة كي تكتشف Google العناوين. الحل: استخدم IndexNow لحداثة Bing وYandex، واعتمد على الخريطة والزحف العادي لدى Google.
النشر على GitHub Pages بلا CNAME دائم
الاعتماد على hexo-deployer-git وحده مع نطاق مخصص خطأ؛ فقد تعيد بعض مسارات النشر ضبط ملف CNAME أو تستبعده، فيعود نطاقك المخصص بصمت إلى عنوان github.io الافتراضي ويتعطل فرض HTTPS. الحل: احتفظ بملف CNAME في source/ ليخرج مع كل بناء، وفضّل سير عمل GitHub Actions ينشر مجلد public/ المبني كاملاً.
مشكلات SEO الشائعة في Hexo
مرجع يبدأ بالأعراض للمشكلات الموجودة بالفعل في موقع Hexo.
يعيد sitemap.xml استجابة 404 بعد النشر
العَرَض: يعيد https://yoursite.com/sitemap.xml استجابة 404، أو تبلغ Search Console عن تعذر جلب الخريطة.
السبب المرجح: إضافة hexo-generator-sitemap غير مثبتة أو غير مدرجة في _config.yml، أو لم يُنشر ناتج البناء public/ كاملاً، بسبب رفع جزئي أو خطوة نشر تستبعد ملفات XML أو الملفات المخفية.
الإصلاح والتحقق: شغّل npm install hexo-generator-sitemap --save، وأضف كتلة sitemap: إلى _config.yml، ثم شغّل hexo clean && hexo generate وتأكد من وجود public/sitemap.xml محلياً قبل النشر. وبعد إعادة النشر، اجلب العنوان الحي مباشرةً عبر curl -I https://yoursite.com/sitemap.xml وتأكد من استجابة 200.
تعرض Google Search Console الحالة «مكتشفة، وغير مفهرسة حالياً»
العَرَض: المقالات قابلة للزحف وتحمّل جيداً في المتصفح، لكن تقرير فهرسة الصفحات في Search Console يبقيها في الحالة “Discovered — currently not indexed” (ترجمة) «مكتشفة، وغير مفهرسة حالياً» لأسابيع.
السبب المرجح: تستهلك صفحات أرشيف الفئات والوسوم منخفضة القيمة حصة غير متناسبة من انتباه الزحف، أو أن المقالات نفسها منخفضة القيمة أو تكرر الأرشيفات التي تعرض مقتطفاتها.
الإصلاح والتحقق: أضف noindex إلى أرشيفات الفئات والوسوم المنشأة تلقائياً أو اضبط canonical فيها، كما في قسم الأنماط الخاطئة أعلاه؛ واطلب فهرسة عدد قليل من العناوين المتأثرة في Search Console، ثم راجع تقرير فهرسة الصفحات بعد بضعة أيام إلى أسبوعين، فهذه ليست إشارة فورية.
وصف meta لا يظهر في مقتطفات البحث
العَرَض: يحتوي المقال على الحقل description: في ترويسة المقال، لكن Google تعرض مقتطفاً منشأً تلقائياً، أو لا يظهر وسم <meta name="description"> إطلاقاً عند استخدام view-source:.
السبب المرجح: قالب الرأس لا يطبع page.description؛ وهذه فجوة NexT الأكثر شيوعاً وتؤثر في قوالب أخرى أيضاً.
الإصلاح والتحقق: عدّل جزء الرأس في القالب ليخرج <meta name="description" content="{{ page.description or config.description }}"> بأسلوب قوالب NexT، ثم أعد البناء وشغّل curl -s https://yoursite.com/your-post/ | grep -i 'name="description"' للتأكد من وجود الوسم في HTML الخام قبل انتظار تحديث المقتطف.
وسم canonical مفقود أو يشير إلى URL خاطئ
العَرَض: لا يعرض جلب المقال عبر curl وسم rel="canonical"، أو يشير إلى http:// بدلاً من https:// أو إلى نطاق قديم.
السبب المرجح: ميزة canonical في القالب غير مفعلة؛ إذ يحتاج NexT إلى canonical: true في _config.next.yml، أو أن url: في _config.yml الرئيسي خاطئ، لأن canonical يُبنى من عنوان الأساس هذا.
الإصلاح والتحقق: تأكد أولاً من صحة url:، ثم فعّل خيار canonical في القالب وأعد البناء وافحص عبر curl -s https://yoursite.com/your-post/ | grep -i 'rel="canonical"'؛ وينبغي أن تطابق القيمة عنوان HTTPS الحي تماماً.
يعود النطاق المخصص إلى username.github.io بعد النشر
العَرَض: يتوقف نطاق مخصص كان يعمل على GitHub Pages عن الاستجابة بعد hexo deploy اعتيادي، ويعود إلى عنوان github.io الافتراضي.
السبب المرجح: استبدلت عملية النشر ملف CNAME الذي تقرأه GitHub Pages لمعرفة نطاقك المخصص أو استبعدته.
الإصلاح والتحقق: ضع أو استعد ملف CNAME يحتوي نطاقك وحده داخل source/ كي يُنسخ إلى كل بناء، ثم أعد النشر وتأكد في Settings ← Pages بالمستودع من أن حقل النطاق المخصص ما زال يعرض نطاقك مع فرض HTTPS.
Baidu لا يفهرس الموقع إطلاقاً
العَرَض: يعرض Baidu Ziyuan، أي Baidu Webmaster، نشاط زحف ضئيلاً أو معدوماً رغم أن Google تفهرس الموقع جيداً.
السبب المرجح: الموقع مستضاف على GitHub Pages المحجوب في بر الصين الرئيسي، لذلك كثيراً ما يعجز زاحف Baidu عن الوصول إليه باستمرار.
الإصلاح والتحقق: انقل الاستضافة الموجهة إلى Baidu إلى Gitee Pages أو Cloudflare أو CDN صيني، وأضف تحقق Baidu وخريطة بصيغته عبر hexo-generator-baidu-sitemap، ثم راقب تقرير وتيرة الزحف في Baidu Ziyuan خلال الأسابيع التالية بحثاً عن عودة النشاط.
اختبر نفسك: SEO في Hexo
خمسة أسئلة سريعة عن تطبيق SEO مع مولّد المواقع الثابتة Hexo. اختر إجابة لكل سؤال ثم تحقق منها.
موارد تستحق وقتك
مقالات أخرى لي
- JavaScript SEO: A Definitive Guide — العرض وتطابق DOM، ولماذا يمثل الناتج الثابت أو المعروض مسبقاً الطرف الأقل مخاطرة.
- The Beginner’s Guide to Technical SEO — موضع بنية العرض في الصورة الأوسع.
محاضراتي
- How Search Works على SlideShare — شرحي لمسار الزحف والعرض والفهرسة والترتيب. وينطبق تنبيهي الدائم: “This is my understanding of systems… not going to be 100% complete or accurate.” (ترجمة) «هذا فهمي للأنظمة… ولن يكون كاملاً أو دقيقاً بنسبة 100%».
من بقية المجال
- وثائق Hexo — الوثائق الرسمية للإعداد والروابط الدائمة وترويسة المقال والنشر.
- hexo-generator-sitemap — ملف README الرسمي لإضافة الخريطة.
- إعدادات SEO في قالب NexT — canonical والتحقق لمشرفي المواقع وOpen Graph في القالب الأكثر استخداماً.
- Google: أساسيات SEO وJavaScript — مراحل الزحف ثم العرض ثم الفهرسة التي يتيح البناء الثابت تخطيها للمحتوى.
- Bing: إبقاء المحتوى قابلاً للاكتشاف بخرائط الموقع — تفضيل XML ودقة
lastmodوIndexNow. - John Mueller: بعض قرارات التصميم — كيف يشغل مدونته الثابتة بخريطة وRSS وبيانات Article المنظمة، ولماذا لا يمثل تبديل المولّد وحده مكسباً في SEO.
سجل التغييرات
تم التحديث في 22 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 11 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 11 أغسطس 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.
تم التحديث في 18 يوليو 2026.
ملخص تحريري وتفاصيل التغيير المسجلة.تفاصيل التغيير
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
-
تفاصيل التغيير متاحة حاليًا باللغة الإنجليزية.
المقارنة الكاملة غير متاحة — لم تُؤرشف لقطة سابقة لهذه المراجعة.