Jump to content

Βοήθεια με δημιουργία XML προϊόντων


Recommended Posts

Από UX είναι μαύρο χάλι η Amazon. Χρεώνουν με την ωρα με κάποιο ανώτατο ποσό το μήνα. Σχεδόν τσάμπα.

 

Επειδή ακόμα και αυτή η λύση μπορεί να είναι overkill, ποιες είναι οι απαιτήσεις του skroutz κλπ για τη μορφή του url? Μπορεί να βρίσκεται σε οποιοδήποτε domain?

Link to comment
Share on other sites

52 minutes ago, masteroidz said:

Από UX είναι μαύρο χάλι η Amazon. Χρεώνουν με την ωρα με κάποιο ανώτατο ποσό το μήνα. Σχεδόν τσάμπα.

 

Επειδή ακόμα και αυτή η λύση μπορεί να είναι overkill, ποιες είναι οι απαιτήσεις του skroutz κλπ για τη μορφή του url? Μπορεί να βρίσκεται σε οποιοδήποτε domain?

Λογικά φαντάζομαι δεν υπάρχει κανένας περιορισμός, πχ τώρα του είχα δώσει url κατευθείαν από τον storage server χωρίς το domain μου δεν υπήρχε πρόβλημα.

 

Σκέφτομαι τώρα μήπως δώσω (αν γίνεται φυσικά αυτό) στο Skroutz κάτι τέτοιο mypage.gr/products.xml  και απλά να κάνω κάποιο redirect πχ στο url που θα δημιουργηθεί από τον AWS EC2 ώστε να υπάρχει και η δυνατότητα σε περίπτωση που γίνει κάτι απλά να αλλάξω το redirect page χωρίς να αλλάζει το original url. Γιατί το Skroutz δεν θέλει να του αλλάζεις το original url. 

Link to comment
Share on other sites

Μπορώ να προτείνω μια ευέλικτη λύση. Φτιάξε ένα νέο DNS A record του τύπου storage.mydomain.tld. που να δείχνει στον server που είναι το αρχείο.

 

Δώσε στο skroutz ένα URL  όπως https://storage.mydomain.tld/public/products.xml. Κάθε φορά που θα αλλάζεις hosting provider απλά θα αλλάζεις το που θα δείχνει το dns record.

  • Like 4
  • Agree 1
Link to comment
Share on other sites

11 minutes ago, BasiliCeLew said:

πχ τώρα του είχα δώσει url κατευθείαν από τον storage server χωρίς το domain μου

 

Αφού έχεις ήδη domain, ίσως να δικαιούσαι ένα πολύ μικρό πακέτο για δωρεάν hosting από τον πάροχό σου (ή τουλάχιστον με πολύ μικρό κόστος). Για δες το κι αυτό, μήπως δε χρειάζεται να μπλέξεις περισσότερο με άγνωστες υπηρεσίες.

  • Like 3
  • Agree 1
Link to comment
Share on other sites

Btw το αγαπητό Skroutz λογικά διαβάζει Λάμπη γιατί σήμερα έλαβα τηλέφωνο για να μιλήσουμε για τα προβλήματα ώστε να δούμε μαζί πως μπορούν να λυθούν. Και ήταν σαν να διάβασε τυχαία αυτό το thread ? 

PS. Κατερίνα ευχαριστώ ?

  • Like 6
  • Haha 1
Link to comment
Share on other sites

Παιδιά τελικά προχώρησα στην επιλογή του Amazon Server EC2 μιας κ ήταν (αν ισχύουν οι χρεώσεις που είδα) πολύ φθηνή λύση.  Το xml θα ενημερώνετε επίσης αυτόματα εκεί οπότε δεν θα χρειαστεί να ασχοληθώ με αυτό το κομμάτι ξανά.

 

Μπορείτε να μου πείτε πως μπορώ να ελέγξω τώρα αν το XML url έχει πρόβλημα με caching;

  • Like 2
Link to comment
Share on other sites

1 hour ago, BasiliCeLew said:

Παιδιά τελικά προχώρησα στην επιλογή του Amazon Server EC2 μιας κ ήταν (αν ισχύουν οι χρεώσεις που είδα) πολύ φθηνή λύση.  Το xml θα ενημερώνετε επίσης αυτόματα εκεί οπότε δεν θα χρειαστεί να ασχοληθώ με αυτό το κομμάτι ξανά.

 

Μπορείτε να μου πείτε πως μπορώ να ελέγξω τώρα αν το XML url έχει πρόβλημα με caching;

Μάλλον θα πρότεινα από τα Response Headers, ελέγχοντας το Last-Modified. Επειδή είναι και αργά όμως και το μυαλό έχει εργαστεί σκληρά σήμερα (:D) μπορείς να περιμένεις κι άλλες απαντήσεις.

 

Λίγα λόγια το Last Modified εδώ.

  1. Άνοιξε το XML (από Edge Chromium ή Chrome προτιμότερο)
  2. Πάτησε δεξί κλικ > Inspect
  3. Επίλεξε την καρτέλα Network
  4. Επίλεξε από αριστερά το αρχείο σου
  5. Πάτησε στην καρτέλα Headers
  6. Δες την ημερομηνία στο Last-Modified

image.thumb.png.80c6d2705c64cd4e81f2d60fb3ce72f2.png

  • Like 2
Link to comment
Share on other sites

Έχουμε λοιπόν δύο ειδών caching, το server-side και το client-side. Το δεύτερο δεν μας απασχολεί εδώ γιατί είναι δουλειά των web crawlers.

 

Αρχικά απ'οσο γνωρίζω δεν γίνεται server-side caching από την πλευρά της Amazon. Το επόμενο σημείο που μπορεί να γίνει sever-side caching είναι ο web server. Το πρώτο βήμα είναι να επιστρέφει στον client κάποια χρήσιμα  header tags όπως το Last-Modified (όπως αναφέρει παραπάνω ο @trib) και το Cache-Control.

 

Αν χρησιμοποιείς nginx μπορείς να χρησιμοποιήσεις τις οδηγίες για το configuration από το https://ubiq.co/tech-blog/disable-nginx-cache/

server {
    listen 8080;
    server_name localhost;

    location / {
        root /your/site/public;
        index index.html;

        # kill cache
        add_header Last-Modified $date_gmt;
        add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
        if_modified_since off;
        expires off;
        etag off;
    }
}

 

Αυτό πιστεύω πως είναι αρκετό!

 

Για πιο αναλυτικά μπορείς να δεις και το https://webdock.io/en/docs/optimizing-performance/setting-cache-control-headers-common-content-types-nginx-and-apache

  • Like 3
Link to comment
Share on other sites

20 hours ago, trib said:

Μάλλον θα πρότεινα από τα Response Headers, ελέγχοντας το Last-Modified. Επειδή είναι και αργά όμως και το μυαλό έχει εργαστεί σκληρά σήμερα (:D) μπορείς να περιμένεις κι άλλες απαντήσεις.

 

Λίγα λόγια το Last Modified εδώ.

  1. Άνοιξε το XML (από Edge Chromium ή Chrome προτιμότερο)
  2. Πάτησε δεξί κλικ > Inspect
  3. Επίλεξε την καρτέλα Network
  4. Επίλεξε από αριστερά το αρχείο σου
  5. Πάτησε στην καρτέλα Headers
  6. Δες την ημερομηνία στο Last-Modified

image.thumb.png.80c6d2705c64cd4e81f2d60fb3ce72f2.png


Μιας και νουμπάς σε όλα αυτά που λέμε, η διαδικασία αυτή ήταν πολύ εύκολη και φαινομενικά δεν υπάρχει πρόβλημα.
Δοκίμασα διάφορους Chromium Browsers  και μέχρι τώρα όλες οι αλλαγές (κάθε μία ώρα) φαίνονται κανονικά 

 

