تحسين محركات البحث في PrestaShop

كيف يعمل SEO في PrestaShop: عناوين URL سهلة مع رموز ID إلزامية، وإعادات توجيه أساسية قابلة للضبط، وخريطة موقع ومولّد robots.txt محدودان، وغياب hreflang والمخطط الشامل أصلًا، ووحدات تسد الفجوات.

نُشر أول مرة: 26 يونيو 2026 · آخر تحديث: 13 أغسطس 2026 · Advanced
اللغات

PrestaShop منصة تجارة إلكترونية مفتوحة المصدر تعمل بـPHP/MySQL وتستضيفها بنفسك، فتمنحك تحكمًا عميقًا لكنها تتطلب إعدادًا أكثر من المنصات المستضافة. توفر أصلًا وسوم meta لكل كائن، وعناوين URL سهلة تتطلب mod_rewrite، وإعادة توجيه 301 قابلة للضبط إلى العنوان الأساسي، وH1 واحدًا لكل صفحة، وخيارات لإعادة توجيه المنتجات المعطلة، ومولّد robots.txt. لكن رموز {id} الرقمية إلزامية في المسارات الافتراضية، وخريطة الموقع الأصلية لا تتجدد تلقائيًا وضعيفة في تعدد اللغات والصور، ولا يوجد hreflang أو مخطط شامل أصلًا. كما لا تُضبط عناوين التصفية والفرز تلقائيًا، فتسد الوحدات الخارجية معظم هذه الفجوات، بينما تساعد ميزة CCC المدمجة في Core Web Vitals للقوالب الأثقل.

الخلاصة — PrestaShop تجارة إلكترونية مفتوحة المصدر تستضيفها بنفسك، فتتحمل عبء الاستضافة مقابل تحكم واسع. من نقاط القوة الأصلية: وسوم meta لكل كائن، وعناوين URL سهلة تتطلب mod_rewrite، وإعادة توجيه 301/302 قابلة للضبط إلى العنوان الأساسي، وتوحيد عناوين توليفات المنتجات على عنوان المنتج الأب، وH1 واحد لكل صفحة، وخيارات لإعادة توجيه المنتجات المعطلة، ومولّد robots.txt. أما العيوب الافتراضية فأبرزها إلزامية {id} في المسارات، وخريطة موقع لا تتجدد تلقائيًا وضعيفة في تعدد اللغات وصور CDN، وضرورة التحقق من سلوك تعدد اللغات والبيانات المنظمة وعناوين التصفية وفق الإصدار والقالب والوحدات المثبتة. وتساعد ميزة CCC المدمجة (Concatenate, Compress, Cache) في أداء القوالب الأثقل.

Evidence for this claim PrestaShop provides configurable friendly URLs, canonical redirects, and route patterns in its traffic and SEO settings. Scope: PrestaShop 8 administration; modules and version differences can change behavior. Confidence: high · Verified: PrestaShop 8: SEO and URLs Evidence for this claim Google treats canonical declarations as signals and recommends consistent canonicalization for duplicate URLs. Scope: Google canonicalization behavior applied to ecommerce URL variants. Confidence: high · Verified: Google Search Central: Canonicalization

الإطار: تحكم عميق وإعداد أكثر

معظم محتوى SEO عن PrestaShop إما قائمة عامة أو عرض لوحدة مدفوعة. والإطار المفيد هو: يمنحك PrestaShop تحكمًا مباشرًا أوسع من أي منصة SaaS مستضافة، بفضل المصدر المفتوح والوصول إلى الخادم وقوالب المسارات القابلة للتعديل، لكنه يوفر إمكانات جاهزة أقل، ولذلك تكون فجواته محددة ومتوقعة. قسّم كل شيء إلى مجموعتين ولن تبقى المنصة غامضة.

