- Compatible Versions
- 2.3
- Visible Branding
- Yes
This add-on allows you to make custom pages searchable by using a custom database table that is shared by XenForo and your in-house system. Built to work alongside Custom PHP Pages, but can work without it.
MySQL database administration knowledge is required.
Installation Instructions
Custom table:
Search term:
Custom table schema (Note: you can set any schema you want using the settings):
Source table columns:
Inflection map (if you have more than one page type, you can define them here):
Search result:
MySQL database administration knowledge is required.
Installation Instructions
- Install the add-on zip file (this is an add-on package without extra files)
- Navigate to Admin > Setup > Options > Searchable custom page options and confirm the settings are correct, then save. The forum database user must have SELECT access to the source database.
- Navigate to Admin > Tools > Cron Entries and run 'Searchable Custom Pages: Pull' once. This adds pages to the search index for the first time; it will also run automatically at midnight.
Custom table:
Search term:
Custom table schema (Note: you can set any schema you want using the settings):
SQL:
CREATE TABLE `pages` (
`page_id` smallint(4) NOT NULL,
`page_type` varchar(25) NOT NULL,
`target` varchar(200) NOT NULL,
`title` varchar(200) DEFAULT NULL,
`description` varchar(300) DEFAULT NULL,
`active` tinyint(1) NOT NULL,
`created` timestamp NOT NULL DEFAULT current_timestamp(),
`updated` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `pages`
--
INSERT INTO `pages` (`page_id`, `page_type`, `target`, `title`, `description`, `active`, `created`, `updated`) VALUES
(1, 'products', '/products/1', 'Product 1', 'Text for Product 1 search result.', 1, '2025-06-05 00:00:00', '2025-06-05 07:19:21');
Source table columns:
Code:
[category]
key=page_type
[page]
page_id=page_id
title=title
description=description
pathname=target
active=active
page_date=created
last_update=updated
Inflection map (if you have more than one page type, you can define them here):
Code:
[plural]
products=Products
[singular]
products=Product
Search result: