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

كيف يعمل SEO في Shopware 6: عناوين SEO بقوالب Twig، ومعالجة canonical، وخرائط XML، وhreflang عبر نموذج Sales Channel/Domain، وrobots.txt وJSON-LD في الإصدارات الحديثة، مع حدود الإصدارات وفخاخ الفهرسة والمتغيرات وHeadless.

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

توفر Shopware 6 قدرًا كبيرًا من SEO التقني الأصلي لمنصة ذاتية الاستضافة: عناوين SEO بقوالب Twig لكل نوع كيان، ومعالجة canonical، وثلاث استراتيجيات لخريطة XML، وhreflang مشتق من نموذج Sales Channel/Domain. لكن المتاح أصلًا يعتمد على الإصدار؛ فلم تصل إدارة robots.txt لكل نطاق إلا في 6.7.1.0، ووصلت بيانات JSON-LD المنظمة بدل Microdata في 6.7.9.0 خلف علامة. والفخاخ محددة: يجب إعادة بناء فهرس SEO بالأمر dal:refresh:index بعد تغيير قالب URL، ويحصل كل متغير على عنوان مستقل ولا يمكن توجيهه إلى الأب مباشرةً من دون تجاوز للقالب، وينمو جدول seo_url تقريبًا بعدد المتغيرات مضروبًا في اللغات. وينقل الانتقال إلى Composable Frontends بـVue وNuxt قائمة SEO كلها، من خريطة الموقع وcanonical إلى meta والبيانات المنظمة، إلى طبقة العرض في Nuxt حيث لا تنطبق إعدادات الإدارة بالطريقة نفسها.

الخلاصة — توفر Shopware 6 قدرًا أكبر من SEO التقني الأصلي مقارنةً بمعظم المنصات ذاتية الاستضافة، لكن «الأصلي» مقيد بشدة بحسب الإصدار. عناوين SEO هي قوالب Twig لكل نوع كيان، أي المنتج والفئة والصفحة المقصودة، ويمكن ضبطها عالميًا أو لكل قناة مبيعات؛ وبعد تغيير القالب يجب إعادة بناء الفهرس (dal:refresh:index) وإلا فلن تتحدث العناوين الحالية. ونظام canonical منفصل عن قوالب URL: تلقائي للفئات وشبه يدوي للمتغيرات؛ إذ يمكنك توجيه متغير إلى متغير آخر، لا إلى المنتج الأب مباشرةً من دون تجاوز للقالب. لخريطة XML ثلاث استراتيجيات تحديث: scheduled وlive وmanual، ويستخدم الوضع اليدوي sitemap:generate، كما تنفي Shopware صراحةً أي ضمان للفهرسة. قبل 6.7.1.0 لا يُنشأ robots.txt تلقائيًا، بل يحتاج إلى ملف يدوي وإعادة كتابة على الخادم؛ وبعده أصبحت إدارته لكل نطاق أصلية. وانتقلت البيانات المنظمة من Microdata إلى JSON-LD في 6.7.9.0 خلف العلامة JSON_LD_DATA. ويأتي hreflang من نموذج Sales Channel > Domain، مع فجوة بين قنوات المبيعات تعالجها إضافات مدفوعة. أما الانتقال إلى Composable Frontends المنفصلة بـVue وNuxt فينقل قائمة SEO كلها إلى طبقة العرض في Nuxt.

Evidence for this claim Shopware 6 provides configurable SEO URL templates and sitemap settings, with behavior dependent on version and sales-channel configuration. Scope: Shopware 6 administration; plugins and release versions can change output. Confidence: high · Verified: Shopware documentation: SEO Evidence for this claim Shopware release notes document material SEO-related changes across 6.7 releases, so exact native behavior must be checked by installed version. Scope: Shopware 6.7 release line, not all earlier installations. Confidence: high · Verified: Shopware 6.7 release notes

الإطار: ما هو أصلي، وما يقيده الإصدار، وما يبقى عليك

معظم محتوى Shopware SEO إما جولة مصورة في إعدادات الإدارة أو عرض تسويقي من وكالة Shopware. ولا يوضح أيهما الأمرين المهمين فعلًا: ما توفره Shopware أصلًا يعتمد على إصدارك، والفجوات المتبقية محددة ويمكن توقعها. صنّف كل مهمة في ثلاث فئات: أصلي ومتاح حاليًا، أو أصلي فقط في إصدار حديث، أو لا يزال من مسؤوليتك، وستتوقف المنصة عن أن تبدو غامضة.

