Μετάβαση στο περιεχόμενο
Οδηγοί

Οδηγός εγκατάστασης WooCommerce Skroutz / BestPrice XML feed

Πώς στήνεται και ελέγχεται το OBS XML Feed 2.0.0 για Skroutz και BestPrice σε ελληνικό WooCommerce eshop.

Οδηγός εγκατάστασης: XML feed Skroutz & BestPrice για WooCommerce

Ο οδηγός αφορά τα plugins OBS Skroutz XML και OBS BestPrice XML. Οι ρυθμίσεις είναι ίδιες στα δύο· κάθε plugin έχει δική του σελίδα, δικό του Feed URL και δικό του License key.

Προαπαιτούμενα

  • Ενεργός λογαριασμός merchant στο Skroutz ή/και στο BestPrice.
  • WordPress με WooCommerce και πρόσβαση διαχειριστή. Συστήνεται PHP memory limit τουλάχιστον 256M για μεγάλους καταλόγους.
  • Πρόσβαση στο hosting panel (cPanel, Plesk ή SSH) για server cron, ή ο πάροχος hosting να το ορίσει για εσάς.
  • Καθαρά δεδομένα προϊόντων: τίτλος, τελική τιμή, απόθεμα, κύρια εικόνα, κατηγορία. Σημειώστε πού βρίσκονται brand, EAN, MPN, χρώμα και μέγεθος (attribute ή custom field).
  • Backup αρχείων και βάσης πριν από την εγκατάσταση.

Εγκατάσταση και License key

  1. WordPress → Πρόσθετα → Προσθήκη νέου → Μεταφόρτωση προσθέτου. Ανεβάστε το ZIP του OBS Skroutz XML, πατήστε Εγκατάσταση και Ενεργοποίηση. Επαναλάβετε για το OBS BestPrice XML.
  2. Ανοίξτε τη σελίδα ρυθμίσεων του plugin (σύνδεσμος Settings στη λίστα Plugins).
  3. Στο πλαίσιο ενεργοποίησης, επικολλήστε το License key στο πεδίο «Enter Validation Key» και πατήστε Activate. Το κλειδί ενεργοποιεί τις αυτόματες ενημερώσεις για το συγκεκριμένο domain.

Χάρτης ρυθμίσεων

Overview

  • Feed URL — το δημόσιο link που δηλώνετε στο merchant panel. Εμφανίζεται μετά την πρώτη εξαγωγή.
  • Generate feed now — πλήρης νέα παραγωγή του XML.
  • Quick test export — δοκιμαστική εξαγωγή μικρού δείγματος.
  • Scheduling — δείχνει τη συχνότητα, την τελευταία επιτυχημένη εξαγωγή και την εντολή server cron (Show server cron command), με οδηγίες για cPanel, Plesk και SSH.

Required Setup

  • Update Frequency — Hourly, Twice a day ή Daily.
  • Mode — Bulk, Cron ή Chunk. Στο Chunk ορίζεται και το Default Page Size.
  • Color Attributes / Size Attributes — τα attributes που περιγράφουν χρώμα και μέγεθος.
  • Default Brand / Brand Attribute — πηγή του κατασκευαστή και προεπιλογή όπου λείπει.
  • Product Description — Short ή Full Description.
  • Skip Out-of-Stock Products / Skip Backordered Products — εξαίρεση προϊόντων ανά κατάσταση αποθέματος.
  • Product Name Composer — από ποια στοιχεία συνθέτεται ο τίτλος στο feed.

Availability

  • In Stock / Out Of Stock / Backorder Taxonomy — taxonomy ή attribute που κρατά το κείμενο διαθεσιμότητας ανά κατάσταση.
  • Default In-Stock / Out-of-Stock / Backorder Availability — το κείμενο που μπαίνει όταν δεν υπάρχει τιμή στο προϊόν.

Filters

  • Include Categories / Exclude Categories — μόνο οι επιλεγμένες κατηγορίες ή όλες εκτός από αυτές.
  • Include Brands / Exclude Brands — αντίστοιχα για brands.
  • Μέσα σε κάθε προϊόν υπάρχει checkbox «Hide from Skroutz» (ή BestPrice) για εξαίρεση μεμονωμένου προϊόντος.

Overrides (Custom Fields Overrides)

  • Custom Meta field for Brand, Product ID, Barcode, MPN, EAN, Availability, Weight — αν συμπληρωθούν, η τιμή του meta field αντικαθιστά την προεπιλεγμένη.
  • Skip product meta — προϊόντα που έχουν τιμή σε αυτό το meta field δεν εξάγονται.

Advanced

  • Test Export Product Limit — πόσα προϊόντα βγάζει το Quick test export (προεπιλογή 10).
  • Test Export SKU Filter — SKUs ένα ανά γραμμή για στοχευμένη δοκιμή.
  • Available Filters — έτοιμος κώδικας για functions.php με το slug του plugin ήδη συμπληρωμένο.

Δοκιμή και validation του feed

  1. Στο Test Export SKU Filter βάλτε 5–10 αντιπροσωπευτικά SKUs: απλό, μεταβλητό με χρώμα/μέγεθος, σε προσφορά, εκτός αποθέματος, σε backorder, χωρίς EAN.
  2. Πατήστε Quick test export και ανοίξτε το αρχείο. Ελέγξτε id, τίτλο, τιμή με ΦΠΑ, διαθεσιμότητα, quantity, κατηγορία, brand, EAN/MPN, χρώμα, μέγεθος και εικόνες.
  3. Πατήστε Generate feed now και ανοίξτε το Feed URL σε ιδιωτικό παράθυρο: πρέπει να επιστρέφει XML και όχι σελίδα σφάλματος.
  4. Συγκρίνετε το πλήθος προϊόντων του feed με το πλήθος που περιμένετε (μετά τις εξαιρέσεις).
  5. Δηλώστε το Feed URL στο merchant panel και ελέγξτε τα μηνύματα του ποιοτικού ελέγχου του marketplace.

Go-live checklist

  • License key ενεργό και στα δύο plugins.
  • Server cron ορισμένο με την ακριβή εντολή που δείχνει το plugin· η «Last successful export» αλλάζει στο επόμενο διάστημα.
  • Feed URL προσβάσιμο από έξω (χωρίς basic auth, maintenance mode ή μπλοκάρισμα από firewall/Cloudflare).
  • Η πηγή του Product ID δεν θα αλλάξει μετά το go-live.
  • Αν χρησιμοποιείτε και το Έξυπνο Καλάθι Skroutz, το id του feed είναι το WooCommerce ID του προϊόντος/variation (η προεπιλογή του plugin).

Αντιμετώπιση προβλημάτων

Το feed δεν ανανεώνεται αυτόματα, μόνο όταν πατάτε Generate

  • Αιτία: Δεν υπάρχει server cron ή η εντολή δείχνει σε λάθος διαδρομή. Χωρίς server cron η ανανέωση εξαρτάται από την επισκεψιμότητα του site (WP-Cron).
  • Λύση: Αντιγράψτε την εντολή από το Show server cron command της καρτέλας Overview και ορίστε την στο cPanel, στο Plesk ή με crontab. Ελέγξτε μετά από μία ώρα την ένδειξη «Last successful export».

Η εξαγωγή ξεκινά αλλά δεν τελειώνει, ή βγαίνει 504 timeout / critical error

  • Αιτία: Ανεπαρκής μνήμη PHP ή χρόνος εκτέλεσης για το μέγεθος του καταλόγου.
  • Λύση: Αυξήστε το PHP memory limit σε τουλάχιστον 256M (512M για πολύ μεγάλους καταλόγους), χρησιμοποιήστε Chunk mode και τρέξτε την εξαγωγή από server cron αντί για τον browser.

Υψηλή χρήση CPU/RAM στον server κατά την εξαγωγή

  • Αιτία: Πολύ συχνή πλήρης εξαγωγή σε μεγάλο κατάλογο ή ταυτόχρονες εκτελέσεις.
  • Λύση: Επιλέξτε Update Frequency που αντέχει ο server και βεβαιωθείτε ότι δεν τρέχουν παράλληλα δύο cron jobs για το ίδιο feed.

Το Skroutz αναφέρει λάθος ή παλιές τιμές

  • Αιτία: Το feed δεν έχει ανανεωθεί μετά από μαζική αλλαγή τιμών, ή η τιμή προσφοράς προέρχεται από plugin εκπτώσεων που δεν διαβάζεται από την προεπιλεγμένη πηγή.
  • Λύση: Τρέξτε Generate feed now μετά από μαζικές αλλαγές. Για τιμές από plugin εκπτώσεων, η OBS προσαρμόζει την τιμή με τον filter custom_sale_price.

Το marketplace ζητά EAN ή MPN, ή το EAN εμφανίζεται ίδιο με το SKU

  • Αιτία: Το EAN/MPN βρίσκεται σε custom field που δεν έχει δηλωθεί, οπότε χρησιμοποιείται άλλη πηγή.
  • Λύση: Συμπληρώστε τα Custom Meta field for EAN και Custom Meta field for MPN στην καρτέλα Overrides με το πραγματικό meta key, και ξαναπαράγετε το feed.

Λείπουν χρώματα ή μεγέθη, ή οι παραλλαγές δεν εμφανίζονται σωστά

  • Αιτία: Δεν έχουν επιλεγεί τα σωστά attributes στα Color Attributes / Size Attributes, ή οι παραλλαγές δεν έχουν απόθεμα.
  • Λύση: Επιλέξτε τα attributes που χρησιμοποιούνται πραγματικά στις παραλλαγές και ελέγξτε με Quick test export ένα μεταβλητό προϊόν.

Το Skroutz δεν βρίσκει επιπλέον εικόνες ή λέει ότι λείπει φωτογραφία

  • Αιτία: Οι εικόνες δεν είναι στο gallery του προϊόντος/variation ή το URL δεν είναι δημόσια προσβάσιμο.
  • Λύση: Προσθέστε τις εικόνες στο product gallery (ή στις εικόνες της variation) και ελέγξτε ότι ανοίγουν από έξω με HTTPS.

