Here’s a WordPress plugin many people can use. The situation is that I had separate Facebook, Twitter and Google+ buttons scattered at the top of my posts. While I wanted them at the top I would prefer for them to all be aligned in a single row. I searched a bit in the WordPress plugins directory for Facebook Like, Twitter tweet and Google Plus 1 but was finding only individual plugins for each social media site.
Just as I was about to give up on the search and code my own I found Simple LikeButtons (Facebook, Google+, Twitter). In the image it appears the buttons are at the top of the post, and they are, but “out of the box” this plugin places the buttons at the bottom of the posts where I happen to have a lot of other things going on. Unfortunately the plugin also does not have a way through their built in options to do anything other than select which buttons are displayed.
Since WordPress works around something called “the loop” and this plugin was very simply coded (some plugins are packed with code but this one relies on much third party coding so it is much smaller and simpler) I knew it would be pretty easy to find the location in the script which handled the location task and modify it. I suppose I could have modified the admin options script but if I did that I would like re-code the entire script and submit it to the repository myself.
Recently a prospect contacted me with a need for their clientele to be able to upload a few different types of files via the website. The company requires documents from their clients and wanted to move away from the fax machine and allow customers to upload files directly from their computer to the site. The files needed were PDF, DOC, TXT, and ZIP.
Since the company already had an existing WordPress installed for their Content Management System (CMS) they needed a solution their WordPress guy had no idea how to create but needed it to work with their theme he had customized. This mean it had to be created in such a way that when their existing guy quit handling it and new updates were made the application would not break.
The coding of the file upload application was identical to any that would be created for any stand alone site not encumbered by a CMS like WordPress, Joomla or Drupal. Since the maximum file sizes would be around 3 to 4 megabytes we simply used a PHP upload function and stored the files in a non-web accessible directory above the root. This was done for security purpose. We then created a simple way to inject the application into the loop on WordPress using a shortcode so that wherever ##UPLOAD## is found the application is inserted into that location on the page or a sidebar.
There are options, too, if you do not have PHP on your hosting account or if you want to go above the limit for PHP uploads. One option is to split larger files into smaller files and rejoin them on the server using PHP. The other is to use Perl to upload any size file (based on server limitations). Either way the solution is there and cost is based on how it is used.
For the WordPress plugin solution the simple configuration for the clients was under 3 hours of work at roughly $180 total including installation on their behalf. The good news? They can use it over and over on as many WordPress sites as they have need for that plugin solution.
Statistics don’t lie, people do. Does this mean raw statistics are perfect truth? I know, way to deep for this posting. However, I have some stats and they are pretty astounding when it comes to the difference between normal entry pages and a well designed squeeze page, very similar to a landing page, and getting people to interact.
As a small business operator or independent contractor (any sales person really) it is important to most to built a list and convert that list to transactional relationships. In reality that’s a goal most of us fall short of online. We may be the greatest face to face sales person anyone can name but have a website which is conspicuously vacant of transactional conversions.
Statistical data tells us a single page with limited, but pointed, information and a focus on transactional intent are much more likely to render a conversion than pages with too much focus on giving information and not asking for a reciprocating event from our visitors. The graphic included here is from an average of dozens of pages I manage or on which I have access to data such as Google Analytics. Since conversions from visitor to client relationship are the penultimate goal for the small business marketing professional I think you will find these results interesting and valuable.
What the data in the image shows is statistics from several web pages over an extended period of time averaged to show how many visits resulted in conversions. Only pages with some sort of form on them to invite the visitor to interact are counted. The dark blue lines are normal pages, like the one you are reading, with a form on them. The orange lines are “squeeze” pages or “landing” pages with a limited amount of information, a statement of urgency, a special offer, or other bullet pointed information with a form on them.
The chart does not factor in for ratio of visitor to transaction conversion but does cover the same period of time for both types of pages. For me, my money is on landing pages which are formulated for the expressed purpose of converting visitors to live contacts.
Everyone who has been computing for any length of time knows if you have too many applications demanding attention at one time on your computer the applications will begin to run more slowly. At other times applications seem to slow to almost a crawl and it is not always instantly perceptible why. Websites slow down, too, and knowing the reason, and what to do about it, can help deliver your visitors a much better user experience.
What I am showing you here is by no means a secret or a revolutionary repackaging of existing knowledge. In fact every webmaster and developer should already know these things but sometimes we all need a little reminder. The reason I am writing this today, in fact, is because my development center index page was taking some time to finish downloading. Even though the page appeared to be fully loaded I was still getting the loading icon in Google Chrome.
After noticing it was taking well over 15 seconds for the icon to stop I wanted to see what was happening on that page, and check to see if it was only that page, causing the slow finalization. Having a couple of third party widgets on that page is always suspect but since I also have some widgets on there I created I had an increased need to know.
On loading and reloading the page I noticed the content of the page hosted on that server and in that directory loaded quite quickly – within about 3 seconds total. Then the widgets began to load. I paused a little when I noticed my own widget, a widget which reads the RSS feed from this site (thekencook.com) and posts a snippet of the three most recent posts, was taking about 4 to 5 seconds to load. A Feedburner widget which shares links from some RSS feeds was taking about the same amount of time but then everything seemed to be loaded though the loading icon was present for up to 15 to 20 seconds.
Running the speed test
Since I no longer lease my own servers and rely on the same type of hosting account as the majority of my clients I wanted to run a load time test. For this I used the free service to test Full Page Time at PingDom.com for no particular reason than I was aware of them. There are others, feel free to good page load time test and see what you find. Share your best one with the others.
The results were not helpful because they only verified that my page load time was, to quote the little Slowsky turtle in the Comcast commercial, “shlow”. The page load time on the first test was 60 seconds. That’s a lifetime in web visitor scale. The second test was also 60 seconds. I had to know, which element on my page is causing the slow loading? Furthermore it gave me doubt about the validity of that test since my page was slow to load but only in the 5 to 6 second range, not the 60 second range.
First I loaded other pages that have the same elements and got the same results. I knew it had to be one of the widgets and hoped it was not one of mine. The template I use for most of the pages includes the Google analytics script, a Twitter widget from Twitter, a widget I created to post my three most recent articles from this site, a Feedburner widget, a widget I wrote to monitor the number of visitors on the site, and a widget for skype.
I remembered Amit Singhal Matt Cutts addressing this some time ago so I did a quick search and found an article he had posted back in April 2010 which looked to deliver the answers I needed on which element on my page was causing slow loading. I smiled when I saw it and instantly remember how great the results were from WebPageTest.org and you will from now on! Take a look at the results from the image and you’ll see how valuable this tool can be. If you don’t understand it or need help with it you can always call me or contact me.
Now that I know what the loading time delays are (I know, it doesn’t seem that slow but I’m a developer and want things to be smooth and fast) I can decide which elements to remove or tweak to get my load times down. At least I know the order of loading and the load times for each element.
What is really considered slow? The answer is actually subjective. If your visitors know they are expecting a lot of activity on your page perhaps they will wait 30 to 40 seconds or more. For my purposes my visitors are usually new, have found me through a web search and are looking for answers. Some of them are in distress when they are search for answers and my pages need to load quickly and load now. For this site, the one you are on now, it loads in an acceptable range for a WordPress site.
How valuable can it be for me if someone tweets, “Does anyone know a PHP coder?” Quite a lot actually. Or maybe just a few hours of work. So it is important for me to know when my keywords are tweeted and just as important for me to react quickly by speaking up.
Free is sometimes affordable. With cost is not always better. And, while this article has no intention of being the definitive and ultimate resource guide for monitoring keywords on Twitter, I hope to show you a tool you can use to make your Twitter experience better.
There are two free services which essentially operate the same way. Neither require you to be sitting at your monitor waiting on keywords to stream by. Both send emails to you about your keywords and both send only once daily. With one, Twilert, you can choose the time your alerts are sent. With the other, TweetBeep, you simply get your message when they send it.
While neither of these are ideal they are both free and both do send up to 100 keyword reports for the previous 24 hours. I personally use Twilert and have for a couple of years. I also have a TweetBeep account but they are redundant.
The people at Constant Contact provide a service called NutShell – as in all in one. I have been using this service for a while and it really does a lot for me. When there are those times I cannot be sitting by my monitor waiting for a keyword to stream through NutShell monitors for me and will send multiple messages per day – and can be turned off on Footba … er, Sunday. Or any other day for that matter.
NutShell also sends you other alerts like new follower, new quitter and direct message alerts. These alerts are sent on the same schedule so you can control the entire alert system at once but not for one key.
You may be asking yourself why I use Twilert and NutShell simultaneously. If you are, stop that, it’s weird to talk to yourself. Besides I’m going to tell you. Since NutShell can be set to send multiple messages per day I choose keywords of higher importance for NutShell. I choose keywords of lower importance and place them in Twilert and request an early AM email so I can review when I log on in the morning. Keep in mind there are certainly better ways of accomplishing this. In fact for only a couple hundred thousand dollars a year I will monitor your keywords and tweet for you every time one is used!
I wrote a short article on landing pages over at ActiveRain this morning and thought I explained fairly well what a landing page is. I often take for granted that I live in a very techy sphere and I am surrounded mostly with people who eat, drink and birth tech. We’re the 2% ers in the real estate industry.
Simply defined a landing page is a single page designed for specific interaction on a specific topic with visitors. The goal is to encourage a transactional event and capture information from the visitor or illicit an order for a product or service.
People unfamiliar with the terminology should not be concerned. It seems as though in the digital age we just make up words and phrases by the minute to fit our conversational needs. The normal “landing page” people show me is generally either the stock home page that comes with their blog or website. While some of them have an amazing amount of functionality, and I am certain cost the owner a nice bit of coin, they are generally over loaded with information and inundate the visitor with choices indirectly relevant or completely irrelevant to their search. We can define the three major types of entry pages succinctly:
Home page (homepage) is the index page of your site. For this site it would be http://activerain.com which is easy to navigate, probably does weird things in the SEO realm and offers no explanation for what the page is about. Sorry guys, as a marketing and conversion tool your home page stinks (not saying mine don’t, just saying yours does 😉
Entry page is quite literally any page on your website. If you came straight to this post from your email, a link on another site or from Google you may have “landed” here but this is not designed as a landing page.
Landing page is a page which offers information very specific to an event, a call to action, a search result, an offer for transactional engagement, or something more valuable (to me) than simply giving away information like in this article.
Badly designed landing pages can help tarnish a reputation in a click. I once heard a presenter say, “Washington DC is where good ideas go to die and bad landing pages is where good clicks go to die.” Agreed – a bad landing page (or any entry page) can not only result in no interaction but can also result in a brand detrimental moment.
Let’s say you see an advertisement on TV for this awesome restaurant that seems to have everything you are looking for. Later you load of the car and head over for your meal but when you get there the place is not in order, you can’t find the door, once inside nobody greets you … what do you do? You leave. Worse yet you have a very bad impression of the place and likely will not only never return but if you hear about it from someone else give your very bad review.
Translate the above paragraph to online and the TV ad is the Google search or Facebook ad. The restaurant is your landing page. There is a science to the technology of the design and implementation of landing pages that work and that’s what I do. This is not a guessing game where first year interns who have amazing design skills throw out a bunch of fluff. All of my landing pages are designed on well researched data and very keyword specific language.
I saw an article answering the question, “how can I get Contact Form 7 to display radio buttons and checkboxes on separate lines instead of all jumbled up”? And, of course, this is a great question and likely asked by … well, you. This would be why you’re here.
Most of the answers I have seen are really complex and not necessarily the best practice in coding so I thought I would share how I do it for myself and those very few clients so fortunate to have me working for them. Ahem.
Log in as admin. Navigate to your list of plugins. Find “Contact Form 7”. Click on the “Edit” link. Look on the right side and find the file that named “STYLES.CSS”. Click on it. This will open it for editing.
Inside of the file scroll down about 2/3s of the way and find the line that reads “span.wpcf7-list-item” and this is where (and the only place) you’re going to edit. See the “before” and “after” images to see what this does and see the “code” image to see how to edit. Don’t forget to save the file after making the change and don’t forget to refresh your form page to see the results.
It is not always that one “can” create content and widgets “from scratch” sometimes it is about saving time and still achieving the same result. Every developer who has been developing for a year or more has already amassed a large library of re-usable code. Sometimes it is expedient for the developer and the client for the developer to access a simple tool to make the job go faster. Great developers pass the savings along to the client. Hint, hint.
Say a hard-coded site (not a CMS like WordPress or Joomla) needs a custom drop down menu and the site owner is a do-it-yourself kind of person. They could easily find code that could be modified by snooping or purchase software to create the menu. But why not use something that is free, fast and requires no download?
A complete novice can make a finished drop down menu in less than 10 minutes. The site allows for different layouts (you can see one in action on iCobb), themes and drop downs. The finished product is zipped up and comes with instructions. Go ahead and play around with it. If you just cannot figure it out then call me – I do charge but I’m very reasonable. 877-7000-KEN
If you have used Twitter for more than about 15 minutes for business or networking purposes it did not take you long, at least the first time, to find the right people to follow. That day is long gone. There are fee services in abundance. There are quite a few free services, maybe even one I am not aware of, but most of them really aren’t even worth that price.
Produced by Spanish e24Apps “is a network of Twitter applications which are mainly focused on helping users to find and follow the right users. Our network can be your best partner to promote your Twitter accounts with banners or featured users. Our tools are also good to advertise your Twitter applications or any other social media products or services.”
One of my favorite features, especially when truly expecting a reciprocal “follow back”, is to filter the search results by the follower ratio. Other advanced search features include number of followers, number following and number of tweets per day.
Keywords may be searched on all fields including name, keywords in bio and keywords in location. So if I want to search only for people with social media in their bio and Atlanta in their location I can.
Not only does it help me narrow down the people I want to follow but helps me get in front of the people who’s trust I want, or need, to earn.
Personally I think this is one of the best free Twitter engagement radars on the market. If you know another please share what it is and why.
For those of you still stuck in the archaic maze of Windows Explorer it’s time to switch. For those of you who use Firefox, Safari or Chrome here is a fast, simple screenshot extension you’re probably going to love. Having tried several I have come to use this on the most. Oh I use Jing, Evernote, and have tried a dozen or so extensions but this one is the first choice out of my tool box for 95% of my screen capture needs.
What I like about it
Unlike some extensions or third party apps it loads almost immediately. Click the icon, it asks if I want the visible page, a selected area or the full page. (Note for https it’s visible or full only, not selected area.) Once I have made my choice and performed any necessary tasks it opens in the editing window where I can crop, label, blur, draw shapes, lines, and choose how I want to save the file. I can save locally, online temporarily or online permanently. See Figure 2.
What I wish it had
It’s a short wish list and rather personal. If the color selector for the font included all RGB that would be nice but what would be even better is to be able to select font family, style and size. Additionally I would like to be able to capture short videos like in Camstudio but without the need to capture audio.