⌥+⌃AltPlusCtrl

WordPress Admin Keyboard Shortcuts

WordPress's shortcuts live almost entirely inside the Gutenberg block editor, since that's where the actual content-creation work happens, while the broader admin dashboard (Settings, Plugins, Users) remains deliberately click-driven with no dedicated keyboard layer. Gutenberg's block-based architecture means several shortcuts are specifically about navigating and manipulating blocks as discrete units, a meaningfully different model from a single continuous document the way Word or Google Docs treats content. As a browser-based admin panel, the Gutenberg editor keeps its own list of registered keyboard shortcuts viewable from the three-dot menu in the top-right of the editor (Keyboard Shortcuts), and that in-app list is the authoritative source if a plugin has remapped anything. This page is written for content editors and site administrators working regularly in the block editor — bloggers, marketing teams, agencies managing several client sites — rather than plugin developers extending Gutenberg's underlying block API, since that's a fundamentally different, code-level interaction with the editor. Because so many popular WordPress plugins (page builders, SEO tools, form plugins) inject their own panels and occasionally their own keyboard shortcuts into the editor, it's worth checking the in-app Keyboard Shortcuts reference on your specific installation if a heavily plugin-customized site behaves differently than what's documented here for stock Gutenberg.

Block Editing

ActionWindowsMacDescription
Insert new blockCtrl+Alt+T (varies) or / at line startCmd+Option+T or /A forward slash typed on an otherwise empty new line summons the block-type search, so you can drop in a specific block — image, heading, list, and so on — by name rather than hunting for the plus icon.
Duplicate selected blockCtrl+Shift+DCmd+Shift+DCreates a copy of the selected block directly below the original, preserving all its content and settings.
Remove selected blockShift+Alt+ZShift+Option+ZDeletes the currently selected block entirely from the post, distinct from just deleting its text content which would leave an empty block behind.
Move block up/downCtrl+Shift+Alt+T/Y or use block toolbar arrowsCmd+Option+Shift+T/YRelocates the selected block one position up or down in the post's block order; the on-screen up/down arrow buttons on the block toolbar are the more commonly used method in practice.
Select all blocksCtrl+A (twice)Cmd+A (twice)Pressing once selects all text within the current block; pressing a second time expands the selection to every block in the entire post, letting you apply a bulk action like delete or copy to the whole document at once.
Change block typeClick block toolbar's transform icon, no default shortcutSameConverts the selected block to a compatible alternate block type — a paragraph into a heading, or a bulleted list into a numbered list — through the block toolbar's transform dropdown, with no dedicated keyboard shortcut for triggering this specific conversion menu.

Formatting

ActionWindowsMacDescription
Bold selected textCtrl+BCmd+BWraps the current selection in a <strong> tag via Gutenberg's inline-format toolbar that pops up above selected text, the same toggle available by clicking the B icon in that floating toolbar rather than a separate top-level menu.
Insert hyperlinkCtrl+KCmd+KOpens the link insertion popover for the selected text, supporting both external URLs and internal search for existing posts and pages to link to.
Convert to Heading blockType ## then Space (Markdown shortcut)Type ## then SpaceTyping one to six hash symbols followed by a space at the start of a new block converts it to the corresponding heading level, following Gutenberg's Markdown-style autoformat conventions.
Italicize selected textCtrl+ICmd+IItalicizes the current selection through the block's inline formatting toolbar, the same rich-text convention that shows up across nearly every web-based editor.

Publishing

ActionWindowsMacDescription
Publish/Update postCtrl+S (saves draft) — Publish itself is a button clickCmd+SCtrl+S saves the current draft; actually publishing or updating the live post still requires clicking the Publish/Update button in the top-right panel, since WordPress treats that as a deliberate, separate confirmation step.
Preview postNo default keyboard shortcut — click Preview buttonSameChecking how a post will actually render once published means clicking the Preview button up in the editor's toolbar, since no keyboard shortcut is wired to that action out of the box.
Toggle block List ViewCtrl+Shift+Alt+OCmd+Shift+Option+OOpens a hierarchical outline sidebar showing every block in the post as a nested list, useful for navigating and understanding the structure of a long post with many nested blocks (like columns containing groups containing paragraphs) without scrolling through the entire document visually.

Frequently Asked Questions

Why does Ctrl+S not actually publish my post?

WordPress deliberately separates saving a draft from publishing it live, similar to Confluence's model — Ctrl+S only saves your current progress as a draft (or updates an already-published post's content without changing its publish status), while Publish/Update requires an explicit button click as a final confirmation step to avoid accidentally pushing unfinished content live.

Does the Markdown-style ## heading shortcut work anywhere in the post?

It only triggers at the very start of an empty new block — if you type ## in the middle of existing text within a block, or in a block that isn't empty, it just inserts literal hash characters rather than converting the block type, since Gutenberg's autoformat only fires on a fresh empty line.

What's the difference between deleting text in a block versus removing the block itself?

Selecting and deleting all the text inside a block leaves an empty block of that same type sitting in the post, which still occupies a position in the block list and can be re-typed into. Shift+Alt+Z removes the block entirely, closing the gap in the document structure rather than just emptying its content.

What's the practical benefit of List View on a long post?

Once a post has many nested blocks — columns inside groups inside sections — scrolling through the visual editor to understand the overall structure or locate a specific deeply nested block becomes slow and disorienting. List View shows the same structure as a collapsible outline, letting you click directly on any block's name to jump straight to it regardless of how deeply nested it is or how far down the page it sits.

Why does converting a block type sometimes lose some of its original formatting?

Not every block type shares the same set of supported attributes — converting a Heading block to a Paragraph block, for instance, drops the specific heading-level setting since paragraphs don't have one, and converting a complex block like a Table into a simpler block type can lose structural data that the destination block type has no equivalent field to hold, so it's worth previewing the result after a conversion rather than assuming everything carries over cleanly.

Is there a keyboard shortcut for quickly switching between the block editor and the classic editor view?

No — switching editors (if the Classic Editor plugin is installed alongside Gutenberg) is done through a link in the post's edit screen or a setting applied per-post-type, since which editor loads is controlled by plugin configuration rather than something a single keystroke could toggle live.