tag:blogger.com,1999:blog-221789472023-11-15T22:12:23.749-08:00How to Build a WebsiteThis website provides guidance in building your own website and aims to share some of the lessons I've learned over the last few years. It is written with my friends Steve and Ange Cocker in mind, to help them build an important website but I hope others might find it useful too. They are smart cookies so this will not be a dummies guide.<br /><br />
This modest effort was inspired by Fergus Cocker.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.comBlogger41125tag:blogger.com,1999:blog-22178947.post-25509601352928835722010-07-21T12:02:00.001-07:002010-07-21T12:09:21.481-07:00.ftpaccess files and ftp hackingA number of my sites have been hacked recently. Lots of dodgy links have been hidden in the html behind the scenes, only visible when you look at 'view source'.<br /><br />The main vulnerabilities in the approach I use to managing websites comes from FTP (or so I am finding out) though I also use php 'includes' sometimes, which is another no-no.<br /><br />Anyhow, my provider, <a href="http://www.34sp.com/blog/official-news/ftp-security-on-vps-and-reseller-accounts/">34sp has come up with a suggestion for resellers to protect their FTP uploads</a>. This seemed like a reasonable idea but has not worked out that well for me, so here's my take on how to adapt their approach.<br /><br /><span style="font-style:italic;">Despite having an .ftpaccess file in place, a charity site I run has again found itself with lots of dodgy hidden links in its pages. I suspect the problem may be because I created the .ftpaccess file using Dreamweaver 4 with the wrong Line Feed characters - these files apparently MUST have a Unix line feed or they will not work.<br /><br />I have another problem though. With these .ftpaccess files we are advised to use the enum range if we are not on a static IP address. This seemed reasonable but my ISP's enum ranges seem to change with great frequency so this whole approach is not going to be very reliable for me.<br /><br />So, I've been wishing I could just turn OFF ftp access until I need it. And that is what I have decided to do, like this.<br /><br />1. Create an .ftpaccess file as above but leaving only 'Deny all' in the file, no other valid IP addresses and put it in the appropriate directories (httpdocs, httpsdocs and cgi-bin)<br /><br />2. Using Plesk file manager, change the permissions on the .ftpaccess file to what I think is called 644 or rw- r-- r-- (which seems to be generally recommended for .htaccess files as a secure permission setting)<br /><br />3. If I want to FTP to the site I first go in to Plesk file manager and move the .ftpaccess file to a special purpose built directory called ftp-off<br /><br />4. Do whatever FTPing I need to do<br /><br />5. Go back into Plesk and move the .ftpaccess file into httpdocs (I move the file rather than rename it to retain the permissions settings)<br /><br />This is a rather belt and braces approach but as far as I can tell it locks off FTP so that only the person with Plesk access can use it.<br /><br />Now, none of my customers do any FTPing for themselves. But, if they did perhaps the solution would be to allow 127.0.0.1 to allow them access through siteadmin.</span>litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-70057755570801253132010-05-10T23:28:00.000-07:002010-05-10T23:37:57.973-07:00How to Password Protect a Folder or some Files on the webPlacing files .htaccess and .htpasswd into the directory you wish to protect is apparently a good way to put some password protection on folders on the web. So if you want someone to type in a password before they can access a web page, these .ht files are what you would use. There is a good explanation of how you do this here... <a href="http://davidwalsh.name/password-protect-directory-using-htaccess">http://davidwalsh.name/password-protect-directory-using-htaccess</a> - Dave also has a nice tool to let you MD5 encrypt the password too!<br /><br />Well, I tried it and I got a '500 internal server error' on the page when I tried to access it. After some head scratching I found this post which reminded me that sometimes the presence of non Unix line breaks can cause problems in files like this: <a href="http://www.oreillynet.com/cs/user/view/cs_msg/6238">http://www.oreillynet.com/cs/user/view/cs_msg/6238</a>.<br /><br />Rather than immediate reach for BBEdit, I found a nice article explaining how to ensure Dreamweaver uses Unix Line Breaks... <br /><a href="http://livedocs.adobe.com/en_US/Dreamweaver/9.0/help.html?content=WSc78c5058ca073340dcda9110b1f693f21-7bdd.html">http://livedocs.adobe.com/en_US/Dreamweaver/9.0/help.html?content=WSc78c5058ca073340dcda9110b1f693f21-7bdd.html</a> - I don't know why you'd want it any other way!<br /><br />So, I'm now happy that I have a password protected web page for one of my customers!litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com1tag:blogger.com,1999:blog-22178947.post-30211893202243465582009-07-05T04:59:00.000-07:002009-07-05T05:01:47.965-07:00Struggling with PHP includes on Namesco Linux serversFlexible alternatives to PHP includes found here! Excellent!<br /><br /><br /><a href="http://blog.everymanhosting.com/php-coding/warning-include-functioninclude-url-file-access-is-disabled-in-the-server-configuration/">http://blog.everymanhosting.com/php-coding/warning-include-functioninclude-url-file-access-is-disabled-in-the-server-configuration/</a>litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com1tag:blogger.com,1999:blog-22178947.post-30034466064886844822009-04-10T08:57:00.000-07:002009-04-10T08:57:50.951-07:00Identifont - Identify fonts by appearance, find fonts by name<a href="http://www.identifont.com/index.html">Identifont - Identify fonts by appearance, find fonts by name</a> - this is very helpful!!!litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-37607181322585402512009-02-09T16:11:00.000-08:002009-02-09T16:17:02.407-08:00Lightbox 2 Problem - Progress Indicator on left instead of centredI've been scratching my head over this for a while but have finally found an answer.<br /><br />If you are using Lightbox 2 (see huddletogether.com) you might see the progress indicator or 'loading icon' off to the left instead of centred. This is confusing and looks a bit sloppy.<br /><br />It turns out that if you have used <pre>Display:block</pre> for images in your main CSS this will cause a problem for the Lightbox. Simply edit the jquery.lightbox-0.5.css file adding <pre>Display:inline;</pre> to the <pre>#jquery-lightbox a img { }</pre> statement and that should fix it for you.<br /><br />Described in less detail on the <br /><a href="http://www.huddletogether.com/forum/comments.php?DiscussionID=243&page=1#Item_0">forum</a>litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com1tag:blogger.com,1999:blog-22178947.post-36050558061922009202008-09-29T04:30:00.001-07:002008-09-30T07:23:39.691-07:00Cheap / Free Stock Photos - SXC / FotoliaDan told me about this cheap/free photo library (you need to check royalties on a photo-by-photo basis).<br /><br /><a href="http://www.sxc.hu/">SXC Photo</a><br /><br /><a href="http://en.fotolia.com/">Fotolia.com</a><br /><br />Don't forget you can also use some of the photos on <a href="http://www.flickr.com">Flickr</a> too - just check the creative commons licences on each image.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-51087090208458298612008-08-14T16:27:00.000-07:002008-08-14T16:33:45.760-07:00UK Legal Obligation to put Company Details on a WebsiteI have only been made aware of this today but there is <a href="http://www.out-law.com/default.aspx?page=7594">a legal obligation for a company to put various details, such as it's address and company details, on its website.</a><br /><br />Note that there are similar obligations relating to business letters and emails too.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-30416094578488614472008-08-14T16:06:00.000-07:002008-08-14T16:08:28.162-07:00The Google Link: operatorThe 'link:' operator on Google is supposed to show you what sites link to yours. This is quite helpful when assessing SEO because as we know, the number of links in to your site helps your ranking.<br /> <br />IT DOESNT WORK<br />==============<br /> <br />Google is thought to report only 5% of backlinks that exist. This is apparently because if they revealed more links people would be able to figure out how their search algoritms work. So, the bottom line is that the 'Link:' operator is rubbish.<br />http://www.successful-blog.com/1/check-google-backlinks-through-yahoo/<br />http://www.seo-guy.com/forum/thread10675.html<br /> <br /><br />Google recommends using Webmaster Tools instead of the link command<br />====================================================================<br />"you can get a much larger sampling of sites linking to yours using Google Webmaster Tools"<br />http://www.google.com/support/webmasters/bin/answer.py?answer=55281&ctx=sibling - <br /> <br />Google Webmaster Tools better than the Google Link: operator<br />http://googlewebmastercentral.blogspot.com/2007/02/discover-your-links.html<br /> <br /><br />Google recommends another alternative approach to the 'link:' command <br />=====================================================================<br />"To obtain a comprehensive list of sites that point to a page, perform a Google search on the URL. From the search results page, select the "Find web pages that contain the term" link, and Google will provide you with webpages that mention that address. Note that in this case, Google will return all pages that mention this URL, not just those that link to it."<br />http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=34453<br /> <br /><br />Others recommend using the Yahoo link: command<br />==============================================<br />http://www.seo-guy.com/forum/thread10675.html - this thread mentions the approach but I think the yahoo operators mentioned no longer work as described.<br /> <br />Backlink checking tools<br />=======================<br />There are tools available to check backlinks, such as marketleap.com, but several of them, including marketleap, just report the results of a standard Google 'Link:' query, which is pretty poor.<br /> <br /><br />A quick test looking at www.chrisbikes.co.uk<br />============================================<br />Google Link:www.chrisbikes.co.uk - 3 links shown<br />Google Webmaster Tools - 231 links shown<br />Google search on www.chrisbikes.co.uk - 42 occurences shown<br /> <br />Yahoo Link:www.chrisbikes.co.uk - 35 links shown<br />yahoo.co.uk linkdomain:www.chrisbikes.co.uk - 42 links shown<br /> <br /><br />http://siteexplorer.search.yahoo.com - 263 links shown<br />http://siteexplorer.search.yahoo.com/uk/ - 35 links shown<br /> <br /><br />Conclusions<br />===========<br />There seem to be 3 broad categories of results returned when it comes to looking for backlinks:<br /> <br />1. Absolute Rubbish <br /> - results from google 'Link:' command<br /> <br />2. High Quality Links without much repetition<br /> - results from a google search on the domain, or<br /> - results from the yahoo link: or linkdomain: command<br /> <br />3. Comprehensive list of links with lots of repetition<br /> - results from Google Webmaster Tools<br /> - results from yahoo site explorer (US version - http://siteexplorer.search.yahoo.com)<br /> <br /><br />Recommendations<br />===============<br />Do not use the google 'Link:' command. <br /> <br />Consider using the following:<br />Google Webmaster Tools or Yahoo Site Explorer <br />http://siteexplorer.search.yahoo.com to get a comprehensive list of links in.<br /> <br />To get a list of high quality links in try the yahoo link: or linkdomain: commands.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com2tag:blogger.com,1999:blog-22178947.post-35751237478903776902008-05-05T07:29:00.000-07:002008-05-05T07:35:22.599-07:00Better PHP Includes - php includes - solving "no suitable wraper could be found"I've had a few problems with PHP Includes done at the directory level. Particularly with the $root variable I mentioned in a previous post.<br /><br />34sp pointed out that, "If you simply use the $_SERVER['DOCUMENT_ROOT']."/path/to/file" it is more secure", so that's what I'm doing now.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-6443139955046265782008-04-04T06:06:00.000-07:002008-04-04T06:11:38.022-07:00Free webpages for Cambridge people & another Cambridge Index<a href="http://www.colc.co.uk/newpage/newpage.html">www.colc.co.uk</a> is Cambridge Online. They have so many links that they are almost another Cambridge Directory, and a good one too.<br /><br />They have a great service helping Cambridge People to get on the web, letting you have a 1 page website for free. It's fantastic! These sites seem easy to find on Google too.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-32071156552025280512008-03-14T03:33:00.000-07:002008-03-14T03:33:19.316-07:00SEOmoz | Google Search Engine Ranking Factors<a href="http://www.seomoz.org/article/search-ranking-factors">SEOmoz | Google Search Engine Ranking Factors</a> - an excellent article which reports on a survey of SEO experts about which things are important to your web page for effective SEO. I know enough about all this to put quite a lot of faith in this survey - the things ranked as most important here correspond to my understanding.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-5368727143780526942008-02-13T16:30:00.000-08:002008-02-13T16:30:04.720-08:00Wordtracker - Keyword analysis<a href="http://www.wordtracker.com/academy/">Word Tracker</a> seems like a great tool for helping you figure out which keywords your customers might be typing in to find a business like yours. This is worth a good read.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-13913684098574687802008-02-07T17:42:00.000-08:002008-02-07T17:47:28.170-08:00Don't let Nominet rip you off for a domain nameI was doing some work for <a href="http://www.chrisbikes.co.uk">Chris' Bikes</a> today. He had got a domain name renewal letter from Nominet asking for £94 for 2 years. What a complete rip-off! He is not a web expert and might well have just paid it. I talked to the guys at <a href="http://www.34sp.com">www.34sp.com</a> and we managed to renew the domain name for £10 for 2 years.<br /><br />I was chatting with someone later who put me onto <a href="http://www.1and1.co.uk">www.1and1.co.uk</a>. They sell domain names for as little as £2.62 per year !litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com1tag:blogger.com,1999:blog-22178947.post-32412681980037173152008-01-29T14:37:00.000-08:002008-01-29T16:22:07.502-08:00Telling Google WHERE you are in the worldStep 1. Go to http://maps.google.com<br />Step 2. Go to 'mymaps' tab and create a map, with a pushpin marking your location<br />Step 3. Hit the 'View in Google Earth' button and save the .kml file<br />Step 4. Load the .kml file into Google Earth<br />Step 5. Save the new .kml file from Google Earth (this one is cleaner)<br /><br />(an alternative to the above 5 steps would be to use <a href="http://www.addressfix.com/">http://www.addressfix.com/</a> (I've just discovered that useful tool!)<br /><br />Step 6. Edit the kml file in your favourite text editor making good use of the tags and links you can put in there.<br /><br />Here is a nice example of a .kml file which indicates the kinds of things you can do with the <description> tag:<a href="http://www.seo-expert-services.co.uk/seo-expert-services-london.kml"><br />http://www.seo-expert-services.co.uk/seo-expert-services-london.kml</a> and <a href="http://maps.google.com/maps?f=q&hl=en&q=http://www.seo-expert-services.co.uk/seo-expert-services-london.kml">in use here</a>.<br /><br />Step 7. Put a link to the kml file in the sitemap.xml file, like this...<br /><url><br /><br /> <loc>http://www.userexperiencedesign.co.uk/userexperiencedesigncambridge.kml</loc><br /><br /> <priority>0.5</priority><br /><br /> <changefreq>daily</changefreq><br /><br /></url><br /><br /><br />Refs:<a href="http://weblog.millionpieces.nl/2007/4/how-to-get-your-information-into-google-maps"><br />http://weblog.millionpieces.nl/2007/4/how-to-get-your-information-into-google-maps</a><br /><br />Some <a href="http://code.google.com/apis/kml/documentation/kml_tut.html">more advanced KML examples</a>.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-26939755748457203412008-01-21T05:56:00.000-08:002008-01-21T05:56:02.910-08:00Web Page Title Tags for Search Engine Optimization & Web Usability - Search Engine Marketing FAQ - SEO Logic<a href="http://www.seologic.com/faq/title-tags.php">Web Page Title Tags for Search Engine Optimization & Web Usability - Search Engine Marketing FAQ - SEO Logic</a>litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-85302490392806507242008-01-20T16:15:00.000-08:002008-01-20T16:15:19.240-08:00Google Webmaster ToolsGoogle has some pretty handy <a href="https://www.google.com/webmasters/tools/siteoverview">Google Webmaster Tools - Dashboard</a> to use to show you how it sees your website.<br /><br />You can check your robots.txt file here and your sitemap and loads of other stuff.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-53494682265708951412008-01-20T16:10:00.000-08:002008-01-20T16:10:16.871-08:00Add a robots.txt page to tell search engines like google which pages to leave out of the indexThere is a good summary of the robots.txt file here: <a href="http://www.robotstxt.org/">The Web Robots Pages</a>.<br /><br />These days, you can add a reference to the location of your sitemap here too.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-72553200588781583462008-01-20T15:32:00.000-08:002008-01-20T15:32:04.336-08:00Adding a SitemapAn interesting Google article asks - <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=40318&ctx=sibling">What is a Sitemap file and why should I have one?</a><br /><br />It is worth adding one to tell google all about your website. It is also worth adding a robots.txt file if you have parts of your website that you would like Google to avoid, or indeed, would like to make really sure Google finds your sitemap!litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-12348608642438287452008-01-08T04:14:00.000-08:002008-01-08T05:53:02.760-08:00base href does not work for php includes !! (and what to do about it)Base href is very handy for organizing relative addressing on a website. You may, for example, be working on a project for a client with a directory structure like this:<br /><br />www.userexperiencedesign.co.uk/projects/cambridge_motorcycles<br /><br />The 'normal' root of this would typically be www.userexperiencedesign.co.uk but if you want the /cambridge_motorcycles part to be the root, you could define a base href so that all the sub-directories under it would refer to that as root instead. Like this...<br /><br /><code><br /><base href="http://www.userexperiencedesign.co.uk/projects/cambridge_motorcycles/\" /><br /></code><br /><br />This works GREAT for images and general relative addressing.<br /><br />I was stumped for a while, trying to figure out why this didn't work for PHP includes. PHP experts would not be so stumped. PHP is handled server side, so the base href in the document is not used. After a lot of head scratching I figured that you could define an equivalent for base href to be used by the PHP includes.<br /><br />First, you need to define the variable in PHP. Mine is like this...<br /><code><br /><?php $root="http://www.userexperiencedesign.co.uk/projects/cambridge_motorcycles/\"; ?><br /></code><br /><br />Then, when you call the include file you do it like this...<br /><code><br /><?php include ($root."include/header.html\"); ?><br /></code><br /><br />This gives us a neat way to fake up a base href equivalent for PHP includes. Neat!<br /><br />If you are an efficiency expert you might worry about how many server calls are made by the PHP includes and whether, when defining $root, you should give the whole path or something relative. My sites are very small so this is not a big deal for me but if anyone wants to leave comments on efficiency (or anything else) I am always happy to learn!litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com2tag:blogger.com,1999:blog-22178947.post-66894702141691140252007-12-09T12:56:00.000-08:002007-12-09T13:48:23.714-08:00embedd a flickr slideshow set to allow good control of display orderI always seem to struggle with embedding flickr photos into my web pages and I'm not sure why really. If you want a lot of control of the order your photos will display, you should create a flickr set and put the photos in there and order them.<br /><br />Then you'll need to use your flickr user id number (see <a href="http://idgettr.com">idgettr.com</a>) and the set id number for your photos (shown in the URL when you view the set).<br /><br />Then replace the user_id and set_id in the following bit of code, showing my Impington Swimming Club set.<br /><br /><code><iframe align=\"center\" src=\"http://www.flickr.com/slideShow/index.gne?group_id=&user_id=79364623@N00<br />&set_id=72157594394097360\" frameBorder=\"0\" width=\"500\" height=\"500\" scrolling=\"no\"></iframe><br/><small>Created with <a href=\"http://flickrslidr.com\" title=\"flickrSLiDR\">flickrSLiDR</a>.</small></code><br /><br /><iframe align="center" src="http://www.flickr.com/slideShow/index.gne?group_id=&user_id=79364623@N00&set_id=72157594394097360" frameBorder="0" width="500" height="500" scrolling="no"></iframe><br/><small>Created with <a href="http://flickrslidr.com" title="flickrSLiDR">flickrSLiDR</a>.</small>litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-27007219627464461642007-12-02T03:49:00.001-08:002007-12-02T04:12:11.467-08:00Aardvark Maps - An easy way to add pushpins to Google Maps<a href="http://www.aardvarkmap.net/">Aardvark Map</a> - a simple tool for building a map for your website with a few pushpins on it. A bit like this...<br /><br /><!-- iFrame code for AardvarkMap.net Start --><br /><iframe src="http://www.aardvarkmap.net/mapitrans/O9C2WH7B" width="582" height="435" frameborder="0" scrolling="auto" marginwidth="0" marginheight="0" allowtransparency="true"></iframe><br /><!-- iFrame code for AardvarkMap.net End -->litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com3tag:blogger.com,1999:blog-22178947.post-31613264389443170342007-11-24T07:44:00.000-08:002007-11-24T07:45:21.973-08:00Getting your business onto the Google Map dataCheck out the <a href="http://www.google.com/local/add/">Google Local Business Center</a>.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-26845151602545154792007-11-24T06:46:00.000-08:002007-11-24T07:45:38.475-08:00Can I embed Google Maps into my website or blog?<a href="http://maps.google.com/support/bin/answer.py?answer=72644&query=embed&topic=&type=">Can I embed Google Maps into my website or blog?</a><br /><br />Here's how to embed a google map in a website - handy!litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-57544620984495521552007-11-21T12:13:00.001-08:002007-11-21T12:15:54.928-08:00Putting code into a blogger postIt can be a bit of a faff to put code onto a blogger post. I have just found a nifty utility to convert it into the right format to make it easy.<br /><br />Check out <a href="http://www.accessify.com/tools-and-wizards/developer-tools/quick-escape/default.php">http://www.accessify.com/tools-and-wizards/developer-tools/quick-escape/</a>.<br /><br />This adds the escape characters you need to put code onto a blog. You can put the results between <pre></pre> tags.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0tag:blogger.com,1999:blog-22178947.post-1164076753196953172007-11-21T11:42:00.000-08:002007-11-21T12:12:16.611-08:00How to hide your email address from spammers if you have to put it on the internetWhen you put an email address on the internet, computer programs called 'spam robots' will find it by trawling over all the web pages they can find. Over the years these 'spam robots' have become more sophisticated but they can be thwarted to some degree. There are various ways to thwart them, one of which is to make your email address into an image which has no code equivalent that can be read by the programs. This is a bit nasty from an accessibility perspective - how do people with disabilities access this information?<br /><br />Another way to do it is to assemble the email address with a snippet of javascript. Whilst a computer program could interpret this ('parse it'), it probably won't bother since there are plenty of other email addresses out there which are not protected at all and they may as well sell Viagra to those people.<br /><br />Here is how my email address is protected. You will see how it appears at the end bottom of my website, <a href="http://www.userexperiencedesign.co.uk">www.userexperiencedesign.co.uk</a>.<br /><br />The code looks like this. It's a little more complicated looking than I would like because I have had to ensure that it is still valid XHTML. The comments in the code reference the sources of information I used in coming up with this.<br /><br />You should note that this is NOT a foolproof way of ensuring you don't get spam but it should reduce the amount you get.<br /><br /><!-- This Javascript hides an email address from spam robots --><br /><!-- See The JavaScript Source!! <a href="http://javascript.internet.com">http://javascript.internet.com</a> --><br /><!-- I got this to validate following advice from here <a href="http://www.geocities.com/wb7crk/">http://www.geocities.com/wb7crk/</a> --><br /><br /><!--The 'noscript' tag provides alternative contact info for people with Javascript switched off--><br /><br /><div><br /> <script type=\"text/javascript\"><br /> <!--//<![CDATA[ <br /> var user = \"carl.myhill\";<br /> var site = \"userexperiencedesign.co.uk\";<br /> document.write(\"<a href=\\\"mailto:\" + user + \"@\" + site + \"\\\" accesskey=\\\"9\\\" \\>\" + user + \"@\" + site + \"<\\/a> <em>[9]</em> \"); //]]>--> <br /> </script><br /><br /> <noscript><br /> <p><em>Contact carl.myhill at userexperiencedesign.co.uk</em></p><br /> </noscript><br /></div><br /><br />NOTE: This bit of code also activates accesskey 9 for your email address. This is the standard (in the UK government at least) accesskey for 'feedback' and allows users to hit Alt+9 to send you an email instead of needing to navigate to the link.litslhttp://www.blogger.com/profile/11717283679486078402noreply@blogger.com0