تعرض Shopware الجانب الأصلي بسخاء؛ فهي تقول إن المنصة “includes many SEO features out of the box – from country- and language-specific URLs to meta data, hreflang, and performance optimizations, allowing you to build strong SEO without additional plugins.” (الترجمة العربية): «تتضمن كثيرًا من ميزات SEO جاهزةً، من عناوين URL الخاصة بالبلد واللغة إلى بيانات meta وhreflang وتحسينات الأداء، ما يتيح لك بناء SEO قوي من دون إضافات أخرى». وهذا صحيح إلى حد كبير، مع تحفظات الإصدار أدناه وقائمة قصيرة من الأمور التي لا تزال تحتاج إلى إضافات أو شفرة، مثل ضبط meta جماعيًا، وcanonical للمتغيرات، وhreflang بين القنوات، والعرض في الواجهة المنفصلة.

لأن Shopware ذاتية الاستضافة وذات نواة مفتوحة المصدر، فهي تختلف عن المنصات المستضافة. تفرض Shopify البادئتين /products/ و/collections/ ولا تسمح أصلًا بتعديل robots.txt، بينما تمنحك BigCommerce ملف robots.txt قابلًا للتعديل وبنى URL مخصصة فوق حزمة مُدارة. أما Shopware فتمنحك تحكمًا أكبر من كليهما، حتى إنك تستطيع تجاوز قوالب واجهة المتجر مباشرةً، لكن ذلك يعني أنك تملك مسؤولية أكبر عن النتيجة، بما فيها الاستضافة وإعادة بناء الفهرس ومسار العرض الخاص بك في الواجهة المنفصلة. وهي أقرب في روحها إلى Magento أو متجر WooCommerce ذاتي الاستضافة منها إلى Shopify.

بنية URL: قوالب عناوين SEO

توجد عناوين SEO في Settings > Shop > SEO، ويمكن ضبطها لكل قناة مبيعات أو عالميًا. وهناك ثلاثة أنواع كيانات بقوالب مستقلة: صفحات تفاصيل المنتجات وصفحات الفئات والصفحات المقصودة، وتستخدم القوالب صياغة Twig. وتقول وثائق Shopware بوضوح: “In the SEO settings you can define the structure for the SEO URLs of the product detail pages and categories. For this purpose you have a variety of variables at your disposal.” (الترجمة العربية): «يمكنك في إعدادات SEO تحديد بنية عناوين SEO لصفحات تفاصيل المنتجات والفئات، ولديك لهذا الغرض مجموعة متنوعة من المتغيرات».

الآليات التي تستحق معرفتها:

  • قالب المنتج الافتراضي هو {{ product.name }}، ويتوفر أكثر من 50 متغيرًا للمنتج، منها رقم المنتج وEAN واسم الشركة المصنعة ومسار التنقل أو الفئات والحقول المخصصة وتاريخ الإصدار وغيرها.
  • يجب كتابة المتغيرات متعددة المستويات يدويًا. فالنقر على منتقي المتغير لا يدرج إلا الرمز الأب غير المكتمل، ويجب إكمال {{ product.translated.name }} يدويًا.
  • يمكنك اختصار الأسماء الطويلة. توثق Shopware استخدام {{ product.translated.name[:50] }} لاختصار اسم منتج أطول من 50 حرفًا مثلًا في URL.
  • يستخدم قالب الفئة الافتراضي مسار التنقل: {% for part in category.seoBreadcrumb %}{{ part }}/{% endfor %}.
  • تعمل مرشحات Twig للتوحيد؛ مثل {{ product.translated.name|lower }}/{{ product.productNumber }}، وتقول Shopware “in general you can use the available Twig filters.” (الترجمة العربية): «يمكنك عمومًا استخدام مرشحات Twig المتاحة».
  • تعالج شروط IF الحقول المفقودة، وتعطي الوثائق مثالًا يراعي المتغيرات باستخدام {% if product.canonicalProductId is not null %}.

