Search
onCourse includes a powerful search engine across your website. Because it understands the structure of your content, it can be used to deliver very precise results.
Search engines like Google will create a pathway for students to get to your site which is why we implement opengraph (Facebook) and schema.org (Google, etc) to inject structured data into those search engines as well.
When a student arrives on your onCourse site, use some of the tools below to craft a user journey from the front page to the course they are looking for.
Keyword search
/courses?s=cooking
This is standard keyword search, which includes stemming so the term cooking will find cook, cooks, cooking, cookery, etc. Synonyms are also matched. Phrases are search both as separate words and as a phrase.
Ordering of the results is highly sophisticated, taking into account higher priority for terms appearing in headings, tutor names or words in the description as a complete phrase or just words close together. Course with classes starting sooner are also sorted higher. Classes which are cancelled or full are sorted lower. And since classes are always grouped by course, these rankings are aggregated to produce the final sort order.
Distance to suburb
/courses?near=Chatswood/2067
Search for classes held near the Suburb and postcode. While the search may work without the postcode, adding the postcode is essential for some suburbs which are not unique in your country. All results within 100km will be returned with the closest sorted to the top.
/courses?near=Chatswood/2067/25
Add a parameter for the search radius if you want something other than the default 100km. If you include the radius then results further away will be completely excluded from the results.
/courses?near=Chatswood/2067/25/North+Sydney
Add one more parameter at the end for a label to display to users. So instead of the suburb name, we’ll display "North Sydney" to users of the site.
Price
/courses?price=200
This searches for classes with an enrolment fee less than the specified dollar value.
Duration
/courses?duration=3
Find classes that last this many days, including the start and end days. So a duration of 1 is a single day class.
/courses?duration=>3
/courses?duration=<3
Find classes with 3 or more days, or 3 or fewer days. Note that the symbols are not in the order you might expect. You need to use => rather than >=
/courses?duration=selfpaced
This finds selfpaced classes.
Tutor
/courses?tutorId=1234
This searches for all classes that the tutor with ID 1234 is currently teaching. Note that a normal keyword search will find tutors by name, but may also pick up those words in other places like course description.
Time of day
/courses?time=daytime
Searching for a day class means the first session commences before 5pm.
/courses?time=evening
Searching evening means the session starts after 5pm.
Specific day
/courses?day=mon
This searches for a class where the first session is on Monday. Choices you can use here:
- mon
- tues
- wed
- thurs
- fri
- sat
- sun
- weekday
- weekend
Date
/courses?after=20141201
This will show classes that start after the date 1/12/2014. The date in the search is in format yyyymmdd.
/courses?before=20141201
This will show classes that start before 1/1/2015. The date in the search is in format yyyymmdd. This can be used in combination with the after search option to create a date range.
/courses?after=20141201&before=20151201
Relative dates
/courses?before=30
This will show all classes starting within the next 30 days.
/courses?after=365
This will show all classes that are starting a year or more into the future.
Tag Specific Search
/courses/cooking?tag=delivery/School-holidays
This search allows you to search for courses that are tagged with multiple tags. In this case the primary tag searched on is "cooking" from the "Subject" tag group. The tag description for cooking will appear at the top of that page.
The results will be filtered for the secondary tag "school holidays" from the tag group "delivery".
Combination searches
Multiple search teams can be concatenated to created complex search strings such as
/courses/cooking?s=thai&near=Chatswood+2057&price=500&time=day&tag=level/beginner
which is searching inside the subject tag group cooking for courses also tagged with the level tag group beginner that contain the keyword Thai, held near Chatswood NSW in the daytime and costing under $500.
Debugging
To see the scoring priority for each course in a search result, add the parameter debugQuery=true to the end of your URL.
Filtering classes
Advanced search parameters can also be added to specific course pages, to filter the list of results returned. This can be a useful function when you offer the same course in multiple locations, but users only want to see the classes from a specific location.
These search options are appended to a standard course page, with the URL containing the course code. In these examples, course code ABC123 is used.
/course/ABC123/?near=Chatswood/2057
Search on both the Suburb+postcode. While the search may work without the postcode, adding the postcode is essential to determine location if the suburb exists in multiple states.
/course/ABC123/?time=day
Searching for day classes of a course means the first session commences before 5pm.
/course/ABC123/?time=evening
Searching evening classes of a course means the first session starts after 5pm.
Updated 5 months ago