Drupal Module: Incoming Search Terms
The idea behind this module can be read here: Thanks Drupal, It's My Turn to Give Back.
You will be able to monitor the status of this project from this page, and probably a Drupal project page once I get on there and figure out how to create it. I've enabled comments on this project to allow for feature requests and some discussion.
UPDATE (04.25.11): I created a project page on Drupal.org which is currently in sandbox mode as this is my first community contribution. Once I have some functional code, I will be able to submit this module for full project access where it will be available for download from Drupal.org. Click the link below to check out the sandbox page.
UPDATE (08.20.11): The module development is finally complete and is currently running on my site. It's not up on Drupal.org yet, I'll be submitting it for review sometime this weekend. It's the simplest form of the module with the bare necessities built into this first version. It stores the search terms in the database, ties those terms to the page the user landed on, and generates 3 blocks to display this information. The first block builds a list of terms that were actually generated by the page the list is on; this one is called Page Specific Terms and titled "Related Search Terms" on the right. The second block builds a list of terms that are generated anywhere on the site and they are ordered by the number of times each term is used over a specified period of time; this being called Popular Sitewide Terms and titled "Popular Search Terms" on the right. The third block that accompanies this module builds a list of terms gernerated anywhere on the site but ordered by the most recent first; this block being called Recent Sitewide Terms and title "Recent Search Terms" on the right. Each of these blocks have 1 or 2 basic settings allowing you to specify the duration of time we query terms from and the number of terms that show in the list. Also, each block's title can be renamed to whatever you would like from the block configuration for each. There's a setting for keyword lifetime which will be called to clean out older terms on cron runs, but this functionality hasn't actually been built into the module yet.
I have each of the three blocks enabled on this page only, in the right side column for testing. Feel free to type in some random search terms into any search engine that would generate a result for my site and click the link. Then come back to this page to see if your terms have been added to the list. My site is currently being cached but that cache is regenerated every hour, so the terms you searched to find my page should appear within an hour. The wife and I are about to head out for a dinner and a movie, so either after that or sometime tomorrow, I will be submitting it for review so we can get this puppy up on Drupal.org for you all to play with, test, and use!
Also, now that I've finally got the base setup, if any of you have ideas/request for additional functionality, leave a comment below and I'll try to start working new features in. One thing that I've noticed right off the bat is that the format of the search string the user searches is passed through. I think I'd like to add a check to lower case all of the terms to standardized the format a bit on the site. Or should I captialize the first letter of each word? What do you guys think?
UPDATE (08.21.11): Just created the request on Drupal.org and this module is under review. It can take a while for this part of the process, but hopefully it goes speedy. You can view the application request here: http://drupal.org/node/1255970
UPDATE (01.25.12): So I've been swamped with work, projects and other interests and have had to place this item on the back burner. I do want to continue this plugin's development and plan to do so. I need to become familiar with GIT, as I use SVN and haven't had an opportunity to play with GIT, on top of developing out this plugin just to contribute it to Drupal, so that's also another road block I need to find time to dig into. I'll try to push out some of the changes requested and resubmit it for review here in the next few weeks or so to at least get the base version out there for everyone to play with. Thanks for your patience!