Το προϊόν βγαίνει στο feed ενώ έχετε τσεκάρει «Hide from Skroutz»

  • Αιτία: Το feed δεν έχει ξαναπαραχθεί μετά την αλλαγή, ή έχει οριστεί διαφορετικό Skip product meta.
  • Λύση: Ξαναπαράγετε το feed. Αν χρησιμοποιείτε δικό σας Skip product meta, βεβαιωθείτε ότι το προϊόν έχει τιμή σε εκείνο το πεδίο.

«Could not validate» στο License key

  • Αιτία: Το κλειδί ανήκει στο άλλο plugin του πακέτου ή σε άλλο domain.
  • Λύση: Χρησιμοποιήστε το κλειδί που αντιστοιχεί στο συγκεκριμένο plugin (Skroutz ή BestPrice). Για αλλαγή domain επικοινωνήστε με την OBS.

«Αδύνατη η αντιγραφή του αρχείου» κατά τη μεταφόρτωση του ZIP

  • Αιτία: Δικαιώματα εγγραφής στον φάκελο plugins ή ελλιπές ZIP.
  • Λύση: Ελέγξτε τα δικαιώματα του wp-content/plugins ή ανεβάστε τον αποσυμπιεσμένο φάκελο μέσω FTP. Η OBS μπορεί να κάνει την εγκατάσταση για εσάς.

Μετά από αλλαγή domain το feed συνεχίζει να γράφεται στην παλιά διεύθυνση

  • Αιτία: Το Feed URL βασίζεται στο domain του site τη στιγμή της εξαγωγής.
  • Λύση: Πατήστε Generate feed now στο νέο domain και δηλώστε το νέο Feed URL στο merchant panel. Ενεργοποιήστε ξανά το License key για το νέο domain.

Βήματα εγκατάστασης

  1. Βήμα 1

    Backup και inventory

    Καταγράφουμε versions, field sources, category rules και κρατάμε backup πριν την εγκατάσταση του 2.0.0 ZIP.

  2. Βήμα 2

    Εγκατάσταση 2.0.0

    Upload/activate και καθαρό render στο Ρυθμίσεις → Skroutz XML Feed.

  3. Βήμα 3

    Generation settings

    Ορίζουμε filename, writable location, protected generation URL, compression και interval.

  4. Βήμα 4

    Availability rules

    Χαρτογραφούμε in-stock, out-of-stock και backorder χωρίς παραπλανητικούς χρόνους παράδοσης.

  5. Βήμα 5

    Field mapping

    Συνδέουμε ID/SKU, title, price, link, image, category, brand, EAN/MPN και fashion/book fields.

  6. Βήμα 6

    Filters

    Ορίζουμε inclusions/exclusions και ελέγχουμε parent/child/multi-category προϊόντα.

  7. Βήμα 7

    Generate και sample QA

    Τρέχουμε generation, διαβάζουμε log και ελέγχουμε αντιπροσωπευτικό product/variation sample.

  8. Βήμα 8

    Cron και handoff

    Συνδέουμε trusted scheduler, ελέγχουμε δεύτερο run και παραδίδουμε URL χωρίς να εκθέτουμε token.

Συχνές ερωτήσεις

Γιατί απορρίπτεται ένα Skroutz ή BestPrice feed;

Συνήθως λείπουν required fields, υπάρχουν άκυρες κατηγορίες, λάθος availability, broken εικόνες ή προϊόντα χωρίς καθαρή τιμή και ΦΠΑ.

Μπορώ να εξαιρέσω προϊόντα από το XML;

Ναι. Στο setup ορίζονται κανόνες αποκλεισμού ανά προϊόν, κατηγορία ή πεδίο ώστε να μη στέλνονται προβληματικές εγγραφές.

Περιλαμβάνει Google Shopping;

Όχι. Η έκδοση 2.0.0 αφορά Skroutz/BestPrice· το Google Shopping είναι ξεχωριστό OBS plugin.

Πρέπει το Product ID να είναι πάντα SKU;

Όχι. Προτιμάται όταν είναι μοναδικό και σταθερό· αλλιώς συμφωνείται product/variation ID mapping.

Πώς χειρίζεται variations;

Ελέγχουμε ID, price, stock, image, EAN και attributes σε variation επίπεδο με πραγματικό sample.

Πώς ασφαλίζεται το generation URL;

Με μη προβλέψιμο variable value, χρήση μόνο από trusted cron και χωρίς δημοσίευση του πλήρους URL/token.

Τι γίνεται αν το XML μένει παλιό;

Ελέγξτε cron, timezone, file timestamp, log, caching και αν πολλαπλά jobs συγκρούονται.

Το OBS setup περιλαμβάνει έλεγχο πριν το submit;

Ναι. Ελέγχονται generation log, XML URL και αντιπροσωπευτικό sample πριν δοθεί στο marketplace.

Τι κρατάω πριν από update;

Το προηγούμενο ZIP, plugin settings, generation URL/cron, XML και sample output για diff/rollback.