diff --git a/html-router/src/middlewares/analytics_middleware.rs b/html-router/src/middlewares/analytics_middleware.rs
index 084ff51..9f817a0 100644
--- a/html-router/src/middlewares/analytics_middleware.rs
+++ b/html-router/src/middlewares/analytics_middleware.rs
@@ -1,5 +1,6 @@
use axum::{
extract::{Request, State},
+ http::Method,
middleware::Next,
response::Response,
};
@@ -19,7 +20,8 @@ where
S: ProvidesDb + Clone + Send + Sync + 'static,
{
let path = request.uri().path();
- if !path.starts_with("/assets") && !path.contains('.') {
+ // Only count visits/page loads for GET requests to non-asset, non-static paths
+ if request.method() == Method::GET && !path.starts_with("/assets") && !path.contains('.') {
if !session.get::("counted_visitor").unwrap_or(false) {
let _ = Analytics::increment_visitors(state.db()).await;
session.set("counted_visitor", true);