ملاحظة إصدار قبل البدء: في منتصف 2026 يحافظ PrestaShop على فرعين رئيسيين نشطين معًا، هما 9.x (الإصدار 9.1.4 في يونيو 2026) وفرع 8,2.x LTS الذي يواصل إصدار تحديثاته بالتوازي (8.2.7 أيضًا في يونيو 2026). إعدادات SEO أدناه لم تتغير بين الإصدارين 8 و9 وفق وثائق SEO & URLs للإصدار 9، لكن الوحدة المبنية والمختبرة لفرع لا يُضمن أن تعمل على الآخر. تحقق من الإصدار المتوافق المدرج قبل التثبيت، وأكد أولًا إصدار نواة متجرك؛ فهو الرقم الذي تستند إليه قوائم «compatible with» لدى موردي الوحدات.

صحيح افتراضيًا: عناوين وأوصاف meta لكل كائن، وعناوين URL سهلة، ووسوم أساسية مع إعادة توجيه قابلة للضبط، وتوحيد عناوين توليفات المنتج على عنوان الأب، وH1 واحد لكل صفحة، ومسارات التنقل، وخيارات إعادة توجيه المنتج المعطل، ومولّد robots.txt، ووحدة خريطة موقع أصلية.

عليك تنفيذه، غالبًا بوحدات: عناوين بلا ID، وhreflang لتعدد اللغات والمتاجر، ومخطط Product/Breadcrumb/Organization/FAQ شامل، وضبط canonical/noindex للتنقل متعدد الأوجه، وخريطة موقع للغات والصور تتجدد تلقائيًا، وتحسين Core Web Vitals للقالب الافتراضي.

بنية عناوين URL

توجد إعدادات URL في Shop Parameters → Traffic & SEO. يحول تفعيل Friendly URLs العنوان product.php?id_product=27 إلى عنوان وصفي مثل /2-music-players/27-ipod-nano-green. ويتطلب Apache mod_rewrite أو ما يعادله في Nginx، ويمكنك الاحتفاظ بالحروف ذات العلامات في العناوين.

ينبغي فهم مخطط المسار الافتراضي. مسار المنتج هو {category:/}{id}{-:id_product_attribute}-{rewrite}{-:ean13}.html، وتتبع الأنواع الأخرى النمط نفسه:

نوع الصفحةالمسار الافتراضي
المنتجات{category:/}{id}{-:id_product_attribute}-{rewrite}{-:ean13}.html
الفئات{id}-{rewrite}
صفحات CMScontent/{id}-{rewrite}
الموردونsupplier/{id}-{rewrite}
العلامات التجاريةbrand/{id}-{rewrite}

رمز {id} إلزامي. يوجد في كل مسار افتراضي لأن PrestaShop يبحث عن الكائن في قاعدة البيانات بذلك المعرّف، أما الجزء الوصفي {rewrite} فشكلي. وهذه أكثر نقطة يُساء فهمها: لا يمكنك حذف الرقم من الإعدادات. يتطلب الحذف السليم وحدة خارجية مثل FME Pretty URL أو SunnyToo أو MyPresta تحذف ID وتحافظ على إعادة توجيه 301، أو تجاوزًا دقيقًا لقالب المسار قد يعطل وظائف النواة. شكوى Empirical Edge من أن PrestaShop «ينشئ عناوين URL تتضمن أرقامًا ورموزًا خاصة غير مرغوبة» صحيحة، لكن للمعرّفات غرض حقيقي؛ فهي مفاتيح بحث وليست خللًا.

تفصيلان آخران: يحقن {category:/} فئة المنتج في عنوانه افتراضيًا، وهو اعتبار للمحتوى المكرر إذا كان المنتج في فئات عدة، ويمكن لـ{-:ean13} إلحاق EAN بالعنوان. ومنذ الإصدار 1.7.5.1 يمكنك تفعيل «Display attributes in the product meta title» لبناء عناوين مثل «Product Name Color Size» تلقائيًا.

الوسوم الأساسية

ينشئ PrestaShop وسوم canonical تلقائيًا ويمنحك إعداد إعادة توجيه إلى العنوان الأساسي ضمن Traffic & SEO بثلاثة خيارات: بلا إعادة توجيه، أو 301 دائم، أو 302 مؤقت. استخدم 301 في أي إعداد إنتاج مستقر لتوحيد أشكال URL المكررة التي يميل PrestaShop إلى إنشائها.

السلوك الأصلي جيد فعلًا في موضع محدد: توليفات المنتجات. في عناوين المتغيرات مثل اللون والمقاس، وهي جزء {-:id_product_attribute}، يشير canonical إلى عنوان المنتج الأب، كما يؤدي ID سمة غير صالح في العنوان إلى إعادة توجيه إلى ذلك الأب. لذلك لا تتشظى تبديلات المقاس واللون إلى مئات النسخ القابلة للفهرسة افتراضيًا.

ما لا يغطيه canonical الأصلي هو معلمات التصفية والفرز وصفحات الفئات المرقمة. لن يعيد PrestaShop توحيد ?order=price_asc أو ?color=red&size=M إلى الفئة النظيفة. وكما تقول PrestaHero: “implementing canonical tags is one of the most important practices… as these HTML tags inform search engines of the ‘master’ version of a page when duplicate or similar content exists” (ترجمة) «يُعد تطبيق وسوم canonical من أهم الممارسات، لأنها تُعرّف محركات البحث بالنسخة الأساسية عندما توجد صفحات مكررة أو متشابهة»؛ أما في الصفحات المصفاة فعليك تنفيذ ذلك بوحدة canonical أو بتغييرات القالب أو الشفرة.

المحتوى المكرر: موضع العمل الفعلي

مصادر المحتوى المكرر في PrestaShop متوقعة. تلخص FME Modules المخاطر: “duplicate URL issues confuse search engine crawlers, waste crawl budget, and split link equity, which collectively damage SEO performance.” (ترجمة) «تربك مشكلات عناوين URL المكررة زواحف محركات البحث، وتهدر ميزانية الزحف، وتوزع قيمة الروابط، فتضر مجتمعة بأداء SEO». ومن الأسباب المعتادة:

  • التنقل متعدد الأوجه: عناوين تصفية مثل ?color=red&size=M ذات محتوى متطابق أو شبه متطابق، بلا canonical أصلي.
  • الفرز: إضافة ?order=price_asc إلى عناوين الفئات.
  • الترقيم: /page-2 و/page-3 في الفئات والبحث.
  • عناوين ID فقط مقابل العناوين الوصفية: قد يعمل الاثنان إن لم تفرض إعادة التوجيه.
  • www مقابل non-www وHTTP مقابل HTTPS: تحتاج إلى إعداد إعادة توجيه صحيح.
  • الطباعة، وفي الإصدارات القديمة عناوين session-ID.

الحل طبقات وليس مفتاحًا واحدًا:

  1. اضبط إعادة التوجيه إلى canonical على 301 في Traffic & SEO.
  2. خصص robots.txt لمنع معلمات التصفية والفرز، كما يأتي أدناه.
  3. أضف وحدة canonical للتنقل متعدد الأوجه؛ فالسلوك الأصلي يعالج المنتجات والتوليفات لا الصفحات المصفاة.
  4. عالج الترقيم بقصد. يحذف PrestaShop أصلًا كتلة عنوان الفئة بعد الصفحة الأولى لتقليل التكرار. أوقفت Google دعم rel=next/prev في 2019، لذا أبق كل صفحة مرقمة قابلة للفهرسة وبعنوان canonical ذاتي، ولا توحد الصفحات 2 فما بعد على الصفحة الأولى إلا إذا كان المحتوى مكررًا فعلًا. لا تطبق noindex على الترقيم تلقائيًا؛ فهذا أنسب لأشكال التصفية والفرز.

ملاحظة H1 للمدققين: أُصلح خلل كان ينتج عناوين H1 مكررة في صفحات الفئات في الإصدار 1.7.5. تحقق منه في التثبيتات الأقدم.

خريطة الموقع

يقدم PrestaShop وحدة Google Sitemap أصلية من دليل الوحدات تغطي المنتجات والفئات والمصنعين وصفحات CMS والصفحات التي تنشئها الوحدات. بعد توليدها، أضف عنوانها إلى robots.txt وأرسلها إلى Google Search Console.