الفخ الذي يقع فيه الجميع تقريبًا: “After you have made changes to the SEO template, it is necessary to rebuild the index so that the URLs are updated. You can do this from the console using the command php bin/console dal:refresh:index.” (الترجمة العربية): «بعد تغيير قالب SEO، يجب إعادة بناء الفهرس حتى تتحدث عناوين URL. ويمكنك فعل ذلك من وحدة التحكم بالأمر php bin/console dal:refresh:index». لا يؤثر تعديل القالب إلا في العناوين المنشأة حديثًا؛ وتحتفظ المنتجات الحالية بمساراتها القديمة حتى تعيد البناء. فإذا غيرت القالب و«لم يحدث شيء»، فهذا هو السبب.

توجد عناوين SEO خلف الكواليس في جدول قاعدة بيانات seo_url بمفهوم العنوان المزدوج: path_info تقني يمثل المسار الحقيقي، وseo_path_info مقروء يمثل المقطع، إضافةً إلى العلامات sales_channel_id وlanguage_id وis_canonical وis_deleted/ is_modified. ويضيف المطورون مسارات SEO مخصصة أو ديناميكية عبر تنفيذ SeoUrlRouteInterface مسجل بوسم الحاوية shopware.seo_url.route. لا تحتاج إلى ذلك في متجر عادي، لكنه يفسر سلوك التوسع في قسم المشكلات أدناه.

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

التوحيد الأساسي في Shopware آلية منفصلة عن قوالب URL، وهو أكثر أجزاء Shopware SEO سوءًا في الفهم. حتى إن وثائق Shopware تعرف المفهوم كما تفعل Google: “A canonical URL is the URL of the page that the search engine assumes is the most representative of several duplicated pages on your site.” (الترجمة العربية): «عنوان URL الأساسي هو عنوان الصفحة التي يفترض محرك البحث أنها الأكثر تمثيلًا لعدة صفحات مكررة في موقعك».

احفظ ثلاثة أمور بوضوح:

  • تُوحّد الفئات تلقائيًا. عندما يمكن الوصول إلى منتج عبر فئات متعددة، وبالتالي عناوين متعددة، تصف Shopware ذلك بأنها تكتشفه و*“automatically marks the correct URL, automatically preventing technical SEO issues.”* (الترجمة العربية): «تحدد تلقائيًا عنوان URL الصحيح، فتمنع تلقائيًا مشكلات SEO التقنية». تعامل مع هذه الصياغة التسويقية بوصفها ادعاءً ينبغي التحقق منه في متجرك، لكن سلوك الفئات التلقائي حقيقي.
  • المتغيرات شبه يدوية فقط. يحصل كل متغير على عنوان SEO خاص به، ويتيح لك منتقي “Variant for Canonical URL” تعيين متغير واحد وجهةً أساسية. لكنه لا يتيح توجيه المتغير مباشرةً إلى المنتج الأب. ويعالج الممارسون هذه الفجوة بتجاوز product-detail/meta.html.twig أو إضافة، حتى تتجه المتغيرات إلى عنوان SEO للمنتج الأب عند وجوده. وهذا هو الإصلاح إذا كانت صفحات المتغيرات شبه مكررة وتتنافس بينها.
  • يوجد مفتاح عام لسلوك 301. ضمن “Forwarding behavior” تستطيع Shopware “output an HTTP 301 redirect when URLs are changed” (الترجمة العربية): «إخراج إعادة توجيه HTTP 301 عند تغيير عناوين URL»، بدل ترك العناوين القديمة حية بعد تعديل القالب. وهذا الإعداد يقترن بإعادة بناء dal:refresh:index أعلاه.

يتطابق ذلك مباشرةً مع موقف Google القائل إن التوحيد الأساسي إشارة، وإن تكرار عناوين المتغيرات أو المعلمات طبيعي في التجارة الإلكترونية. وتوجد الآليات العامة في التوحيد الأساسي، وهذا المقال هو رفيقها الخاص بـShopware.

خريطة موقع XML

توجد خريطة الموقع في Settings > Shop > Sitemap. وتقول Shopware إنها “generates a standard sitemap that is compressed and cached in the file system,” (الترجمة العربية): «تنشئ خريطة موقع قياسية مضغوطة ومخزنة مؤقتًا في نظام الملفات». وللكتالوجات الكبيرة “the sitemap is divided into several files and can be generated in the background” (الترجمة العربية): «تُقسم خريطة الموقع إلى عدة ملفات ويمكن إنشاؤها في الخلفية». ويحافظ هذا التقسيم على بقاء كل ملف ضمن حدي sitemaps.org وGoogle البالغين 50 000 عنوان URL و50 MB من دون ضغط.

