|
|
Payday Loan Blog - Coding
|
|
I know. I'm a little late to the New Year's post game, but I'm going to do it anyway.
It's been an interesting year for me. I got hired on full time (woohoo!). Back in January of last year, I was doing content writing (normal site stuff, not blogs), link building, and putting together the occasional site. Now my job's completely different. I still do some content writing: this blog. I don't do any site design work, and I don't link build much. I train the new hires, but that's not common enough to be counted in my day to day activities. I do some server administration work, but those are on autopilot for the most part. Mostly I do our open source programming – Perl and PHP. I'm kind of amazed considering my only previous programming experience was a couple of classes in middle school using BASIC. Not Visual Basic. Not QBASIC. BASIC on Apple IIe's with line numbers and all.
10 CLEAR
20 PRINT "Hello, World. PHP hasn't been invented yet, and Perl's only 3 years old."
30 GOTO 20
40 REM We'll never end! Muahahahaha!
50 END
I guess I did have that one class in college that involved VBA in Excel, but I don't really count that.
In February, Joe handed me a few books on Perl and PHP, and basically said "here, learn to program". So I did some reading. My first task was getting a pre-built PHP script working. It should've been easier than it was, but I was new to PHP and the script had some issues. Naturally, the tasks got more complex and involved, and now I'm building multithreaded, multi-process Perl programs and doing all sorts of PHP stuff on the web. Not exactly what I thought I'd be doing with a Philosophy degree. It worked for Paul Graham, I guess it can work for me too.
Enough with the reflections, time to look forward. Over the past year, I've learned a fair amount about programming, and run into my fair share of limits and problems. Some of them were normal learning to program issues, and some were limits of the language. There was the long running Perl program that ate all of my memory because Perl doesn't free the memory used by lexically scoped variables when the fall out of scope because they might come back into scope. PHP's great for the web, but it's lacking some features that come in handy when I'm doing stuff that's not going to be on the web. I think it's time to pick up a new language. I've been reading a book about Ruby programming since Ruby on Rails is popular right now. I'm not sure Rails will fit in with how we do things, but Ruby seems like a good language and would have the added benefit of forcing me to learn object oriented programming. I've also heard good things about Python. It seems to be quite versatile and it supports threads. It's being used in everything from content management systems for the web to graphical solitaire games. However, the idea that white space matters seems a bit odd to me. Once I figure out which one I'm going to learn, I'll let you know. Then I'll let you know how you can use it to help you build your payday loan sites.
JonK
Don't repeat your mistakes. If you create new sites by first copying your old ones, you need to make sure you don't copy the mistakes too. As Blumey and I work with site designs, we occasionally encounter problems. I then fix them, and expect that future designs won't have that problem. Of course, it doesn't always work that way. Since Blumey's a designer, he starts with a vague idea of how he wants a site to look and sometimes a past design fits that idea. He'll then copy that site's code to modify. That's a great way to speed up the site design process. Unfortunately, sometimes he'll copy old designs that have the problems that were already fixed, and then he'll tell me it's broken. A typical exchange:
Blumey: "Jooon, this payday loan site is broken."
Jon: "Are you using the current version of the code?"
Blumey: "… Yes."
So I take a look at the site, and it's an old version of the code. I'll fix it and shoot a rubber band at him.
When you copy your old designs for new cash advance sites, make sure you update them with all of the latest fixes, or you'll keep running into the same problems over and over again.
-Jon K.
To be fair to Blumey, when I do site designs, it ends up looking like Timmy from South Park did it.
We’ve talked a lot about the different ways you can bring traffic to your site, but if you’re like a number of our more successful affiliates you might have a hard time picking just one. That’s good – we applaud any and all efforts to service the growing demands of the cash advance clientele – but how are you supposed to know how well each of your campaigns is doing?
During my last blog post I talked about the use of the a form element to make a seamless transition from your payday loan site to our secure loan processing application; one of the elements from that basic form was the campaign ID field:
<input name="campaign" type="hidden" id="campaign" value="WEBSITENAME">
We’ve enabled the use of campaign IDs to help you track the number of clicks, sales, conversions, etc. from each of your efforts, and you may do this by altering the form on each page where you intend for a client to land. For example, if you tried Joe’s advice about Spotrunner.com’s low-priced television ad service, you could build a page on your site (or a new site altogether) specifically for this type of traffic. You could then change the campaign form element on this page to something like “spotrunner-ad-six” and then accurately track the amount of traffic you’re receiving from this particular campaign. This allows you to figure out which efforts fly and which ones flop so you can adjust your marketing strategy accordingly.
Examples of Different Campaign ID Usage
You can have as many or as few campaign ID listings as you’d like, so the real question is how anal are you as an affiliate marketer? We have some affiliates that have a different campaign ID for every page on their site because they’re interested in knowing what page has the highest conversion rate. On the flipside, we also have affiliates that only create a new campaign ID when they launch a new website, so the ID effectively measures which site is pulling down more money. The campaign ID system can be as specific or as general as you’d like it to be – all you have to do is outline your system and make the appropriate changes in your HTML.
NOTE: Never change your Payday Loan Affiliate ID number! The commission associated with this five-digit number is what we use to determine how to pay you, so editing it will cause problems when we calculate our monthly payouts.
- Blumey
How to build a short version of the cash advance application form is one of the most common questions we get from affiliates old and new. We’ve finally standardized the form code needed to transfer data from your site to our secure cash advance processing application, so here you go:
<form action="https://www.paydayloanaffiliate.com/Affiliate/App/apply.aspx" method="post" name="frmApply" id="frmApply">
<input name="campaign" type="hidden" id="campaign" value="WEBSITENAME">
<input name="affl_id" type="hidden" id="affl_id" value="12345">
First Name: <input name="q1" type="text" size="15" />
Last Name: <input name="q3" type="text" size="15" />
E-Mail: <input name="q4" type="text" size="15" />
I have a regular source of income.
<input type="checkbox" value="Y" name="q5" checked="checked" />
I receive at least $1000/month.
<input type="checkbox" value="Y" name="q6" checked="checked" />
I have an active bank account.
<input type="checkbox" value="Y" name="q38" checked="checked" />
<input name="Submit" type="Submit">
</form>
This is the most basic form of the code of course, but you may choose to spice it up like some of our affiliates. Here’s an example of two sites that have used the form in different ways:
*special thanks to the folks at Power Payday Loans and Urgent Cash Advance Loans for letting me use them as an example
The form on the right is in use at Power Payday Loans, and as you can see they’ve chosen to make use of more graphical elements such as a fancy submit button and some shaded table elements to make their form pop out; Urgent Cash Advance Loans opted for some CSS mouseover functionality to call attention to their form when the user interacts with their page (I'd recommend visiting each site to get the full effect). Both sites used the same basic code to do something completely different, so I challenge every member of our program to take the code and do their own thing!
Modifying the Code for Your Needs
The only fields that really need to be changed are the two hidden fields up top. Swap out the id=”campaign” with the name of a sub-tracking variable you want to associate with your site and then change the id=”affil_id” to your affiliate ID as provided to you in your initial sign up email. (If you don’t have your ID handy email me and I’ll track it down for you.)
Apart from that you should be good to go – happy lead hunting!
- Blumey
Most of us are focused on our web stats in order to find new ways to attract users. That's good. Keep doing that. However, you should also keep an eye on your hosting account stats – particularly your bandwidth usage. If you don't, it could cost you lost customers.
I just had a site I run exceed its monthly bandwidth allotment. The hosting provider disabled the site for the rest of the month. Fortunately, it's not a site that markets to customers, so it being down for a couple of days isn't a big deal, but it's still annoying. If the site were a money-making site, I'd be losing customers and money, not to mention any possible damage to my placement in the search engines.
For the typical payday loan site, this isn't a big deal. Five smallish pages of text plus a few graphics aren't likely to go over the bandwidth allocation of a typical hosting account. If you do go over, you're generating a ton of traffic, in which case, congratulations. However, if you've been following our advice and are posting articles, your site is probably quite a bit bigger than 5 pages, and the articles probably contain more text than the standard cash advance pages on your site. If you have enough articles and you get an overzealous search engine spider crawling your site, you can burn through bandwidth pretty quickly.
Even if you don't have a lot of articles on your site, it still pays to keep an eye on your bandwidth usage just in case something weird happens. You don't want your payday loan site to be inaccessible to customers.
Jon K.
Blumey just got done explaining why speed matters for your sites. He also gave you a few tips on how to get it. I'm going to give you some more technical tips.
Use External CSS
Using CSS can be a great way to clean up your html and make it much more search engine friendly. It can also decrease your page load times. If you use an external CSS style sheet rather than en embedded style sheet, the user's browser will download the CSS once and cache it. For subsequent page loads, it won't need to download all of the style sheet info again. Depending on the complexity of your design, this can be a huge win. For example, on phpBB forums, the default template has all of the CSS embedded on the page. On every page load, that style info gets downloaded. If you extract that CSS into an external file, it's 7.5KB. With the embedded style sheet, that's 7.5KB plus whatever all of the content takes. That's not a huge deal for users with DSL or cable modems, but for people on dial up (and they are out there), that's an extra 2 seconds per page. With the external style sheet users will still need to grab the CSS on the first page load, but after that, they'll just be downloading your content. They'll get a better experience, and you'll have a smaller bandwidth bill.
To use external CSS, put something like this in the head section if your html:
<link href="http://www.example.com/style.css" type="text/css" rel="stylesheet"/>
Turn on http compression
This is something your web host has to do. All modern browsers and web servers support compression of http traffic. Html is very repetitive, and hence very compressible. The larger your page, the bigger the benefit you'll see. Let's take the main page of this blog as an example. Uncompressed, the page, not including graphics, is 54KB as of the time I wrote this. After running it through gzip, which is very similar to what a web server would do, it is down to 15KB - a savings of 39KB. That's 39KB saved per page load. For a dial up user, that would be nearly 10 seconds quicker. Sure, you'll use a little more cpu time on your host, but it's a miniscule amount. Compressing that html page was so fast that my timer program registered 0.00s. The time spent transferring the data after it's compressed will dwarf the time spent compressing it. This isn't something you can activate as a hosting customer. You'll have to ask your web host if they have it turned on. If you run your own server, look into mod_gzip or mod_deflate for Apache and HTTP compression in the IIS manager if you're on Windows hosting.
Keep Your Images Local
This may sound obvious, but if you're using images on your site, make sure they're hosted in the same place as your html. If you use images hosted on another server, when that server becomes slow, your site will become slow. It's also not polite to steal someone else's bandwidth by using images hosted on their server. Get permission to use the images, and host them yourself.
Don't Use Free Hosting
You get what you pay for. Free hosts are likely to have servers that are heavily loaded. That makes them slow. Tech support is also likely slow or non-existent. Spammers also like to use free hosting, so your site might get lumped in with a spam site. That won't necessarily make your site any slower, but it could cause the search engines to look at your site with suspicion.
If you follow these guidelines, you'll be well on your way to quick page loads and a good user experience.
Jon K.
Sorry, no scantily clad girl (or guy, if that's your thing) dancing for you in this post. Just some tech geekery.
In my previous post on duplicate content issues, I mentioned that I didn't have a solution for eliminating query strings from URLs. I've found the solution. It's in the mod_rewrite documentation. I just wasn't looking in the right place. I kicked myself after I discovered it. It's simple. Now for the code:
RewriteCond %{QUERY_STRING} ^.+$ [NC] RewriteRule (.*) http://www.example.com/$1? [R=301,L]
This will take any link that contains a query string, remove the query string and 301 redirect to the intended page. This is handy for the cases where the search engines find some random link on the web that contains a query string. Even if your site has never used query strings, sometime links like that will be out there.
-Jon K.
|
|
|