On a Magento 2 install with several websites and store views, the pages an admin opens every day are rarely top-level ones. The daily page is Payment Methods for the second website, the pending orders of one store view, or the customers registered on one brand. Each one sits behind a menu, a config tab, a scope switch or a set of grid filters, and that detour leads to several clicks and page loads every time. This module adds Magento 2 admin bookmarks that are personal to every admin user: star the page once, and it stays one click away in the admin header on every page, with its scope and its grid filters intact.
Typical impact: Payment Methods at website scope goes from seven clicks and three page loads (menu, config tab, scope switcher with its confirmation dialog) to one click and one page load.

Who For
- Admins of multi-website and multi-store-view installs who maintain the same config sections per website: payment, shipping, tax, catalog price scope. A scoped section is saved with its scope, and its label names it: "Configuration: Payment Methods (Second Website)".
- Operations and support teams who work filtered grids all day: pending orders of one store view, the customers of one website, products of one attribute set. A link saved from a filtered grid reopens it with the same filters and keyword.
- Developers and integrators who return to the same deep pages during a rollout: one order, one product, one config group. Those links survive a new login, which a browser bookmark of an admin URL does not.
- Teams with shared admin accounts turned into personal ones. Every admin user has a separate list; nobody reorders anyone else’s links.
Who Skip
- Single-website stores where the admin menu is already two clicks from every page used daily.
- Teams that need links shared across users or set per role. This version keeps every list personal.
- Installs where the default backend theme is replaced: the chips sit in the notices area of Magento’s own backend theme and were tested only there.
Why a browser bookmark does not work
Magento 2 admin bookmarks kept in the browser fail for a simple reason: every admin URL carries a secret key that changes with each login, so a bookmarked admin URL redirects to the dashboard the next morning. The module stores a link as its route path without the key (sales/order/view/order_id/5) and rebuilds it with a fresh key on every page render.
Two things that matter on large installs are not in the URL at all:
- Grid filters and the search keyword live in the user’s saved grid view (Magento’s UI bookmarks), not in the URL. A link to a filtered order grid opens it with whatever filter was used last. A quick link saved from a grid stores the filters and keyword with the link and writes them back into the grid’s current view when it opens. A link saved from an unfiltered grid clears the filters when it opens, so "Orders" always shows every order.
- The config scope is part of the URL, so a starred section at website or store view scope reopens at that scope. Magento titles every config section "Configuration", so the label adds the section and the scope. Grid labels use the text of the grid’s own filter chips, so a website filter reads "Customers: Second Website", not the website id.
The star in the header shows whether the page on screen is already a link. It is filled only when starring would save a link that already exists: the same page with the same filters. Several links to one grid, one per filter set, coexist.
Before and after
Before
- Click Stores, click Configuration, open the Sales tab, click Payment Methods.
- Open the scope switcher, pick the website, confirm the dialog.
- For the pending orders of one store view: open Orders, open Filters, pick the store view and the status, apply.
- Repeat both after every login. Magento 2 admin bookmarks saved in the browser land on the dashboard.
After
- One click on "Configuration: Payment Methods (Second Website)" in the header.
- One click on "Orders: Second Store View, Pending".
- The chips stay reachable while scrolling: inside Magento’s sticky action bar on edit and config pages, and in a bar of their own on pages without one.
- Reordering is drag and drop on the chips, or on the System → Tools → BroCode Quick Links page, which also renames, pins, unpins, deletes and adds external links.

Installation
composer require brocode/module-adminhtml-quicklinks
bin/magento module:enable BroCode_AdminhtmlQuickLinks
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
In production mode, also deploy the admin static content as usual. The module adds one table, brocode_adminhtml_quicklink, and no frontend code.
Compatibility
- PHP 8.1, 8.2, 8.3, 8.4
- Magento 2.4 Open Source; tested on 2.4.8-p5 with two websites, four store views and a custom admin frontName
- Grid filters: every grid built on Magento’s UI listing component, which covers orders, invoices, customers and products
- Default Magento backend theme
FAQ
Do Magento 2 admin bookmarks keep the website or store view scope of a config page?
Yes. The scope is part of the stored route path, so the link reopens the section at the same scope, also after a new login. The label names the scope: "Configuration: Payment Methods (Second Website)".
Can one grid have several quick links with different filters?
Yes. Each link stores its own filters and search keyword. "Orders: Pending" and "Orders: Second Store View, Complete" open the same grid with different filters, and a plain "Orders" link opens it unfiltered.
Who sees my Magento 2 admin bookmarks?
Only you. Every link belongs to one admin user, the user comes from the session and never from the request, and deleting an admin user deletes that user’s links. A role without the module’s ACL resource under System → Tools sees no star and no links.
Does opening a filtered link change my saved grid views?
It changes the grid’s current state, exactly as setting the filters by hand would. Named views saved in the grid’s view switcher are not touched.
Do links to single records work, such as one order or one product?
Yes. Record ids are part of the route path, so sales/order/view/order_id/5 stays a working link after every login.
Related reading
- Simpler Magento 2 admin menus: why the module’s page sits under System → Tools and not in a top-level menu of its own.
- Magento 2 Adminhtml Cache Eviction Module: another admin shortcut, cache flushing straight from the notification bar.
- Magento 2 Config Data API Module: reading config values per scope over REST, for installs where the admin is not the only way in.