توجد ثلاث استراتيجيات للتحديث، والفرق بينها مهم:

  1. scheduled — تُنشأ تلقائيًا بمهمة مجدولة وفق فاصل محدد.
  2. live — تُنشأ إذا لم تكن موجودة، ثم يعاد إنشاؤها بعد انقضاء وقت التحديث.
  3. manually — يتوقف الإنشاء التلقائي تمامًا؛ “the sitemap will only be created if you call the following command manually: php bin/console sitemap:generate. In this case, it is necessary to run this command again each time a new URL is added or an old one is removed.” (الترجمة العربية): «لن تُنشأ خريطة الموقع إلا إذا استدعيت الأمر يدويًا: php bin/console sitemap:generate. وفي هذه الحالة يجب تشغيله مجددًا كلما أضيف عنوان URL جديد أو أزيل عنوان قديم».

هناك أمران يغفل عنهما الناس:

  • العنوان العام هو sitemap.xml، ولا توجد صفحة /sitemap موجهة للبشر. تقول Shopware صراحةً: “Shopware 6 does not provide a visitor sitemap (suffix /sitemap after your domain). The index file sitemap.xml is created for evaluation by Google.” (الترجمة العربية): «لا توفر Shopware 6 خريطة موقع للزائر بإضافة /sitemap بعد نطاقك؛ بل يُنشأ ملف الفهرس sitemap.xml لتقييم Google».
  • لا تضمن خريطة الموقع شيئًا. تقول Shopware صراحةً إنها “cannot guarantee that every URL will be crawled and indexed. This always depends on the search engine provider.” (الترجمة العربية): «لا تستطيع ضمان الزحف إلى كل عنوان URL وفهرسته؛ فهذا يعتمد دائمًا على موفر محرك البحث». خريطة الموقع وسيلة اكتشاف لا وعدًا بالفهرسة، كما في كل منصة أخرى.

إضافة عناوين URL مخصصة أو استبعادها، خارج المنتجات والفئات، ليست مفتاحًا في لوحة الإدارة؛ بل عمل للمطور عبر فئات UrlProvider مخصصة توثقها أدلة Shopware للمطورين.

robots.txt — تحقق من إصدارك أولًا

هذا أكثر أجزاء Shopware SEO حساسيةً للإصدار، لذلك ثبّت تاريخه قبل أن تنصح به أحدًا.

  • قبل 6.7.1.0، وهو حال معظم التثبيتات الأقدم، لا يُنشأ شيء تلقائيًا. وتقول وثائق Shopware إن “the robots file is not created automatically in Shopware 6, but has to be created manually as a text file” (الترجمة العربية): «لا يُنشأ ملف robots تلقائيًا في Shopware 6، بل يجب إنشاؤه يدويًا كملف نصي» ووضعه في /public/. وفي إعدادات النطاقات المتعددة تقدم ملفًا لكل نطاق بإعادة كتابة على الخادم: في Apache RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [NS] أو ما يكافئه في NGINX، وهو rewrite ^/robots\.txt$ /robots/$host.txt، ويشير إلى بنية /public/robots/<domain>.txt.
  • من 6.7.1.0 فصاعدًا، وهو إصدار يوليو 2025، وصلت الإدارة الأصلية لملف robots.txt لكل نطاق إلى لوحة الإدارة؛ إذ “can define individual robots.txt rules for each domain in the Admin under Settings > General > Basic information.” (الترجمة العربية): «يمكنك تحديد قواعد robots.txt مستقلة لكل نطاق في لوحة الإدارة ضمن Settings > General > Basic information». وبدأ ذلك مساهمةً مجتمعية في Hacktoberfest 2024.

إذًا لا تصح خرافة «Shopware لا تسمح بتعديل robots.txt» إلا قبل 6.7.1.0. تحقق من إصدار المتجر قبل أن تقول لأحد «عدله من لوحة الإدارة فحسب»؛ فالمتاجر الأقدم لا تزال تحتاج إلى الملف اليدوي وإعادة الكتابة. وحقل الإدارة “Rules for robots.txt” ضمن Settings > General > Basic information مساحة نص حر تُدمج مباشرةً في robots.txt لذلك النطاق، فتقبل كتل User-agent: وAllow: وDisallow: كاملة، لا قواعد مسطحة فقط. وتؤكد ذلك وثائق Shopware الحالية وإصلاح 6.7.10.0 المسمى «تجنب تكرار توجيهات robots.txt لكتل وكلاء المستخدم»، الذي يعيد إنتاج الخلل باستخدام كتل مستقلة لوكلاء المستخدم في الحقل نفسه.

