How long do you spend on a website? For me, it’s never longer than 2 minutes. Study shows, the organic visitors that you get from a Google search, spend on an average of 53 seconds per website. Whereas your direct visitors usually spend 1 minute 50 seconds. Of course, it may vary depending on your popularity. But it’s the usual case. So, how do you make them stay on your site longer?
It’s simple, give them what they want, what they are here for. And the answer is information. Your job is to present information as easily as possible. If you can do that successfully, your reputation will grow, users will spend much time on your website, and search engines will give importance in recommending your website. So, the best way to make information accessible to your visitors is to provide an effective search option on your website. You can only do that when you have a solid understanding of Joomla search ecosystem.
The underlying architecture of Joomla is insanely beautiful.
Therefore, today we are going to learn all about how Joomla search works, what are the classifications of Joomla search, how to configure different Joomla search options, and how you can get the most out of Joomla search on your website. Enough chit-chat! Let’s dig deeper.
How does the Joomla search works?
Joomla has a beautiful architecture underneath. It decorates data in an organized way that no other CMS does. All the data are neatly structured and stored in their respective tables. It doesn’t matter how many components you use on your website, you cannot make the main database table chaotic. All data of every component gets stored in their respective table. All tables are separated from each other.
What are the different Joomla search options?
At the beginning of your journey in Joomla CMS, you would find it interesting to see searching is classified in so many categories. You may find it overwhelming at first, but once you get the gist of it, you’ll realize how magnificent it is! To have a look at all of your available options, go to Joomla backend > Extensions > Plugins.
If you sort plugins by their type, you’ll see there are two major types of search plugins.
- Search
- Finder
What do the Search plugins do?
The Search plugins were introduced since the inauguration of Joomla CMS. They were great at the start but does not come with modern functionalities. You can get your basic searching done using the plugins. However, they fail to provide real-time search suggestions.
What do the Finder plugins do?
The Finder plugins are the next generation of Joomla search. All the plugins that have the “Smart Search” prefix are made from the Finder type. It is where the logic is built to search for items and automatically update them during normal site use. In order for this search to work, the site needs to be indexed first.
Joomla Search vs Smart Search
The fundamental difference between the main Joomla searches is their ability to provide real-time search results. If you create a module using the core Search, the search box will only show you results after a user hits the search button. However, if you are using Smart Search, users will get results as they type in the search box.
What contents are included?
As stated earlier, Joomla separates its database table for each component. So, if you are using any component on your website, it will have a separate table on the database. These individual tables are not mergeable with the main table. Therefore, when you have data generated from a different component. The Joomla Search or Smart Search will not include that data on its search result.
This creates the opportunity for component providers to create their own search plugins. For instance, the content generated by the SP Page Builder component is not initially indexed by the native Smart Search system. So, what can be done to discover its content? Simple, create a search plugin for that particular component.
Third-party Smart Search plugins
When a third-party component is released, if the creator finds it necessary then they include a search plugin for that component. How do you determine if a component needs a search plugin? Well, when a component generates a vast amount of content, the creator then considers that the content needs to be discoverable. Therefore, they provide a plugin, which is an extended form of the Finder (Smart Search) type plugin. When you enable this plugin, the native Content - Smart Search plugin indexes the third-party component data.
How to configure search in Joomla?
It’s very simple. You need to first navigate to the Smart Search section. You can do that by going to Joomla backend > Components > Smart Search. You’ll find a notice saying you need to enable Smart Search Content Plugin.
So, just click on it or navigate to your Joomla site backend > Extensions > Plugins > in the search box type “smart search” and hit Enter.
You’ll be presented with all the Smart Search plugins available on your site. You need to publish all of them.
However, if you want any particular type of content to exclude from the search like Contacts, you can disable that particular one.
Once you have done that, you can come back to the Smart Search section and find that you are all set. This is where the actual work will begin. We’ll first index all the content of our site.
Click the “Index” button at the top left. It will start indexing our content.
Once you initiated the process, depending on the size of your site, this can take a few minutes to even a few hours to complete. You’ll have all the indexed content almost instantly when finished.
Exclude a particular content from search results by unpublishing it from the list.
To double-check, you can click on the “Statistics” button. It will show all the indexed content. You’ll find the contents missing from the plugins that you unpublished, like in this case there’s no content from “Contacts”.
If you are running an excessively large website you should check this out.
You’ll have the Content Maps just next to Indexed Content on the left sidebar. They are accountable for providing the advanced search panel on the frontend. Click here to learn more about them.
How to show Joomla Smart Search on a webpage?
When you have completed indexing, you are ready to add a search box on your website. You can also create specific Search Filters, you can read more about it from here. Anyways, let’s jump directly on how to show Joomla search on any page of your website.
Navigate to Joomla backend > Extensions > Module > click New.
Find and select "Smart Search Module" from the list of shown module types. Then you’ll be presented with the following screen.
There are some of the fields you should fill up, like the Title and the Position. Define the position where you want to show the module. When you’re done hit “Save & Close”.
Tip: if you use [pagebuilder] as Position you can showcase this module with SP Page Builder.
How to add a search box in the Menu?
To make it easier for your users, you can add a search box in the Menu so that visitors can directly access the searching facility. You can do that by going to Joomla backend > Menu > Main Menu > click on Add New Item.
You’ll be presented with the following screen.
You should put a name for the search box in the Menu Title field. Then, click the “Select” button from the Menu Item Type field, you’ll be presented with the following screen.
Find and select the "Search" under the "Smart Search" entry on the list of shown menu item types. After doing so, you’ll be redirected back to the initial screen.
Once you are done configuring the rest of the settings, hit “Save & Close” to publish the search box to the menu. Click here to know more about each field in detail.
Configuring the Joomla Smart Search
When you have completed indexing, made searching visible to your users by adding it to either Menu Item or on any web page. You may want to configure Smart Search according to your needs. For doing that, navigate to Joomla backend > System > Global Configuration > Smart Search.
The fields here are pretty self-explanatory. You should be able to understand their functionality just by reading the name. To keep this post short, we are not going over them one by one. However, in case you need further assistance, click here to know in detail.
That's it!
Yeap, we’re done. Just like that! It may seem overwhelming but rest assured to be a better developer you should know every little detail. What distinguishes a professional developer from the novices is that they always keep learning new things and know what tool is needed for which circumstance. Hope this post enlightens your knowledge. If you didn’t know everything about Joomla search, now you know.
What would you like to know next? Put your thoughts in the comments below and let us indulge your curiosity.
Maybe you can help me with one thing: How to make search exclude upublished items? I searched for a while, no solution yet ...
[quote][b]Exclude a particular content from search results by unpublishing it from the list.[/b][/quote]If you want to exclude any item (article or any other) you need to unpublish that from the Smart Search panel (after indexing). Like in the following image,
[img]https://www.joomshaper.com/images/2020/02/03/smart_search-index_completed_state.png[/img]
Just click on the 'green tick' that is in front of the item name, to unpublish it.
This is a huge issue for me and I will not be able to get over this issue. I hope you fix this. I have been asking for this for 2 years but thought it was fixed. Now find out it's still broken.
Where is this content stored and why is your Smart Search plugin not finding this?
I cannot believe this is such a ongoing pain in my ass.