1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

E-commerce for a big company

Discussion in 'White Hat SEO' started by asritad, Oct 18, 2015.

  1. asritad

    asritad Junior Member

    Joined:
    Feb 12, 2011
    Messages:
    165
    Likes Received:
    43
    Hi everybody

    its been sometime iave posted anything on bhw, This time i need a solution for a problem and i think bhw is the best place to ask, right now iam working on a pretty big ecommerce company with over 11k products and growing daily, daily like 100 products or so gets added to the website.

    The problem iam facing is the site takes huge time to load eventhough my developers have done 99% of the front end optimization and we are on a dedi server with high end specs and the platform we are using is woocommerce. On the backend of woocommerce we have like 10 people fulfilling the orders and all other related work, related to the orders.. but the ones working in the back end also reports the site beeing very very very slow ... so its not that front end is only slow... both front end and back end is veeery slow.

    Anybody experienced or had same issues... can u guys please shed some light into what might be causing the site's backend and front end to slow down like this ??

    Any help would be highly appreciated.
     
  2. asritad

    asritad Junior Member

    Joined:
    Feb 12, 2011
    Messages:
    165
    Likes Received:
    43
    Anybody here can help with any ideas ?

    Thank you
     
  3. davids355

    davids355 Jr. VIP Jr. VIP

    Joined:
    Apr 25, 2011
    Messages:
    10,198
    Likes Received:
    7,849
    Home Page:
    How much traffic does it get?
    Have you looked at the server load? What spec is server? Does it have SSD? What is bandwidth usage like? Do you have CDN? How many plugins are installed? What is average page size including images? How many items are there on average per page (I mean elements - html, css files etc)?

    lots of questions you should be asking to try and pinpoint problem.
     
    • Thanks Thanks x 1
  4. asritad

    asritad Junior Member

    Joined:
    Feb 12, 2011
    Messages:
    165
    Likes Received:
    43
    Hi davids355

    thank you for the answer ... there is no server load literally ... server is a dedicated one with very high end specs ... site gets around 30k unique visitors a month... i do use a cdn and the cdn's location is located in my country also .... using ssd .. for plugins its approximately 50 plugins ... for page size iam attaching a gtmetrix report ...

    GTmetrix.png

    thank you for your valuable inputs
     
  5. array90

    array90 Registered Member

    Joined:
    Oct 17, 2015
    Messages:
    50
    Likes Received:
    5
    Your developers should be able to identify if its client-side (doubtful), web server / code related, or database related. Generally its database related and you will need to either:

    a) optimize queries (can be difficult if you're using off the shelf software)
    b) enable some sort of caching either in between the db and code or just cache the pages the user sees with something like varnish
    c) switch to better hardware such as sold state disks
    d) look into database indexes
    e) a mixture of the above

    Your developers should really be able to identify where the bottleneck is or they aren't doing their job. And without figuring out where the slowness is coming from, you cannot solve the problem.
     
  6. array90

    array90 Registered Member

    Joined:
    Oct 17, 2015
    Messages:
    50
    Likes Received:
    5
    If you want you can PM me the URL and I could look, but honestly I won't be able to tell much. Chrome developer tools will tell you how long its taking to load in browser, how long it spent waiting to receive data from the server, and can determine roughly how long it took for the server to process the request...
     
  7. fuzzyalej

    fuzzyalej Newbie

    Joined:
    Oct 28, 2014
    Messages:
    18
    Likes Received:
    0
    You have to measure and isolate the problem. Then from there start optimizing, but if you are using something like woocommerce don't expect much.

    PM me for more info if you want :)
     
  8. asritad

    asritad Junior Member

    Joined:
    Feb 12, 2011
    Messages:
    165
    Likes Received:
    43
    Thnk you guys for all the answers ... anybody else who can pin point problems ??
     
  9. validseo

    validseo Jr. VIP Jr. VIP Premium Member

    Joined:
    Jul 17, 2013
    Messages:
    910
    Likes Received:
    527
    Occupation:
    Professional SEO
    Location:
    Seattle, Wa
    • Make reporting and admin apps separate applications on separate servers...
    • Replicate your database and have reporting and "presentation only" code use the read only replicant... that way the main database is always ready for updates like add to cart actions and new product entries.
    • Caching... LOTS OF CACHING...
    • Reduce all the third party tracking shit... the basics are OK but if you have tons of 3rd party add ons you are probably killing your UX with latency.
    • Block bots... If the bot doesn't yield organic revenue (or if it isn't required by your ad serving) block the shit out of it.
    • Stop pointing extra domains at the website... It doesn't help since google views them as duplicate content when they get crawled. Plus every domain gets crawled separately and the load from all the bots for all the domains can become crushing. So stop pointing unused domains at your website.
    • Check # of indexed pages in Google Search Console (webmaster tools). If it is a bigger number than your actual number of pages then you probably have a navigation/duplicate content problem. This is usually caused by pagination, sorts, filters, and tracking codes in URL parameters. Google doesn't always figure them out so they turn into an infinite loop of duplicated content. Even though GSC shows a bigger number you are actually getting an incomplete crawl because when googlebot senses it is in an infinite loop it quits. So by fixing this you get a smaller number of indexed pages but more pages will appear in searches and your organic traffic will go up... plus infinite crawls will burden your site.
    • Tune your SQL and database indexes... maybe skip this if you're not a database expert... Tuning the wrong things can cause double damage so you really want someone who understands database indexes to do this.
    • Use a colo... not host. Buy your server, rent colo space, pay for your bandwidth.
    • CDN... aws is really cheap for CDN... this helps page speeds a lot.
    • cron expensive reporting and database operations for off hours. Don't run big queries as your morning email lists are going out... you are just going to kill sales doing that.
    • Don't email on the same bandwidth and hardware your store uses to take orders... hello!
    • If you're using PHP consider learning java... if you hate that idea then at least rewrite the session handling to not use files for each active session... you are limiting web performance by disk IO which is STOOOOOOOPID and thats the default behavior of wordpress and PHP.
    • Do the recommended stuff in Google Page Speed Insights

    end brain dump
     
    Last edited: Oct 19, 2015
  10. BulletServers

    BulletServers Junior Member

    Joined:
    Aug 28, 2015
    Messages:
    104
    Likes Received:
    13
    if site has alot of images use lazy load,
    use JS to load visible part of the site first and then other part on scroll
     
  11. array90

    array90 Registered Member

    Joined:
    Oct 17, 2015
    Messages:
    50
    Likes Received:
    5
    validseo with a lot of great suggestions. He kinda shat on PHP and while not multi-threaded the language used is rarely the cause of slowness, more so its your database and amount of data sent over the wire (in general).

    Here is all you need to know. Your developers need to be savvy enough to find where the slowness is. It can only be occurring in a few areas: client side, web server, code, database, data transfer size, data transfer bandwidth.

    "I don't know why our website is slow" would never fly with me if a senior dev reported that to me, maybe a junior dev, but not a senior dev. In fact, I just added this to my list of interview questions/scenarios for developers. I wouldn't hire a mid to senior guy who couldn't point to one or more of those areas for optimization. Shooting from the hip and hoping an optimization solves the problem when the source of the problem is unknown has a low probability of working. No one on here is going to be able to tell you where the slowness is coming from because we don't have access to your site, code, web server, or database server. Period.
     
  12. validseo

    validseo Jr. VIP Jr. VIP Premium Member

    Joined:
    Jul 17, 2013
    Messages:
    910
    Likes Received:
    527
    Occupation:
    Professional SEO
    Location:
    Seattle, Wa
    Not entirely true... I was factual and fair about PHP. I use PHP all the time for prototyping... when it needs to scale big I get the most out of my hardware and time by switching to java (since I know both).

    Many people have trapped the biggest and most common problem to PHP not scaling in how it handles sessions by default and secondarily caching...



    http://culttt.com/2013/02/04/how-to-save-php-sessions-to-a-database/
    or just google "php database session handling"
     
  13. array90

    array90 Registered Member

    Joined:
    Oct 17, 2015
    Messages:
    50
    Likes Received:
    5
    Storing sessions in a memcache server is better IMO since you never hit disk and sessions are typically small and ram has become cheaper. Though with SSDs, not sure how much I/O matters on sessions. Whatever though. Nice to meet another dev on here.