I am a C++/C# developer and I’m OK with SQL but websites are new to me. I understand the basics of HTML & CSS and I have the ability to learn PHP but I need to get a site up and running quickly. The site is for a health & fitness business where clients needs to be able to book and pay for a fitness course.
The site will therefore require user registration & login and a payment gateway with some user transaction recording and display.
I would like to write this myself using HTML, CSS, PHP and MySQL but I’m concerned about the length of time this will take so would it be feasible for me to apply a ready-made WordPress Theme for these features and then, at a later date, move over to an identical site but written myself using the above technologies?
If I use a WordPress theme presumably I lose control of the database and any hope of integrating my own code with that at a later date.
All of this has to be done in my spare time at present!
Any suggestions greatly appreciated.
You can completely change the website code at any point - as long as you keep the basic URL’s identical.
For example, the fitness business owners will advertise listing their website as www.fitnessbusiness,com on business cards and promo material - so never change that URL. Then customers may book mark sub-pages like the schedule page (www.fitnessbusiness,com/schedule.html) so it’s good to keep that URL structure too. (but not absolutely necessary)
I have two ecommerce stores - neither of which use Wordpress, both are straight up HTML/CSS sites. Here is my suggestion for your project:
clarify what NEEDS to be paid for. Group classes, or individual sessions at specified times with specified instructors?
search for a Shopping Cart system that will work for what needs to be paid for…
a) If group classes, then each class becomes an SKU and the number of seats becomes the available inventory. It becomes like selling a limited quantity of art prints. A common BUY button gets restyled as a BOOK ME button for the customer to click then process their payment.
b) If individual sessions, then each time+instructor combination is a separate SKU with an inventory of just one piece, to prevent double booking. Each combo gets a BOOK ME button, maybe arranged on a calendar grid with the buttons that are already booked ghosted or with text changed to RESERVED to show they are not available (that inventory of that SKU = 0)
Most shopping cart systems will easily handle the BUY buttons and the checkout process. What to really look for is how flexible they are in letting you do other things, such as…
add non-selling (or non-product or non-catalog) pages. These will be for things like the business’s About Us, and Contact Us, and health advice. Any shopping cart system that lets you add blog pages will work.
setting your own URL’s for pages. This is mainly for SEO purposes since www.fitnessbusiness,com/strength-training-advice.html will rank better than www.fitnessbusiness,com/489.html for a search for strength training advice.
uses HTML and CSS to create the pages, just to avoid the hassle of learning PHP or MySQL or AJAX
maybe lets you create your own pages with your own webhosting, and just stick the code for their BUY buttons on your pages. Clicking a buy button does take the customer over to their checkout pages to do the processing. This gives you much flexibility, but is pretty rare anymore.
My ecommerce sites do use the method described in #4, and they do rank very well. It works for us because we have limited SKU’s (like your fitness business). A handful of years back, when I was searching for a shopping cart system that would allow this method, all I found was UltraCart and AmeriCommerce. I use UltraCart. We came from Yahoo Merchant Solutions, which also allowed it, but I would not recommend them.
Thanks for such a good reply - much appreciated.
You can see how much of a novice I am, I was expecting to put something like this together myself including dropping in the form code supplied by the payment gateway.
I am in the UK so things may be slightly different over here but what payment system do you use and could you tell me the URL of your sites so I can check out how you have customised UltraCart for yourself.
Also - Is it possible to add new blank pages that you can code yourself (we may want some videos or audio clips)?
You can see one site at BestDryingRack(dot)com
We allow payment by both credit card and Paypal. Because of the high overhead costs of having a merchant account (to process credit cards) I suggest you start with a Paypal business account that also lets you process credit cards. The transaction fees are a little higher, but it’s much easier and cheaper to start this way.
We can add all the pages we want. Look at our Guide and Blog pages. But remember that our “frame” is a basic HTML website - that includes BUY buttons. It is responsive, using the free Twitter Bootstrap system.
It would also be wise to FIRST research a collection of sites that allow customers to book and pay for sessions or appointments online (gyms, restaurants, therapists, pet groomers, car detailers, etc). Dig a little deeper into the ones that are organized and presented well. Look to see what shopping cart system they use. You will need to look at their page code to discover this, and you may have to click their BUY button to get to a shopping cart page to find it. Do you know how to use “View Page Source” and Firebug?
This has been really useful as it has introduced me to another way of building an eCommerce site. I was wondering about shoehorning the eCommerce bits into an existing site but using a template with all the database code already in place does seem to be the better option.
I guess you do nothing “behind the scenes” with any SQL on your site then?
I would like to add my own client-based enhancements in the future but maybe the template designer would document the various table formats that would allow this to be done.
I am currently looking at CubeCart. It is a free download and you pay for support if you want it. I’ll let you know how I get on.
I would not suggest using SQL for a simple website that may only have a couple dozen pages. Three reasons:
SEO problems: May be very difficult the put in the bits of code that help with SEO (meta tags and schema code), and it may not rank as well as quickly as an HTML website because it is harder for Google to read the code to learn what your site and pages are really about.
Responsiveness: a site like this should be responsive so it is easy to use on everything from phones to desktops. Doing responsive is tough, doing it from a database system is probably even worse.
Future changes: if you move on to other projects it will be extra hard for the business owner to find someone to update and manage the site.
I see in your original post that you know SQL. It may be like the old saying “When all you have is a hammer, everything looks like a nail”. SQL has it’s place for big complex sites with thousands of pages, but for what you have described this is not that sort of project.
Look for places selling nice responsive HTML website templates. Add your own pictures and text. Then add your calendar and BUY buttons. You could be up and running in a week or two. It’s not too difficult if you just do not make it so
I think there may be some confusion about SQL vs. dynamic content.
First, where a pages content comes from has absolutely no effect on anything SEO related. What might matter is the output that is sent as a response to a request.
It will not be harder for Google to read the code because Google will not read the code, dynamically generated or hard-coded, it will read the output.
How “tough” putting together a responsive page will be is relative. Little argument that designing a template that will work with varying content without breaking is a bit more work,
Six of one, half a dozen of the other. Would a client find it easier to update a site by logging into its ACP and making the changes in a UI?
Or would they find it easier to edit hard-coded files and FTP?
As for “someone” else updating and managing the site, I would hope that any developer worth his salt would understand and be able to work with a well designed database.
You are right, for User Registration some sort of database is needed.
In my head I was thinking “Do not do user registration”. The reason in simple Conversion Rate Optimization (CRO) - one aspect of which says do not make the customer do anything they do not absolutely have to. I like the visualization of it as those track&field races where the runner jumps over hurdles as they race along, and tripping over a hurdle puts them out of the race. A customer using a website is like that runner, with completing a purchase or a sign-up is the finish line. If the site developer makes the hurdles too high (bad coding, confusing instructions, slow pages) the customer will trip. If the site developer puts in too many hurdles (requiring registration, requiring excessive customer input) the customer will get tired and trip.
Requiring user registration for something like a fitness center’s website may be more for the benefit of the center than it is for the benefit of the customer. So CRO says look at not requiring registration as it takes a hurdle completely away.
If the goal is to get customers, new or old, to “buy” a space in a fitness class, or buy an appointment with a consultant, then going through the hassle of registering is not anymore necessary that registering to buy a shirt online.
Your comments are indeed true. My point about on-page SEO related more to the EASE of doing it well with basic HTML rather than more complex coding styles.
I look primarily at smaller sites, since that is the level of my ecommerce sites. I often notice small sites that pop up in the Google search results with weird phrases for Google’s displayed title and description. Going to those sites and doing a “View Page Source” usually shows a mess JS, PHP, and other code - and not a simple HTML/CSS coded site.
My personal opinion is that those sites were probably built by someone who was more interested in showing that they were cutting edge and knew exotic techniques, than they were interested in making an effective simple site, one that did not malfunction, and one that could easily be edited to include the proper tags and code for SEO.
Since Alasdair is new to ecommerce, I was advising with the KISS principle in mind. Professional experienced coders can make good sites that have all the proper SEO elements in ANY code style . But for beginners that is a hard goal to reach…
I highly doubt it’s PHP’s fault. Just like I have been arguing that a vast majority of PHP users fail to grasp these 3 key points.
And it’s true. The “mess” you are seeing is not solely from whatever is being generated using some sort of server-side language. It’s because the owner of that website fail to grasp the 3 key points above. And it isn’t just for PHP or any server-side language. It’s also for basic HTML as well since I have seen a large portion of users failing to even setup HTML correctly. Let alone HTML, do you think it’s because of PHP’s fault that most dynamic content are screwed up? I don’t think so. Speaking from someone who uses PHP for the past 5 years and using just OOP, I would like to beg for differ on this view.
Thanks for the replies and interesting discussions.
I think I am settling back to a WordPress site as I understand WordPress does have user registration and login as standard. As already mentioned, the user registration is not essential to the business but there may well be the need for the user to complete some sort of form relating to any medical issues etc.
I am going to visit the WordPress forum as it seems that will be the most appropriate place for any WordPress-based questions.
Just to clarify, PHP/SQL/HTML will be used for later enhancements to the site which will require specific features relating to the nature of the business.