Chris W. Smith

  • About Me
    • Past Work
  • Tools
  • Blog
  • Contact

Help Me Learn Javascript In 2016

December 17, 2015 By Chris Smith 1 Comment

Javascript LogoTaking a page from a fellow Automattician’s goals for 2016, I am making a goal for myself that I’ve put off far too long: learning Javascript.

I’ve built many, many themes for WordPress, but was always able to get by with jQuery and learning just enough to do something simple. However, backtracking and learning Javascript from the beginning will open up many more opportunities for me. I want to be able to do things like:

  1. Contribute to projects like Calypso. With WordPress.com moving to Calypso, and the potential for self-hosted WordPress.org sites to use it, being able to understand it on a deeper level (along with the API) can help me be able to dig out bugs, submit fixes, and work towards enhancements.
  2. Build out home automation controls. My home automation system runs on a Mac Mini Python server. While it’s got a suitable app and prebuilt web frontend, there are a lot of things about it that are lacking that could be solved with even a simple HTML/CSS/Javascript site instead of the built-in stuff. By goal is to access the site via older iPads throughout the house for a “whole house” automation and monitoring solution.
  3. WordPress Plugins. I’ve got a couple of very niche plugins out on the main WordPress.org plugin directory. While they’re very basic, they work well for what I needed at the time, and it seems a few other folks needed them too! I would really like to work on enhancing one of them with some settings, since it enables Jetpack functionality for a theme framework that otherwise would require the user to modify their theme.

Additionally, with all of the frameworks heavy hitters are getting behind (like React), Javascript shows no signs of becoming irrelevant in the foreseeable future.

So, how can you help me? Send me resources. What site/book/course helped you learn Javascript quickest? After the basics, where did you go from there? More importantly, what parts did you struggle with, and what helped you get over the hump?

Filed Under: Javascript, Web Development, WordPress, Work

Improving WordPress Site Speed

February 11, 2015 By Chris Smith Leave a Comment

(originally posted on Bring Your Own Design)

Most of us don’t need to serve up millions (or even hundreds) of pageviews a day, but, eventually you’ll run into a situation where your site is running slow. While the reasons for a slow-loading site are countless, there are a few things you can do to help increase your WordPress site speed.

Hosting

It’s easy to get tempted by cheap hosting. You can even find free WordPress hosting if you look hard enough! But, the old adage of “you get what you pay for” definitely applies to the web hosting world. Cheap hosts tend to overcrowd their servers, and one badly-behaving site can take down multiple others! For mission-critical sites, we recommend using a managed hosting provider like WPEngine or Synthesis (if you’re on StudioPress Genesis). If you’re handy with a command line, a managed VPS like A Small Orange offers is probably your best bet.

Content Delivery Networks (CDNs)

If you have a lot of images or other media, a CDN is the way to go. Content Delivery Networks are basically copies of your local files that exist in different locales for faster access around the world. For example, if you have a site that is popular in Europe, but your hosting is based in the US, it would make a lot of sense to use something like MaxCDN or Amazon Cloudfront to cache files on one of their locations in Europe for quick access from that part of the world.

While speed is the ultimate payoff with CDNs, cost can be a beneficial factor as well. Most CDNs will allow you to store gigabytes of data for pennies, compared to the much higher prices of purchasing additional storage and bandwidth from your hosting provider.

To help you manage using a CDN with WordPress, we’d suggest W3 Total Cache. While it is a full-fledged optimization plugin, it can be used only for the CDN functionality (but you really should use the other stuff too!).

Minify, Static-fy

Minifying your static files will make an incremental improvement on site loading speed, but all those small improvements really can add up in the long run! HTML, CSS, and Javascript can all be minified, and you can even combine your CSS and Javascript files for even more improvements.

W3 Total Cache is our favorite for handling those tasks. Another thing that it does well is generate static files to serve up, instead of hitting the database on every single request. This method works best on sites with pages that don’t change much, but even busy blogs can benefit from it.

NGINX

Here’s where we get into the really heavy stuff. If you’ve outgrown managed hosting, and are running a VPS, you’ll definitely want to swap out Apache for NGINX. Many of the biggest and most popular WordPress-based sites run on it (because it’s simply just faster than Apache for WordPress). Another huge advantage for WordPress site speed is being able to easily use APC and memcached on NGINX. With a VPS, you’re typically on your own to get these things running, but some VPS hosts offer configurations like this as an option or a paid service. Either way, it’s well worth it to squeeze the extra speed out of your installation.