قيود الوحدة الأصلية موثقة ومهمة على النطاق الكبير: لا تتجدد تلقائيًا عند إضافة المنتجات، بل تعيد توليدها يدويًا أو عبر cron؛ ودعم تعدد اللغات ضعيف ويتطلب خرائط لكل لغة من وحدة خارجية؛ وفهرسة صور CDN غير متسقة. تصف FME Modules ذلك مباشرة: “may not auto-refresh when adding products, multilingual support is weak, and CDN-hosted image indexing is inconsistent.” (ترجمة) «قد لا تتحدث تلقائيًا عند إضافة منتجات، كما أن دعم اللغات المتعددة محدود وفهرسة الصور المستضافة عبر CDN غير متسقة». في المتاجر متعددة اللغات أو الكتالوجات الكبيرة سريعة التغير، توفر وحدة مثل FME أو Sweet Sitemap التجديد التلقائي وخرائط لكل لغة وخرائط صور والتحكم في الأولوية والتكرار.

Robots.txt

ولّده من Shop Parameters → Traffic & SEO → “Generate robots.txt file.” يكتب PrestaShop أساسًا عند التثبيت، لكن يجب تخصيصه. ومن قواعد المنع الموصى بها:

  • /cart و/checkout و/search
  • معلمات التصفية والفرز: ?order= و?sort= و?q= ومعلمات الأوجه لديك
  • مسارات أدوات الإدارة والوحدات، مثل /module/

