Product support

Get help in the plugin support forum.


SiteSearch Plugin for October CMS

This plugin adds global search capabilities to October CMS.

Currently supported content types (out-of-the-box)

You can also add support for your custom plugins.

Multilingual contents via RainLab.Translate are supported.

Support for more plugins is added upon request.

Get native support for your plugin

You can easily extend this plugin to search all your custom plugin's contents as well. See the documentation for further information.

If you are a plugin developer and wish to have native support for your contents in SiteSearch please submit a pull request for your search provider or send us a copy of you plugin so we can create the provider for you.

We cannot add support for every plugin but will add any plugin that has a notable project count on the October Marketplace.


Translations, search providers, bug reports

Please submit pull requests with translations or search providers on the plugin's GitHub page. Bug reports and feature requests via Issues are welcome!

This plugin is also included into the following bundle
The following themes use this plugin

Vega Pro

95 projects
# 8 in Paid of all time.

Vega Pro

One page theme with Blog, Pages, Translations, Contact form and more



11 projects
# 28 in Paid of all time.


Minimal theme for OctoberCMS


Multipurpose Theme with PAGE BUILDER - Success

300 projects
# 1 in Paid of all time.

Multipurpose Theme with PAGE BUILDER - Success

Octobercms Multipurpose Theme with easy Page Builder system


Shopaholic Theme with PAGE BUILDER - Agora

132 projects
# 4 in Paid of all time.

Shopaholic Theme with PAGE BUILDER - Agora

Octobercms Ecommerce Theme with Powerful Eshop & Blog Capabilities and an easy Page Builder system.


Modular Theme with PAGE BUILDER - Clear

269 projects
# 2 in Paid of all time.

Modular Theme with PAGE BUILDER - Clear

Octobercms Multipurpose Theme with Powerful Settings and an easy CRUD Generator - Page Builder system



494 installations
# 99 in Free of all time.


Based on UI3kit Starter development template for building UIkit v3 themed sites.


Mall Demo Theme

4,107 installations
# 13 in Free of all time.

Mall Demo Theme

Official starter theme for the Mall e-commerce plugin


Ultimate Website Builder - CREATOR Theme Bundle

35 projects
# 5 in Paid of all time.

Ultimate Website Builder - CREATOR Theme Bundle

The Ultimate Octobercms Theme Bundle with Advanced Page Builder & Powerful Component Blocks



5 projects
# 29 in Paid of all time.


A multipurpose and contemporary flat design OctoberCMS theme with rich animations With Native Page Builder



10 projects
# 22 in Paid of all time.


Bootstrap 4 HTML5 Responsive Hotel Booking Website Template



2 projects
# 52 in Paid of all time.


Bootstrap 4 HTML5 website template



17 projects
# 19 in Paid of all time.


Bootstrap 4 HTML5 Professional Business Website Template



2 projects
# 53 in Paid of all time.


Bootstrap 4 HTML5 Business Agency Website Template


eMarket - Advanced E-Commerce Octobercms theme

24 projects
# 9 in Paid of all time.

eMarket - Advanced E-Commerce Octobercms theme

Premium Ecommerce Octobercms theme based on OFFLINE Mall Plugin



232 installations
# 2 in Free of all time.


Polished single-page business-oriented theme with a blog.


Bootstrap 5 Mall Starter

192 installations
# 55 in Free of all time.

Bootstrap 5 Mall Starter

Unofficial Bootstrap 5 starter theme for the Mall e-commerce plugin, based on the original Mall Starter theme


Presence - Multipurpose Theme with Powerful Pagebuilder

5 projects
# 17 in Paid of all time.

Presence - Multipurpose Theme with Powerful Pagebuilder

An Excellent Octobercms Theme with Advanced Page Builder & Powerful Theme settings


Architect - Octobercms Theme with Advanced Pagebuilder

1 project
# 3 in Paid of all time.

Architect - Octobercms Theme with Advanced Pagebuilder

An Powerful Octobercms Theme with Page Builder & Extensive Theme settings

