Five Ways to Boost Drupal’s Performance

Published on Jul 21, 2014   //  Development, Web Development

Drupal is a widely used and highly regarded content management system. At a time when every website owner is trying to squeeze a bit more speed out of their website, and reduce load times for users, the tips below will help you do just that.

We compiled these tips so that they address a variety of ways to help you increase site performance; these options are all easy to implement, and will keep your website in tip-top shape!

  1. Disable Drupal’s built-in Statistics module. The Statistics module writes data to your database on every hit, causing unnecessary resource usage. Opt for using an external analytics solution instead.
  2. Use an external cache service like CloudFlare, or Incapsula. Both services have free plans that include website performance enhancements and are easy to deploy.
  3. If you have pages that include images below the fold — news articles, blog posts, or slideshows — use a module that will load images only when a visitor actually views it. Modules like Image Lazyloader and Lazyload will help you here.
  4. Compress your Javascript and CSS files by using modules like Advanced CSS/JS Aggregation or Speedy.
  5. Disable and delete modules your Drupal site is no longer using. If you are not sure which modules your site is no longer using, or have a hard time determining which are no longer in use, try the Missing Module module.

We would love to hear your comments and feedback on how the tips above worked for you.

Everyday Solutions – Ninja Forms

Published on Jun 10, 2014   //  Business Topics, Reviews, Web Development, WordPress

This is BlueFur’s blog series: Everyday Solutions! This series focuses on quick and easy solutions for common problems experienced by website owners.

For the average person, building a contact form can be difficult. 15 years ago when finding a talented web developer was far more difficult, building a form from scratch often involved using Microsoft FrontPage or Macromedia Dreamweaver’s built-in tools. If you were not fortunate enough to have a functioning WYSIWYG editor on-hand, you were stuck with Notepad and reading several tutorials trying to slap together what you wanted.

Ah, 1997. But we digress…

With how far things have come since that time, many people still have trouble with forms. And that’s okay! You’re a business owner. Or a graphic designer. Or a stay-at-home mom. You’re not a web developer, and you would much rather focus your time on great content, not on coding. If you use WordPress to power your website, you are in luck.

There is a wealth of contact form plugins out there, the most popular being Contact Form 7, Formstack, Gravity Forms, and Fast Secure Contact Form. Well there is a new kid on the block that’s making waves, and it is well worth a look.

Ninja Forms is slick. Really slick. It has a drag and drop editor to help you place your fields exactly where you want them, reusable fields, the ability to import/export both forms and data, and the ability to add custom styling.

That’s all well and good, but where most contact form plugins fall short for us is during the form creation process. Often things look out of place, the interface has a very high learning curve, and your form elements don’t actually end up where you want them to go. Ninja Forms’ interface makes that all disappear by being very clear about what does what, how to place fields where you want them, and providing all the extras like data validation, hidden fields, and file uploads.

As well as making it easy to build your form, the preview function is far, far easier to use than any other. With every other contact form plugin we have used we are always told to insert the shortcode into a page and then preview the page. Not so with Ninja Forms! There is a handy “Form Preview” link that will actually open the form in a new tab/window in your browser, no embedding necessary.

Beyond all that. it features integrations with many popular services like PayPal, MailChimp, Campaign Monitor, and Freshbooks. It’s a very handy tool that goes beyond simple contact forms. Try Ninja Forms out for yourself and let us know what you think in the comments!

Everyday Solutions – Website Analytics

Published on Feb 27, 2014   //  Business Topics, Did You Know, Marketing Tips, Social Media, Web Development

Welcome to BlueFur’s blog series: Everyday Solutions! This series focuses on quick and easy solutions for common problems experienced by website owners.

If your website’s goal is to help you earn money or attention of some kind, it is imperative to know how many people are visiting your site. And not only how many people are visiting your site but how many are returning visitors, where they are coming from, how they are getting to your website, and so on.

That’s what analytics solutions do for you; they give you information about your visitors that, with a bit of time and analysis, you can act on. Any analytics solution will also help you figure out what promotional methods are working, and which aren’t, ensuring you don’t waste time and money on whatever isn’t working.

So how do you set up an analytics solution? Chances are your host offers something basic like AWstats or Logaholic. These are great for getting started with some basic stats like number of hits (web pages viewed), unique visitors, time of day, and so on. They cannot, however, give you insight about how visitors are interacting with your site.

The behemoth in this space is certainly Google Analytics. Google acquired a well-known solution called Urchin back in April 2005, which eventually became Google Analytics. It is very powerful and has a decent learning curve for the more advanced reports, but generally it’s easy to use and integrate into your site thanks to CMS plugins.

That’s great, but Google Analytics can also slow down your site. Since it has to load code from Google’s servers, Analytics is often the culprit of slower load times. You also lose a bit of a control over your data, and even if you can export it it’s not likely to be useful in other solutions.

Mixpanel is a hosted solution that, while fairly new, has been very well received so far. They have a free tier for sites up to 25,000 data points/events, and the costs quickly go up from there. If you’re aiming to be the next Airbnb or OpenTable though, it might be worth the cost.

Clicky is another hosted solution that focuses on two features: real-time statistics and heatmaps. Real-time is self-explanatory. Heatmaps refers to tracking how your customers interact with your site on a page-by-page basis, giving you insight into where your users click, how often, where their mouse (and likely their eyes) focus, and so on. It’s also much easier to drill down into a single user’s actions, giving you deeper insight if you know how to use it. There is a free tier available as well.

heatmap_example

Example heatmap from Open Web Analytics.

Alternatively you can host your own analytics solution. For a long time Mint was the best alternative to Google Analytics. It has a one-time cost of $30 but you can see the money is well used to develop features and an interface that is very easy to use.

Piwik is a free, open source solution that gives you a lot of the power of Google Analytics and is very popular. The dashboard is entirely customizable, one instance can give you access to the stats for all the sites you’re tracking, and it gives you the vast majority of the stats you’ll need. It isn’t as helpful for e-commerce, but more than good enough for most sites.

Lastly, Open Web Analytics is in many ways a self-hosted, Google Analytics clone. It also features heatmaps, mouse tracking, and even some caching capabilities. If you adore Google Analytics but want to maintain full control over your data, and get access to some of the premium features without all the hassle, OWA is worth a look.

Suffice to say that many options are available, whether you want to offload the tracking to a third-party or maintain control over it. Happy testing and picking!

Web Development: jQuery Manipulation

Published on Aug 11, 2009   //  Web Development
Off

Web Development

jQuery includes multiple functions to manipulate the actual HTML of the document you are working with. For instance, you may want to “inject” some text into a specific element on the page. jQuery makes this, and more, very easy.

Today we’ll be going over a couple of the basic manipulation functions, while next week we’ll go over the more complex functions. The first function we’ll look at is text(), using this function, we can replace the current contents of the selected element, with the specified text. If you don’t specify an attribute, jQuery will return the current contents of the selected element to you.

While you can only use strictly text in the text() function, we can use html() to replace the contents with the specified HTML. Like text(), not specifying an attribute will return the current contents.

Let’s have a look at some examples of these:

[javascript]$("div").text(‘Hello world!’);[/javascript]

[javascript]$("div").html(‘<span style="color:red">Hello world!</span>’);[/javascript]

[javascript]if ($("div").text() == ‘Hello world!’) {
$("div").html(‘<strong>Hello world!</strong>’);
}[/javascript]

Web Development: Understanding GET and POST

Published on Jun 30, 2009   //  Web Development
Off

Web Development

Before we can get right into working with Ajax, we need to understand some concepts. When we’re talking about sending and retrieving data from the server, we’re talking about HTTP requests. HTTP requests is an important part of the web, it allows us to exchange data with external or internal hosts.

There are two distinct types of HTTP requests that you need to know: GET and POST. While they may seem similar, they both have their specific uses, and being able to decide which is use is important.

GET requests essentially just request a file from a server. However, it is also possible to pass parameters and values along with the request. If you’ve ever noticed question marks and ampersands in a URL, then you’ve noticed a GET request. GET requests use the URL to pass those parameters and values to the server. This makes GET requests an insecure method of sending the server data. However, since not all data needs to be secure, GET requests are still useful. Take a search query, for example. A search query is not something that needs to be transmitted in a secure way (compared to a password, which should always use a secure method), so a GET request will do perfectly.

POST requests essentially send data to the server. Unlike GET requests, POST requests are secure because they don’t use the URL to transmit the data. POST requests also transmit a URL, just like GET requests. As well, just like GET requests again, it is possible to receive data back from the server with a POST request. Because POST requests send their parameters and values in a secure way, it is more suitable for transmitting passwords and personal details (from a form or otherwise) than GET requests are.

Another difference between GET and POST requests is that GET requests are, by default, cached by browsers, while POST requests are not cached by browsers. This is because POST requests can contain sensitive data, as well submitting the POST data more than once could have negative side effects with poorly programmed websites.

Now that you’re aware of the differences between GET and POST HTTP requests, we’ll be able to begin with the basics of Ajax next week.