BLACK FRIDAY
Save 59% on PageForge Annual $191/year $485/year
Claim 59% Off →
Crumb icon
Actively maintained Tested up to 7.0.6 #12 in bmlt

Crumb

Embeds the Crumb Widget NA meeting finder on any page or post via a simple shortcode.

Active installs20+10+ tier
Downloads · 30d87▼ -29.8% vs prev. 30d
Rating—0 reviews
Health score58/100Fair
All-time downloads964Since Apr 2026
Support resolved—No recent threads
RequiresWP 6.0PHP 8.1+
Downloads · 7d17▼ -43.3% week over week
Our verdict

Use with caution

Crumb works, but test it on a staging site before relying on it in 2026. It runs on 20+ sites and was last updated 2 months ago, and scores 58/100 on our health check.

  • Small user base (20+ active installs)
  • Very few reviews so far
  • Needs PHP 8.1 or newer

How does it stack up?

Side-by-side on installs, updates, ratings & support

Daily downloads

102030Jun 30Aug 13Sep 27
Yesterday1
Daily average (1y)6
Peak day64May 20, 2026
Last 12 months966

Download spikes usually follow a new release — each site that auto-updates counts as a download.

Rankings

Where Crumb stands today

WordPress.org search rankings

Live position in the plugin search, top 100
KeywordPositionCompeting pluginsCategory
bmlt #7 17 Best bmlt plugins →
meeting finder #3 8 Best meeting finder plugins →
meetings #77 556 Best meetings plugins →
na #55 530 Best na plugins →
narcotics anonymous #3 11 Best narcotics anonymous plugins →

Version adoption

Share of active sites per release.

  • 1.8100.0%

About Crumb

From the official readme · v1.8.6

Description

Crumb is a lightweight WordPress plugin that embeds the Crumb Widget meeting finder on any page or post using a simple shortcode.

Features:

  • List and map views with real-time search and filters
  • Meeting detail with directions and virtual meeting join link
  • Multi-language support
  • Shareable per-meeting URLs

Usage

Add the shortcode to any page or post:

[crumb]

Override settings per page:

[crumb server="https://your-server/main_server" service_body="42" format_ids="17,54" view="map" geolocation="true" geolocation_radius="30"]

Shortcode attributes:

  • server — BMLT server URL (overrides the value set in Settings → Crumb)
  • service_body — Service body ID or comma-separated list; leave empty to show all meetings
  • format_ids — Format ID or comma-separated list of BMLT format IDs to lock the widget to; leave empty to show all formats
  • view — Default view when the widget loads: list (default), map, or both (map above list with no toggle); can also be overridden at runtime via the ?view= query parameter
  • geolocation — Enable or disable geolocation for this page: true or false
  • geolocation_radius — Geolocation search radius. Positive integer = fixed radius in miles (or km per server settings). Negative integer = BMLT auto-radius: the server expands the search until it finds roughly that many meetings (e.g. -50 finds ~50 nearby meetings). Overrides the Geolocation Radius setting and Widget Configuration.
  • update_url — URL template for the Update Meeting Info link shown at the bottom of the meeting detail panel. Supports tokens {meeting_id}, {meeting_name}, {server_url}, {return_url} (URL-encoded on substitution). Works with bmlt-workflow, hosted forms, or mailto: URLs.
  • columns — Comma-separated list of columns to show in list view (e.g. time,name,location,address,service_body). Available values: time, distance (only renders when geolocation is active), name, location (venue/building name), address (street address with in-person/online badges), service_body, formats (one chip per format, using its localized name). Omit a name to hide that column; the order you list them in is the order they render. Overrides the List Columns setting. Leave unset to use the List Columns setting, or the widget default (time,distance,name,location,address) when that is empty too.
  • language — Force the widget UI language for this page (e.g. en, es, fr, de, pt, it, sv, da, el, fa, pl, ru, ja). Leave unset to auto-detect from the visitor’s browser.
  • query — Raw BMLT query string passed through to the widget’s rawQuery() for filters the structured options can’t express (e.g. multi-value meeting_key_value[]). When set, this replaces the default load entirely — service_body, format_ids, and ?services are ignored — and forces geolocation off (the widget can’t safely layer lat/long/geo_width on top of an arbitrary query). Encode brackets as %5B / %5D because WordPress shortcodes can’t contain literal [ or ]. Example: [crumb query="meeting_key=location_nation&meeting_key_value%5B%5D=USA"]. Shortcode-only; no admin setting.