Search results listing
  • Found the plugin useful on 8 Nov, 2020

    Hi! I like it, but how i can correct it? Size border and name button ?

  • Found the plugin useful on 31 Jul, 2020

    Great plugin.. Easy to use, understandable... Only one question / what about result grouping by provider? something like categories, etc.

  • Found the plugin useful on 26 Nov, 2019

    Already know that this is going to be perfect for my use case!

    Super nice creator too, helpful and understanding.

    Would definitely recommend to anyone who wants an easy to use site wide search!

  • Found the plugin useful on 21 Nov, 2019

    hey there, thankx for this wonderful plugin, just I have an issue, I integrate the plugin with my own specific plugins and it works fine just the result of the search is not grouped correctly

  • author

    Replied on 21 Nov, 2019

    Thank you very much for your review. For support requests please use our GitHub issue tracker or October's support forum. Also, to be able to support you, please provide code samples and a specific use-case that is not working as you expect it.


  • Found the plugin useful on 21 Oct, 2019

    Good plugin!

  • Found the plugin useful on 8 May, 2019

    This plugin is pretty awesome. but on the rainlab page, this plugin cannot search in content. I have a lot of static content that I want to include in the search results. Maybe you can solve this issue in next upgrade. Thank you

  • author

    Replied on 8 May, 2019

    Hi, thank you for your review!

    The plugin already searches through RainLab.Pages contents, as you can check on our OFFLINE.Mall demo website: https://mall.offline.swiss/en/suche?q=duo+dolores+et+ea+reb

    Maybe your setup isn't correct? Feel free to ask for support over on GitHub.

  • Found the plugin useful on 5 Dec, 2017

    I will repeat what others have already said. Brilliant plugin! The author is also responsive to support requests on the support forum, and helped me figure out a problem I was having getting the plugin to work. After a little back and forth with the author, it turned out to be my own configuration that was the problem. Thanks OFFLINE for your help and patience with me. The plugin works great!

  • Found the plugin useful on 7 Oct, 2017

    Great plugin. Very extendable & works well with ProBlog. Love.

  • Found the plugin useful on 24 May, 2017

    First of all, thank you for this brilliant plugin. But i have a problem with images. It shows one image for all searched results, can you help me . TY

  • author

    Replied on 24 May, 2017

    Hi thanks for your review.

    Please use our GitHub issues page for any kind of support requests.

  • Found the plugin useful on 8 Mar, 2017

    Category insertion failed MySQL Server version: 5.7.17-0ubuntu0.16.04.1 (Ubuntu)

    "SQLSTATE[HY000]: General error: 1364 Field 'sort_order' doesn't have a default value (SQL: insert into `offline_snipcartshop_categories` (`name`, `slug`, `meta_title`, `meta_description`, `parent_id`, `nest_left`, `nest_right`, `updated_at`, `created_at`) values (Uncategorized, uncategorized, Uncategorized, , , 1, 2, 2017-03-08 20:07:20, 2017-03-08 20:07:20))" on line 662 of /var/www/html/seramik/vendor/laravel/framework/src/Illuminate/Database/Connection.php

  • author

    Replied on 8 Mar, 2017

    Hi Thanks for your review. I think you meant to review our SnipcartShop plugin, not this one. I have released a new version 1.0.6 to solve this problem. Another solution to work around this error is to turn off mysql strict mode for your installation.

  • Found the plugin useful on 30 Dec, 2016

    Hi is there a way to have auto-complete functionalities on this create plugin? Thanks Carl

  • author

    Replied on 31 Dec, 2016

    There is currently no support for autocomplete available. I have created an issue on github. Maybe we'll implement it in a future release. Thanks for your suggestion!

  • Found the plugin useful on 27 Nov, 2016

    Pretty awesome.

  • Found the plugin useful on 3 Jul, 2016

    Very good plugin and superb support! Thank you very much!

  • Found the plugin useful on 13 Feb, 2016

    This plugin works brilliantly.

    Great job - well done.


Fixed bug where only first matching Tailor blueprint returned results

Feb 18, 2023


Added support to search in "groups" fields in Tailor

Feb 16, 2023


Fixed version check for Tailor support

Jan 21, 2023


Added native support for Tailor content

Jan 20, 2023


