Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.
The Recommendation Blocks list supports multi-select so you can publish, pause, duplicate, or remove many blocks in a single action. This is useful for campaign launches, seasonal swaps, and end-of-sale cleanup. You can also toggle a single block’s status from its row actions menu without entering selection mode.
Click Select in the actions column header to enter selection mode.
Tick the checkbox on each block you want to act on. To select a range, click the first checkbox, then hold Shift and click the last one. Every row in between is selected automatically.
(Optional) Open the selected dropdown next to the row count and click Select all results to extend your selection to every block that matches the current search and filters, including blocks on other pages. If no filters are active, the option becomes Select all in this store and selects every block your store has.
Open the Actions dropdown and select one of the following:
Publish — Activates every selected draft block so it starts returning results.
Unpublish — Moves selected active blocks back to draft. Configuration is preserved and the block can be republished at any time.
Duplicate — Creates a draft copy of each selected block named <title> (Copy). Duplicates always start as drafts.
Delete — Permanently removes the selected blocks. A confirmation dialog appears before the deletion runs.
When you’re done, click Actions → Done selecting to exit selection mode.
The dropdown next to the selection count shows how many blocks are currently selected and lets you switch between two scopes:
Page selection (default) — Only the rows you ticked are included. The count matches the number of checked checkboxes.
All results — Every block matching your current search, filters, and sort is included, even rows on other pages. The count shows the full filtered total.
To narrow an All results selection, click Unselect all from the same dropdown and re-tick individual rows.
When you run an action against All results, Layers queues the work in the background instead of processing it inline. A progress toast appears with a title such as Publishing blocks, a progress bar, and a running count of processed blocks.Background processing keeps the dashboard responsive when you act on thousands of blocks at once. You can continue working while the job runs.
Cancel — While the job is running, click Cancel on the toast to stop it. Blocks already processed keep the change; the rest are left untouched.
Finished — When the job completes, the toast reads “Finished. The list reflects the change on your next refresh.” Refresh the page to see the updated list.
Failed — If the job can’t finish, the toast turns into an error. Blocks already processed were saved. Run the action again, and contact Customer Care if it keeps happening.
Use Shift+click to flip a long range of blocks between published and draft for a campaign, such as unpublishing every clearance block when a sale ends.
Combine filters with Select all results to act on a precise slice of your library. For example, filter by status Active and tag Seasonal, then unpublish the entire match in one click.
Delete is permanent. If you only want to pause a block, use Unpublish instead so you can republish later without rebuilding the configuration.
The queued action hasn’t finished. Background jobs process in the order they’re received. Watch the progress toast for the running count; very large selections (tens of thousands of rows) can take longer. Refresh the page once the toast reads Finished.
My filters disappeared after the action ran. The Recommendation Blocks list always returns to its default view once a queued action completes. Re-apply your filters from the toolbar to continue.
The “Select all results” option isn’t visible. It only appears when at least one row is checked and there are more matching rows than fit on the current page.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Layers","colors":{"primary":"#607FFD","light":"#AFC0FF","dark":"#3A57E8"},"logo":{"light":"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007","dark":"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007","href":"https://www.uselayers.com/?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"},"favicon":"https://mintcdn.com/protoninc/qubyNEZK4oJTl9By/favicon.svg?fit=max\u0026auto=format\u0026n=qubyNEZK4oJTl9By\u0026q=85\u0026s=3611d60346e12f15e4684bc60cb69ece","api":{"mdx":{"server":"https://app.uselayers.com/api/storefront/v1"}},"navbar":{"links":[{"href":"https://www.uselayers.com/changelog?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site","label":"Changelog"},{"href":"mailto:support@uselayers.com","label":"Support"},{"href":"https://app.uselayers.com/dashboard?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-dashboard","label":"Dashboard"}],"primary":{"type":"button","label":"Request Demo","href":"https://www.uselayers.com/demo?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/uselayers"},"links":[{"header":"Legal","items":[{"label":"Privacy Statement","href":"https://docs.uselayers.com/legal/privacy-statement"},{"label":"Terms of Use","href":"https://docs.uselayers.com/legal/terms-of-use"}]}]},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"protoninc","hasAudioNarration":false,"actualSubdomain":"protoninc","customDomains":["docs.uselayers.com"],"gitSource":{"type":"github","owner":"protonagency","repo":"layers-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae388771c7a51ca965c930e","collectionId":"b1813d3c-a1b3-44c1-b58f-077ab7c9b91e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae388771c7a51ca965c930e"},"feedback":{"thumbs":true,"edits":false,"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"}},"buildId":"6ae388771c7a51ca965c930e","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Documentation","count":102},{"language":"default","tag":"Help Center","count":72},{"language":"default","tag":"Merchandising","count":54},{"language":"default","tag":"Developers","count":42},{"language":"default","tag":"API Reference","count":25},{"language":"default","tag":"SDK","count":20},{"language":"default","tag":"Sort Orders","count":16},{"language":"default","tag":"Liquid","count":14},{"language":"default","tag":"Search \u0026 Discovery","count":14},{"language":"default","tag":"Configuration","count":14}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"email":"support@uselayers.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"help/blocks/bulk-actions","slug":"/help/blocks/bulk-actions","pageMetadata":{"title":"Manage blocks in bulk","description":"Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.","href":"/help/blocks/bulk-actions"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Tip,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Recommendation Blocks`}),` list supports multi-select so you can publish, pause, duplicate, or remove many blocks in a single action. This is useful for campaign launches, seasonal swaps, and end-of-sale cleanup. You can also toggle a single block’s status from its row actions menu without entering selection mode.`]}),`\n`,_jsx(Heading,{level:`2`,id:`toggle-status-from-the-row-actions`,children:`Toggle status from the row actions`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Recommendation Blocks`}),`.`]}),`\n`,_jsx(_components.li,{children:`Find the block you want to publish or unpublish.`}),`\n`,_jsx(_components.li,{children:`Click the actions menu on its row.`}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Publish`}),` if the block is currently a draft, or `,_jsx(_components.strong,{children:`Unpublish`}),` if it is currently active.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The change applies immediately and the status badge updates.`}),`\n`,_jsx(Heading,{level:`2`,id:`steps`,children:`Steps`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Recommendation Blocks`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Select`}),` in the actions column header to enter selection mode.`]}),`\n`,_jsxs(_components.li,{children:[`Tick the checkbox on each block you want to act on. To select a range, click the first checkbox, then hold `,_jsx(_components.strong,{children:`Shift`}),` and click the last one. Every row in between is selected automatically.`]}),`\n`,_jsxs(_components.li,{children:[`(Optional) Open the `,_jsx(_components.strong,{children:`selected`}),` dropdown next to the row count and click `,_jsx(_components.strong,{children:`Select all results`}),` to extend your selection to every block that matches the current search and filters, including blocks on other pages. If no filters are active, the option becomes `,_jsx(_components.strong,{children:`Select all in this store`}),` and selects every block your store has.`]}),`\n`,_jsxs(_components.li,{children:[`Open the `,_jsx(_components.strong,{children:`Actions`}),` dropdown and select one of the following:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Publish`}),` — Activates every selected draft block so it starts returning results.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Unpublish`}),` — Moves selected active blocks back to draft. Configuration is preserved and the block can be republished at any time.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Duplicate`}),` — Creates a draft copy of each selected block named `,_jsx(_components.code,{children:`\u003ctitle> (Copy)`}),`. Duplicates always start as drafts.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Delete`}),` — Permanently removes the selected blocks. A confirmation dialog appears before the deletion runs.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`When you’re done, click `,_jsx(_components.strong,{children:`Actions`}),` → `,_jsx(_components.strong,{children:`Done selecting`}),` to exit selection mode.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`selection-scope`,children:`Selection scope`}),`\n`,_jsx(_components.p,{children:`The dropdown next to the selection count shows how many blocks are currently selected and lets you switch between two scopes:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Page selection`}),` (default) — Only the rows you ticked are included. The count matches the number of checked checkboxes.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`All results`}),` — Every block matching your current search, filters, and sort is included, even rows on other pages. The count shows the full filtered total.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`To narrow an `,_jsx(_components.strong,{children:`All results`}),` selection, click `,_jsx(_components.strong,{children:`Unselect all`}),` from the same dropdown and re-tick individual rows.`]}),`\n`,_jsx(Heading,{level:`2`,id:`background-processing-for-large-selections`,children:`Background processing for large selections`}),`\n`,_jsxs(_components.p,{children:[`When you run an action against `,_jsx(_components.strong,{children:`All results`}),`, Layers queues the work in the background instead of processing it inline. A progress toast appears with a title such as `,_jsx(_components.strong,{children:`Publishing blocks`}),`, a progress bar, and a running count of processed blocks.`]}),`\n`,_jsx(_components.p,{children:`Background processing keeps the dashboard responsive when you act on thousands of blocks at once. You can continue working while the job runs.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Cancel`}),` — While the job is running, click `,_jsx(_components.strong,{children:`Cancel`}),` on the toast to stop it. Blocks already processed keep the change; the rest are left untouched.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Finished`}),` — When the job completes, the toast reads `,_jsx(_components.strong,{children:`“Finished. The list reflects the change on your next refresh.”`}),` Refresh the page to see the updated list.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Failed`}),` — If the job can’t finish, the toast turns into an error. Blocks already processed were saved. Run the action again, and contact Customer Care if it keeps happening.`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Use `,_jsx(_components.strong,{children:`Shift+click`}),` to flip a long range of blocks between published and draft for a campaign, such as unpublishing every clearance block when a sale ends.`]})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Combine filters with `,_jsx(_components.strong,{children:`Select all results`}),` to act on a precise slice of your library. For example, filter by status `,_jsx(_components.strong,{children:`Active`}),` and tag `,_jsx(_components.strong,{children:`Seasonal`}),`, then unpublish the entire match in one click.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Delete`}),` is permanent. If you only want to pause a block, use `,_jsx(_components.strong,{children:`Unpublish`}),` instead so you can republish later without rebuilding the configuration.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The queued action hasn’t finished.`}),` Background jobs process in the order they’re received. Watch the progress toast for the running count; very large selections (tens of thousands of rows) can take longer. Refresh the page once the toast reads `,_jsx(_components.strong,{children:`Finished`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`My filters disappeared after the action ran.`}),` The `,_jsx(_components.strong,{children:`Recommendation Blocks`}),` list always returns to its default view once a queued action completes. Re-apply your filters from the toolbar to continue.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The “Select all results” option isn’t visible.`}),` It only appears when at least one row is checked and there are more matching rows than fit on the current page.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/help/blocks/view-performance`,children:`View block performance`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/platform/blocks`,children:`Blocks overview`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Manage blocks in bulk","description":"Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.","href":"/help/blocks/bulk-actions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Toggle status from the row actions","slug":"toggle-status-from-the-row-actions","depth":2,"children":[]},{"title":"Steps","slug":"steps","depth":2,"children":[]},{"title":"Selection scope","slug":"selection-scope","depth":2,"children":[]},{"title":"Background processing for large selections","slug":"background-processing-for-large-selections","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/protoninc/d2da920448b9ce07/track.js"],"subdomain":"protoninc","siteName":"Layers","title":"Manage blocks in bulk - Layers","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-17T15:08:04.365Z","originalFileLocation":"help/blocks/bulk-actions.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Layers\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Manage blocks in bulk - Layers\">\u003cmeta data-mint-head property=\"og:description\" content=\"Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Layers\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.uselayers.com/help/blocks/bulk-actions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://protoninc.mintlify.app/_mintlify/api/og/v2?division=Recommendation+Blocks\u0026amp;title=Manage+blocks+in+bulk\u0026amp;description=Publish%2C+unpublish%2C+duplicate%2C+or+delete+multiple+recommendation+blocks+at+once+from+the+Blocks+list+using+bulk+select%2C+filters%2C+and+the+table+toolbar+actions.\u0026amp;theme=a10a6113a77cea89cec87611\u0026amp;signature=b9de8c7c56bfed121afd5986b978db339dd2baec54eac4306b7d9ee844df32f2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Manage blocks in bulk - Layers\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://protoninc.mintlify.app/_mintlify/api/og/v2?division=Recommendation+Blocks\u0026amp;title=Manage+blocks+in+bulk\u0026amp;description=Publish%2C+unpublish%2C+duplicate%2C+or+delete+multiple+recommendation+blocks+at+once+from+the+Blocks+list+using+bulk+select%2C+filters%2C+and+the+table+toolbar+actions.\u0026amp;theme=a10a6113a77cea89cec87611\u0026amp;signature=b9de8c7c56bfed121afd5986b978db339dd2baec54eac4306b7d9ee844df32f2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/protoninc/-Zid9_7urMZu-aPC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Layers\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#607FFD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.uselayers.com/help/blocks/bulk-actions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/help/blocks/bulk-actions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.uselayers.com/#organization\",\"name\":\"Layers\",\"url\":\"https://docs.uselayers.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/protoninc/PNs-gxGUVcdBDEEC/logo.svg?fit=max\u0026auto=format\u0026n=PNs-gxGUVcdBDEEC\u0026q=85\u0026s=989e3194cb32f07e7018b8b7186b9007\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.uselayers.com#website\",\"name\":\"Layers\",\"url\":\"https://docs.uselayers.com\",\"publisher\":{\"@id\":\"https://docs.uselayers.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.uselayers.com/help/blocks/bulk-actions#webpage\",\"url\":\"https://docs.uselayers.com/help/blocks/bulk-actions\",\"name\":\"Manage blocks in bulk\",\"description\":\"Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.\",\"dateModified\":\"2026-10-17T15:08:04.365Z\",\"isPartOf\":{\"@id\":\"https://docs.uselayers.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.uselayers.com/help/blocks/bulk-actions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.uselayers.com/help/blocks/bulk-actions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Layers\",\"item\":\"https://docs.uselayers.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Manage blocks in bulk\",\"item\":\"https://docs.uselayers.com/help/blocks/bulk-actions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.uselayers.com/help/blocks/bulk-actions#article\",\"headline\":\"Manage blocks in bulk\",\"name\":\"Manage blocks in bulk\",\"description\":\"Publish, unpublish, duplicate, or delete multiple recommendation blocks at once from the Blocks list using bulk select, filters, and the table toolbar actions.\",\"url\":\"https://docs.uselayers.com/help/blocks/bulk-actions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.uselayers.com/help/blocks/bulk-actions#webpage\"},\"dateModified\":\"2026-10-17T15:08:04.365Z\",\"publisher\":{\"@id\":\"https://docs.uselayers.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.uselayers.com#website\"}}]}\u003c/script>","siteName":"Layers","nav":{"global":null,"anchors":[{"anchor":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"anchor":"Help Center","icon":"map","groups":[{"group":"Getting Started","pages":[{"title":"Install Layers on Shopify","href":"/help/onboarding/install"},{"title":"Dashboard home","href":"/help/onboarding/dashboard-home"},{"title":"Demo store setup","href":"/help/onboarding/setting-up-a-demo-store"},{"title":"Creating a crawler signature","href":"/help/onboarding/creating-crawler-signature"},{"title":"Exporting search data","href":"/help/onboarding/exporting-search-data"},{"title":"Migrate from Boost Commerce","sidebarTitle":"Migrate from Boost","href":"/help/onboarding/migrate-from-boost"}]},{"group":"Catalog","pages":[{"title":"View product details","href":"/help/catalog/view-product-details"},{"title":"See how AI reads a product in your catalog","href":"/help/catalog/how-ai-sees-this-product"},{"title":"View collection details and performance","href":"/help/catalog/view-collection-details"},{"title":"Filter the products list","href":"/help/catalog/filter-products-list"},{"title":"Manually resync your entire catalog","href":"/help/catalog/resync-catalog"},{"title":"Manually resync a single collection","href":"/help/catalog/resync-single-collection"},{"title":"Manually resync a single product","href":"/help/catalog/resync-single-product"},{"title":"Manually resync variant inventory","href":"/help/catalog/resync-variant-inventory"},{"title":"Working with dates","href":"/help/catalog/working-with-dates"}]},{"group":"Sort Orders","pages":[{"title":"Create a sort order","href":"/help/sort-orders/create-sort-order"},{"title":"Preview a sort order","href":"/help/sort-orders/preview-sort-order"},{"title":"Duplicate a sort order","href":"/help/sort-orders/duplicate-sort-order"},{"title":"Find duplicate sort orders in the dashboard","href":"/help/sort-orders/duplicate-detection"},{"title":"Reorder sort orders","href":"/help/sort-orders/reorder-sort-orders"},{"title":"Manage sort orders in bulk","href":"/help/sort-orders/bulk-actions"},{"title":"Run a sort order A/B test experiment","description":"A/B test sort orders in Layers: split shopper traffic between a control and challengers, then measure conversion, add-to-cart, and revenue lift.","href":"/help/sort-orders/experiments"}]},{"group":"Recommendation Blocks","pages":[{"title":"Manage blocks in bulk","href":"/help/blocks/bulk-actions"},{"title":"View block performance","description":"Open the performance sheet for a recommendation block to review KPIs, trends, position effects, and top-performing products over selectable date ranges.","href":"/help/blocks/view-performance"}]},{"group":"Product Sequences","pages":[{"title":"Create a product sequence","href":"/help/sequences/create-product-sequence"},{"title":"Edit a product sequence","href":"/help/sequences/edit-product-sequence"},{"title":"Manage product sequences in bulk","href":"/help/sequences/bulk-actions"}]},{"group":"Customers","pages":[{"title":"Manage audiences","href":"/help/configuration/manage-audiences"},{"title":"Manage dimensions","href":"/help/configuration/manage-dimensions"}]},{"group":"Configuration","pages":[{"title":"Navigate settings","href":"/help/configuration/navigate-settings"},{"title":"Manage API access","href":"/help/configuration/manage-api-access"},{"title":"Manage outbound webhooks","href":"/help/configuration/manage-webhooks"},{"title":"Review developer notices","href":"/help/configuration/view-developer-notices"},{"title":"Manage team members","href":"/help/configuration/manage-team-members"},{"title":"Manage roles and permissions","href":"/help/configuration/manage-roles-and-permissions"},{"title":"Manage organizations","href":"/help/configuration/manage-organizations"},{"title":"View GDPR requests","href":"/help/configuration/view-gdpr-requests"},{"title":"View billing","href":"/help/configuration/view-billing"},{"title":"Configure autocomplete curation","href":"/help/configuration/configure-autocomplete-curation"},{"title":"Configure search instructions","href":"/help/configuration/configure-search-instructions"},{"title":"Set up Agentic Feedback for AI agents","sidebarTitle":"Set up Agentic Feedback","href":"/help/configuration/set-up-agentic-feedback"},{"title":"Manage store knowledge","href":"/help/configuration/manage-store-knowledge"},{"title":"Config history and version restore","href":"/help/configuration/config-history"}]},{"group":"Ranking Relevancy","pages":[{"title":"Tune signal weights","href":"/help/ranking-relevancy/tune-signal-weights"},{"title":"Create a ranking rule","href":"/help/ranking-relevancy/create-ranking-rule"},{"title":"Manage ranking rules in bulk","href":"/help/ranking-relevancy/bulk-actions"}]},{"group":"Lab","pages":[{"title":"Lab Insights for trends, anomalies, and opportunities","href":"/help/lab/insights"},{"title":"Analytics dashboards","href":"/help/analytics/dashboards"},{"title":"Weekly performance report email","href":"/help/analytics/weekly-report-email"},{"title":"Test text search (with demo profiles)","href":"/help/evaluate/test-text-search"},{"title":"Test image search","href":"/help/evaluate/test-image-search"},{"title":"Test content search with the API","href":"/help/evaluate/test-content-search"},{"title":"Test collections and similar products","href":"/help/evaluate/test-collections-and-similar-products"}]},{"group":"Merchandising","pages":[{"title":"Create a merchandising rule","href":"/help/merchandising/create-merchandising-rule"},{"title":"Edit, disable, or delete a merchandising rule","href":"/help/merchandising/edit-disable-delete-merchandising-rule"},{"title":"Add a banner to a merchandising rule","href":"/help/merchandising/add-banner-to-rule"},{"title":"Create a banner type","href":"/help/configuration/create-banner-type"},{"title":"Manage merchandising rules in bulk","href":"/help/merchandising/bulk-actions"},{"title":"Recover a deleted merchandising rule","href":"/help/merchandising/restore-deleted-merchandising-rule"},{"title":"Dynamic linking for ads","href":"/help/merchandising/dynamic-linking"},{"title":"Create a semantic redirect","href":"/help/merchandising/create-semantic-redirect"},{"title":"View merchandising rule performance","href":"/help/merchandising/view-rule-performance"},{"title":"Create a variant breakout","href":"/help/merchandising/create-variant-breakout"},{"title":"Edit or delete a variant breakout","href":"/help/merchandising/edit-delete-variant-breakout"},{"title":"Manage variant breakouts in bulk","href":"/help/merchandising/bulk-actions-variant-breakouts"},{"title":"Group facet values","href":"/help/advanced-merchandising/facet-grouping"},{"title":"Sort facet values","href":"/help/advanced-merchandising/facet-sorting"},{"title":"Hide facet values","href":"/help/advanced-merchandising/facet-hiding"},{"title":"View the products behind a facet value","href":"/help/advanced-merchandising/facet-value-products"},{"title":"Create a product family","href":"/help/product-families/create-product-family"},{"title":"Manage product families in bulk","href":"/help/product-families/bulk-actions"}]},{"group":"Misc","pages":[{"title":"Configure search behavior","href":"/help/configuration/configure-search-behavior"}]}]},{"anchor":"Developers","icon":"code","pages":[{"title":"Developers","href":"/developers/overview"}]},{"anchor":"API Reference","icon":"rectangle-terminal","pages":[{"title":"API Reference","href":"/api-reference/browse"}]},{"anchor":"Integrations","icon":"plug","href":"https://www.uselayers.com/integrations?utm_source=docs\u0026utm_medium=referral\u0026utm_campaign=docs-to-site"}]},"title":"Manage blocks in bulk - Layers","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}