We have a number of different domains offering information about our courses, and technical content too. There's
www.wellho.net which is our main, worldwide site. But then there's
www.wellho.co.uk which carries information with a U.K. bias and
mobile.wellho.net which presents for the smaller screen size of a mobile phone.
Do we want all of these domains listed by the search engines - a wide spread to catch as many potential customers as possible?
Not really, because whilst we might get a higher number of pages indexed if we advertise them all, we'll also have their ranking diluted if there's duplication of content. Much better to have one domain ranked really well than have our ranking spread out between many, so that none appears as highly as we would like.
In database design, you learn that
"source data should only be stored once" and indeed we have a single server (but with backup, of course) where our definitive editable content is stored, and we use virtual hosts and host forwarding to answer all browser requests from there. One of the files stored there is
/robots.txt which is the file that well behaved robots read in order to establish where they are welcome (and where excluded) on a site. See
[here] for more about the format of robots.txt, a list of robots, etc.
In order to ensure that www.wellho.net is indexed, but www.wellho.co.uk, mobile.wellho.net and others are not, our robits.txt page actually runs a PHP script which sends a strong "DO NOT INDEX" message for our subsidiary domains, and a much more welcoming, and carefully tuned, response for www.wellho.net.
Here's how we do it:
<?php
header ("Content-type: text/plain");
print ("# robots.txt file for $_SERVER[HTTP_HOST]\n");
$mainsite = 1;
# If forwarded, this isn't the main site
if ($_SERVER[HTTP_X_FORWARDED_HOST]) $mainsite = 0;
if ($mainsite == 0)
print ("# robots.txt file from $_SERVER[HTTP_X_FORWARDED_HOST]\n");
# If not a www. domain, this isn't the main site
if ( ! preg_match("/^www/",$_SERVER[HTTP_HOST])) $mainsite = 0;
if ( $mainsite == 0) {
?>
# This is not the main site - don't index it to avoid dilution
# Please refer instead to www.wellho.net
User-agent: *
Disallow: /
<?php } else {
# This is what we tell robots for the main site
?>
User-agent: *
Disallow: /cgi-bin/ # Disallow cgi programs
Disallow: /net/unique.html # Unique words
Disallow: /happens/ # Our Staff Short Cuts
[etc]
<?php } ?>
Why different content for a laptop browser and a phone? Here is the same blog article, as presented on a regular web page and for an ipad or mobile device:
(written 2012-01-22, updated 2012-01-28)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
W512 - Web and Intranet - Site Design Aspects [229] A fortunate accident - (2005-02-27)
[261] Putting a form online - (2005-03-29)
[288] Colour blindness for web developers - (2005-04-22)
[319] Accommodation and landing pages - (2005-05-21)
[345] Spotting a denial of service attack - (2005-06-12)
[352] Improved mining techniques! - (2005-06-19)
[391] One mans pleasure is another mans poison - (2005-07-26)
[510] Dynamic Web presence - next generation web site - (2005-11-29)
[556] Colour doesn't have to mean colourful - (2006-01-06)
[649] Denial of Service ''attack'' - (2006-03-17)
[718] Protecting images from theft - (2006-05-12)
[795] Remember a site's non-technical issues too - (2006-07-07)
[823] An excellent use for a visitor count? - (2006-08-05)
[859] Put the answer in context - it may be printed - (2006-09-08)
[918] Databases needn't be frightening, hard or expensive - (2006-11-08)
[1015] Search engine placement - long term strategy and success - (2006-12-30)
[1047] Maintainable code - some positive advice - (2007-01-21)
[1054] UK legal requirements for your commercial web site - (2007-01-27)
[1353] Mood shots - (2007-09-16)
[1598] Every link has two ends - fixing 404s at the recipient - (2008-04-02)
[2214] Global Index to help you find resources - (2009-06-01)
[3517] Tags used in writing this blog - (2011-11-12)
[3563] How big is a web page these days? Does the size of your pages matter? - (2011-12-26)
G902 - Well House Consultants - Web site techniques, utility and visibility [23] Skills and responsibilities - (2004-08-22)
[32] Web design platoon - (2004-08-29)
[98] No more 'Error 404' pages. Something better. - (2004-10-24)
[109] URLs - a service and not a hurdle - (2004-11-04)
[117] A case of case - (2004-11-14)
[142] Colour for access - (2004-12-06)
[165] Implementing an effective site search engine - (2005-01-01)
[173] Data Mining - (2005-01-09)
[179] The hunt for unique words - (2005-01-16)
[182] Your personal Google ranking - (2005-01-19)
[197] Allow for peak traffic on your web site - (2005-02-01)
[202] Searching for numbers - (2005-02-04)
[222] Who are all these visitors? - (2005-02-20)
[259] Responding to spam - (2005-03-27)
[268] Information request forms, cleaning up spam - (2005-04-05)
[274] Our most popular resources - (2005-04-10)
[276] An apology to Mr Boneparte - (2005-04-11)
[278] Cover all the options - (2005-04-13)
[284] The Iconish language - (2005-04-19)
[311] Growth pains - (2005-05-14)
[314] What language is this written in? - (2005-05-17)
[320] Ordnance Survey - using a 'Get a map' - (2005-05-22)
[322] More maps - (2005-05-23)
[347] Frightening and from-friend viruses and spams - (2005-06-14)
[348] Graveyard pages - (2005-06-15)
[369] CMS - the minefield of Choices - (2005-07-05)
[376] What brings people to my web site? - (2005-07-13)
[414] Form Madness - (2005-08-14)
[492] New Navigation Aid - Launch of My Wellho - (2005-11-11)
[528] Getting favicon to work - avoiding common pitfalls - (2005-12-14)
[533] Bigger Box Campaign - (2005-12-18)
[658] Keeping the visitors happy and browsing - (2006-03-26)
[681] Mirroring a dynamic site - (2006-04-12)
[732] Where is a web site visitor browsing from - (2006-05-24)
[757] Horse and Python training - (2006-06-12)
[767] Finding the language preference of a web site visitor - (2006-06-18)
[800] Effective web campaign? - (2006-07-12)
[893] Visibility - (2006-10-14)
[916] Driving customers away - (2006-11-07)
[976] Santa at the station - (2006-12-09)
[994] Training on Cascading Style Sheets - (2006-12-17)
[1029] Our search engine placement is dropping. - (2007-01-11)
[1055] Above the fold - (2007-01-28)
[1104] Drawing dynamic graphs in PHP - (2007-03-09)
[1177] Sorting out for a site map - (2007-05-05)
[1184] Finding resources - some pointers - (2007-05-13)
[1186] Two new pages / sites - (2007-05-14)
[1198] From Web to Web 2 - (2007-05-21)
[1207] Simple but effective use of mod_rewrite (Apache httpd) - (2007-05-27)
[1212] What brought YOU to our web site? - (2007-06-01)
[1237] What proportion of our web traffic is robots? - (2007-06-19)
[1297] Stuffing content into a web page - easy maintainance - (2007-08-09)
[1437] Above the fold with First Great Western - (2007-11-19)
[1494] A time to update pictures - (2008-01-03)
[1505] Script to present commonly used images - PHP - (2008-01-13)
[1506] Ongoing Image Copyright Issues, PHP and MySQL solutions - (2008-01-14)
[1513] Perl, PHP or Python? No - Perl AND PHP AND Python! - (2008-01-20)
[1534] Where in the world / country is my visitor from? - (2008-02-07)
[1541] Colour, Composition or Content - (2008-02-16)
[1554] Online hotel reservations - Melksham, Wiltshire (near Bath) - (2008-02-24)
[1610] PHP course dot co, dot uk - (2008-04-13)
[1630] To provide external links, or not? - (2008-05-04)
[1634] Kiss and Book - (2008-05-07)
[1653] How do Google Ads work? - (2008-05-25)
[1711] Rapid growth leads to server move - (2008-07-17)
[1747] Who is watching you? - (2008-08-10)
[1756] Ever had One of THOSE mornings? - (2008-08-16)
[1793] Which country does a search engine think you are located in? - (2008-09-11)
[1797] I have been working hard but I do not expect you noticed - (2008-09-14)
[1833] Web Bloopers - good form design - avoiding pitfalls - (2008-10-11)
[1856] A few of my favourite things - (2008-10-26)
[1888] Find the link - (2008-11-16)
[1955] How to avoid duplicating web page maintainance - (2008-12-20)
[1961] Making our things easier to find - (2008-12-26)
[1970] Plagarism - who is copying my pages? - (2009-01-02)
[1982] Cooking bodies and URLs - (2009-01-08)
[2056] Web Site Loading - experiences and some solutions shared - (2009-02-26)
[2065] Static mirroring through HTTrack, wget and others - (2009-03-03)
[2225] How important is a front page ranking on a search engine? - (2009-06-09)
[2332] Formation, des langages Open Source - (2009-08-09)
[2333] Formaci[83][c2]ón, de los lenguajes de c[83][c2]ódigo abierto - (2009-08-09)
[2334] Formazione, Open Source computer lingue - (2009-08-09)
[2335] Ausbildung, die Open-Source-Sprachen - (2009-08-09)
[2336] Forma[83][c2]ç[83][c2]ão, Open Source computador l[83][c2]ínguas - (2009-08-09)
[2337] Opleiding, Open Source computertalen - (2009-08-09)
[2338] Uddannelse, Open Source computer sprog - (2009-08-09)
[2339] Oppl[83][c2]æring, Open Source datamaskinen spr[83][c2]åk - (2009-08-09)
[2340] ldning, Open Source dator spr[83][c2]åk - (2009-08-09)
[2341] Koulutus, Open Source tietokone kielill[83][c2]ä - (2009-08-09)
[2389] Writing with our customers words - (2009-09-01)
[2410] Removal of technical resources from this site - (2009-09-19)
[2519] Status Page / breaks of service in early December - (2009-11-30)
[2532] Analysing Google arrivals by country of origin - (2009-12-10)
[2552] Web site traffic - real users, or just noise? - (2009-12-26)
[2569] How to run a successful online poll / petition / survey / consultation - (2010-01-10)
[2668] Is it worth it? - (2010-03-09)
[2981] How to set up short and meaningfull alternative URLs - (2010-10-02)
[3022] Retaining web site visitors - reducing the one page wonders - (2010-10-31)
[3087] Making the most of critical emails - reading behind the scene - (2010-12-16)
[3149] Looking back at www.wellho.net - (2011-01-28)
[3197] Finding and diverting image requests from rogue domains - (2011-03-08)
[3367] Google +1 - what is it? - (2011-07-22)
[3426] Automed web site testing scripted in Ruby using watir-webdriver - (2011-09-09)
[3491] Who is knocking at your web site door? Are you well set up to deal with allcomers? - (2011-10-21)
[3532] Sharing the user experience - designing a form with the customer in mind - (2011-11-29)
[3554] Learning more about our web site - and learning how to learn about yours - (2011-12-17)
[3623] Some TestWise examples - helping use Ruby code to check your web site operation - (2012-02-24)
[3734] QR codes with marketing logos embedded - (2012-05-16)
[3744] Short Web Addresses for Melksham - (2012-05-30)
[3745] Legal change - You need to obtain user consent if you use cookies on your website - (2012-06-01)
[3776] Some traps it's so easy to fall into in designing your web site - (2012-06-23)
[3896] An email marathon - (2012-10-15)
[3974] TV show appearance - how does it effect your web site? - (2013-01-13)
[4001] Helping search engines with appropriate 400 error codes - (2013-02-11)
[4076] Web site - fully back! - (2013-04-29)
[4115] More or less back - what happened to our server the other day - (2013-06-14)
[4136] How do I post automatically from a PHP script to my Twitter account? - (2013-07-10)
[4239] Facebook marketing - early experiences - (2014-01-19)
[4376] Well House Consultants, Well House Manor, First Great Western Coffee shop, TransWilts / 2014 web site reports - (2015-01-01)
[4401] Selecting RECENT and POPULAR news and trends for your web site users - (2015-01-19)
[4474] Effect on external factors on traffic to our web sites - an update - (2015-04-26)
[4492] Almost so wrong, but perhaps it's right for some? - (2015-05-11)
Some other Articles
Chars, char arrays and strings in C. Some early cautions and pitfalls.Are we one man, one vote? No, and we never have been. Integer types, and integer overflows, in CDefining, declaring and initialising variables in CPromoting a single one of your domains on the search enginesLearning about how to help people learning - and retaining C++ Courses - do I get official certification at the end of my Well House course?Emergency First Aid Provision at Well House Manor - part of the serviceThe changing Hotel and Bed and Breakfast business in MelkshamQR codes - graphics images that provide quick phone links