Every website or blog is needed page count to show the top visiting pages. It helps visitors to look around the interesting
posts and for analysis.
Some methods are using for this process,
A simple Update of view count column in Main table for all Dynamic pages is very easy to handle. But if visitors reload
or come back again to the page duplicate view count will be updated. Then, the Page views count is Inaccurate.
Id | post | views |
101 | Content of the first post | 546 |
102 | Content of the second post | 134 |
103 | Content of the third post | 594 |
Have to create a DB Table and make entry of each page with the visitors IP. It is accurate, but our table size will become
very large.
For instance, A growing small website have 2000 pages with average of 1000 unique page visits gets,
2000*1000 = 2,000,000 million entries.
Id | page_url | visitor_ip |
1001 | http://example.com/page-dynamic-1 | 255.34.67.109 |
1002 | http://example.com/page-dynamic-2 | 255.34.67.109 |
1003 | http://example.com/page-dynamic-1 | 23.89.16.214 |
This is huge number, while the website grows fetching of views count will slow down the page load. And updating Views table
each time have to check this Ip and this URL made an entry else Insert a new row.
To avoid this, add a new Column views in Main Table for total views count. So when making an entry in View table, update main table
Views column.
From this method, check that page is Reloaded or Refreshed. If not So, update main table column Views.
A simple php script,
function view_update($post_id) {
$refreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0';
if($refreshed == '') {
#update query,
$dbcon->query("update quotes set views=views+1 where quote_id=$post_id");
}
}