البيانات المنظمة: الانتقال من Microdata إلى JSON-LD

شهدت Shopware تحولًا معماريًا حقيقيًا في 6.7.9.0؛ إذ انتقلت واجهة المتجر من Microdata مبعثرة داخل الصفحة إلى JSON-LD يخرج في كتلة <script type="application/ld+json"> داخل <head>. وتقع الميزة خلف العلامة JSON_LD_DATA، وهي معطلة افتراضيًا؛ وعند تفعيلها يُحقن JSON-LD وتُزال Microdata القديمة. وقد أُهملت Microdata ويُخطط لحذفها في 6.8.0.0.

بعد تفعيل العلامة يصبح إخراج JSON-LD أغنى بكثير من Microdata القديمة:

  • Product — جميع صور المنتج، وVideoObject لفيديوهات المنتج، و AggregateRating مع ratingCount، وحتى أحدث 10 عناصر Review، و OfferShippingDetails/ShippingDeliveryTime للمنتجات ذات السعر الواحد، وDimensions بصيغة QuantitativeValue، وitemCondition، ومعلومات بائع ذات نوع، وgtin13 (EAN) أو mpn عند وجودهما.
  • WebSite مع SearchAction، ما يفعّل مربع بحث روابط أقسام الموقع لدى Google.
  • Organization في المستوى الأعلى لشعار المتجر.
  • ItemList في صفحات الفئات ونتائج البحث، مع BreadcrumbList.

يعيش كل نوع مخطط في قالب Twig مستقل قابل للتجاوز ضمن storefront/layout/structured-data/. وأضاف إصدار 6.7.9.0 نفسه حقول Open Graph لكل منتج في تبويب SEO بلوحة الإدارة: og:title وog:description وog:image مخصصة، وتعود افتراضيًا إلى عنوان meta ووصفها وصورة غلاف المنتج عند عدم ضبطها. ولذلك يمكن أن تختلف مشاركات الشبكات الاجتماعية وبعض معاينات نتائج البحث عمدًا عن وسوم meta من دون إضافة.

الخلاصة العملية أن هذه خرافة يجب دحضها. فكثير من منشورات الممارسين وإضافات المتجر المدفوعة، مثل “JSON-LD Rich Snippets for product pages” (الترجمة العربية): «مقتطفات JSON-LD الغنية لصفحات المنتجات»، تسبق الميزة الأصلية. إذا كنت على 6.7.9.0 أو أحدث، فتحقق من استمرار حاجتك إلى الإضافة قبل شرائها؛ أما إذا كنت على إصدار أقدم فهناك تحديدًا تظل الإضافة مفيدة. وتستهدف هذه المخرجات إرشادات Google للبيانات المنظمة للمنتجات ، وتشترط Google أن تعكس البيانات المنظمة محتوى الصفحة المرئي؛ لذلك املأ الحقول التي تريد ظهورها في الترميز.

SEO الدولي: hreflang عبر Sales Channel وDomain

لا تملك Shopware محرر hreflang مستقلًا. بل يُشتق hreflang من نموذج Sales Channel > Domain؛ إذ يمكن لكل قناة مبيعات امتلاك نطاقات متعددة، ويرتبط كل نطاق بلغة وعملة ومجموعة مقتطفات ونظام وحدات واحد، ويُضبط بــ*“own virtual URL, language, currency, snippet set and its own unit system.”* (الترجمة العربية): «عنوان URL افتراضي ولغة وعملة ومجموعة مقتطفات ونظام وحدات خاص به».

ينجز إعدادان عمل SEO:

  • قائمة لوضع التوطين بخيارين: ISO standard، وهو “useful, for example, if you use different (country-specific) language variants that may use their own country-specific terms,” (الترجمة العربية): «مفيد مثلًا إذا استخدمت متغيرات لغوية مختلفة خاصة بالبلدان وقد تستخدم مصطلحاتها المحلية»، وينتج رموز منطقة ولغة كاملة مثل en-US وen-GB؛ وتوطين browser language الذي يقتصر على اللغة مثل en. استخدم معيار ISO عندما تكون لديك متغيرات إقليمية حقيقية.
  • نطاق افتراضي يصبح بعد تفعيل وسم hreflang “will serve as a fallback for all languages” (الترجمة العربية): «خيارًا احتياطيًا لكل اللغات»، وهو مقابل Shopware لـx-default لدى Google.

