The Top Pages and Top Referrers tables show the most popular URLs on your site and where your visitors are coming from. They're the two most useful tables for content marketing and SEO.
Top Pages
Each row is a URL on your site that received human visits during the selected range. The row shows:
- The URL (truncated to 200 chars if very long)
- A horizontal bar chart showing relative popularity
- The visit count
The list is sorted by visit count, descending, capped at the top 15 entries per range.
URL normalisation
Before counting, the agent normalises each URL:
- Query strings are stripped.
/blog/post?utm_source=googlebecomes/blog/postso all variations of the same page count as one entry. - Fragment identifiers are not present in access logs (they live only in the browser).
- URL encoding is preserved as-is.
/caf%C3%A9and/caféwill appear as separate entries because Nginx logs the encoded form.
If two URLs only differ in trailing slash (/about vs /about/), they appear as separate entries — that's how the visitor's browser actually requested them.
Asset URLs
Static asset requests (images, CSS, JS, fonts) appear in this table the same as page requests. If you want to filter them out, look for URLs ending in .html, .php, or having no extension.
The agent could in principle filter known asset extensions, but it's deliberately left unfiltered because:
- Some sites serve content under non-standard extensions
- Asset hits are useful for identifying images that drive social shares
- Filtering would hide bandwidth-heavy resources you might want to optimize
If a single image is at the top of your Top Pages list, that's a hint to check whether it's hotlinked from elsewhere. The Hotlink Protection feature exists for exactly this scenario.
Top Referrers
Each row is the source of incoming traffic. The row shows:
- The referrer hostname (or
direct) - A horizontal bar chart
- The visit count
Capped at the top 10 entries.
Referrer normalisation
Browsers send the full referring URL in the Referer header (note the misspelling — it's been there since RFC 1945 in 1996). The agent normalises it:
- Strip the protocol:
https://www.google.com/search?q=opterius→www.google.com/search?q=opterius - Strip everything after the host: →
www.google.com - Strip the
www.prefix: →google.com
So https://www.google.com/..., http://google.com/..., and https://google.com/... all count as a single google.com entry.
direct traffic
When a visitor types your URL directly in their browser, clicks a bookmark, or opens a link from a non-web app (email client, Discord, mobile app), the browser sends no Referer header. These visits are counted under the literal string direct.
A high direct count is normal — it's typically your largest source of traffic for sites with regular visitors.
What you'll see
Common entries you should expect:
direct— bookmarks, mobile apps, email clientsgoogle.com— Google search clicksbing.com,duckduckgo.com,ecosia.org— other search engines- Your social media accounts:
t.co(Twitter),facebook.com,linkedin.com - News aggregators:
news.ycombinator.com,reddit.com - Other sites linking to yours
If you're surprised to see a referrer you don't recognise, search for it — that's often where you get to discover that someone wrote about your site somewhere. It's one of the most rewarding parts of having analytics.
Bot exclusion
Both tables exclude bot traffic. If you want to see what Googlebot is crawling on your site, check /home/{user}/{domain}/logs/access.log directly via the Live Logs page and grep for Googlebot.