Fixed bug in backend settings form (thanks to @igor-tv)

Jan 10, 2023


Only show search providers of installed plugins in the backend settings (thanks to @damsfx)

Dec 16, 2022


Fixed static pages search when using multiple syntax fields (thanks to @damsfx)

Dec 16, 2022


Added query and controller parameters to offline.sitesearch.extend event (thanks to @rvschuilenburg)

Dec 16, 2022


Updated chinese translations (thanks to @ZhiweiWu0425)

Dec 16, 2022


Optimized RainLab pages search (thanks to @damsfx)

Dec 16, 2022


Updated October 3 compatibility

Dec 16, 2022


Updated russian translations (thanks to @Web-VPF)

Mar 30, 2021


Fixed handling of invalid offline.sitesearch.results event returns

Dec 03, 2020


Fixed handling of invalid page url parameter

Nov 29, 2020


Fixed result order in searchInput component

Jun 17, 2020


Made Result::markQuery method public for easier extension

Jun 17, 2020


Fixed typo in the newly added event name

May 05, 2020


Added `offline.sitesearch.results` event to allow customization (filter, sort) of the results collection before it is displayed

May 01, 2020


Improved Czech translations

Apr 23, 2020


Moved query log link from main navbar to backend settings

Apr 22, 2020


Allow custom penalty parameters in ResultsProvider::agePenaltyForDays method

Apr 10, 2020


Optimized searchResults component so it can be used in partials and static pages

Mar 11, 2020


Made getAgePenalty method static so it can be re-used in simple Event providers

Feb 04, 2020


Use meta_title for RainLab.Pages results if available

Oct 17, 2019


Optimized support for cms pages search: Your Twig markup is now completely rendered and searched!

Oct 09, 2019


Fixed bug where empty queries resulted in an Exception

Aug 14, 2019


Added User-Agent to list view

Jul 31, 2019


Minor bugfixes

Jul 31, 2019


SiteSearch can now log all search queries. Enable via backend settings.

Jul 31, 2019


Fixed problem with queries that contain only spaces

Jun 17, 2019


Fixed RainLab.Blog published_at date handling

Apr 29, 2019


Added bulgarian translations (thank to @NGavanozov)

Mar 18, 2019


Added finnish translations (thank to @mediaclinic)

Mar 04, 2019


Updated persian translations (thanks to @sajjad-ser)

Feb 19, 2019


Fixed pagination links when using RainLab.Translate

Feb 18, 2019


Only search RainLab.Blog contents of current locale

Feb 18, 2019


Catch invalid markup errors when searching RainLab.Pages

Jan 29, 2019


Include placeholders on Rainlab.Pages pages in search results

Jan 20, 2019


Pre-populate search query in searchInput field

Dec 10, 2018


Stability improvements

Dec 05, 2018


Trim query before searching

Oct 30, 2018


Fixed link to search result in default results partial (thanks to wizzard94)

Sep 25, 2018


Added Chinese language support (thanks to Ckend)

Sep 16, 2018


Optimized support for multiple SearchInput components on a single page.

Apr 16, 2018


Added the ability to add age penalties to search results. This can be used to show never results higher up in your search results.

Mar 29, 2018


!!! Using RadiantWeb.ProBlog's internal settings to get the correct parent page for a blog post result. This enables support for multiple blogs on the same website. If your blog search results have wrong URLs after this update make sure to configure your default page for rendering blog posts via the ProBlog backend settings.

Feb 17, 2018


Added ability to edit the user's query before searching

Sep 19, 2017


Fixed undefined index error when a static page doesn't have a title set

Sep 10, 2017


!!! All results are now returned with a relative URL to prevent problems with translated contents. Make sure to pass your result.url throught the "app" filter if you are using your own search result partials

Sep 06, 2017


Fixed bug in AutoCompleteComponent

Jul 06, 2017


Added new searchInput component with search-as-you-type feature

Jun 27, 2017


Fix the use of multiple custom ResultsProvider for a plugin

Jun 25, 2017


Added support for custom ResultsProvider classes

Jun 24, 2017


Added model property for each search result to retreive the original model the result was generated from

