Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Tracking what users are searching in a content management system

+1
−1

I have a website with a search box.
Running search queries in that search box creates frontend/dynamic search result webpages in which search results based on a search query can appear.

Let's assume that I want to track what people searched in that search box so to better plan which content to develop for possible future readers --- what software could I install to know that?

Can software such as Google Analytics track which frontend/dynamic search result webpages were created for a user (after running a search in that website's internal search box) and if so, how is it actually done from a software development standpoint?

History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

2 answers

You are accessing this answer with a direct link, so it's being shown above all other answers regardless of its score. You can return to the normal view.

+1
−0

Every URL served by your web site is recorded in your web server logs. You could brute-force your way through it by grepping for whatever the prefix is for your search URLs (for example, /search?query=), but if you're using a tool or package to build and run your web site (the question title refers to a CMS), that tool probably has something built in that's better. Check the documentation for "analytics" or "traffic". You can also use Google Analytics to see which searches people run, if you don't mind relying on an external provider.

All of this is about the URLs the server received. The end of the question asks about tracking the dynamic pages created from those searches, which is a different problem. An out-of-the-box web server doesn't log the traffic it sends back (which would make for very large logs). If you need to know what was returned from a specific search at a specific point in time, you'll need to have your search code log that somehow. How you do that would depend on how exactly you've implemented your search.

History
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+3
−0

Server-side solution

If you can customize the server-side search functionality, you could add some logging information there. The advantages in this case are:

  • store the data in a useful format and avoid parsing general-purpose logs
  • you can also store some metadata related to the found results (e.g. a particular search returned only two results)

Client-side solution

If the search operation navigates the user to a URL that contains the search items, Google Analytics should store the different URLs. I am not sure about how is easy to actually grap the useful information from the results though.

You can have more control over what Google Analytics receives through its API (Google Analytics Measurement Protocol). This SO Q&A provides more information.

Personally, I would go with the server-side solution if possible.

History
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »