Hi all,
I want to build a website for fun and profit. I don't even mean that in the usual "fun and profit" sense, I mean I want to create an actual revenue stream out of it.
I'm a pretty competent programmer, and I have the same experience everyone else did building shitty webpages on fortunecity in the 90s. Unfortunately, I have close to
zero experience making a real website. This is where you guys come in.
I'm going to run more than one site. One is going to be just a hobby site for gaming, CV, a blog, etc., and the other one I can't talk much about because of [tiny]hot, hot, explicit content[/tiny]. Luckily, I can run more than one domain with my webhost, so it should turn out okay.
Right now, here's where I stand:
- Registrar: NameCheap
- Webhost: Hostgator
- Name Server: HostGator
- Currently parked with: NameDrive
Question 1: Given my history with programming, I can figure out PHP and how it relates to site management and so forth, but I'd rather just get straight to the content and learn PHP after it's all set up. Are there any WYSIWYG editors that help with templating HTML and just linking to it with PHP or SSIs? Is there any tool or software suite that can expedite this process in any way? HostGator has SiteBuilder and SiteStudio, but I haven't gotten a chance to try them out at all.
Question 2: If it's a no go on 1, are there any sites that have a higher level overview of how to set this all up? I mean, I can make index.html pretty easily, but how do I get index.html to call templated pages in PHP? Do you use just HTML as the form, while PHP automatically adds in the content? If so, how is the content stored? Do you have articles as separate html files? Stored as long text strings in SQL? What's the most common method of arranging these things?
Question 3: Are there any recommendations on hosts, registrars, parking services or anything else that can help me avoid pitfalls? I've heard Dreamhost is bad news, but other people have nothing but good things to say about them.
Question 4: I've never dealt with WordPress personally, but would it be easy to incorporate blogging software like that into an overall site design? Specifically, my hobby site would have several other features, with the blog taking a backseat rather than the front page.
Apologies if these conversations have been gone over much recently. The only relevant thread I could find was
this one, and it didn't quite get to the nitty gritty I wanted.
Posts
Opensource CMS system. Might be what you're looking for.
Critical Failures - Havenhold Campaign • August St. Cloud (Human Ranger)
I don't know of one, but a Google search may help you in that regard. Still, you'd be well served working on the templates anyway, and figuring out where the dynamic content fits in. Keep in mind that PHP has no pure code-behind functionality. Even your template pages will most likely be PHP files.
More or less. Your template pages will probably be structured primarily as regular HTML pages with small PHP code blocks that inject the dynamic content into them. Template engines, like Smarty, help in this regard, making the PHP you do need to use to display results as painless as possible.
You can store the dynamic content in any number of ways. Most CMS' I've seen store it all as text in the database, but there's nothing stopping you from include()-ing raw HTML. Whatever is most efficient for your design should work.
I've never been savvy when it comes to hosting. I use icdsoft. They're reasonably priced, and I like their control panel.
No idea. I've never had to do something like that myself.
PHP can get frustrating with the lack of code-behind functionality. Common pitfalls tend to occur during the design phase, especially when people add JavaScript to the mix. If your content needs to 'build' - i.e., you need to loop through db rows to build a table of data to display - you're better off doing that kind of processing early on and stuffing the result in a variable you can print later on instead of trying to build it and display it at the same time. Given your experience, that's most likely an obvious statement, but it's still a good thing to keep in mind.
PHP's golden rule: process then output.
If you need more PHP-centric help, I recommend www.phpfreaks.com/forums/
Now... I'm going to answer your questions, but a disclaimer first: If you want to make money off your site, you need to have a professional develop it for you. If you do it yourself with little or no knowledge of web development, here's the stuff you're not going to know:
- Does using a specific HTML tag a specific way help or hurt your standing on Google?
- Will enabling "Magic Quotes" impact your website's security?
- What is the correct permission level for a WordPress configuration file?
- What are the optimal advertising formats and positions for your specific content?
- What are the implications of using padding in a fixed-width DIV in Firefox versus IE?
- And about 1,824 other things.
Developing and monetizing a website is serious business. I've been at it for a decade, and I still learn new things about web development every single day. I'd never discourage anyone from learning the trade of web development, but I think you need to keep in mind that you're setting out to do something that even experts with years of experience struggle with.So you've been warned: If you want to make money, hire a pro. (And no, I don't take work from these boards, so I'm not trying to drum up business by saying that.)
There are no viable WYSIWYG editors out there (at all, period, fullstop), and trying to combine WYSIWYG code with a php backend is the stuff of nightmares. Moreover, porting a "static" site to a dynamic backend later is also a huge pain. Your best bet is either developing both the frontend and backend simultaneously, or failing that, using a content management system like WordPress.
A small website's structure might look something like this:
So that's what the individual files are, here's how you'd script them to work. Let's say you're going to a page called "about". The URL would be something like this:
www.mysite.com/index.php?page=about
When index.php is loaded, it looks for any variables you might be trying to pass, and it sees that you want a "page" named "about". So index.php includes page.php, then passes on the variable "about".
The page.php file does three things. First, it includes the database.php file (which in turn opens the database connection), then it pulls the content for the page named "about" out of the database. Finally, it includes the contents of the template folder in this order: header.php -> [the content you just pulled up from the DB] -> sidebar.php -> footer.php. Those template files are just the HTML you're using to format the page (think SSI here), so what ultimately gets sent back to the index.php file is the content you just yanked from the DB wrapped in those template files.
Of course, you have to program that whole interaction from scratch, but that's how you'd go about it.
I like Mosso, but they're pretty pricey. Dreamhost (or anyone else under $20 a month) should be fine for learning, but you'll want something more robust once your business is counting on it.
I could write for DAYS about how great WordPress is, but in a nutshell, it's way more than just a blogging engine, it's an extremely capable and easily customized full-blown CMS. Almost all of my clients' sites these days are powered by WordPress, and most of them don't even have blogs. Don't think of WordPress as a blogging engine, think of it as a magical device that does all of the work of handling the database, managing templates, and everything else for you.
Good luck!
I actually didn't know Joomla was a CMS. I'd heard it mentioned before, but I was only dimly aware of it. I looked over its feature page and it seemed pretty neat.
@Nightslyr & wasted pixels:
Yeah, I pretty much didn't expect a WYSIWYG editor to do anything significant for me. I've just been out of the web development loop for a while, so I thought I'd ask. The last time I did any web programming was when I got my computer science degree a number of years ago.
As for how content is arranged, I'm just looking to go with the most common, most supportable arrangement. If wordpress is really super-hot, I can deal with that since the community is so large.
I'm an experienced enough programmer to build everything myself, but I'd rather reuse something that I can look for help with. We use all proprietary code at work (on a proprietary OS on pseudo-proprietary hardware), so anything that standardizes my efforts even a little is great.
@wasted pixels:
I'm not daunted by the difficulty. This is going to supplement my income, rather than replace my day job, so I'm perfectly willing to learn as I work. I've got most of the pieces, I just need to put them together.
Specific stuff like this: "Will enabling "Magic Quotes" impact your website's security?" I'm already aware of, but this "What are the optimal advertising formats and positions for your specific content?" is the kind of thing I could use more education on.
As to this: I actually wouldn't mind more discourse. I don't want you to make decisions for me, I want to see a discussion of various software packages, their pros and cons, and I can decide from the discussion.
For example: given that I've never used either Joomla or WordPress, what is everyone's opinions on the pros and cons of each? Is either one more widely used?