Special thanks to:
|
#1
|
|||
|
|||
|
Installing a Powerful - SE Friendly CMS in 10mins
Hi all,
Not a month goes by where I dont get asked in pm at one forum or another "what's the best cms" or "what cms do you recommend" - I've no idea why, but people assume im some kind of expert cos i like talking about cms's ;-) So, i wanted to write a thread that i could point people too that would both recommend one, and help them kit it out for the SE's. What do I Recommend? Drupal.org is my favorite, and IMO is the best CMS for SEO The following instructions tell you how to install it and set it up so that it's SE ready. All the tools you need are right out of the box, there is no messing with code (other than the config file at the beggining.) Assumptions and Requirements Drupal in an Open Source CMS and thus was built primarly for a LAMP setup. (Linux, Apache, MySQL, PHP) Any *nix box will do. So, you need:
Get Drupal You can download drupal here at the time of writing the latest stable release is 4.2 Installation First we're going to unpack the file, and put all the relevant files in the right place. Code:
tar -xzvf Drupal-4.x.x.tar.gz # unpacks the file mv drupal-4.x.x/* /path/to/your/root/http/directory/ # moves the files to your website dir mv drupal-4.x.x/.htaccess /path/to/your/root/http/directory/ # moves the .htaccess to website dir OK! Now you've got it installed, Let's make it SE Friendly If you've not done so already, you need to create the first account, the first account created becomes the admin account. Just click the 'create new account' link under the login box. Now go to: Administration -> Configuration and work your way down the options filling out what you feel you need. The important bit is Enable clean urls -> tick that box! Now your site is SE Friendly! -> but there's more, read on... Now go to: Administration -> Configuration -> Modules Enable/disable whatever modules you think you would like to try. The important bit is Path :: make sure this module is enabled. This gives you the ability to specify how the urls work. In order to see how this can be of benefit to you (and beleive me it *really* is of benefit) you'll have to first create some categories (sections) for your new site: Go to: Administration -> Taxonomy -> Create new vocabulary A vocabulary is just a way of categorizing your sections, each vocabulary can have many terms like for example: My new vocabulary is Muppets and it contains the terms Gonzo and Fuzzy Bear and SEMPO board members. Lost? Dont worry about it, it'll all become clear in a few moments, just carry on, seriously, you'll get it in a minute ;-) So you need to create that vocabulary (filling out all the fields) then go to: add term which will be a link under your new vocabulary. Fill out that form too. Making the site look static So, you've got it all SE Friendly right? No worries. You've created some 'sections' for your site, piece of cake.. Now what we need to do is to make your sections look like folders in a static site. Easy peasey lemon squezey, read on... First grab the id of the term you want to change the url for: Administration -> Taxonomy then edit term :: have a look at the url, it should look somthng like this: site.com/admin/taxonomy/edit/term/x where x = the id you want. Now to: Administration -> Url Aliasing There are nice helpfull little tips right there on the page, you should be able to figure it out. Here's an example: original url: taxonomy/view/or/1 New url: muppets/gonzo (dont use /muppets/gonzo/ -> no slashes ok? Hit 'submit' Now, when you key in mysite.com/muppets/gonzo you're at the term gonzo! Hooray! You can do as many as these as you like, you can also alias individual pages from this menu but also as you create them! Personally i dont bother with individual pages, by default they look like /node/view/x -> x being the id. but if you really want your site to look static you can alias every single page so you have /muppets/fuzzy-bear/bookmarks.html (yep, u can use file extentions as well, no problem..) Finding out more Well, i hope that was reasonably understandable ;-) There is much more to drupal than just nice urls, there are some awesome modules on the downloads page above, some of my favorites are:
Have fun, if you have any questions, just post them here, i'll be happy to answer them. Nick |
|
#2
|
||||
|
||||
|
Thank you for a very good introduction to Drupal!
Being an old VB/ASP coder I am still looking for something as good as Drupal for ASP/MSSQL but I haven't found anything as good as Drupal seems to be. The free stuff, funny enough, seems to be the best - the more expensive ASP or .NET packages are really, really bad ![]() Anyway, back to Drupal. It looks good. So good that even though I am a total beginner (actually, not even begun yet!) with PHP I am tempted to go ahead and give it a try. After all, LAMP setups are not very expensive to host, which leads me to my first question: Nick, is it possible to set up Drupal on a "standard" PHP hosting solution or do you need real server access? How easy is it to: - Change HTML-templates (I am a geek with my HTML output, so I hate when I don't have 110% control) - Change the way Titles and META-information is created/scripted - drag in other DB fields etc... - Add new modules, that pull predefined blocks of data into pages Also, do you know if the system has any keyword or theming facilities? - a way to connect thematically connected pages across multiple directories for content relevant cross linking. |
|
#3
|
|||
|
|||
|
>>"standard" PHP hosting solution
You'd have to define that really but i think i can guess what you mean, you mean without telnet/ssh access right? - No problem, it can all be done via standard ftp, it just takes a few minutes longer is all. It's all in the INSTALL file. >>Change HTML-templates Reasonably easy. Not as easy as i'd like, but not hard. They are working very hard on a more friendly template system, im hoping it will be in the upcoming 4.5 release. For now, you go into themes/xtemplate/ copy the /default dir (or any other) to a folder called 'custom' or whatever and then go mess with the templates. Not too hard, but a bit round-a-bout eh? >>Change the way Titles and META-information is created/scripted - drag in other DB fields etc.. Not so tough, i've never done it so it might need some searching or asking on the drupal forums, they have a very active and very friendly community of developers that are always ready to help and the documentation is pretty good. Title, no problem really, mess with the template, dragging extra db fields in? shouldnt be hard, but you will need to search/ask. >>Add new modules, that pull predefined blocks of data into pages Adding a module is really easy, just downlaod it and follow the INSTALL file that come with it. In most cases it's just a matter of drupping the moduleName.module file in the /modules dir and then going to Administration -> Configuration -> Modules and enabling it. It will then have it's own configuration page for customizing it under the Modules menu. Pulling in data is quite simple, you can create a 'custom block' in the Administration -> Configuration -> Blocks section, of type PHP and do what you need to do. In your case that might sound tough, but beleive me, most things you'd want to do have already been done and searching the docs will locate the relevant tutorial. I recently did this to add a 'recent posts' block for a blog section to the main menu. Very simple and relatively painless ;-) Quote:
It makes exactly what you describe very easy. I do it as standard, many of my posts fit more than one category... Like i said earlier, if you get stuck with any of this, just give me a shout here or via pm ![]() >>The free stuff, funny enough, seems to be the best Naturally, hundreds of people work on drupal, even lesser programmers like myself can contribute modules (mine a pretty simple but useful as viral tools..) The list of modules is pretty big and there is even one called 'flexinode' which allows you to create a special type of submiision (like story/blog etc). So if you had for example a list of orgs, you might create a custom node with fields like org name, org director, org homepage etc etc... Nick Last edited by Nick W : 09-25-2004 at 07:25 AM. |
|
#4
|
|||
|
|||
|
One more thing
I forgot, if you do go and test this Mikkel, after doing all of the above you'll need to go to Administration -> Accounts -> Permissions and give permissions for users to access content, comments etc etc... It's pretty restrictive out of the box, but easily sorted..
Nick |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
|
|