10 hours ago, masteroidz said:

Έχουμε λοιπόν δύο ειδών caching, το server-side και το client-side. Το δεύτερο δεν μας απασχολεί εδώ γιατί είναι δουλειά των web crawlers.

 

Αρχικά απ'οσο γνωρίζω δεν γίνεται server-side caching από την πλευρά της Amazon. Το επόμενο σημείο που μπορεί να γίνει sever-side caching είναι ο web server. Το πρώτο βήμα είναι να επιστρέφει στον client κάποια χρήσιμα  header tags όπως το Last-Modified (όπως αναφέρει παραπάνω ο @trib) και το Cache-Control.

 

Αν χρησιμοποιείς nginx μπορείς να χρησιμοποιήσεις τις οδηγίες για το configuration από το https://ubiq.co/tech-blog/disable-nginx-cache/



server {
    listen 8080;
    server_name localhost;

    location / {
        root /your/site/public;
        index index.html;

        # kill cache
        add_header Last-Modified $date_gmt;
        add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
        if_modified_since off;
        expires off;
        etag off;
    }
}

 

Αυτό πιστεύω πως είναι αρκετό!

 

Για πιο αναλυτικά μπορείς να δεις και το https://webdock.io/en/docs/optimizing-performance/setting-cache-control-headers-common-content-types-nginx-and-apache

Επειδή να σου πω την αλήθεια δεν το έχω αυτό που λες ( βασικά κατάλαβα τι πρέπει να κάνω αλλά δεν ξέρω που πως γιατί κλπ ? ) αλλά αποκτάω μία οικειότητα γενικότερη, I will be back soon για να κάνω update με βάση αυτά που μου είπες.  

Νομίζω ότι διάλεξα να τελειώσω λάθος σχολή πάντως ( Μηχ. Μηχ. ) μιας και με κατέκτησε το κομμάτι του ηλεκτρονικού εμπορίου σε διάφορους τομείς/εκτάσεις του εδώ και χρόνια. 

Edited by BasiliCeLew
  • Like 3
Link to comment
Share on other sites

11 hours ago, BasiliCeLew said:

Νομίζω ότι διάλεξα να τελειώσω λάθος σχολή πάντως ( Μηχ. Μηχ. ) μιας και με κατέκτησε το κομμάτι του ηλεκτρονικού εμπορίου σε διάφορους τομείς/εκτάσεις του εδώ και χρόνια. 

 

Πτυχίο και μεταπτυχιακό στα Οικονομικά. Σήμερα μιλάω με τους υπολογιστές σε διάφορες γλώσσες ?

  • Like 2
Link to comment
Share on other sites

On 11/18/2020 at 10:43 AM, masteroidz said:

Μπορώ να προτείνω μια ευέλικτη λύση. Φτιάξε ένα νέο DNS A record του τύπου storage.mydomain.tld. που να δείχνει στον server που είναι το αρχείο.

 

Δώσε στο skroutz ένα URL  όπως https://storage.mydomain.tld/public/products.xml. Κάθε φορά που θα αλλάζεις hosting provider απλά θα αλλάζεις το που θα δείχνει το dns record.

Μία βοήθεια σε αυτό,

 

Το domain το έχω στο Papaki.gr , κάνω νέο DNS A name  όπως  είπες storage.mydomain.tld

Βάζω σαν όνομα πχ storage , στην διεύθυνση IP τι βάζουμε τώρα και το TTL το αφήνω ως έχει; 

image.thumb.png.aea78b3c3d32236d4e0b0410dbd5e1ee.png

Link to comment
Share on other sites

3 hours ago, BasiliCeLew said:

Βάζω σαν όνομα πχ storage , στην διεύθυνση IP τι βάζουμε τώρα και το TTL το αφήνω ως έχει;

 

To ttl μπορείς να το βάλεις και μικρότερο π.χ. μια ώρα. Δεν είναι οτι θα δέχεται χιλιάδες κλήσεις το λεπτό ο dns server για αυτή την εγγραφή και θα ζοριστεί.

 

3 hours ago, BasiliCeLew said:


Τώρα μένει να βγάλω καλύτερη άκρη με το nginx γιατί η επαφή μου με αυτό είναι στο -100 ?? 

 

https://youtu.be/oykl1Ih9pMg?t=828

  • Like 1
  • Agree 1
Link to comment
Share on other sites

  • 3 weeks later...

Ένα μικρό update, 

 

Τελικά κατάφερα να φτιάξω παντού XML με τον τρόπο που ήθελα (όπου μπορούμε να εκμεταλευτούμε κ κάποια πραγματάκια παραπάνω) σε Skroutz, BestPrice και Public.
Από τα δύο πρώτα έχουμε ένα μέσω conversion rate 5.5% στο site όπου δεν μπορούσα να το φανταστώ με τίποτα. Οι πρώτες 10 μέρες πήγαν πολύ καλά :) 

Φυσικά μπουσούλισμα είναι ακόμα και θα προσπαθήσω σταδιακά να κάνω ένα καλό Scale (πχ Goolge ads , facebook ads όπου εκεί το ROI που έχω είναι πολύ κακό μιας και ακόμα μαθαίνω το παιχνίδι αυτό).

Για να δούμε αν μπορούμε να κάνουμε κάτι δικό μας Ελλάδα ή αλλιώς αρχές 2022 δυστυχώς θα ξενιτευτούμε Αυστραλία μιας και είχα μια ΤΡΕΛΗ πρόταση σαν Μηχανικός στο Defence industry of Australia (από ότι φαίνεται το βύσμα υπάρχει παντού? γιατί στο skype interview με ρωτούσαν περισσότερο αν είναι ωραία η Ελλάδα το καλοκαίρι παρά για τις ικανότητες μου?).

  • Like 4
Link to comment
Share on other sites

5 hours ago, BasiliCeLew said:

Ένα μικρό update, 

 

Τελικά κατάφερα να φτιάξω παντού XML με τον τρόπο που ήθελα (όπου μπορούμε να εκμεταλευτούμε κ κάποια πραγματάκια παραπάνω) σε Skroutz, BestPrice και Public.
Από τα δύο πρώτα έχουμε ένα μέσω conversion rate 5.5% στο site όπου δεν μπορούσα να το φανταστώ με τίποτα. Οι πρώτες 10 μέρες πήγαν πολύ καλά :) 

Φυσικά μπουσούλισμα είναι ακόμα και θα προσπαθήσω σταδιακά να κάνω ένα καλό Scale (πχ Goolge ads , facebook ads όπου εκεί το ROI που έχω είναι πολύ κακό μιας και ακόμα μαθαίνω το παιχνίδι αυτό).

Για να δούμε αν μπορούμε να κάνουμε κάτι δικό μας Ελλάδα ή αλλιώς αρχές 2022 δυστυχώς θα ξενιτευτούμε Αυστραλία μιας και είχα μια ΤΡΕΛΗ πρόταση σαν Μηχανικός στο Defence industry of Australia (από ότι φαίνεται το βύσμα υπάρχει παντού? γιατί στο skype interview με ρωτούσαν περισσότερο αν είναι ωραία η Ελλάδα το καλοκαίρι παρά για τις ικανότητες μου?).

 

Εκτός από τα πληρωμένα ρίξε μια ματιά και στα Organic με το Search Console. Βάλε sitemaps, δήλωσε τα στο robots, έλεγξε τα backlinks και κάνε disavow τα spam referrals. Τίτλους, meta, structured data, φωτογραφίες, h1. Τα πληρωμένα είναι καλά αρκεί να έχεις budget, διαφορετικά σε τρώνε οι καρχαρίες που ποντάρουν σε όλα τα keywords ανεξάρτητα από την τιμή. Προσωπικά θα έτρεχα ads κυρίως σε Facebook και όχι Google, τουλάχιστον για αρχή. 

 

