homepage Welcome to WebmasterWorld Guest from 54.227.182.191
register, free tools, login, search, subscribe, help, library, announcements, recent posts, open posts,
Subscribe to WebmasterWorld

Visit PubCon.com
Home / Forums Index / WebmasterWorld / Webmaster General
Forum Library, Charter, Moderators: phranque & physics

Webmaster General Forum

This 42 message thread spans 2 pages: 42 ( [1] 2 > >     
Designing a Low Maintenance Website
Feel free to add your own tips
graywolf




msg:373299
 6:49 pm on Jan 14, 2005 (gmt 0)

Making the transition from working for someone else to working for myself my methods for building sites have changed as well. I now try to keep things as low maintenance as possible. Here are my tips feel free to add your own

Site Architecture

  • Don't display the technology running the website
    bad: example.com/blue-widgets.html, example.com/blue/widgets/index.php, example.com/product.php?prod=blue widgets
    good: example.com/blue-widgets/ , example.com/blue/widgets/ example.com/product/blue-widgets
    why If you want to change from HTML,ASP,PHP,JSP or some other technology to something different you'll lose all of those other indexed URL's. Sure you can play around with htaccess if you want later on but if you do it right the first time you wont have to.

  • Develop a set of base site pages
    Most of your sites have a lot of the same pages right? Home, contact us, about us, privacy, terms of use, site map, etc. Develop a list of all of these pages and put them in the default folder, and just eliminate the ones you don't need on a project by project basis

  • Error pages
    All of your websites have custom 401, 403, 404, and 500 error pages right? If you took the time to make them once and put them in your default site folder they would. Itís also a good idea to put them in the base htaccess file as well. See the advanced error page section below

  • favicon file
    You use a favorite icon file donít you? When I come to a website that does it shows me someone cares about this website. Ok you will have to make a new one for each website but heck it only takes 15 minutes, right?

  • Robots.txt
    Get it set up the way you want blocking whatever rouge spiders you feel are necessary. This way you know itís there and only has to be tweaked to each sites particulars later on.

    Content Management

  • Separate content from context
    Youíre using CSS and keeping all of your layout information separate from the actual content arenít you. Say you donít have the time to learn, well you should. Once you get it and I mean really get it and see the power of CSS youíll never go back again. One 2 hour plane ride with ďdesigning with web standardsĒ and I was a convert.

  • Separate content from programming
    Letís look at the contact form. It has some blah-blah copy and then some form elements. Separate the copy into one file. Put the programming that builds, error-checks and sends the form in a separate include file. This way when you build your next project you only have to worry about changing the blah-blah copy.

  • Code Re-Use
    Have an include file with all of your common functions and site variables in it. Build a library of all of your functions so they are all there at your fingertips.

  • Common Include Files
    Chances are your top masthead, bottom footer, and side navigation only comes in one or two versions. Make them include files, this way when something changes you only have to change one file not four hundred. Be really crafty and define your site name, and site URL as a variable in your code re-use file , and then put the variable in your common includes.

  • controlling spam
    Never display an email address on your website, only use a contact form. Ok thatís not always practical, if you have to display an email obfuscate it or even better use an image.

    Intermediate Ideas

  • Link Trades
    If you are the link trading type use an automated, submission and checking form. Get one that checks the links are up before accepting the submission. Make sure the links have to be approved before they are visible. Make sure it can periodically check that the reciprocal link is still up and email and remove deadbeats who take them down.

  • monitor uptime
    Set up a test page that has a brief static text message. Subscribe to or buy an uptime checking service. You can get programs to run from your home development server for as little as $30. Set up an email emergency@example.com that forwards to your main email that you check regularly. Have the monitoring program alert you if the test page is down. When you go on vacation redirect emergency@example.com to your alternate email, cell phone other device . Have all of your websites use one address so you only have to change one.

  • Error pages part II
    Have your error pages record the error in a text file or database. For some errors you may even want to make a form so the user can give you more information. Record the IP, session variables, or other info in hidden fields so you can debug them later on.

  • Spy vs. Spy
    Check for people who are trying to reverse engineer your work. If you see someone with an ďallinĒ in the referrer record their IP and pages they visit. Store the info in a text file or database. Have it mailed to you on a daily basis.

  • Daily reporting
    How about setting a job or script that emails you all of the link requests, errors, and other pertinant info on a daily basis.

    Have any other tips feel free to add them.

  •  

    Custodian




    msg:373300
     4:08 pm on Jan 15, 2005 (gmt 0)

    Graywolf,
    What you suggest is a lot of work to get set up. It is so easy to get caught in the day-to-day.

    Thanks for the tips.

    Custodian

    eWhisper




    msg:373301
     4:29 pm on Jan 15, 2005 (gmt 0)

    Excellent post, graywolf.

    Common Include Files

    I find it very useful to make one directory per each type of include, not only so you know what they are, but so it's easy to find them to change them.

    /php-includes/
    /php-includes/home.htm
    /php-includes/footer.htm
    /iframe
    /etc

    Do not use /ads, /ad, etc to store all your banners and ad images in them. Most good ad blocking software autoblocks any files from these types of directory names, so rename these folders to something that won't trigger any kind of filters.

    mikec




    msg:373302
     10:29 pm on Jan 15, 2005 (gmt 0)

    pretty good read.

    two things.

    1. why not use mod-rewrite to make all pages have a .html extension?

    2. if one does wish to display an email link, use hiveware's enkoder. it works wonderfully.

    Also if you usually setup sites using a certain cms, I'd suggest creating several basic templates (ie. 2 column, 3 column, header/footer/2 columns..etc) so that you always have the basic framework and css hacks done.

    CanadianChris




    msg:373303
     6:35 am on Jan 16, 2005 (gmt 0)

    Organic File References

    From day one use organic file references when linking to any other page or file on your site. This will save you hundreds of hours if you decide to move a page somewhere.

    Example:

    <img src="http://www.domain.com/images/test.gif">

    This is a static file reference. Change it to this:

    <img src="/images/test.gif">

    Doing so means the exact same thing code-wise, but if you have to move this specific page to another folder you won't have to change any of the css, image, or link references.

    buckworks




    msg:373304
     6:48 am on Jan 16, 2005 (gmt 0)

    I'm not sure of the technicalities, but get your host to set things up so that if someone types your URL either with or without the www. bit, it will resolve to your preferred version. That improves the chances that your organic link popularity will focus on one version.

    Also, set up ww.example.com and wwww.example.com so they resolve to your real URLs.

    mincklerstraat




    msg:373305
     10:03 am on Jan 16, 2005 (gmt 0)

    Excellent tips, greywolf. "Spy vs. spy" particularly appreciated.

    henry0




    msg:373306
     12:41 pm on Jan 16, 2005 (gmt 0)

    Coopster once sent me this one: Regards Include-

    <<<
    Control your included files
    Wouldn't it be nice to just include() your files and never have to worry about the path? You set it once when you setup a new site and be done with it. A lot of programmers use this technique, you'll often see it called the "config.php" script or something similar. Here's a sample to get you started (replace the bold path with the path to your includes directory):

    ini_set('include_path', realpath($_SERVER['DOCUMENT_ROOT'] . '/../includes/') . '.' . PATH_SEPARATOR . ini_get('include_path'));
    Some pretty neat stuff going on in here.

    First, notice the use of the realpath() function to put the canonicalized absolute pathname together from a relative link (/../includes/), which by the way, resides below the public document root ;) -- tidies it up quite nicely.

    Second, we concatenate the current server configuration include_path to the end of our include_path. Why? In case you want to use any existing paths, such as PEAR classes.

    Lastly, notice the use of the PATH_SEPARATOR predefined constant? That way you can use it on a Windows server or a *nix server without having to modify anything.

    >>>

    py9jmas




    msg:373307
     1:06 pm on Jan 16, 2005 (gmt 0)

    1. why not use mod-rewrite to make all pages have a .html extension?

    Because then you are encoding things into the URL. What happens when you move from HTML to XHTML? They are very different, and have different mimetypes. Either you change all your links or live with misleading URLs. The type of the resource on the end of a URL should be in one place, and one place only - the Content-type mime header.

    trillianjedi




    msg:373308
     1:25 pm on Jan 16, 2005 (gmt 0)

    Great post GrayWolf, thanks. Into the library it goes.

    I would add only two things:-

  • Directory structure on your server. Keep it well organised with decent directory names from the beginning, and save a whole load of time later.

  • Backing up. Absolutely must be automated and regular.

    TJ

  • henry0




    msg:373309
     2:50 pm on Jan 16, 2005 (gmt 0)

    I like to do a "Who's Who" of my site and define exactly what does each script and how each page interact with each other

    Procyon




    msg:373310
     6:41 pm on Jan 16, 2005 (gmt 0)

    Awesome post - thanks Graywolf!

    dmmh




    msg:373311
     7:22 pm on Jan 16, 2005 (gmt 0)


    Because then you are encoding things into the URL. What happens when you move from HTML to XHTML? They are very different, and have different mimetypes. Either you change all your links or live with misleading URLs. The type of the resource on the end of a URL should be in one place, and one place only - the Content-type mime header.

    besides that...it looks really wrong in my opinion
    I'll use my website, under development for over 6 months now, as an example if I may.

    for an example, a URL to a movie (i am making a asian cinema database, PHP/ MySQL) is http://db.example.com/?mid=251

    traditionally, people would use http://www.example.com/db/index.php?mid=251

    now look at the 2 above eachother

    http://db.example.com/?mid=251
    http://www.exampe.com/db/index.php?mid=251

    in my opinion, the top one looks much more informative and is easier to read and remember.

    a url to a topic in my forums is something like:
    http://bb.example.com/view/?tid=2

    using folders for names that describe actions is something one doesnt see very often too, but I think some people may like this to

    added to that are the benefits listed in the initial post :)

    hope I made some sense, Im no professional webmaster...but I am motivated :)

    mmm, wrong quote, sry about that

    [edited by: tedster at 10:10 pm (utc) on Jan. 16, 2005]
    [edit reason] use example.com [/edit]

    encyclo




    msg:373312
     7:50 pm on Jan 16, 2005 (gmt 0)

    dmmh, the best way to do a movie database, or indeed any other site, is to have URLs without variables, for example:

    example.com/db/index.php?mid=251

    can be transformed into:

    example.com/movies/251

    or even better, by using a more meaningful URL instead of the number:

    example.com/movies/titanic

    You can use mod_rewrite to resolve the static URL to the appropriate variable for your database.

    cyberair




    msg:373313
     8:44 pm on Jan 16, 2005 (gmt 0)

    Excellent post!

    One questions: Do you know of any scripts that do all of the functions you are describing for "Links Trades". I can't find any that has all the features, especially the one that checks for the reciprocal link, identifies that it is missing, and sends out e-mails/removes them from the directory.

    mikec




    msg:373314
     8:49 pm on Jan 16, 2005 (gmt 0)

    arelis does the trick for me

    dmmh




    msg:373315
     9:24 pm on Jan 16, 2005 (gmt 0)

    I kinda like the way Im doing it now, thx though encyclo :)

    SlyOldDog




    msg:373316
     9:50 pm on Jan 16, 2005 (gmt 0)

    It's a start :)

    How about maintaining foreign language versions? Uploading content in one language and having it appear in all languages simultaneously?

    If that is not possilble because your content is too broad, then perhaps a panel for translators to use so you don't need to manage the content yourself?

    And keyword management? It's always good to have a keyword database so you get a good overview and control of what pages your keywords are on. Does your keyword management also handle the internal anchor text on your site? Is it easy to use?

    Visitor and ROI tracking - always better if it's in house. If you automate it it's much better than trawling the site logs :)

    Dynamic content upload - is your site completely dynamic? Can you add new categories or topic areas as well as simple additions like products without programming work? In all languages?

    Customer management - do you manage them all in your database? If you can it saves a hell of a lot of paperwork and allows much better stats delivery.

    Special offers - can your database generate them based on your inventory/pricing/demand/seasonal information? Or do you need to hard code offers onto your site? If you have more than one site this can get very time consuming.

    Landing pages for pay-per-click - these will save you considerable time in managing your paid traffic.

    I have not got round to adding half of the above, but when I do I will have a little more free time than I do now :)

    creative craig




    msg:373317
     10:10 pm on Jan 16, 2005 (gmt 0)

    A great post, good check list for new sites :)

    Durham_e




    msg:373318
     10:35 pm on Jan 16, 2005 (gmt 0)

    Thanks Graywolf and other for info in this thread.
    Perfect timing to straighten out the act for the New Year

    graywolf




    msg:373319
     11:23 pm on Jan 16, 2005 (gmt 0)

    One questions: Do you know of any scripts that do all of the functions you are describing for "Links Trades". I can't find any that has all the features, especially the one that checks for the reciprocal link, identifies that it is missing, and sends out e-mails/removes them from the directory.

    I couldn't find one either, so I wrote my own in PHP/mySQL.

    Aberdeen




    msg:373320
     11:55 pm on Jan 16, 2005 (gmt 0)

    Great post, it is a good feeling to know you are on the right track. Cheers

    andysood




    msg:373321
     12:44 am on Jan 17, 2005 (gmt 0)

    I couldn't find one either, so I wrote my own in PHP/mySQL.

    How about sharing with others? or even creating a site and sell or going for a GPL.

    skymanhonor




    msg:373322
     2:25 am on Jan 17, 2005 (gmt 0)

    Thanks for the post!

    Don't display the technology running the website

    How do you do this?

    whoisgregg




    msg:373323
     2:50 am on Jan 17, 2005 (gmt 0)

    Great post -- flagged for future reference.

    One issue though, from SearchEngineWorld's The Robots.txt Our Big Crawl [searchengineworld.com]:
    An easy way for search engines to detect server or domain farms (huge groups of sites), is to look at the robots.txt. We found huge farms of 400-500 domains that were all using the same unique robots.txt file. That alone is a tip off to search engines that the sites are all related.

    Depending on how many layers of tin foil you use for your hat, you may wish to make each site unique in ways that eliminate the use of some of the described methods.

    danny




    msg:373324
     2:52 am on Jan 17, 2005 (gmt 0)

    I agree about not displaying the technology behind the site, but I disagree that that includes .html extensions. HTML is something the user can actually see - that's what they're being sent - and it's helpful for them to be able to distinguish [example.com...] from [example.com...] which they can't do if the URL is just [example.com...]

    With ASP, PHP, etc. this is not relevant, so I agree with you completely there.

    zander213




    msg:373325
     3:58 am on Jan 17, 2005 (gmt 0)

    it's helpful for them to be able to distinguish [example.com...] from [example.com...] which they can't do if the URL is just [example.com...]

    Can anyone else share their experience with "http://example.com/blah/page.html" vs "http://example.com/blah/page"? I am about to make this call and I am trying to decide what re-write would be better. Doesn't .html just feel more soothing ;)

    Thanks!

    gmiller




    msg:373326
     5:47 am on Jan 17, 2005 (gmt 0)

    I've got to agree with danny there. *Don't* display the backend technology (e.g., PHP), but *do* display the type of content being sent (e.g., HTML).

    ogletree




    msg:373327
     6:08 am on Jan 17, 2005 (gmt 0)

    Put any files that are not needed in your webspace outside your webspamce. (ie Include files, log files)

    Create your own log files with a server side language if you have a host that does not update your log file in real time. You can even create a log file for each site section.

    Use includes as much as possible.

    twist




    msg:373328
     9:12 am on Jan 17, 2005 (gmt 0)

    Can anyone else share their experience with "http://example.com/blah/page.html" vs "http://example.com/blah/page"? I am about to make this call and I am trying to decide what re-write would be better. Doesn't .html just feel more soothing

    Here is sort of how I do it,

    example.com/dictionary = example.com/page.php?page=dictionary&letter=a
    example.com/a = example.com/page.php?page=dictionary&letter=a
    example.com/b = example.com/page.php?page=dictionary&letter=b
    example.com/news = example.com/page.php?page=news
    example.com/news/2004/12 = example.com/page.php?page=news&year=2004&month=12
    and so on...

    Off topic,
    The file page.php looks something similiar to,
    <? include('content/'. $page .'/setup.php');?>
    The content folder is 'deny from all'

    Almost nobody, besides us, have any idea what .html, .php, .asp or any of the rest mean. Here is the google address you get by typing in 'big long search about nothing',

    ht*p://www.google.com/search?num=50&hl=en&lr=&safe=off&q=big+long+search+about+nothing&btnG=Search

    Take that out on a street corner and see how many people can decipher it? Most places have such long address's the end is cut off from view in the address bar anyway, adding an .html to the end just adds to the length.

    Try this example, ask some non techie freinds or family (mom or grandma) to guess what the following mean,

    example.com (might say, website?)
    example.com/dictionary (maybe, website and something to do with a dictionary?)
    example.com/dictionary/c (website with something about dictionary and the letter c in the dictionary?)
    example.com/dictionary/c.html (you see where I am going with this)

    In my opinion, anything you can do to make your address short, simple and to the point is the best choice. Your probably the only one thats even going to pay attention to it anyway. If your lucky enough to get people to come to your website, and on top of that, have them use your address bar to open a page on your site, do you really want them to make five extra keystrokes to type in .html?

    P.S. I'll bite, what does this mean,
    If you see someone with an ďallinĒ in the referrer record their IP and pages they visit.

    Did a search on google and webmasterworld and came up with nothing, what is allin?

    This 42 message thread spans 2 pages: 42 ( [1] 2 > >
    Global Options:
     top home search open messages active posts  
     

    Home / Forums Index / WebmasterWorld / Webmaster General
    rss feed

    All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
    Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
    WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
    © Webmaster World 1996-2014 all rights reserved