{"id":382472,"date":"2026-10-10T17:24:18","date_gmt":"2026-10-10T17:24:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/volade-breadcrumbs\/"},"modified":"2026-10-10T18:19:45","modified_gmt":"2026-10-10T18:19:45","slug":"volade-breadcrumbs","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/volade-breadcrumbs\/","author":23581587,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Volade Breadcrumbs","header_author":"Volade","header_description":"Adds a breadcrumb trail to your content and a BreadcrumbList schema for search engines, with Premium entitlement verification via the Volade API.","assets_banners_color":"7948b0","last_updated":"2026-10-10 18:19:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/volade.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"volade","date":"2026-10-10 18:19:45","revision":3738494}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3738427,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3738427,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3738562,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3738562,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"volade\/breadcrumbs":{"name":"volade\/breadcrumbs","title":"Volade Breadcrumbs"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3738460,"resolution":"1","location":"assets","locale":"","width":1000,"height":547},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3738460,"resolution":"2","location":"assets","locale":"","width":1200,"height":1313},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3738460,"resolution":"3","location":"assets","locale":"","width":1200,"height":1171}},"screenshots":{"1":"The Volade Breadcrumbs menu on the left of the dashboard, with an icon on every entry.","2":"Overview screen: premium status, quick access and the Free vs Premium comparison.","3":"Settings screen: the breadcrumb section above the shared API connection, with the four style previews."}},"plugin_section":[],"plugin_tags":[2752,1753,1117,186,1121],"plugin_category":[48],"plugin_contributors":[285588],"plugin_business_model":[],"class_list":["post-382472","plugin","type-plugin","status-publish","hentry","plugin_tags-breadcrumbs","plugin_tags-navigation","plugin_tags-schema","plugin_tags-seo","plugin_tags-structured-data","plugin_category-language-tools","plugin_contributors-volade","plugin_committers-volade"],"banners":{"banner":"https:\/\/ps.w.org\/volade-breadcrumbs\/assets\/banner-772x250.png?rev=3738562","banner_2x":"https:\/\/ps.w.org\/volade-breadcrumbs\/assets\/banner-1544x500.png?rev=3738562","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/volade-breadcrumbs\/assets\/icon-128x128.png?rev=3738427","icon_2x":"https:\/\/ps.w.org\/volade-breadcrumbs\/assets\/icon-256x256.png?rev=3738427","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/volade-breadcrumbs\/assets\/screenshot-1.png?rev=3738460","caption":"The Volade Breadcrumbs menu on the left of the dashboard, with an icon on every entry."},{"src":"https:\/\/ps.w.org\/volade-breadcrumbs\/assets\/screenshot-2.png?rev=3738460","caption":"Overview screen: premium status, quick access and the Free vs Premium comparison."},{"src":"https:\/\/ps.w.org\/volade-breadcrumbs\/assets\/screenshot-3.png?rev=3738460","caption":"Settings screen: the breadcrumb section above the shared API connection, with the four style previews."}],"raw_content":"<!--section=description-->\n<p>Volade Breadcrumbs prints a breadcrumb trail above your posts, pages and custom post types, describes it with a schema.org BreadcrumbList so search engines understand where each page sits, and connects your site to the Volade ecosystem with a clean, WordPress.org-compliant freemium approach.<\/p>\n\n<h4>Why this is different<\/h4>\n\n<p>Everything below is verifiable in the plugin files, not a promise:<\/p>\n\n<ul>\n<li><strong>17 languages, translated by the community.<\/strong> The interface is fully internationalised (148 strings, text domain <code>volade-breadcrumbs<\/code>) and localised through WordPress.org language packs, so translations are always current and update with WordPress. Languages are picked with SVG flag icons rather than emoji.<\/li>\n<li><strong>Rendering the trail opens no connection.<\/strong> The trail, its stylesheet and its JSON-LD are built from data WordPress has already loaded. The plugin's only outbound request is the optional licence check, which gates no feature.<\/li>\n<li><strong>One renderer, five placements.<\/strong> The automatic placement, the block, the widget, the <code>[volade_breadcrumbs]<\/code> shortcode and the <code>volade_breadcrumbs()<\/code> template function all call the same code, so the markup can never differ from one of them to another.<\/li>\n<li><strong>Four presets chosen from live previews<\/strong> - default, minimal, pill and numbered - drawn with the stylesheet that actually ships, not described in a dropdown.<\/li>\n<li><strong>A per-page switch in the editor sidebar<\/strong> that turns off the automatic placement for one item without touching a template, while an explicit block or shortcode still wins.<\/li>\n<li><strong>It follows the primary category you already picked in Yoast SEO or Rank Math<\/strong>, so switching to Volade keeps the path you curated instead of jumping to the first term.<\/li>\n<li><strong>WooCommerce is supported, not required.<\/strong> The shop chain appears when WooCommerce is present and is never loaded otherwise.<\/li>\n<li><strong>Nothing to fill in.<\/strong> No account, no API key and no configuration are needed before the first post shows a trail.<\/li>\n<\/ul>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Automatic trail above the content of single posts, pages and custom post types, with ancestor levels taken from the page hierarchy or from your hierarchical taxonomies.<\/li>\n<li>Three ways to place it: the automatic placement, a \"Breadcrumb trail\" block in the editor, and a widget for any widget area. A <code>[volade_breadcrumbs]<\/code> shortcode covers everything else, including archive templates.<\/li>\n<li><code>volade_breadcrumbs()<\/code> and <code>volade_breadcrumbs_json_ld()<\/code> template functions for themes and page builders, so a trail can go anywhere the automatic placement cannot reach.<\/li>\n<li>Understands categories, tags and custom taxonomies, post type archives, author archives, date archives, and the WooCommerce chain: shop page, product categories, product tags, single product.<\/li>\n<li>Replaces WooCommerce's own breadcrumb, so a shop has one navigation instead of two competing ones.<\/li>\n<li>Follows the primary category already picked in Yoast SEO or Rank Math, so the trail never jumps between two equally valid paths.<\/li>\n<li>Hide the trail on one single page from the editor, without touching a template.<\/li>\n<li>Four visual presets (default, minimal, pill, numbered) shown as live previews you click to choose, plus a configurable separator, homepage label, optional maximum depth and a switch per post type.<\/li>\n<li>Hide the current page title from the trail, while search engines still receive the full path.<\/li>\n<li>JSON-LD BreadcrumbList printed only when the trail is, on the same request.<\/li>\n<li>Keyboard-visible focus ring, reduced-motion and higher-contrast support, print styles and a layout that wraps cleanly on a phone.<\/li>\n<li>Hidden on the homepage by default, since a trail of one level tells a reader nothing.<\/li>\n<li>Free features work out of the box, no external configuration required.<\/li>\n<li>Premium entitlements verified server-side via api.volade.com.<\/li>\n<li>No payments or checkout are handled inside this plugin.<\/li>\n<li>Graceful fallback: if the API is unreachable, the plugin treats the site as non-premium with a short cache, and never breaks the site.<\/li>\n<li>Dedicated top-level menu on the left of the dashboard, with a screen for Overview, Settings, License, Language, Tools and About.<\/li>\n<li>Interface localised into 17 languages through WordPress.org language packs, selected with flag icons (SVG, no emoji).<\/li>\n<li>Design and colour tokens taken verbatim from volade.com, so the admin screens match the site.<\/li>\n<li>Discreet marketing only: the Free vs Premium comparison, a review link and a newsletter link live on the plugin's own screens. No global admin notice is ever displayed.<\/li>\n<li>Backup tools on Volade Breadcrumbs &gt; Tools: export every setting to a JSON file, import one back, or restore the defaults. Each operation is capability-checked, nonce-checked and validated against a whitelist of this plugin's own options.<\/li>\n<li>A System Information panel (plugin, WordPress and PHP versions, last check) that is read entirely locally: rendering it never sends a request.<\/li>\n<li>A short \"Getting started\" checklist on the Overview, computed from state already stored in your database. Nothing is locked behind it, and it sends nothing anywhere.<\/li>\n<li>Extension points for developers: actions and filters around the API call, the entitlement, the screens and the settings, plus <code>wp volade-breadcrumbs<\/code> WP-CLI commands.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to an external service to verify Premium entitlements. The connection happens only when you run a premium status check yourself from Volade Breadcrumbs &gt; Tools. The plugin never contacts this service automatically, in the background or on a schedule, and rendering a screen or a breadcrumb trail never triggers an outbound request.<\/p>\n\n<p><strong>Service provider:<\/strong> Volade<\/p>\n\n<p><strong>Service URL:<\/strong> https:\/\/api.volade.com\/<\/p>\n\n<p><strong>What it is used for:<\/strong> Verifying whether the current site holds an active Premium entitlement.<\/p>\n\n<p><strong>Data sent:<\/strong><\/p>\n\n<ul>\n<li>Site URL (<code>home_url()<\/code>)<\/li>\n<li>Domain (host extracted from the site URL)<\/li>\n<li>Plugin version (<code>VOLADE_BREADCRUMBS_VERSION<\/code>)<\/li>\n<li>Plugin identifier (<code>volade-breadcrumbs<\/code>)<\/li>\n<li>Optional license key, only if one has been entered in Settings<\/li>\n<li>Optional <code>Authorization: Bearer<\/code> header, only if an API key has been entered in Settings<\/li>\n<\/ul>\n\n<p>No personal user data, no email addresses, no payment data and no user identifiers are collected or transmitted by this plugin.<\/p>\n\n<p><strong>When it is sent:<\/strong> Only when a premium entitlement check is performed. Results are cached in a WordPress transient (1 hour on success, 5 minutes on failure) to minimize the number of requests.<\/p>\n\n<p><strong>Terms of Service:<\/strong> https:\/\/volade.com\/en\/terms.html<\/p>\n\n<p><strong>Privacy Policy:<\/strong> https:\/\/volade.com\/en\/privacy.html<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>volade-breadcrumbs<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install it via the Plugins screen in WordPress.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>(Optional) Open the \"Volade Breadcrumbs\" menu on the left of the dashboard, then Settings, to tune the trail and the API connection.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20does%20the%20trail%20appear%3F\"><h3>Where does the trail appear?<\/h3><\/dt>\n<dd><p>Above the content of single posts, pages and custom post types that belong to the post types listed in Settings &gt; Breadcrumbs. Leave that field empty to include every public type. The trail is hidden on the homepage by default, because a single level is noise; uncheck \"Hide on the homepage\" if you want it there.<\/p><\/dd>\n<dt id=\"how%20do%20i%20place%20it%20myself%3F\"><h3>How do I place it myself?<\/h3><\/dt>\n<dd><p>Three ways, all driven by the same settings:<\/p>\n\n<ul>\n<li>The <strong>Breadcrumb trail block<\/strong> in the editor (search for \"breadcrumb\"). It carries one option, the style, and follows your saved settings otherwise.<\/li>\n<li>The <strong>breadcrumb widget<\/strong>, for any widget area of your theme.<\/li>\n<li>The <code>[volade_breadcrumbs]<\/code> shortcode, which also accepts <code>style<\/code>, <code>separator<\/code>, <code>hide_title<\/code> and <code>schema<\/code> attributes for one placement.<\/li>\n<\/ul>\n\n<p>Themes and page builders can call <code>volade_breadcrumbs()<\/code> directly, or <code>volade_breadcrumbs_json_ld()<\/code> when they only want the structured data.<\/p>\n\n<p>On a post that already contains the block or the shortcode, the automatic placement steps aside so you never get two trails. Archive pages (categories, tags, custom taxonomies, post type archives, author and date archives) are placement territory: the automatic placement only runs in the content of a single item.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20the%20trail%20on%20one%20page%3F\"><h3>Can I hide the trail on one page?<\/h3><\/dt>\n<dd><p>Yes. Open the page in the editor and tick \"Hide the breadcrumb trail on this page\" in the Breadcrumbs box on the side. That switches off the automatic placement for that one item only; a trail you added with the block or the shortcode still shows, because an explicit placement is always more specific than a setting.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%3F\"><h3>Does it work with WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, when WooCommerce is installed. The trail runs Home &gt; Shop &gt; product category &gt; product (and product tags the same way), and by default it replaces WooCommerce's own breadcrumb so a shop has one navigation instead of two. Untick \"Replace the WooCommerce breadcrumb\" in Settings to keep WooCommerce's own.<\/p><\/dd>\n<dt id=\"do%20i%20lose%20my%20primary%20category%20if%20i%20leave%20another%20seo%20plugin%3F\"><h3>Do I lose my primary category if I leave another SEO plugin?<\/h3><\/dt>\n<dd><p>No. When a post has a primary category picked in Yoast SEO or Rank Math, the trail follows that branch rather than whatever term happens to come first. If nothing was picked, it falls back to the first hierarchical term.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20my%20site%20down%20or%20phone%20home%3F\"><h3>Does it slow my site down or phone home?<\/h3><\/dt>\n<dd><p>No. The trail is built from data WordPress has already loaded, and its stylesheet is enqueued only on requests that can actually print a trail. Nothing in the breadcrumb code opens a connection. The only outbound request in this plugin is the premium check, which runs when you start it yourself (see External Services below).<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20handle%20payments%3F\"><h3>Does this plugin handle payments?<\/h3><\/dt>\n<dd><p>No. Upgrades and license management happen off-site at https:\/\/volade.com\/. No checkout is processed inside this plugin.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20api%20is%20unavailable%3F\"><h3>What happens if the API is unavailable?<\/h3><\/dt>\n<dd><p>The plugin fails gracefully: it treats the site as non-premium and caches that result for a short period (5 minutes) to avoid repeated requests. The site keeps working normally.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20api.volade.com%3F\"><h3>What data is sent to api.volade.com?<\/h3><\/dt>\n<dd><p>See the \"External Services\" section below.<\/p><\/dd>\n<dt id=\"which%20languages%20are%20supported%3F\"><h3>Which languages are supported?<\/h3><\/dt>\n<dd><p>Arabic, Chinese, Dutch, English, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Turkish and Vietnamese. The selection only affects the Volade screens, never the rest of your site.<\/p><\/dd>\n<dt id=\"can%20i%20extend%20volade%20from%20my%20own%20plugin%3F\"><h3>Can I extend Volade from my own plugin?<\/h3><\/dt>\n<dd><p>Yes. Volade exposes actions and filters, so you never have to edit its files:<\/p>\n\n<ul>\n<li><code>volade_admin_capability<\/code> - capability required to reach the Volade screens (default <code>manage_options<\/code>).<\/li>\n<li><code>volade_api_url<\/code> - final URL of the premium check request.<\/li>\n<li><code>volade_request_args<\/code> - arguments handed to <code>wp_remote_post()<\/code>.<\/li>\n<li><code>volade_request_body<\/code> - payload sent to api.volade.com, before it is encoded.<\/li>\n<li><code>volade_premium_result<\/code> - the entitlement returned after the API answered, before it is cached.<\/li>\n<li><code>volade_premium_checked<\/code> - action fired when a check reached the API and was cached (<code>$is_premium<\/code>). Not fired when the answer came from the cache.<\/li>\n<li><code>volade_upgrade_url<\/code> - the off-site upgrade link.<\/li>\n<li><code>volade_export_payload<\/code> - the settings download, before it is streamed.<\/li>\n<li><code>volade_option_updated<\/code> - fired when one of the plugin's own options changes (<code>$option, $old_value, $value<\/code>).<\/li>\n<li><code>volade_settings_imported<\/code>, <code>volade_settings_restored<\/code> - fired after a backup import or a restore to defaults.<\/li>\n<li><code>volade_before_render<\/code>, <code>volade_after_render<\/code> - wrap every Volade screen (<code>$view<\/code>).<\/li>\n<\/ul>\n\n<p>Three WP-CLI commands are available too: <code>wp volade-breadcrumbs status<\/code> reads the stored state without any request, <code>wp volade-breadcrumbs test<\/code> performs a premium check, and <code>wp volade-breadcrumbs clear-cache<\/code> drops the cached result.<\/p><\/dd>\n<dt id=\"where%20are%20my%20settings%20backed%20up%3F\"><h3>Where are my settings backed up?<\/h3><\/dt>\n<dd><p>Volade Breadcrumbs &gt; Tools &gt; Settings Backup. The export is a plain JSON file of this plugin's own options, produced on demand from your database. It contains your API and license keys, so treat it like a password. Import re-runs every value through the same sanitiser the Settings screen uses, so a tampered file cannot write an unsanitised value. Nothing in that screen contacts a server.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Breadcrumb trail above the content of any public post type, with a shortcode for manual placement.<\/li>\n<li>\"Breadcrumb trail\" block for the editor and a widget for any widget area, both rendering through the same code path.<\/li>\n<li><code>volade_breadcrumbs()<\/code> and <code>volade_breadcrumbs_json_ld()<\/code> template functions.<\/li>\n<li>Trails for categories, tags, custom taxonomies, post type archives, author archives and date archives.<\/li>\n<li>WooCommerce chain (shop, product categories, product tags, product) with an option to replace WooCommerce's own breadcrumb.<\/li>\n<li>Primary category honoured from Yoast SEO and Rank Math.<\/li>\n<li>Per-item switch in the editor to hide the trail on one page, and an option to hide the current page title.<\/li>\n<li>JSON-LD BreadcrumbList printed together with the trail.<\/li>\n<li>Four visual presets shown as live previews, configurable separator, homepage label, maximum depth and post type list.<\/li>\n<li>Accessibility and print polish: focus ring, reduced motion, higher contrast, phone-width wrapping.<\/li>\n<li>17-language interface with SVG flag icons, colour tokens taken from volade.com.<\/li>\n<li>Premium entitlement verified server-side via api.volade.com, with transient caching and graceful failure.<\/li>\n<li>Settings export, import and restore to defaults, plus a locally read System Information panel.<\/li>\n<li>\"Getting started\" checklist on the Overview.<\/li>\n<li>Actions and filters around the API call, the entitlement, the screens and the settings; <code>wp volade-breadcrumbs<\/code> WP-CLI commands.<\/li>\n<\/ul>","raw_excerpt":"Adds a breadcrumb trail with schema markup to your content, and verifies Volade Premium entitlements via api.volade.com.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/382472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=382472"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/volade"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=382472"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=382472"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=382472"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=382472"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=382472"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=382472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}