Switching from Crouton

Crumb is an alternative to the crouton plugin and can drop in without page edits in most cases. Activating Crumb will:

  • Register the crouton shortcodes ([bmlt_tabs], [bmlt_map], [crouton_tabs], [crouton_map]) and translate them to the Crumb widget. Map shortcodes render with view="both" (map + list) and tabs shortcodes render with view="list". Shortcode attributes root_server, service_body, service_body_1, formats, report_update_url, and query_string are mapped to their Crumb equivalents (query_string becomes data-query and routes through the widget’s rawQuery()).
  • Reuse crouton’s saved settings as fallbacks when the corresponding Crumb option is empty (BMLT server URL, service bodies, format IDs, update URL). Open Settings → Crumb to confirm the inherited values and click Save Changes to persist them.

Crumb only handles those shortcodes when crouton is deactivated — if both plugins are active, crouton continues to handle its own shortcodes. To switch: install Crumb, then deactivate crouton. No page edits required.

Documentation

Full documentation at crumb.bmlt.app.

External services

This plugin relies on two external services. Both are part of the BMLT (Basic Meeting List Toolkit) ecosystem — free, open-source tools built for Narcotics Anonymous service bodies (https://bmlt.app).

1. Crumb Widget CDN

The widget JavaScript is loaded from a CDN operated by the BMLT project.

  • Service: cdn.aws.bmlt.app — delivers the Crumb Widget JavaScript file
  • Purpose: Provides the JavaScript component that renders the meeting list interface
  • Data sent: Standard HTTP request headers (IP address, browser user-agent, referring URL). No personal or meeting-search data is sent to the CDN.
  • When: The script is loaded once per page load on any page that contains the [crumb] shortcode
  • Privacy policy: https://crumb.bmlt.app/privacy.html
  • Terms of use / License: https://github.com/bmlt-enabled/crumb-widget/blob/main/LICENSE

2. BMLT Server (meeting data)

The widget fetches meeting data from a BMLT server whose URL you configure in Settings → Crumb. This server is typically operated by a regional NA service body and is not a service operated by the Crumb project.

  • Service: Your configured BMLT server (e.g. https://your-region.bmlt.app/main_server/)
  • Purpose: Retrieve NA meeting listings (names, times, locations, formats) to display in the widget
  • Data sent: Search query parameters (filters, keyword, selected formats). If geolocation is enabled and the user consents via a browser prompt, the user’s geographic coordinates are also sent to this server.
  • When: On each search or filter action within the widget
  • Privacy policy: Determined by the operator of your configured BMLT server. Learn more at https://bmlt.app.

Installation

  1. Upload the plugin files to /wp-content/plugins/crumb/.
  2. Activate the plugin through the Plugins screen in WordPress.
  3. Go to Settings → Crumb and enter your BMLT Server URL.
  4. Add [crumb] to any page or post.

Frequently asked questions

Where do I find my server URL?

It is the URL to your BMLT server, typically ending in /main_server. Contact your service body’s regional tech team if you are unsure.

Can I show only meetings from a specific service body?

Yes. Enter the service body ID (or a comma-separated list of IDs) in the Service Body IDs field, or use the service_body shortcode attribute. Child service bodies are always included automatically.

Can I set the widget to open in map view by default?

Yes. Choose Map from the Default View dropdown in Settings → Crumb, or use view="map" in the shortcode. You can also choose Both to display the map above the meeting list simultaneously with no list/map toggle. Visitors can also switch views at runtime via the ?view= query parameter.

Can I get clean URLs without the # in them?

Yes. Enter the page slug (e.g. meetings) in the Base Path for Pretty URLs setting under Settings → Crumb. After saving, go to Settings → Permalinks and click Save Changes to update rewrite rules. Meeting detail URLs will then look like /meetings/monday-night-meeting-42 instead of /#/monday-night-meeting-42.

Can I deep-link to a specific view?

Yes. Append ?view=list or ?view=map to any page URL that contains the [crumb] shortcode to open the widget in that view. This works regardless of the default view set in Settings → Crumb, making it easy to link directly to the map view from a button or menu item.

Does it work with page builders?

The shortcode works in any context that processes WordPress shortcodes. If your page builder does not render shortcodes automatically, use its dedicated shortcode block.

I’m switching from the crouton plugin — do I have to edit my pages?

No. Crumb registers the crouton shortcodes ([bmlt_tabs], [bmlt_map], [crouton_tabs], [crouton_map]) and renders them with the Crumb widget. It also reads crouton’s saved settings (server URL, service body, format IDs, update URL) as fallbacks. Just install Crumb, deactivate crouton, and existing pages keep working. See the Switching from Crouton section above for details.

Changelog

Adds a List Columns admin setting for choosing which columns appear in list view. Safe to update.

1.8.6

  • Added List Columns admin setting — checkboxes for the columns shown in list view (time, distance, name, location, address, service_body, formats). Previously this was only reachable per-page via the columns shortcode attribute or the columns key in Widget Configuration. Stored as crumb_columns; emits data-columns. Leave all boxes unchecked to keep the widget default (time,distance,name,location,address). The shortcode columns attribute still overrides the setting per page and is the way to set a custom column order.
  • Crouton’s has_areas / has_regions attributes now append service_body to the saved List Columns selection instead of replacing it with the default column list.

1.8.5

  • Added Show Formats admin setting and show_formats shortcode attribute — shows a comma-separated list of format codes (e.g. C, O, BT) beneath each meeting name in the list/cards view. Stored as crumb_show_formats; emits data-show-formats.
  • Added Inline Formats admin setting and inline_formats shortcode attribute — highlights specific BMLT format key strings (e.g. M,W) inline next to each meeting name, rendered as their localized names (e.g. “Men”, “Women”). Stored as crumb_inline_formats; emits data-inline-formats.

1.8.4

  • Fixed Default View admin setting being ignored by the crouton-compat shortcodes. [bmlt_tabs] / [crouton_tabs] / [bmlt_map] / [crouton_map] were unconditionally forcing the tag-implied view (list for *_tabs, both for *_map), which overrode whatever was saved in the admin’s Default View dropdown. Resolution now follows: explicit show_map="1" on the shortcode → both (highest, user-written); else a saved Default View (including the crouton show_map admin-option fallback) wins; else the tag-implied default is used as a last-resort fallback for migrating users.

1.8.3

  • Added Header admin setting — dedicated dropdown (Widget Default / Visible / Hidden) to show or hide the widget’s header bar (title, meeting/group counts, search/filter controls). Stored as crumb_hide_header; overridden by a hideHeader key in Widget Configuration.
  • Fixed crouton report_update_url migration: crouton stores a bare URL (e.g. /submitschedulechange) and appends ?meeting_id={id} at render time, but the Crumb widget requires a URL template containing {meeting_id} (or another {token}) or it drops the link entirely. Both migration paths — the admin-option fallback from bmlt_tabs_options[report_update_url] and the shortcode-level report_update_url attribute on [bmlt_tabs] / [crouton_tabs] / [bmlt_map] / [crouton_map] — now auto-append ?meeting_id={meeting_id} (or &meeting_id={meeting_id} if a query string is already present). Values that already contain a {token} are passed through unchanged so deliberately-templated URLs aren’t double-decorated.

1.8.2

  • Fixed crouton “Companion Map” migration: the admin-saved bmlt_tabs_options['show_map'] value is now used as the fallback for the Default View when no Crumb-side value is saved. Mapping: 1 (Show Map and Table) → both, 0 (No Map) → list, embed (Embed Map as Table Page) → list (Crumb has no separate “map tab” view; the widget’s runtime toggle still lets visitors switch to the map). The Default View dropdown on the settings page also pre-selects the migrated value so saving the form persists it explicitly.

1.8.1

  • Fixed crouton service body migration: the fallback that reads bmlt_tabs_options['service_bodies'] was extracting 0 instead of the real ID because crouton stores each entry as a 4-part CSV ("name,id,parent_id,parent_name") and the old code ran intval() on the whole string. The widget now correctly inherits crouton’s selected service bodies on sites that haven’t yet saved a Crumb-side value. Malformed entries are skipped, and if none survive the fallback drops through to the singular service_body key.
  • Removed the hardcoded 1047,1048 default for Service Body IDs. Fresh installs with no saved value now omit data-service-body from the widget output, so the widget shows all meetings on the configured server instead of two arbitrary Western New York service bodies. Existing saved values are unaffected.

Full changelog on WordPress.org →

Screenshots

List view — meeting results with day, time, location, and address. Click any meeting name to see full details.
List view — meeting results with day, time, location, and address. Click any meeting name…
Map view — meeting locations plotted on an interactive map with the same search and filter controls.
Map view — meeting locations plotted on an interactive map with the same search and…

For developers

Is this your plugin? Show off the numbers.

Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.

Active installs badge Rating badge Health score badge

Best Crumb alternatives

All bmlt plugins →
Alternatives
Rank Plugin Active installs Rating Updated Health
1 crouton crouton crouton provides a UI and more for view recovery meetings as stored in a Basic Meeting List… by radius314 300+ ★★★★★★★★★★ 5 (1) 2 weeks ago 71
2 Bread Bread A web-based tool that creates, maintains and generates a PDF meeting list from BMLT. by radius314 300+ ★★★★★★★★★★ No reviews 2 months ago 60
3 Fetch Meditation Fetch Meditation Fetch Meditation is a plugin that pulls either the Spiritual Principle A Day or Just For… by pjaudiomv 100+ ★★★★★★★★★★ No reviews 1 month ago 64
4 BMLT WordPress Satellite BMLT WordPress Satellite This is a "satellite" plugin for the Basic Meeting List Toolbox (BMLT). by BMLTGuy 100+ ★★★★★★★★★★ 5 (1) 6 months ago 47
5 List Locations BMLT List Locations BMLT List Locations BMLT is a plugin that returns all unique towns or counties from your BMLT… by pjaudiomv 80+ ★★★★★★★★★★ No reviews 1 year ago 34
6 BMLT-Workflow BMLT-Workflow This plugin was developed for NA Australian Region to support automation of meeting… by nigelbmlt 70+ ★★★★★★★★★★ 3 (2) 2 weeks ago 57
7 Upcoming Meetings BMLT Upcoming Meetings BMLT Upcoming Meetings BMLT is a plugin that displays the next 'N' number of meetings from the… by pjaudiomv 50+ ★★★★★★★★★★ No reviews 10 months ago 40
8 Mayo Events Manager Mayo Events Manager Pronounced "my-oh". Referring to the Spanish word "mayo" which means "May" in English. Mayo… by bmltenabled 50+ ★★★★★★★★★★ No reviews 1 month ago 59
9 BMLT Tabbed Map BMLT Tabbed Map bmlt_tabbed_map implements a Tabbed Map for BMLT. by paulnagle 30+ ★★★★★★★★★★ No reviews 2 years ago 27
10 Contacts BMLT Contacts BMLT Contacts BMLT is a plugin that displays helpline and website information about service… by pjaudiomv 30+ ★★★★★★★★★★ No reviews 1 year ago 27

FAQ

Crumb: quick answers

Straight answers, pulled from live WordPress.org data.

Live data from WordPress.org · checked Sep 28, 2026

Is Crumb free?

Yes. Crumb is free to download and use from the official WordPress.org plugin directory.

Is Crumb safe to use in 2026?

Crumb works, but test it on a staging site before relying on it in 2026. It runs on 20+ sites and was last updated 2 months ago, and scores 58/100 on our health check.

How many websites use Crumb?

Crumb is active on 20+ WordPress websites and has been downloaded 964 times since it launched in April 2026. It was downloaded 87 times in the last 30 days.

Does Crumb work with WordPress 7.1?

Crumb is officially tested up to WordPress 7.0.6, while the latest release is 7.1.2. It may still work, but try it on a staging site first.

What PHP version does Crumb need?

Crumb requires PHP 8.1 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.

When was Crumb last updated?

The latest version, 1.8.6, was released on July 30, 2026 (2 months ago).

Who makes Crumb?

Crumb is developed and maintained by bmltenabled.

What are the best alternatives to Crumb?

The most popular alternatives to Crumb are crouton (300+ installs), Bread (300+ installs) and Fetch Meditation (100+ installs).

Powered by PageForge

Want thousands of pages that rank like these? Build them in an afternoon.

This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.

  • CSV, Google Sheets & API data sources
  • AI content, schema & internal links per page
  • Works with Elementor, Gutenberg, Yoast & Rank Math
  • Free on WordPress.org — no credit card
Sarah is here to help!
Hi there! 👋 Need help finding what you're looking for?
Sarah
Sarah
Online & Ready to Help
Hi there! 👋 Need help finding what you're looking for?

We'll use this to continue our conversation

Just now ✓ Verified

Join 500+ SEO Pros Scaling Their Strategy

Get exclusive programmatic SEO tactics, AI content workflows, and the latest PageForge updates delivered straight to your inbox. Stay ahead of the algorithm.

We care about your data in our privacy policy.