نقطة الضعف المعروفة أن ذلك يعمل داخل نطاقات قناة مبيعات واحدة، لكن hreflang بين قنوات المبيعات، أي عند تشغيل قنوات مستقلة لكل بلد أو TLD بكتالوجات شبه مكررة، لا يرتبط أصلًا. وهذه هي الفجوة التي وُجدت إضافات “Hreflang Manager” المدفوعة لمعالجتها. وأتعامل مع فجوة القنوات بوصفها إشارة قوية من المجتمع والسوق، لا قيدًا موثقًا من Shopware، لكنها مشكلة متكررة في المنتديات.

هناك متطلب من Google لا توضحه وثائق Shopware: يجب أن يكون hreflang ثنائي الاتجاه بوسوم عودة، وأن يتضمن x-default. وإذا كان شرط وسوم العودة جديدًا عليك، فستجد الآليات العامة في hreflang. يعالج إعداد النطاق الافتراضي في Shopware جانب x-default، لكن عليك التحقق من صحة وسوم العودة أيضًا.

الواجهة المنفصلة: Composable Frontends ‏(Shopware Frontends)

خيار الواجهة المنفصلة لدى Shopware هو “Shopware Frontends”، المعروف سابقًا باسم “Composable Frontends” أو “PWA”. وهو حزمة أدوات Vue.js وNuxt تستهلك Shopware Store API، وتختلف عن واجهة Twig/Symfony الافتراضية. وتأتي بمكتبة مكونات وعميل API ووظائف “composables” قابلة لإعادة الاستخدام وأنواع TypeScript مولدة؛ فيما بُني متجر “Vue Demo Store” المرجعي بـNuxt وTailwind.

إليك ما تتجاهله الأدلة الأخرى: ينقل الانتقال إلى الواجهة المنفصلة عمليًا مسؤولية SEO كلها إلى طبقة Nuxt، ولا ينطبق أي من إعدادات SEO في لوحة الإدارة بالطريقة نفسها. فقوالب URL وإعدادات canonical ومفتاح خريطة الموقع ولوحة robots.txt الجديدة كلها ميزات لواجهة Symfony ‏(Twig). ويحتاج بناء Composable Frontends إلى ما يأتي:

  • وضع عرض ينتج HTML قابلًا للزحف، مثل Nuxt SSR أو العرض الهجين أو ISR أو العرض على الحافة للصفحات المهمة لـSEO. ويعيد بناء SPA المعروض بالكامل في جهة العميل خطر عرض JavaScript التقليدي؛ لذلك ليست الواجهة المنفصلة أفضل تلقائيًا لـSEO، وقد تكون الواجهة سيئة الضبط أسوأ من Twig الافتراضية.
  • إنشاء خريطة الموقع والوسوم الأساسية والبيانات المنظمة وحقن وسوم meta داخل تطبيق Nuxt، عادةً عبر وظائف head وSEO-meta في Nuxt، مع سحب المقاطع وبيانات المنتجات غالبًا من بيانات Shopware SEO URL أو Store API نفسها.

إذًا خرافة «الانتقال إلى واجهة Shopware منفصلة يصلح SEO أو يحسنه» خاطئة بصيغتها. فالنتيجة تعتمد كليًا على ضبط العرض في Nuxt. وهذا هو الفخ نفسه في أي بناء منفصل؛ وتوجد النسخة العامة في JavaScript SEO و SEO لأنظمة CMS المنفصلة.

المشكلات الشائعة عند التوسع