أبق /img/ قابلًا للزحف كي تُفهرس صور المنتجات، وأضف مرجع خريطة الموقع (Sitemap: https://example.com/sitemap.xml).

التحذير الأهم: قد يزيل robots.txt سيئ الضبط متجرك كله. تقول PrestaHero بوضوح: “a misconfigured robots.txt can destroy SEO, as you don’t want to accidentally block /category or /product pages, which could remove your whole store from Google’s index.” (ترجمة) «قد يدمر ملف robots.txt سيئ الضبط أداء SEO؛ فحظر صفحات /category أو /product بالخطأ قد يزيل المتجر كله من فهرس Google». حظر المسار الخطأ هنا إزالة ذاتية من الفهرس.

Schema والبيانات المنظمة

هذه فجوة حقيقية. لا يتضمن PrestaShop إلا بيانات منظمة محدودة؛ أما المخطط الشامل فمهمة وحدة. ما تحتاجه عادة، مثل Product الكامل بالاسم والصورة والسعر والتوفر والمراجعات والشحن والإرجاع، وBreadcrumbList وOrganization وWebSite وFAQPage، يأتي من وحدة rich snippets. تعلن Schema Pro من PrestaPremium مثلًا أنها “automatically generates 9 Schema.org types across your entire store: Product, ProductGroup (variants with size, color, material), Organization, WebSite, BreadcrumbList, FAQPage, CollectionPage, shipping details and return policy.” (ترجمة) «تنشئ تلقائيًا تسعة أنواع من Schema.org في المتجر كله، منها بيانات المنتج ومتغيراته والمؤسسة والموقع ومسار التنقل والأسئلة الشائعة والمجموعات والشحن والإرجاع». وتدعم بيانات Product المنظمة من Google هذه الحقول، لذا يستحق الترميز الإضافة، لكن لا تتوقعه من النواة.

الأداء وCore Web Vitals

تعاني قوالب PrestaShop الافتراضية، ولا سيما Classic القديم، كثيرًا في Core Web Vitals بسبب CSS/JS الحاجب للرسم والصور غير المحسنة وغياب WebP افتراضيًا في الإصدارات القديمة وغياب التحميل الكسول في القوالب القديمة وتحميل JavaScript ثقيل للوحدات بالتزامن. الأهداف القياسية هي LCP < 2,5s وINP < 200ms (حل محل FID في مارس 2024) وCLS < 0,1.

الأداة المدمجة هي CCC (Concatenate, Compress, Cache) في Advanced Parameters → Performance؛ فهي تدمج CSS/JS وتضغطهما لتقليل الطلبات والحجم. اختبرها قبل تفعيلها في الإنتاج لأنها قد تعطل بعض الوحدات. وبعد CCC: حوّل الصور إلى WebP، وفعّل التحميل الكسول، واستخدم CDN، واختر قالبًا يركز على الأداء مثل Hummingbird، وأجّل JavaScript غير الحرج، وأضف تخزينًا مؤقتًا على الخادم مثل Redis أو Memcached. وتقول Knowband إن Core Web Vitals “affects crawl efficiency, paid traffic quality, mobile conversion, checkout trust, and the first impression of every product page.” (ترجمة) «تؤثر في كفاءة الزحف وجودة الزيارات المدفوعة والتحويل على الجوال والثقة في الدفع والانطباع الأول عن كل صفحة منتج». قس الأداء بـPageSpeed Insights وبيانات CrUX في Search Console.

Hreflang للمتاجر متعددة اللغات

يدعم PrestaShop لغات متعددة على النطاق نفسه مع بادئات مثل /fr/ و/en/ أو على نطاقات منفصلة، ومتاجر متعددة تشترك في كتالوج، لكنه لا ينشئ وسوم hreflang أصلًا. تحتاج إلى وحدة مثل SunnyToo أو DataFireFly أو MyPresta أو FME Canonical & Hreflang. وتصف MyPresta المشكلة: “without hreflang tags, Google does not know which version of a page to display based on the visitor’s language or region. It may index the wrong version, create duplicate content across your language stores, or show an English page to a French-speaking visitor.” (ترجمة) «من دون hreflang لا تعرف Google النسخة الملائمة للغة الزائر أو منطقته، وقد تفهرس النسخة الخطأ أو تنشئ محتوى مكررًا بين المتاجر اللغوية أو تعرض صفحة إنجليزية لمستخدم ناطق بالفرنسية».

عند التنفيذ، غط كل أنواع الصفحات من المنتجات والفئات وCMS والمصنعين والموردين، وأدرج x-default دائمًا، وعالج الربط بين النطاقات في multi-shop، وحافظ على اتساق canonical. وتذكر القاعدة العامة: النشر الجزئي غير المتبادل لا يفيد؛ تحتاج Google إلى وسوم العودة للتعرف على المجموعة.

مقارنة المنصات

يقع PrestaShop بين منصات SaaS المستضافة وMagento كامل التحكم:

الميزةPrestaShopShopifyWooCommerceMagentoBigCommerce
عناوين URL سهلةنعم (مفتاح)نعم (بادئة مفروضة)عبر إضافةنعمنعم
ID في العناويننعم افتراضيًالاعبر Yoastقابل للضبطلا
وسوم canonicalنعم (جزئيًا)نعمعبر Yoastنعمنعم
مخطط أصلييتطلب وحدةجزئيعبر Yoast/RankMathجزئيجزئي
Hreflangيتطلب وحدةيتطلب تطبيقًاعبر WPML/Yoastنعممحدود
خريطة موقع أصليةوحدة محدودةتلقائيةعبر Yoastنعمتلقائية
محرر robots.txtتوليد من الإدارةليس أصليًاعبر إضافةقابل للتعديلقابل للتعديل
ضبط التنقل متعدد الأوجهيتطلب وحدةمحدودعبر إضافةخيار ضبطخيار ضبط
مصدر مفتوح/وصول للخادمنعملانعمنعملا

الخلاصة الصريحة، اعتمادًا جزئيًا على مقارنة Kinsta: يمنح PrestaShop تحكمًا مباشرًا أوسع من Shopify، بينما تتولى Shopify الأداء والأمان وتفرض بادئة مثل /products/. وترى Kinsta أن WooCommerce يتفوق لأنه يرث قدرات SEO في WordPress، خصوصًا التدوين، لكنها تشير أيضًا إلى أن PrestaShop يقدم جاهزًا خيارات أكثر لـSEO التجارة الإلكترونية وتحرير meta لكل منتج. ويقدم Magento أكبر قدر من التحكم للمتاجر المعقدة مع تخصيص كامل للعناوين وبيانات منظمة أصلية وإعداد متقدم لخرائط الموقع وإدارة عميقة لـmeta، لكن بتعقيد وتكلفة أعلى كثيرًا. ويقدم BigCommerce إعدادات افتراضية أفضل، مثل خريطة تلقائية ومخطط مدمج وعناوين بلا ID، لكن مع مرونة تخصيص أقل. يمكن لكل هذه المنصات أن تحقق ترتيبًا جيدًا؛ ومقايضة PrestaShop هي مزيد من التحكم مقابل مزيد من أعمال الإعداد.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.