Our web site keeps a dynamic log of accesses to our main URLs, together with key words and phrases associated with the URLs. It's a lot more than a web access log, as images such as this one
are indexed under "Fish Pass Chippenham" as that's the "alt" tag that's associated with the image on some of our pages, and on most of the 'html' pages the indexing text excludes the page decoration but includes the content. And each time a URL is visited by a 'live' user, we count that access to keep tabs on what's popular, and we also do so by training course module. Again, it's much more than just the web server logs.
Why do we do all this work?
Firstly and foremost, so that we can provide a sitemap to the search engines in which we can weight the relative importance of our pages for them, based on the section of the web site the pages are in, the number of times they're accessed, their age and other factors of our choosing.
Secondly, so that we can provide additional search facilities on our site - this is currently in a test form, but if you follow this link
you'll see the way we can list resources on our site that reference "Lacock" ... starting with what we consider to be our most important pages (not necessarily the most important pages for that term, though!)
Thirdly, so that we can highlight top resources for a particular module on that module page. We're using a look and feel that should be familiar to anyone who looks theough search engine results (that's nearly everyone, right?):
Python Programming - The fundamentals in depth, and an introduction to applications such as GUI design and Data Munging.
This course starts at the fundamentals ...
Learning to Program in Python - The fundamentals in depth, and an introduction to applications such as GUI design and Data Munging.
This course starts ...
In all object oriented languages, you have a facility called inheritance where you can define one type of thing ("class of object") based on another, ...
http://www.wellho.net/mouth/1819_Cal ... ctors.html [short article]
In (Object Oriented) programming terms, Inheritance is used to define a type of data (an object ) which behaves like another type of data with some ...
http://www.wellho.net/solutions/python-i ... tance.html [longer article]
The constructor you'll normally override (and call when you create an object) in Python is called __init__, but there is also a method called __new__ ...
http://www.wellho.net/mouth/1146_-ne ... ives-.html [short article]
Do you find some of the OO terminolgy baffling? Once you've learnt about constructors and methods, inheritance, overloading and polymorphism and statics, ...
http://www.wellho.net/mouth/1217_Wha ... sses-.html [short article]
I started the counters some 9 months ago ... and we've been steadily counting page visits since that time. But there's something of a problem there; it means that pages that were called up heavily six months ago now have an undue weight, and that up and coming new pages are taking a long time to be decently rated on the prime mover for this work - which is our sitemap. It's rather like they started in the air, then they got put into water and became more sluggish in their reaction. Then cooking oil, then treacle and eventually tar. So what was originally a responsive and positive system was becoming quite the reverse - a hinderance.
The solution - an interim solution that I'll be applying every month or two - is to dilute the access counters. Add more water to the mix, make the tar far more 'runny' for a while. Yes, it will thicken up again over coming weeks, but at least the current sitemap.xml file has changed very little right away, but it will adjust far quicker over the coming week. And to dilute the access counters ... a simple SQL line:
mysql> update cn_content set nstores = 1 + nstores/10;
Basically, dividing all the accesses to a tenth of their previous significance, but ensuring that none of them is allowed to fall off the scale to a "zero". I do have a copy of my 'before' and 'after' sitemaps; the factors have changed straight away, but not greatly so. The history remains, all be it in a diluted form, and that's exactly what's needed for a dynamic site such as ours. (written 2009-09-27)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesG911 - Well House Consultants - Search Engine Optimisation 
Implementing an effective site search engine - (2005-01-01) 
The Melksham train - a button is pushed - (2005-08-28) 
Search engine placement - long term strategy and success - (2006-12-30) 
Our search engine placement is dropping. - (2007-01-11) 
Catching up on indexing our resources - (2007-09-10) 
Which country does a search engine think you are located in? - (2008-09-11) 
Search Engines. Getting the right pages seen. - (2009-01-01) 
Telling Google which country your business trades in - (2009-01-02) 
Cooking bodies and URLs - (2009-01-08) 
Site24x7 prowls uninvited - (2009-01-10) 
2000th article - Remember the background and basics - (2009-01-18) 
Baby Caleb and Fortune City in your web logs? - (2009-01-31) 
Does robots.txt actually work? - (2009-02-16) 
Static mirroring through HTTrack, wget and others - (2009-03-03) 
Learning to Twitter / what is Twitter? - (2009-03-28) 
How to tweet automatically from a blog - (2009-03-28) 
Reaching the right people with your web site - (2009-04-23) 
What search terms FAIL to bring visitors to our site, when they should? - (2009-08-05) 
Update - Automatic feeds to Twitter - (2009-08-09) 
Web site traffic - real users, or just noise? - (2009-12-26) 
Tuning the web site for sailing on through this year - (2010-01-03) 
Freedom of Information - consideration for web site designers - (2010-03-20) 
Monitoring the success and traffic of your web site - (2010-05-01) 
Reading Google Analytics results, based on the relative populations of countries - (2012-03-24) 
Google Analytics and the new UK Cookie law - (2012-06-02) 
Has your Twitter feed stopped working? Switching to their new API - (2013-06-23)
Some other Articles
Using print_r in PHP to explore mysql database requestsMoving busstop!Not just a PHP program - a good web applicationTcl scripts / processes on a web server via CGIDiluting HistoryOperator overloading - redefining addition and other Perl tricksWhich version of MySQL am I running?Weekend and Christmas Promotion - Well House Manor Hotel, MelkshamA Winter Weekend Special at Well House ManorWhat is a JVM, a JRE, a JDK - components of the core Java Environment