• Drupal CMS Developer
  • Website speed optimisation
  • Drupal 6 to Drupal 8 migrations


Welcome, I am a Web Developer based in Madrid, Spain originally from the UK. I studied Computer Science & eBusiness at Loughborough University. I specialise in Content Management System websites

Web Trends System

For my final year project at Loughborough University I created a system for Andalucia Web Solutions. The system tracks and monitors visitor trends through a client website. This system isn't just like an ordinary Website stats system, it allows you to view the exact paths every visitor takes through a website.

  • Works on any linux server, uses only PHP/JavaScript/HTML/MySQL
  • The system does not require the website to have PHP pages; the only element that is added to the websites being tracked is a small JavaScript line of code.
  • It does not affect the performance or design of the site on which the system is implemented, there is no visible evidence of it being tracked.
  • The system deisgn is simple yet appealing and very professional in appearance.
  • It is simple to use for both technical and non-technical users. The user is not be overflowed with data but is capable of accessing information in detail.
  • The system can show web trends right down to the individual user.
  • The database structure is efficient so as to be able to handle the potentially large amounts of data.
  • All data is stored on a single server regardless of how many websites are tracked.
  • The system only shows what is relevant, any information which is already available through current stats systems and not of benefit within the context is not added.
  • The system allows clients to access their stats without having to know the admin username and password
  • It also denies clients from accessing the stats of other clients being tracked by the system.


Admin Section

Add/Update/Delete Site – From here it is possible to add a new site which is to be tracked by the system, or modify the details of sites already added. When adding a site, the admin must first fill in some basic information before being given the code which they then copy and paste onto every page of the website. When deleting the site, the system gives the admin step by step instructions of things that should be done before deleting; once these have been completed the system confirms and then deletes the tables.

Add/Update/Delete User – From here it is possible to create/update/delete user accounts for the system while only allowing one admin user. When creating a user, it is associated with a website so that when someone logs into that user account, they only get access to the information on that site. All details for all accounts can be changed at a later date, and a user account can also be deleted.

Archive Site – In the archive section, you select a date using the calendar function, and then everything before that date becomes archived meaning that the data is stored in a different database table to that of the current data. This is so that the speed of the system isn’t impaired by old data but at the same time keeping hold of the valuable data. A link then appears in the Visitor stats section allowing the user to switch between viewing current or archived data.

Visitor Stats Section

Site Home – This is the summary home page which shows limited information about the statistics. From here you can see the very highest performing pages, paths, entries, and exits. From here you can then navigate into the pages which show this information in more details.

Page List – This shows all of the pages (id, name, filename, visit frequency) that have been logged by the system as a result of someone visiting a page where the tracking code exists. It displays them in order of how many times that page has been visited.

Common Paths – This shows every unique path in order of frequency. The pages are broken down into blocks of 30 by a list limiting function. It is also possible to toggle between showing “single page visitors” in the results.

All Paths – This allows the user to look at every single visit to the website. The visit shows the IP address and the time of the visitor, the referrer, and every page they visited in order.

Entry Pages – This shows every page through which a visitor entered the site in order of frequency. The “single page visitors” are not included in the result.

Exit Pages – The same as Entry Pages, only showing the most common page at which a visitor left, again not including “single page visits”.

Visitor Source – This page shows the most common referrers to the website, i.e. it shows exactly who sent the visitor to them. If it was via a search engine, then it shows what the search words were. The results are broken down into three sections: Google/Yahoo, Andalucia, Other.

Search – From here it is possible to search all of the data according to the criteria that the user sets. It is possible to search each, all, or none of the following: specific page visited, IP address of visitor, time period of visit. The results are then listed in chronological order. The results also count how many come from each type of referrer and count the most common search criteria if relevant. It is possible to filter the results to just list the visitors from specific referrers.

Archive data – If the site that is being viewed has archived data then a link appears in the navigation allowing the user to switch between viewing the archived data or current. To reduce the chance of the user being confused as to which data they are viewing, upon clicking the “View Archived Data” link, the title background colour changes and the link to return to current data is emphasised.