WordPress SOC 2009
03/31/2009
Ideas
Current WordPress search functionality sucks. It sucks in a way that
- 1. It doesn’t highlight the keyword in the results so you have no idea where they are in a long post
2. It doesn’t excerpt
3. It doesn’t search in comments
4. It doesn’t search in tags, categories and authors
I already wrote a C++ program that solved some of the problems. However, a PHP rewrite is required and the code has to be incorporated well into WordPress’ plugin system. Meanwhile, a better administration back-end will be done to enable or disable parts of the search functionalities, because searching is resource consuming and blog owners may not need all the features.
Another new feature of the advanced search plugin is to detect the keyword when visitors are referred from a search engine, and to automatically recommend visitors with links to related posts.
An advanced search function is the core of “automatic tagging system” where posts are compared and ordered based on content similarity.
When speed is a concern in blogs that have thousands of posts and hundreds of comments under each post, an alternative search “core” written in C++ (I already have) can be used.
Schedule of Deliverables
The estimated average weekly time I can put in this project is 10 hours (8 hours in weekends and two in weekdays). The deliverables will be
1. Mid-term deliverables by July 6
A draft version of enhance search plugin for WordPress. Its features should include
- advanced search to allow searching by multiple metadata selections (such as category, tag, author field and content)
- searching keywords in both posts and comments
- properly excerpting context around keywords in results
- highlighting keywords
- suppressing HTML tags in search results
- displaying posts and comments in hierarchy
- paging of search results
- supporting various search ‘logic’ for multiple keyword
- an admin back-end
2. Final deliverables by August 17
I will improve the plugin and add new features based on the mid-term evaluation. The plugin should be released in beta version in the begining of this period. Feedback will be collected and bugs eliminated. The 1.0 version is due to release by August 17.