Jun 22, 2017


The searchResults component's resultsCollection is now publically accessible

May 19, 2017


Optimized thumbnail generation for Graker.PhotoAlbums results (thanks to graker)

May 13, 2017


Added new result.identifier property

May 13, 2017


Added support for Graker.PhotoAlbums (thanks to graker)

May 12, 2017


Exclude hidden static pages from search results (thanks to plyusninva)

Apr 13, 2017


Fixed bug that sometimes lead to broken html in search results (thanks to graker)

Mar 14, 2017


Added composer.json to allow loading plugin as dependency (thanks to adduc)

Jan 03, 2017


Fixed support for translated Rainlab.Blog contents

Dec 14, 2016


Fixed Portuguese translations

Dec 14, 2016


Added Portuguese translations (thanks to ribsousa)

Dec 14, 2016


Added support for VojtaSvoboda.Brands (thanks to vojtasvoboda)

Dec 14, 2016


Added support for OFFLINE.SnipcartShop

Dec 04, 2016


Fixed bug where titles of static pages where not searched (thanks to beenen445)

Nov 15, 2016


Added support for Indikator.News (thanks to gergo85)

Oct 28, 2016


Added Persian (Farsi) translations (thanks to cracki)

Aug 28, 2016


Added a new meta property for search results (thanks to cracki)

Aug 27, 2016


Fixed bug in Jiri.JKShop provider

Aug 21, 2016


Minor bugfixes for marked queries in search results and Rainlab.Blog provider (Thanks to graker)

Aug 07, 2016


Added support for Jiri.Jkshop

Jul 24, 2016


Optimized handling of multibyte strings

Jul 10, 2016


Added support for multiple variables in Rainlab.Blog urls (Thanks to graker)

Jul 10, 2016


Added support for static page component hosts

Jul 06, 2016


Added support for viewBag properties in RainLab.Pages

Jul 05, 2016


Fixed bug where custom url settings were ignored in search results for some providers

Jul 04, 2016


Added support for Responsiv.Showcase (Thanks to MichiReich)

Jul 04, 2016


Fixed bug where the provider badge is not displayed for custom search providers

Jun 29, 2016


Fixed bug where unavailable thumbnails lead to an error

Jun 27, 2016


Fixed bug where the search results sometimes broke the page layout

Jun 16, 2016


Minor bugfix in Feegleweb.Octoshop settings page translation

May 31, 2016


Added support for Feegleweb.Octoshop (Thanks to billyzduke)

May 27, 2016


Added ru_RU locale (Thanks to mokeev1995)

May 24, 2016


Fixed backend permissions

May 21, 2016


Added optimized siteSearchInclude component for cms pages search

May 21, 2016


Added support for translated contents in RainLab.Pages, ArrizalAmin.Portfolio and RadiantWeb.ProBlog

May 21, 2016


Removed unused component

Apr 26, 2016


Added support for ArrizalAmin.Portfolio plugin

Apr 21, 2016


Add cs_CZ locale (Thanks to vojtasvoboda)

Apr 03, 2016


Add function for getting last page number (Thanks to vojtasvoboda)

Mar 21, 2016


Fixed hardcoded url in pagination

Feb 21, 2016


Moved configuration to the backend

Feb 13, 2016


Added support for RadiantWeb.ProBlog

Feb 13, 2016


Added missing component

Feb 10, 2016


Added experimental CMS pages results provider

Feb 09, 2016


First version of SiteSearch

Jan 30, 2016

Upgrade to version 1.0.5

All configuration has been moved to the backend settings. If upgrading from a lower version don't forget to enter your configuration again via the backend.

Upgrade to version 1.3.3

If a plugin returned an absolute url (http://example.com/result) for a result this will now be converted to a relative url (/result) so make sure you are passing the result.url through the app filter in your partials.

This is to prevent problems with Rainlab.Translate where sometimes the language was present twice in the url when using the Force url scheme option.

If you are using the default search result partials you don't need to change anything.

<p class="ss-result__url">
    <a href="{{ result.url | app }}" class="ss-result__link">{{ __SELF__.visitPageMessage }} →</a>