Plugins (or rather, getting rid of them)

Many people make the big mistake of overdoing plugins. Even for the simplest task, a plugin has to make a database call, which slows loading of the page. Simple things like social media buttons can be coded directly into the template to save resources. Offloading plugin functionality to the theme really does make a huge difference in speed.

Finally…

While this is by no means a comprehensive list of to-do items, it certainly will give you a solid set of ideas and tools to work with on making your WordPress site faster. Is there a trick or tip that you think should be included? If so, leave us a comment!

Share our post by clicking on your favorite social site below!

Filed Under: SEO, Speed, Web Development Tagged With: cdn, content delivery networks, manage vps, managed hosting, nginx, Site Speed, w3 total cache, wordpress hosting

WordPress Theme Bloat: Premium Themes and Layout Builders

February 5, 2015 By Chris Smith Leave a Comment

(originally posted on Bring Your Own Design)

Inspired by a thread on Reddit, let’s look at one of the main complaints about WordPress these days: bloated installations that run slow.

One of WordPress’s greatest strengths is the fact that anyone can purchase or download a premade theme and have a “custom” website up in a short span of time. It’s also one of the things that can cause the most headache for more experienced users. Many theme developers are obsessed with cramming as much functionality into a theme as possible in order to attract the greatest number of potential users. The byproduct of that is a theme that causes the site to load slowly, causes conflicts with plugins, or is simply difficult to arrange the content the way you want.

The vast majority of users who buy layout builder themes probably don’t actually need them. With custom-built WordPress themes, just about any layout can be accommodated through the use of widget areas and custom post types; both of which are built-in functions of WordPress. The will cut down on the number of running functions in the back end of the site, and speed up how quickly the site loads and increases the number of concurrent users it can serve.

Additionally, a custom WordPress theme can be geared towards serving exactly the sort of content that the site needs. Instead of forcing your content into a pre-built theme’s layout, a custom built theme can be laid out in a way that makes sense for the information you want to communicate to your users. Using the custom post type functions, you can configure custom “things” for displaying and managing on your site. Most pre-built themes don’t use custom post types, and the ones that do use them have a lot of added overhead with functions that make them possible to configure in a theme manager.

Finally, a growing reason many companies prefer custom built WordPress themes is for search engine optimization. Although many pre-built themes have SEO functions built in, they tend to be extremely basic, or even outdated. It’s also more difficult to add functionality to premium themes in regards to things like OpenGraph code, A/B testing, or heatmap tracking. Custom built themes give you the space to choose where and how you’d add these sorts of things, and it makes it easier to troubleshoot when it’s not working properly.

Filed Under: Speed, Themes, Web Development, WordPress Tagged With: custom post types, layout builder, plugins, premium theme, Search Engine Optimization, SEO, speed, themes

Site Speed As A Ranking Metric

April 14, 2010 By Chris Smith Leave a Comment

Site speed is important from a usability standpoint. If you’ve got a Flash-heavy site, or large images, the bounce rate tends to go up, given that people are, by nature, impatient. So, for Google to announce that they’re taking page load speed into account is no surprise.

I’ve said many, many times before that the ultimate goal of Google is to see the web as a real person does, and rank accordingly. They’re getting quicker and better at it. People need information and want data quickly. They want it to be updated and as efficient to access as possible. Attention spans are simply shrinking, and unlikely the surfer will stay very long if the page takes forever to load.

Google’s Webmaster Tools has a great Site Performance tool that highlights possible issues on the page, and gives some detailed information on the issue. You could also install the Page Speed plugin for Firefox to study site speed problems.

Filed Under: SEO, Speed, Web Development Tagged With: Search Engine Optimization, Site Speed

Latest Posts

  • Keyword Research Using Python, RAKE, and Support Chat Transcripts June 16, 2017
  • No Title June 16, 2017
  • Premixed Old Fashioneds May 3, 2017
  • Downstairs Bathroom Renovation March 8, 2017
  • Testing Android January 9, 2017
  • About Me
  • Tools
  • Blog
  • Contact

Copyright © 2022 · Built with the Genesis Framework on WordPress

 

Loading Comments...