Ever since jumping into the Drupal scene a couple years back (around August of 2009), a lot of opportunities have surfaced for me. With my becoming a senior developer at PlattForm, traveling to conferences in San Francisco and Chicago, meeting a lot of cool and interesting people, and working on some interesting side/personal projects, Drupal has really been an integral factor in the path my life has taken and it looks to continue to be a huge factor in my life going forward.
You may not realize it, but Drupal is huge. It’s literally everywhere. There are personal blogs, portfolios, resources, businesses, ecommerce sites, social networks, intranets, and enterprises all built on top of this one CMS. The Grammy’s use it, Universal uses it, the United Nations use it, and Playboy [I'll let you go here on your own :) - http://www.playboy.de/], Yahoo!, Bob Dylan, and the President of the United States use it. It can be as small and simple as you like or it can be as large and complex as you want to make it. Drupal is the greatest CMS for its flexibility, customizability, scalability, and usability. It’s backed by a HUGE community of maintainers, contributors, testers and more who are responsible for the explosion Drupal has seen over recent years.
We’ve all heard the saying “there’s an app for that” referencing the iPhone app store, well because of the Drupal community, there’s nearly a module for any sort of functionality you may be looking for. The community has saved developers lots of time and money by helping each other out. They build out flexible solutions that can be modularized and pieced together for any site. Say you want a website with forum functionality. There’s no developing required because there’s a module for that. Need a way to sell products for an ecommerce site? No worries, there’s a module for that. Need a way to rate and review people or products? Well shit, there’s an app a module for that too. There are modules for almost any type of functionality that you could think about throwing on a website, and it’s all free and available through the Drupal community.
With that said, it’s time to give back. As a thank you to the community that makes my job easier, my life better, and my future bright, I want to contribute, I need to contribute...
There’s a bit of functionality that I’ve been looking for that doesn’t have "a module for that". My buddy Joel, or you may better know him as THE @webaddict, turned me on to a pretty cool WordPress plugin called SEO SearchTerms Tagging 2. This plugin snags the search terms a user has typed into a search engine to find and access your site. For instance, someone types in “Kansas City Drupal Developer” and spots matowens.com on the front page, holding the tenth spot of the organic listings. They click on the link and it takes them to my website. My website would then take the search terms “Kansas City Drupal Developer” and create a link on my site that links to the page the user landed on. Big deal, right? Well it kind of is. This type of functionality allows your site to be a living, breathing, and growing entity. It’s self optimizing in a sense. Someone was able to find my site with a particular string of keywords, my site saw and understood this, and by itself it auto created those keywords on site and generated a link to the same page to optimize itself for those who may search “Kansas City Drupal Developer” in the future. It’s beautiful really. A way for your site to self optimize for search terms, something that will help you rank better for relevant terms, and make your site visible to those who are out there searching. I love it.
My plan is to create this module and to contribute it to the Drupal community by the end of the summer (2011). I’m not sure how long it will take and what all this will entail, but we’ll figure it out. I’ll share the things I learn along the way; share my frustrations, my wins, and anything else I run into. I’ve created simple modules for specific projects, but nothing scalable and flexible for everyone to enjoy. It’s time to take the next step and give back to the community that has helped me out so much. So here goes nothing.
I’ll use my blog as a working storyboard, status update kind of thing so you all know how I’m doing and where I’m at. Follow me on twitter (@TheMatOwens) to stay informated as well. I imagine I’ll have to upload this to Drupal and create a project page for it as well, so that may be step one in figuring this all out.
UPDATE: I've created a project on Drupal.org and have created a page on my site here, Drupal Module: Incoming Search Terms, where I'll keep the project's status up to date. I also enabled comments on my project page for feature requests or any other discussions.