Καλή επιτυχία! 

  • Like 1
  • Agree 1
Link to comment
Share on other sites

  • 10 months later...

Καλησπέρα :) 
Παιδιά επανέρχομαι μετά από 1 χρόνο για να μου δώσετε τα φώτα σας.. Πάλι....

 

Σχετικά με το XML, έπρεπε να το προγραμματίσουμε από την αρχή γιατί λόγω Loops που χρησιμοποιούσαμε στη προηγούμενη έκδοση πολλές φορές έδινε Mismatch data και μας πετούσε εκτός πολλά προϊόντα το Skroutz. Από εκεί που είχαμε time-driven updates, τώρα έχουμε on demand updates στο XML ώστε στην ουσία το Skroutz να παίρνει Live updates.

Δημιουργήθηκε ένα θέμα (που νάνε καλά ο @masteroidz θυμήθηκα ότι κάτι που είχε γράψει) με την Cache οπότε το XML έδινε random αποτελέσματα από ΟΛΑ τα δεδομένα που έχουν αλλαχτεί από την στιγμή της δημιουργίας του. Οπότε πήγα κατευθείαν να κοιτάξω το LiteSpeed Web Cache το οποίο χρησιμοποιεί ο server μας, με ένα μικρό Google είδα πως να απενεργοποιήσω σε όλα τα domain (ίσως θα χρειαστεί να το αλλάξω αργότερα σε συγκεκριμένα domain) όπως λέει εδώ: https://www.revolutioninter.net/kb/how-to-disable-litespeed-cache-on-your-domain/


Τώρα το πρακτικό πρόβλημα είναι ότι από εκεί που το XML ήθελε 10-15sec το πολύ για να φτιαχτεί on demand, τώρα θέλει 3-4 λεπτά. Μια χαοτική διαφορά. Έχετε να προτείνετε πως θα μπορούσε να μειωθεί ο χρόνος αυτός; Διαφορετικά θα πρέπει όπως το βλέπω να πάω ξανά σε time-driven updates και τα τα βάλω να ξεκινά η δημιουργία τους 10 λεπτά (just in case) πριν οι merchants ξεκινήσουν να διαβάσουν το URL, και απλά μετά ο μόνος χρόνος  που θα απαιτείτε θα είναι για να φορτώσει τα 20mb του αρχείου. 

Σας ευχαριστώ όλους για ακόμα μία φορά :) 

Edited by BasiliCeLew
  • Agree 1
Link to comment
Share on other sites

  • 2 weeks later...
On 11/6/2021 at 10:28 AM, BasiliCeLew said:

Τώρα το πρακτικό πρόβλημα είναι ότι από εκεί που το XML ήθελε 10-15sec το πολύ για να φτιαχτεί on demand, τώρα θέλει 3-4 λεπτά. Μια χαοτική διαφορά. Έχετε να προτείνετε πως θα μπορούσε να μειωθεί ο χρόνος αυτός; Διαφορετικά θα πρέπει όπως το βλέπω να πάω ξανά σε time-driven updates και τα τα βάλω να ξεκινά η δημιουργία τους 10 λεπτά (just in case) πριν οι merchants ξεκινήσουν να διαβάσουν το URL, και απλά μετά ο μόνος χρόνος  που θα απαιτείτε θα είναι για να φορτώσει τα 20mb του αρχείου.

 

Μήπως να ρίξετε μια ματιά στον αλγόριθμο δημιουργίας του αρχείου; Η τόσο μεγάλη αύξηση στον απαιτούμενο χρόνο μάλλον δείχνει πως υπάρχουν περιθώρια βελτίωσης.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...