ThemeShaper Forums » Thematic

[closed]

Slow Site: Network Solutions blames Thematic

(11 posts)
  • Started 3 years ago by rpeterika
  • Latest reply from lilyc
  • This topic is not resolved
  1. A recent inquiry to Network Solutions tech support about my site running slowly (http://www.ekisticsdesignstudio.com) prompted this reply:

    "I am sorry to hear that you were experiencing issues with latency on your website. As a courtesy I updated your server’s php.ini file double your PHP memory limit. When I researched your website’s source code, I also found that it was making calls to no fewer than 9 external .CSS file and no fewer than 9 external .JS files. This causes latency opening the site because the browser must download and process all 18 of those files before it even begins to render your site. In order to allow your site run more quickly you may want to either combine those into one Cascading Style Sheet and one external Javascript, or remove some of the plugins on your site that are calling those external files."

    OK, I have gone to web optimization sites and they have said similar things... I just assumed that Thematic was setup to be efficient, so I ignored those comments. I've even found people complaining about Network Solutions being a poor choice for Wordpress, OK, can't really do anything about that for a couple months.

    I just want to get an opinion from real web developers who use Thematic - are all these calls an issue?

    FYI: I use a custom child theme (just for basic formatting) and have 19 plugins installed (most are the wordpress defaults), only 6 of which are active: amberpanther favicon, google analytics, google xml, javascript to footer, taxonomy meta, and wp-super-cache (which is "ON" but not caching anything for some reason, I'll have to readdress that). For a good example of how slow, go to the "About" page, which only has text (besides standard page formatting stuff).

    Thanks in advance,
    RP

    Posted 3 years ago #
  2. yeah thematic loads a lot of CSS files that i think should be combined into 1 and then minified. sounds like most of the JS files are from your plugins tho... as i dont believe thematic loads many of those.

    i'm not sure of your troubles w/ caching, but i do recommend a caching plugin. W3 Total cache is also a good one.

    Posted 3 years ago #
  3. Minified the CSS (didn't combine it though, leave that for another day) Already faster.

    JS are as follows: jquery, superfish, hoverintent, thematic_dropdown, supersubs, comment-reply (and a facebook one which I removed) - which I think most relate to the menu (?). Jquery is the big one at 75k. Not really prepared to touch any these.

    Posted 3 years ago #
  4. you can switch the jquery to the google-hosted one. i've heard that can be faster. often people have that one caches on their computer already too. and if you arent using any of the drop-down menus you can clear them out of your header.

    Posted 3 years ago #
  5. Begin Rant...

    IMO Network Solutions sucks. They tend to oversell their shared hosting like a champ. I've had crappy experiences with them in the past where even the simplest of WordPress installs were buggy as hell and even unreachable via FTP at times.

    On shared hosting you have limited resources and you're sharing them with your neighbors. Not good if the host is overselling or if you have bad neighbors.

    You can check. There are reverse lookup sites out there. Try: http://domainsbyip.com/ will give you your ip address from your domain name. Then entering your ip address into the same site will give you how many site on are the shared host. When I checked you had an ip neighborhood of 185 with church sites and x x x sites along side each other.

    End rant...

    All ranting aside, the comments their tech support made about your site's source code were correct pertaining to http requests impacting latency. Some of that is Thematic and some of it it what you are publishing on your site.

    Using FireFox + FireBug with the Yslow or PageSpeed plugins can help you analyze and troubleshoot your sites performance.

    Caching plugins like Super Cache or Total Cache can help stretch the resources of a shared hosting environment.

    Also a plugin like Server Buddy is good for seeing what is going with your server set up.

    Posted 3 years ago #
  6. @rpeterika, when on shared hosting, you can only expect a certain level of speed. you get what you pay for.

    that said, you can speed things up by doing doing little things.

    does the site you mention relate to "Ekistics Design Studio" ?
    if so, you dont really need to use the thematic scripts. (they apply to your main menu nav and dont seem to be working.

    so, i would disable those and also host your jquery direct from google. like helga mentioned, its normally cached on most users computers anyway.

    pop the following in your child functions.php
    kill the thamtic superfish scripts for the menu

    // remove thematic head scripts
    function remove_scripts() {
    remove_action('wp_head','thematic_head_scripts');
    }
    add_action('init', 'remove_scripts');

    load jquery direct from jquery

    // enqueue scripts
    function my_init() {
    if (!is_admin()) {
    wp_deregister_script('jquery');
    wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', false, '1.4.4', true);
    wp_enqueue_script('jquery');
    }
    }
    add_action('init', 'my_init');

    in the future, if you need to add some specific jquery plugin, you can ammend the above code like so,

    // enqueue scripts
    function my_init() {
    if (!is_admin()) {
    wp_deregister_script('jquery');
    wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', false, '1.4.4', true);
    wp_enqueue_script('jquery');
    //my new script
    wp_enqueue_script('mynewscript', get_bloginfo('stylesheet_directory') . '/js/mynewscript.js', array('jquery'), '1.0', true );
    }
    }
    add_action('init', 'my_init');

    i flicked around site, it doesn't seem too slow to me.

    you have a C grade on Y-Slow.
    you could optimise your..
    expire headers
    gzip compression

    this is done with a .ini file. i'm unsure that all shared hosting let you do this.
    if yours does....

    there will be a HTACESS file at the root of your wordpress install, where you find the wp-config.php file, etc. before doing anything, i suggest you take a copy (this contains info regarding your current wordpress install). messing this up, could break your site.

    add the following to HTACCESS

    # gzip compression.
    <IfModule mod_deflate.c>
    
    # html, txt, css, js, json, xml, htc:
      AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
      AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
      AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
    
    # webfonts and svg:
      <FilesMatch "\.(ttf|otf|eot|svg)$" >
        SetOutputFilter DEFLATE
      </FilesMatch>
    </IfModule>
    
    # these are pretty far-future expires headers
    # they assume you control versioning with cachebusting query params like
    #   <script src="application.js?20100608">
    # additionally, consider that outdated proxies may miscache
    #   www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
    
    # if you don't use filenames to version, lower the css and js to something like
    #   "access plus 1 week" or so
    
    <IfModule mod_expires.c>
      Header set Cache-Control "public"
      ExpiresActive on
    
    # Perhaps better to whitelist expires rules? Perhaps.
      ExpiresDefault                          "access plus 1 month"
    
    # cache.manifest needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
      ExpiresByType text/cache-manifest       "access plus 0 seconds"
    
    # your document html
      ExpiresByType text/html                 "access plus 0 seconds"
    
    # data
      ExpiresByType text/xml                  "access plus 0 seconds"
      ExpiresByType application/xml           "access plus 0 seconds"
      ExpiresByType application/json          "access plus 0 seconds"
    
    # rss feed
      ExpiresByType application/rss+xml       "access plus 1 hour"
    
    # favicon (cannot be renamed)
      ExpiresByType image/vnd.microsoft.icon  "access plus 1 week" 
    
    # media: images, video, audio
      ExpiresByType image/gif                 "access plus 1 month"
      ExpiresByType image/png                 "access plus 1 month"
      ExpiresByType image/jpg                 "access plus 1 month"
      ExpiresByType image/jpeg                "access plus 1 month"
      ExpiresByType video/ogg                 "access plus 1 month"
      ExpiresByType audio/ogg                 "access plus 1 month"
      ExpiresByType video/mp4                 "access plus 1 month"
      ExpiresByType video/webm                "access plus 1 month"
    
    # webfonts
      ExpiresByType font/truetype             "access plus 1 month"
      ExpiresByType font/opentype             "access plus 1 month"
      ExpiresByType font/woff                 "access plus 1 month"
      ExpiresByType image/svg+xml             "access plus 1 month"
      ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
    
    # css and javascript
      ExpiresByType text/css                  "access plus 1 month"
      ExpiresByType application/javascript    "access plus 1 month"
      ExpiresByType text/javascript           "access plus 1 month"
    </IfModule>
    
    # Since we're sending far-future expires, we don't need ETags for
    # static content.
    #   developer.yahoo.com/performance/rules.html#etags
    FileETag None

    maybe read up on things before doing any of the above to the HTACESS.

    hope any of this helps

    Posted 3 years ago #
  7. @jonny - thanks for the htaccess stuff!

    Posted 3 years ago #
  8. WOW - lots of help, I'll tinker around and report back with findings. Thanks in the mean time.

    (@Jonny, Quick aside regarding the scripts...

    'does the site you mention relate to "Ekistics Design Studio" ?
    if so, you dont really need to use the thematic scripts. (they apply to your main menu nav and dont seem to be working.

    so, i would disable those and also host your jquery direct from google. like helga mentioned, its normally cached on most users computers anyway.'

    I don't understand what you mean on that first line...? Is "the main nav" the same as the single "primary menu" supported by thematic? IF so, it wasn't functioning for awhile yesterday while I was adjusting things, but works now. Will killing some of these scripts remove that functionality?

    Regarding perceived slowness, it isn't TOO SLOW for me either, but it is for my boss. Therefore, it is TOO SLOW.)

    Posted 3 years ago #
  9. if you were not planning on using dropdowns you could eliminate them all. but i clicked over to your site and you are def using dropdowns. i guess what you could do would be to combine all the scripts into 1 script... minify that and then load that in your header instead of the 4-5 that thematic does.

    you'd use johnny's "remove thematic head scripts" function from above and then enqueue your new script like he also showed.

    you might also consider Lazy Loading all those images:
    http://www.appelsiini.net/projects/lazyload

    in the end you will be somewhat limited by your shared hosting- make sure your boss knows that is a large part of the problem.

    Posted 3 years ago #
  10. @helga,
    i thought the superfish script just added an effect to the dropdowns. the dropdowns continue to work without the script. on visiting the site i didn't see any script effect applied to the dropdowns.

    i did this site, the menu operates similar to ekistic design, dropdown but no effect
    http://www.amkitchensltd.co.uk/

    or have i gone mad?

    Posted 3 years ago #
  11. lilyc
    Member

    I'm trying to minify all my external stylesheets and javascripts.... and I did combine all my css documents, but I have a question (probably a very dumb question.)

    Where the heck are the calls to the external js files that I don't need located?

    I looked in my header.php and they're not there. (I'm talking about just the calls to those external files, not the files themselves) I've looked in most of my pages, and still can't find them.

    I don't need all the superfish stuff, and I just want to clean things up by removing anything I don't need.

    y-slow says I'm calling something like 19 javascripts, including superfish, hoverIntent, etc.

    Any help is appreciated. :-)

    Posted 3 years ago #

RSS feed for this topic

Topic Closed

This topic has been closed to new replies.