تتركز مشكلات الممارسين في ثلاثة مواضع:

  • إعدادات افتراضية غير مناسبة. تشير تدقيقات الممارسين إلى أن “Remove Category ID from URL” يأتي مضبوطًا على No افتراضيًا، ويستحق التفعيل لعناوين أنظف، وأن إشارات ترقيم الصفحات معطلة افتراضيًا، وأن صفحات ترقيم المدونة أو الأرشيف تستحق noindex لأنها “add no value; they only take up crawl budget.” (الترجمة العربية): «لا تضيف قيمة، بل تستهلك ميزانية الزحف». أما الادعاء المتكرر بأن Shopware تضيف nofollow تلقائيًا إلى كل الروابط الخارجية، فسأتحقق منه على تثبيت حقيقي قبل تكراره؛ إذ لم تؤكده وثائق Shopware.
  • محتوى متغيرات المنتج المكرر. هذه أكثر شكاوى Shopware SEO تكرارًا. يحصل كل متغير على عنوانه (/SW10000.1 و/SW10000.2 وغيرها) مع أوصاف موروثة شبه متطابقة، فتتنافس المتغيرات ما لم توحدها؛ وكما سبق، لا يستطيع المنتقي الأصلي توجيهها مباشرةً إلى الأب من دون تجاوز للقالب.
  • نمو جدول seo_url في الكتالوجات الكبيرة متعددة اللغات. يتبع عدد الصفوف تقريبًا (الأب + المتغيرات النشطة) × عدد اللغات. وتضع دراسة معمقة لأحد الممارسين منتجًا ذا 9 متغيرات عبر 17 لغة عند نحو 153 صفًا لعائلة منتج واحدة. وتضاعف تعديلات القالب المتكررة صفوف التاريخ. والحلول عند التوسع هي إنشاء عناوين SEO للمنتجات الأب فقط ما أمكن، لا لكل متغير، وحذف الصفوف المحذوفة منطقيًا أوغير الأساسية دوريًا، وإضافة فهارس مركبة. ولهذا قد يبدو متجر Shopware كبير بطيئًا ويجمع عناوين SEO مكررة غريبة.

متى تكفي الأدوات الأصلية ومتى تحتاج إلى إضافة أو تطوير؟

الحد التقريبي المتكرر في مصادر الممارسين هو أن الأدوات الأصلية تكفي للكتالوجات الصغيرة والبسيطة، في حدود بضع مئات من المنتجات، بينما تصبح الإضافات أو التطوير المخصص ضرورية عند التوسع الحقيقي إلى آلاف وحدات SKU أو مصفوفات متغيرات عميقة أو لغات كثيرة أو إعدادات دولية عبر قنوات مبيعات متعددة. عمليًا، استخدم إضافة أوشفرة عندما تحتاج إلى أنماط جماعية للعناوين وmeta، أو توجيه canonical للمتغيرات إلى الأب، أو hreflang بين القنوات، أو إدخالات مخصصة في خريطة الموقع، أو JSON-LD في إصدار أقدم من 6.7.9.0. وما عدا ذلك، من قوالب SEO وcanonical للفئات وخريطة الموقع وhreflang متعدد النطاقات داخل قناة واحدة، وrobots.txt وJSON-LD في الإصدارات الحالية، متاح أصلًا.

Shopware في مقابل المنصات المستضافة — الصورة الصادقة

ShopwareShopifyBigCommerce
الاستضافةذاتية / سحابة ShopwareSaaS مستضافةSaaS مستضافة
بنية URLقوالب Twig مخصصة بالكاملتفرض /products/ و/collections/مخصصة بالكامل بلا بادئات مفروضة
robots.txtأصلي في الإدارة من 6.7.1.0، ويدوي قبلهاغير قابل للتعديل أصلًاقابل للتعديل في الإدارة
المخطط المدمجJSON-LD أصلي من 6.7.9.0 خلف علامةيحتاج إلى تطبيقنعم (Cornerstone)
hreflangأصلي عبر Sales Channel/Domain داخل قناة واحدةتطبيق أوعمل في القالبيدوي
خيار HeadlessComposable Frontends ‏(Vue + Nuxt)HydrogenCatalyst ‏(Next.js)
إعادة بناء الفهرسنعم (dal:refresh:index)غير مكشوفةغير مكشوفة

يمكن أن تتصدر كلها جيدًا. ميزة Shopware الحقيقية هي التحكم: عناوين بقوالب Twig، وقوالب واجهة قابلة للتجاوز، ومجموعة ميزات أصلية كبيرة تنمو مع الإصدارات. أما تكلفتها الحقيقية فهي أنك تملك مسؤولية أكبر عن المسار: استضافتك وإعادة بناء الفهارس والوعي بالإصدار، وإذا انتقلت إلى Headless، طبقة العرض ووسوم SEO كاملةً. وكما في Magento وWooCommerce ذاتي الاستضافة، وعلى خلاف إعدادات Shopify أو PrestaShop الأبسط، تناسب هذه المقايضة الفرق التي تملك قدرة تطويرية.

Add an expert note

Pin an expert quote

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