What the Smoobu WordPress plugin does
The plugin connects your WordPress site to Smoobu via an API key and provides a booking widget as a native WordPress block or shortcode. Unlike a plain iframe embed, the widget integrates more closely with your theme because it renders through WordPress's own mechanisms rather than an embedded external document. Availability, rates, and minimum stay are pulled live from Smoobu — you never maintain them twice.
Exact plugin name, setting labels, and feature set can vary between versions — check the current listing in the WordPress plugin directory and Smoobu's help documentation before setup. If your site isn't built on WordPress (Wix, Squarespace, custom HTML) or you'd rather avoid a plugin dependency, the iframe embed guide is the better fit.
Step 1 — Check prerequisites
Before installing the plugin, confirm two things:
Native WordPress plugin
Booking widget as a WordPress block or shortcode, managed through the plugin directory with automatic updates.
- Requires admin access to the WordPress dashboard
- Updates run through standard WordPress plugin management
- Tighter theme integration than an iframe
Iframe embed
Works on any website — WordPress, Wix, Squarespace, or custom HTML. See the separate booking page embed guide.
- No plugin needed, works anywhere
- Slightly less theme integration
- Good for page builders without plugin support
Step 2 — Install and activate the plugin
- In the WordPress dashboard: go to Plugins → Add New.
- Search "Smoobu" in the search field. Verify the official plugin in the WordPress directory (author, ratings, last update date) — name and version can change, so confirm the current listing before installing.
- Click Install Now, then Activate.
- After activation, a new "Smoobu" menu item (or similarly named) appears in the WordPress dashboard.
If the plugin search returns no results, the plugin can also be downloaded as a ZIP file from Smoobu's help pages and installed manually via Plugins → Add New → Upload Plugin.
Step 3 — Connect to your Smoobu account
The plugin needs access to your Smoobu account to pull properties, rates, and availability. This runs through an API key.
- In Smoobu: go to Settings → Channels → API (label may vary slightly depending on your account language) and copy your personal API key.
- In WordPress: open the Smoobu plugin settings page and paste the API key into the designated field.
- Save. The plugin should now list your properties from Smoobu. If no property appears, check that the API key was copied correctly (no leading/trailing spaces) and that your Smoobu plan includes API access.
- Test the connection: open the widget preview in the plugin area — rates and availability should match your Smoobu calendar.
The API key grants read access to rates and availability. Treat it like a password — don't share it publicly, and regenerate it in Smoobu if you suspect it's been exposed.
Step 4 — Insert the booking widget on a page
Once connected, you can place the widget on any WordPress page.
- Open the page where the widget should appear in the WordPress editor.
- Gutenberg editor: click Add block (+) → search "Smoobu" → insert the booking widget block. Classic editor: paste the shortcode provided by the plugin (e.g. in the form [smoobu_widget id="..."] — check the plugin's documentation for exact syntax) into a text/HTML block.
- In the block/shortcode settings, select the property you want to display if you manage more than one in Smoobu.
- Choose the display mode: availability calendar, search form with date picker, or a combination — available layouts depend on the plugin version.
- Publish or update the page. The widget shows live data from Smoobu, so you never maintain rates manually inside WordPress.
Optional: multiple properties & styling
If you manage more than one property in Smoobu, most plugin versions support either one widget per property (multiple shortcodes/blocks on separate pages) or a combined selector widget where guests pick the property first. Which option is available depends on the installed plugin version — check the plugin's settings page for this option.
For styling, many plugin versions offer basic customization directly in the plugin settings (accent color, font size). If that's not enough, additional CSS can be added via Appearance → Customize → Additional CSS — find the widget's exact CSS class names using your browser's developer console (right-click → Inspect).
Troubleshooting common issues
Plugin shows "Not connected" even though the API key looks correct
The most common cause is an invisible whitespace character picked up when copying the key. Clear the field completely, copy the key again directly from Smoobu, and paste it without extra formatting. Also confirm your Smoobu plan includes API access — some entry-level plans restrict this, check current plan details at smoobu.com/pricing.
Rates or availability in the widget don't match Smoobu
The widget typically pulls data from the Smoobu API with a short delay (often a few minutes) — it's not a real-time push. For larger discrepancies, first confirm the rates and calendar are correct directly in Smoobu, then clear any WordPress caching plugin, since cached pages can display stale widget data.
Widget styling doesn't match the theme
This is the most common trade-off with third-party widgets. First check the styling options inside the plugin itself (accent color, font). If that's not sufficient, additional CSS can be added via the WordPress Customizer. For heavily customized themes, the iframe approach with a custom CSS wrapper can offer more control.
Shortcode shows up as plain text on the published page
This usually means the shortcode was pasted into a plain text block instead of a shortcode-capable block, or that the plugin was deactivated. Check under Plugins that Smoobu is active, and insert the shortcode in Gutenberg using the dedicated "Shortcode" block rather than a regular paragraph block.
Need multiple properties selectable in the same widget
Check the plugin settings for an "all properties" or "multi-select" option — availability depends on the plugin version. If it's not available, place a separate widget per property on that property's own page and link to each from a central overview page.