Archive for the 'Niche Sites' Category
I got my first store built using my new niche store builder today. As I mentioned in my previous post, building a better niche store, I decided to create my own software for building eBay niche stores.
I had a few minor hickups due to configuration between my development environment and my server, but nothing show stopping. I still need to build an install process to create the database and create the configuration files, so I will have to work on that. In the mean time I’m going to get a few more stores up that I’ve already bought the domains for and put this thing through its paces.
What is the store?
Oh yea, the first store to go up is UsedMacMini.com. Take a look and tell what you think! I realize the end result doesn’t show much of the software itself so when I get a chance I’ll create some screenshots of the admin interface to kind of give you an idea of how it works.
I’ve already got a name for the software and the domain name purchased so I’ll work on that as well and perhaps get some beta testers to try it out. If you are interested drop me a note and I’ll get back to you.
One thing to note however, I didn’t realize it until after I deployed the app that I used some PHP5-only features. This wasn’t a big deal for me as my hosting provider, site5, supports PHP5. So if you want to be a beta tester be sure you have access to a PHP5 server. If you don’t site5 is a good choice
Given my recent disappointment with BANS, I decided to build my own niche store builder. Well, after a few weeks of working weekends, a couple hours a night here and there I’m almost ready to deploy my first site using my new software.
What makes it special?
First and foremost, it separates the application logic from the templates. This was my single biggest complaint about BANS — far too much was embedded in PHP in the core application files. Being a professional software developer I couldn’t stand for that. So, first thing was to allow as much freedom as possible to build, and thus customize, templates as the user sees fit.
For those not intimately familiar with BANS or just use the default templates and default operation this may not be a big deal. But trust me, it is a big deal. What if you want to completely change how the menu is built? Have fun with that… What if you want to build your own search box? Yeah, good luck. How about completely changing how the products are listed? Happy searching.
These are all items that are deep in the core PHP code and thus hard to change and you risk breaking your site by messing with the PHP code that you shouldn’t even have to look at in the first place. Yes, you will need some PHP skills, but it will be PHP embedded in the HTML not the other way around. Perhaps you want a custom looking menu. No problem really, you will be given the objects that represent the content categories and the store pages. From these you access the properties and build as you see fit. This is just one simple example, but the whole package is written this way. You have a set of objects given to you and you build the template as you see fit. All of the data (most as objects) that is needed is provided to you allowing you complete customization.
Speaking of templates
The first set of templates that will be provided will be very SEO friendly, with content order precedence using CSS based layouts. Most likely they will utilize the Yahoo! UI libraries, namely the grids component for layouts and the reset CSS library as well. Note that using the Yahoo! stuff is not a prerequisite for building any template, I just happen to like them and the admin interface uses the same libraries.
Out of the box I’ll probably provide the basic half dozen or so combinations to account for two column, three column, fixed width, fluid widths, etc. Then I might throw in one or two special templates just for geewiz sakes
The big feature
It should have most of the features of the current 2.0 version of BANS with one big extra feature. That extra feature is the ability to view an eBay item without having to go to eBay. So say you have a listing of items for a given category. All good and fine. Well, as soon the visitor clicks on one of the listings they are taken to eBay. What if they didn’t like that item? You hope they hit the back button and come back to your site, but let’s face it they have left and you have no other option. Maybe you will get lucky and they will browse around on their own using eBay’s search and eventually buy something thus giving you credit.
Well, with mine when they click on an item, it will show that item’s details within the site itself. It will have a “place bid” link or button where they can actually go and place their bid withing eBay. This way they are not taken from your site and away from what they were looking at, your listings.
SEO
Yes, it will use SEO friendly URLs. This goes for the site links themselves as well as links that end up going to eBay. So the visitor should never see a URL that points directly to eBay. Although, because you have the flexibility, you could do so if you so choose.
When it comes to category URLs, keywords and such, the admin interface will actually help you out. Let’s say you enter the eBay category number 11189, which happens to be Vintage Computing Products. So you put in the category number in the appropriate text field, and after you do the URL field, Title field and keywords fields will all get automatically populated for you. You can override these default values if you like, but it is a nice time saver.
Searching
The search functionality will also be improved in some areas. With BANS, the search is done via an HTTP POST, which means the only thing you see in your address bar is http://sitename.com/search. The problem with this is that the user can’t bookmark this search and it doesn’t show up correctly in analytics packages. If the user searches for Atari for example, it should show http://sitename.com/search/Atari. That way you will see that URL in your Google Analytics or whatever tracking software you are using.
Why does this matter?
Well, what if 80% of your visitors are searching for the same thing? Or variations of the same thing? That is very valuable information for you. You can use that info to target those keywords in ads or in content, or maybe make a menu item specifically for that search phrase for a better customer experience.
So when is it going live?
Honestly if I wasn’t so picky it would be done by now :). My hope is to have my first site up sometime this weekend perhaps (January 12-13). The major functionality is all there and with a few quirks is almost done. I need to do some polishing up of the admin interface and finish a couple things I don’t like, but that is just my finickiness really. I also need to actually do the graphic and CSS stuff for the test site. Right now it is about as plain as it comes, as in plain text…
Given that I’ll keep tweaking it as I go. Now, if there is any interest in this I’ll certainly move things along a lot quicker
A fairly well known SEO technique is to have a good title for each of your pages. Another common tactic is to put keywords in your title as well. Given this, if you have a BANS site, it can be beneficial to automatically add in your page’s keywords to your page title. This is pretty easy to do if you don’t mind editing PHP code.
NOTE: First make sure you backup any files before trying this!
Step One
Open your FrontControl.php file and around line 106 there will be a function called meta. This is where, appropriately enough, the meta section of the HTML page is created.
Step Two
The first part of this section you will see where the title is output. It will look something like:
$f = "<title>".$this->getPageArea("title",$checkFile,"id")."</title>";
Change this to:
$f = "<title>".$this->getPageArea("title",$checkFile,"id")." ".
$this->getPageArea("keywords",$checkFile,"id")."</title>";
But it needs to be on one line. I had to put it on two lines to get it to fit.
Step Three
Now scroll down to about line 182 or so and you will see the follow:
$f .= "</title>";
Right before that, add this line:
$f .= $this->keywords;
That should append the keywords that you specify in your admin section to the title for that particular page. If you have any problems, let me know.
I’ve built a few sites now using the BANS software package. After half a dozen or so sites, I’m going to give my impressions of the software. For this review I’m going to wear two hats. The first as a user of the software and the second as a software developer, which is my trade.
Background
BANS, a.k.a Build A Niche Store, is a PHP-based site builder for building eBay affiliate sites. It uses the eBay RSS mechanism to retrieve eBay listings and puts your Commission Junction ID into the link back to eBay. If a visitor to your site buys any item, not necessarily the one they clicked on however, you get a commission off of eBay’s commission.
The Good
I’m using version 2 of BANS, and have not had used version 1.3, so I cannot attest to using it. As I write this (late December 2007), version 3 is scheduled for release in a couple months with much needed upgrades.
Installation
The installation is pretty straightforward and simple. Just plug in the database information and you are pretty much on your way.
Store Setup
There are two paths to setting up your store. You pick a primary eBay category by entering the category ID and BANS will build out the menu based on the category and all of the sub-categories that go with it. Fairly simple. It also includes a link to the eBay listings where you can see the category numbers.
BANS includes the basics for search engine optimization. The URLs are human readable, and it will autogenerate some of the descriptions for you for each page. Both are important for SEO.
Site Look & Feel
BANS includes some templates that cover the basic layouts that you would need. Left menu, right menu, ads or no ads, you have 9 choices to pick from for you base site layout. They provide a nice guide on their forum for how the CSS is laid out along with nice color picker tool.
The Bad
Now for the drawbacks…
Store Setup
The confusion comes in when you want to build out a ‘custom’ store that doesn’t fit into the eBay category tree. Naturally I happened to take this route with my first store, which was built off of eBay Motors. The steps outlined in the manual were a bit confusing, but it all worked out.
When setting up each specific page, some of the configuration names are a bit confusing. For example, one of the parameters is Page Name. Well, this is the name in the menu. The other is the File Name. File name? What file? Turns out this is the URL you want. Not really a big deal, but it is a little confusing.
Site Look & Feel
While BANS includes some nice starting templates and a CSS file with some guides, going beyond these can be a bit of a challenge. For starters, a lot of the actual HTML code is embedded in PHP code. For a vast majority of software developers this is almost a cardinal sin. Separation of logic and view code is always better and not really that hard. For example, the menu is built out in such a way that is pretty difficult to change. The indention of each level, for example, is done via hard coded spaces using the HTML entity. This could, and in my opinion, should have been done via CSS with each level identified with a class. Using this would have allowed the user to change the menu in many different ways without having to dig through PHP code.
Another example is the search form. Completely embedded in PHP code. The displaying of the eBay listings is another example. This makes truly customizing your site risky for the non-developer and a little frustrating for the rest of us. It would be nice if there were more options for displaying the listings, such as allowing for column views in addition to the three row options.
URLs & SEO
When viewing content and store pages, BANS will show nice URLs, as mentioned above. Where they failed in this in on searches. The search form is posted and that means that the search term doesn’t show up in the URL. With a site like this, searching happens quite often and by using the POST method for the search form, the user cannot bookmark their search and you, the site owner, cannot readily see the searched terms as good pageviews. In analytics you will see the /search url show up, but you don’t know what was searched. I’ve written about how to partially solve this by using Google analytics to solve this, but it should be a built in feature, in my opinion.
The Ugly
Now I have to put on my developer hat. I’ve already touched on the embedded HTML stuff. I have to admit that I have yet to meet a professional developer who writes software in that manner. Looking through the code, I see other examples that make me scratch my head and wonder why it was done in such a way. It is software like this that gives PHP a bad rap in the developer community, which is a shame because there is nothing really wrong with PHP as a language.
The other thing that made me cringe was the CSS file uses some basic no-nos. Font sizes are listed in point sizes and pixel sizes. That is a usability no-no. Some users for example increase their font sizes through either the OS or the browser settings. Using fixed sizing like points or worse, pixels, prevents that. The best practice here is to use ‘ems’.
A relatively minor thing was the code formatting. Developers like to be able to read code in a nicely formatted matter. Spacing and indention go a long way to readability. This code, was, well, all over the place. It made it quite difficult to see where blocks of code ended, which is important when you need to modify something. Suffice to say that the code quality left a lot to be desired.
In some ways you are locked into the templates provided. By this I mean that you have little choice in really customizing the appearance without hacking to code to bend to your will. The end result is that many BANS sites look alike, and that can’t be too good. Don’t get me wrong, there are some really nice and really different BANS sites out there, but the software doesn’t make it readily available to accomplish that.
Summary
While it may seem like I’m totally bashing the software, I’m not really. For the average user of the software it does what it is supposed to do and does it pretty well. Most people don’t know and don’t care about the code quality as long as it does what it is intended to do and is easy to use. In that respect it passes completely. The best analogy that I’ve come up with is buying say a nice Chevy or Ford vs. a Mercedes or BMW. The Chevy will get you from point A to B, do so comfortably and reliably and you generally have no problems. The owner of a Mercedes on the other hand knows they are buying a high quality piece of machinery. It will still get them from point A to B, but it has a lot more luxuries with it and a lot more power when they want it.
The best thing about BANS it is has a really good community of users that are very helpful on their forums. From traffic discussions, to customizing and other topics, it has a good following that is very helpful. I myself have contributed where I could, answering questions both basic and advanced. I’ve even done a few modifications myself, such as the XML sitemap generator (which should have been a standard feature) and adding the ability to track clicks using Google Analytics.
All told, BANS isn’t a bad piece of software, but it isn’t great either. I was disappointed with the polish and quality more than anything else. It would be nice if it were architected in such a way that allowed greater flexibility in customization so your site doesn’t end up looking like everyone else’s.
I have several eBay affiliate sites now and while some are starting to get some organic traffic, I decided to do some experimenting with PPC ads to drive traffic.
For this experiment, I chose ABodyAuctions.com for my guinea pig. It was getting about a half dozen or so visitors a day. A couple from organic searches and most coming from a signature link via a forum. My dad is a member of a highly popular chevelle forum and he graciously agreed to ad a link to his signature pointing to the site.
Quick History
For those that aren’t car nuts, the A-Body is the car platform from General Motors in the 60’s and early 70’s upon which the Chevelle, Pontiac GTO, Buick Skylark and Oldsmobile Cutlass were built.
The Experiment
So for the experiment, I needed to decide which keywords to target. I could go generic with ‘ABody’ and its variants, but there is such little traffic on those keywords, according to Google anyway. I then started experimenting with slightly less generic words like ‘chevelle’, ’skylark’, etc. The problem with these was the amount of advertisers targeting these words. Too much competition meant it would take a higher bid than I was willing to give for each click.
Going to Wordtracker, I quickly found a keyword phrase that was highly searched, but not highly advertised. That phrase was 1970 chevelle. I should have known. The ‘70 chevelle is by far the most popular year for the chevelle so it only stands to reason that there would be lots of searches for it.
I put in my bid for the phrase along with a little money and let it run to see what happens. To my pleasant surprise I started getting traffic right away. My ad usually appeared in the number one spot when doing a Google search and led to a quickly spending my daily allowance for the ad.
Results
So, it definitely got the traffic, but did it convert? Afterall, spending money for advertising with no one buying doesn’t do any good does it? Well, yes and no. In my case I was after three things. One, how well would the ad generate traffic. Two, generate awareness of the site. Three, with any luck generate some sales.
Let me explain. I’m not totally sold on using PPC for advertising an eBay affiliate site. For one, the commissions aren’t that high for each item sold, which means that the relative cost per click is pretty high. Unlike a commission system where the commission is based on the product price, eBay commission is based on what eBay gets, which isn’t terribly high. With that in mind, I wasn’t looking for a straight monetary return on investment for this test.
For this particular customer base, there is a pretty big community that actively stays in touch with each other. Mostly through forums, but also through car shows and such. So if I can get a few visitors and hopefully those visitors will pass along the site, then I’m a happy guy.
During the period that the ad ran, it did indeed bring in traffic as I mentioned. It was sticky traffic too, meaning that users spent some time on the site and visited a lot of pages. They may not have bought something, but they did stay and look around, which means they might come back to look some more. In that sense, the ad campaign was a success.
Did anybody buy anthing?
As of this writing, yes. Not a car, but a decal for a car. Not as glamarous, but it is money in the bank. Given the lead time for auctions to end, I’m hoping there will be a few other things bought as well.
What did I learn?
Definitely target your keyword phrases. I found a highly searched, but under advertised keyword phrase, which gave me a higher probability of being clicked. The downside is that I ran through my budget pretty quickly.
Don’t spend too much on a per click basis. Remember that eBay commissions aren’t all that high, so your return on investment will be much lower than other PPC campaigns.
Have you tried PPC for an eBay affiliate site?
So you want to track what links get clicked on your BANS site, yes? You are using Google Analytics right? Perfect, then this little tutorial is just for you.
Why?
First, why would you need this? Well, using GA alone is nice and will show you what pages are being visited on your site. With a little digging, Commission Junction will show you what items have been purchased. The missing piece is knowing what was clicked on even though the user didn’t buy anything. This is very helpful in knowing what items your visitors are most interested in allowing you to fine tune your site, target keywords better, etc.
How to do it
So, here is the meaty part, how to integrate click tracking into your bans site. NOTE: Line number are approximate as my files have been modified beyond what I describe. FIRST, BACK UP YOUR INDEX.PHP FILE!
Text below that is bold is code in your file, either existing or to be added. If it isn’t bold, it won’t exist or doesn’t need to be added. Text that is green is what you will add, and should be safe to copy & paste.
- Open up your index.php page
- From about line 30-45 or so you will see a bunch of lines that start with $front->. After those and before the line that starts with $d->(SELECT, add this code:
if($mainCat != '') {
define("MAINCATNAME", $mainCat);
}
else {
define("MAINCATNAME", 'home');
}
define("SUBCATNAME", $subCat);
- Find the FormatRow functions. There are three of them, but this tutorial applies to all. You can find the first one at approximately line 480
- The first line after the function declaration, add this:
$clickUrl = "'/click/".MAINCATNAME."/".SUBCATNAME."'";
- Go down to about line 503 or so where you will see where the actual link for the image is generated. It will look something like:
<a href=”‘.$link.” target=”_blank” rel=”nofollow”><img src= …. /></a>
- After the rel=”nofollow” attribute, add this:
onclick="javascript:urchinTracker('.$clickUrl.');"
. MAKE SURE there is a space between the ending quote on the rel=”nofollow” and the onclick.
- Apply the same onclick to the rest of the generated links. Don’t forget that there is one link for the image and one for the link text itself (the item name and such).
- You should have four links to add for each FormatRow function. There is one set of links for “buy it now” items and one set for non buy it now.
That should do it!
How to test it
Now that you have your index.php file modified, upload it to your server, replacing the old one (You DID back it up right?). Go to one of your store pages and view the page source. In the source, look for the ebay links, which isn’t too hard as they are so darn long, and look for the onclick piece you added.
What you will see now in your analytics control panel are URLs that show up like /click/cat_name/sub_cat_name. Now, this doesn’t show you individual item names, but does show you the category and sub category that the item was clicked on. While you could get the item name and such, all the items in a given category should be enough to let you know what your visitors are looking for.
I did a very similar thing for the search box, so I can see what users are searching for on my site. I’ll post about that little mod next.
Happy analyzing!
I’ve been experimenting lately with the BANS software package. One of the first things that I did was create a dynamic sitemap.xml generator for the search engines. Being a nice guy, I’m letting anyone have it that would like it.
To install, download it from here. Extract the zip file and open the README file. It should be pretty simple. By default, it lists content pages with a change frequency of ‘weekly’ and store pages with a change frequency of ‘always’. You can change this by editing the PHP file.
You will need to edit the .htaccess file that is already included with BANS, but it is very easy to do and you just need to add a single line to it. It is all included in the instructions. NOTE: In the .htaccess file, the ordering of the RewriteRules IS important. The rule for the sitemap must come before the rules for the index page or else it won’t work.
If you have any suggestions or questions, please let me know!
No matter what tool you use to build your niche site, you need to host it somewhere, somehow right? The beauty is that hosting companies are abundant giving you lots of choices. The ugly is that hosting companies are abundant giving you lots of choices. Basically there are almost too many choices out there. So what should you look for if you are going to go the niche site route?
Hosting plans
If you plan on really doing niche sites, then you should build not one, not two, buy lots of them. To host all of these sites, you want a nice simple and manageable means of doing so. With that in mind, there are three ways to go: Single plans, domain pointing and multi-plans. Each has their pros and cons and it really comes down to what you are comfortable with and how many sites you really see yourself getting into.
Single Plans
With the single plan approach, you buy a new site plan from your chosen hosting company for each site you put up. Pretty simple and straight forward. This is no different than any other site for all practical purposes.
Pros:
- Simple to get started
- Only buy plans as you put up sites
- Enormous variety of choices in hosting companies
- You can spread your accounts out of multiple hosting companies if you like
Cons:
- If you plan on having more than about 3 sites (and you are aren’t you?), it will cost you more in the long run
- Managing multiple single accounts can quickly become an issue
Domain Pointing
If you are not familiar with how hosting companies work and how web servers can be configured then domain pointing can be a confusing subject. What it means is that you have one main account that allows you to set up multiple sites. Each site is located in a sub directory of the main site. The web server and DNS servers are configured such that when it sees the pointed site, it directs it to the directory in question. Your site visitors never know the difference as the URL that they see does not change. One way to think about domain pointing is to look at your Program Files folder on Windows. Each application you have is in its own directory right? That is basically what happens in domain pointing. That is over simplifying it a bit, but you get the idea.
Pros:
- Lower cost. You pay for one account and can set up however many domains your provider lets you under that account.
- Ease of maintenance. You only have to work with one control panel to manage all of your sites. This is a huge plus when you have lots of sites.
Cons:
- Less options per site than with a separate plan for each site. For most niche site needs this isn’t an issue, but more advanced users want full flexibility.
- Limited number of sites per plan. This may not be an issue for most needs as this number can be 40, 50 or more.
Multiple Site Plans
If you want full flexibility and almost unlimited domains, you need a multiple site plan. Hosting companies sell these as reseller plans and they are wonderful for the niche site entrepreneur. The idea behind reseller plans is that a large company allows another company to resell sites on their hardware. There is nothing wrong with this and all the big players do it. The benefit to you is that you can take advantage of what that allows, meaning each site truly a separate account with its own control panel, directory structures, etc.
When you get a reseller plan, you buy a certain disk quota and traffic quota. Other than that you are pretty much free to do what you like.
Pros:
- One main account, referred to as a WebHost Manager, that allows you to create new sites, control traffic quotas per site, disk space usage and whole host (no pun intended) of other options.
- Most companies allow you to set up as many sites as you like as long as you don’t exceed the overall reseller plan limits.
- You can pretty much be assured that you are dealing with a large company and therefore a reliable one. This isn’t always the case, but it does help.
Cons:
- Higher initial cost. However the cost per site goes down as you add more sites.
- Can be a bit more daunting for the new user.
There is another hybrid option from Site5.com (whom I host with) called a MultiSite plan. Think of it as a limited reseller plan. You can see details by clicking here.
What I use
Personally I like the flexibility of a reseller account. Also, I host some other sites for others so the reseller plan works great for me. As mentioned, I host with Site5, but I encourage you to do some research on your own. One place to go to is WebHostingTalk.com and see what other are saying about various companies. When looking there, make sure you read more than one person’s comments.
I’ve gone with other companies and had mixed results, both in pricing, options and service. Site5 just happens to have good service for me and a really good price. Naturally I have to mention that they are offering a domain pointer plan that is as low as 5$ a month if you buy a two plan. It allows 55 websites, five terabytes of bandwidth (i.e. a LOT). If I didn’t need the flexibility of a reseller plan I would have bought it myself (and I’m not just saying that!). Again do your research; Site5.com is just my personal recommendation.
If you missed any part of this series, start here.
So you’ve decided to take the plunge and try a few niche sites and you are not sure how to actually go about building them. Thankfully there are some options depending on the type of site you want to build.
Quick, basic site
By Hand
If you want to build something quickly or a ‘quick hit’ type of site there are two good options. The first is to just hand code it in HTML. It isn’t all that hard and there are quite a variety of tutorials out there. This is a decent option if you are planning on only a few pages.
Wordpress
There is however a better option in my opinion and that is Wordpress. Yes it is a blogging tool, but it makes an excellent platform for a niche site. It has many built in features that are ideal for a niche site.
No HTML
The first is that you don’t have to know HTML of course. It makes it pretty easy to add content and that speeds up your deployment time.
Plugins
This is one of the beauties of Wordpress, the plugins. There are quite a few plugins that will aid the niche site builder. From SEO plugins, sitemap tools, etc. I will cover these plugins in detail in a later post.
Content Management Systems
If you are looking for a site that is more than some simple pages, like say a fantasy sports site, then you need a Content Management System. A CMS is a piece of software that allows you to build a site and depending on the CMS allows you to do more complex features.
Yes, Wordpress could technically be called a CMS, but when you mention CMS most think of tools like Joomla!, Drupal and others. These software packages are free to use –being open source– and while a little more difficult to setup and use than Wordpress they offer greater flexibility in how to use the content. For Rototown.com for example, we’ve added a forum, polls, etc. Like Wordpress, Joomla! has quite a few plugins available to customize it and one of the most popular ones is called Community Builder.
In Summary
The nice thing with the various software packages is that most hosting companies offer them to be installed from their control panels. The most common control panel is cPanel and they offer 11 different CMS solutions and four different kinds of blog solutions, at least the one from Site5 does (my hosting provider).
I’ll cover hosting these sites in my next installment of niche sites.
In my last post, picking topics for niche sites, I mentioned two tools that I use for keyword research. Thanks to eMonetized, here are some more tools, and some more here. I’ll be checking these out myself!