[{"data":1,"prerenderedAt":804},["ShallowReactive",2],{"news-post-wordpress-7-0-admin-dataviews-what-changed":3,"news-related-wordpress-7-0-admin-dataviews-what-changed":221},{"id":4,"date":5,"date_gmt":5,"guid":6,"modified":5,"modified_gmt":5,"slug":8,"status":9,"type":10,"link":7,"title":11,"content":13,"excerpt":16,"author":18,"featured_media":19,"comment_status":20,"ping_status":20,"sticky":15,"template":21,"format":22,"meta":23,"categories":24,"tags":27,"class_list":28,"acf":37,"_links":38,"_embedded":79},13150,"2026-05-21T10:05:00",{"rendered":7},"https://data.uipress.co/wordpress-7-0-admin-dataviews-what-changed/","wordpress-7-0-admin-dataviews-what-changed","publish","post",{"rendered":12},"WordPress 7.0 Admin: DataViews, the Modern Palette, and What Still Needs a Theme",{"rendered":14,"protected":15},"\u003Cp>WordPress 7.0 shipped on 20 May 2026 as the first major release of the year. The pieces that change daily admin work are easy to overstate in recaps: a “Modern” colour scheme, DataViews on list-style screens, a more present command palette, and an AI Connectors settings screen. None of that is a new WordPress admin theme. It is core catching up in specific places.\u003C/p>\n\u003Cp>If you searched for “WordPress 7 admin ui” in May, or you are still deciding what to keep of 7.0 after 7.1, this is the practical split: what actually changed on the list screens, and what you still have to provide yourself.\u003C/p>\n\u003Ch2 id=\"what-wordpress-7-0-changed-in-the-admin\">What WordPress 7.0 changed in the admin\u003C/h2>\n\u003Ch3 id=\"dataviews-on-posts-pages-and-media\">DataViews on posts, pages, and media\u003C/h3>\n\u003Cp>DataViews replace the old list-table pattern with a React interface: filters and sorting without a full reload, and a layout that feels closer to a SaaS app than a 2013 table. For content teams that live on Posts and Pages, that is the 7.0 change they notice first.\u003C/p>\n\u003Cp>It is also the change that breaks plugins. Anything that added custom columns or bulk actions to those screens had to be retested. WooCommerce stores felt it on orders and products when extensions still assumed classic list tables. WooCommerce shipped admin style fixes in the 10.6.2 line for a reason.\u003C/p>\n\u003Ch3 id=\"a-modern-default-colour-scheme\">A “Modern” default colour scheme\u003C/h3>\n\u003Cp>Fresh installs — and users who had never picked a scheme — got a higher-contrast default. Buttons, inputs, and light transitions between screens look newer. Existing schemes are still in Users → Profile. This is a palette, not a dashboard redesign.\u003C/p>\n\u003Ch3 id=\"command-palette-reach\">Command palette reach\u003C/h3>\n\u003Cp>Ctrl/Cmd + K became more useful outside a single editor context. That helps people who already think in commands. It does not replace a global search that covers users, taxonomies, and plugin screens. We wrote about that gap in \u003Ca href=\"https://www.uipress.co/news/wordpress-global-search-admin-shortcut\">WordPress global search\u003C/a>.\u003C/p>\n\u003Ch3 id=\"ai-connectors-not-a-magic-editor\">AI Connectors, not a magic editor\u003C/h3>\n\u003Cp>Settings → Connectors is infrastructure: API keys for providers, used by features that opt in. It is not a reason to skip staging. It is also not a replacement for an editorial workflow.\u003C/p>\n\u003Ch2 id=\"what-did-not-ship-as-a-finished-admin\">What did not ship as a finished admin\u003C/h2>\n\u003Cp>Real-time collaboration was pulled from the original 7.0 plan and moved later in the year. Treat vendor posts that list it as a 7.0 headline as outdated.\u003C/p>\n\u003Cp>More important for agencies: 7.0 did not give you\u003C/p>\n\u003Cul>\n\u003Cli>A role-specific client dashboard\u003C/li>\n\u003Cli>White-label login and copy\u003C/li>\n\u003Cli>A dark mode that covers third-party plugin settings\u003C/li>\n\u003Cli>A plugin manager with recovery and performance context\u003C/li>\n\u003Cli>Guaranteed compatibility for every custom column on WooCommerce orders\u003C/li>\n\u003C/ul>\n\u003Cp>DataViews modernised some lists. The rest of wp-admin is still a collection of plugin screens with their own CSS.\u003C/p>\n\u003Ch2 id=\"what-to-test-before-you-call-7-0-done\">What to test before you call 7.0 “done”\u003C/h2>\n\u003Col>\n\u003Cli>Posts, pages, and media filters your team actually uses — authors, categories, dates.\u003C/li>\n\u003Cli>Any plugin that added a column to those lists (SEO scores, page builders, translation).\u003C/li>\n\u003Cli>WooCommerce orders, products, and coupons if you run a store. Update WooCommerce first.\u003C/li>\n\u003Cli>Page builder admin UIs. Elementor, Divi, Bricks, and Breakdance have all had admin-chrome fights in this cycle.\u003C/li>\n\u003Cli>Custom admin CSS. Selectors that targeted \u003Ccode>.wp-list-table\u003C/code> may do nothing useful now.\u003C/li>\n\u003C/ol>\n\u003Cp>Do this on staging. 7.0 also raised the PHP conversation for older hosts. Confirm the runtime before you click Update on production.\u003C/p>\n\u003Ch2 id=\"where-an-admin-theme-still-earns-its-keep\">Where an admin theme still earns its keep\u003C/h2>\n\u003Cp>Core list screens can look more modern and still be the wrong home screen for a client. You still need cards, roles, and a menu that does not include Plugins.\u003C/p>\n\u003Cp>uiXpress sits on top of that core work: a \u003Ca href=\"https://www.uipress.co/features/dashboard\">custom dashboard\u003C/a>, modern posts tables with inline editing and batch actions, a rebuilt \u003Ca href=\"https://www.uipress.co/features/media-library\">media library\u003C/a>, and dark mode that does not stop at the new colour scheme. DataViews and a Modern palette do not compete with that. They change the baseline you theme against.\u003C/p>\n\u003Ch2 id=\"7-0-then-7-1\">7.0 then 7.1\u003C/h2>\n\u003Cp>If you already updated to 7.1, keep the 7.0 list-screen testing on your checklist. The August release added a persistent admin bar and design tokens; it did not undo DataViews. For the later chrome changes, see \u003Ca href=\"https://www.uipress.co/news/wordpress-7-1-admin-ui-what-changed\">WordPress 7.1 admin UI\u003C/a>.\u003C/p>\n\u003Cp>WordPress 7.0 made parts of the admin feel newer. It did not finish the admin. Treat DataViews as a compatibility project, then decide whether your clients still need a real admin theme around it.\u003C/p>\n",false,{"rendered":17,"protected":15},"\u003Cp>WordPress 7.0 modernised list screens with DataViews and a new default palette. It did not finish the admin. Here is what to test and what still needs a theme.\u003C/p>\n",1,13149,"closed","","standard",{"_acf_changed":15,"_eb_attr":21,"footnotes":21},[25,26],7,5,[],[29,10,30,31,32,33,34,35,36],"post-13150","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-news",[],{"self":39,"collection":45,"about":48,"author":51,"replies":55,"version-history":58,"wp:featuredmedia":62,"wp:attachment":65,"wp:term":68,"curies":75},[40],{"href":41,"targetHints":42},"https://data.uipress.co/wp-json/wp/v2/posts/13150",{"allow":43},[44],"GET",[46],{"href":47},"https://data.uipress.co/wp-json/wp/v2/posts",[49],{"href":50},"https://data.uipress.co/wp-json/wp/v2/types/post",[52],{"embeddable":53,"href":54},true,"https://data.uipress.co/wp-json/wp/v2/users/1",[56],{"embeddable":53,"href":57},"https://data.uipress.co/wp-json/wp/v2/comments?post=13150",[59],{"count":60,"href":61},0,"https://data.uipress.co/wp-json/wp/v2/posts/13150/revisions",[63],{"embeddable":53,"href":64},"https://data.uipress.co/wp-json/wp/v2/media/13149",[66],{"href":67},"https://data.uipress.co/wp-json/wp/v2/media?parent=13150",[69,72],{"taxonomy":70,"embeddable":53,"href":71},"category","https://data.uipress.co/wp-json/wp/v2/categories?post=13150",{"taxonomy":73,"embeddable":53,"href":74},"post_tag","https://data.uipress.co/wp-json/wp/v2/tags?post=13150",[76],{"name":77,"href":78,"templated":53},"wp","https://api.w.org/{rel}",{"author":80,"wp:featuredmedia":100,"wp:term":176},[81],{"id":18,"name":82,"url":83,"description":21,"link":84,"slug":85,"avatar_urls":86,"acf":91,"_links":92},"mark.ashton","http://home.uipress.co","https://data.uipress.co/author/mark-ashton/","mark-ashton",{"24":87,"48":88,"96":89,"128":90},"https://secure.gravatar.com/avatar/27fafe7ca4d54e25aa91f001a17d4da4b5ec5a58b0d5236358218dd39413eb83?s=24&d=mm&r=g","https://secure.gravatar.com/avatar/27fafe7ca4d54e25aa91f001a17d4da4b5ec5a58b0d5236358218dd39413eb83?s=48&d=mm&r=g","https://secure.gravatar.com/avatar/27fafe7ca4d54e25aa91f001a17d4da4b5ec5a58b0d5236358218dd39413eb83?s=96&d=mm&r=g","https://secure.gravatar.com/avatar/27fafe7ca4d54e25aa91f001a17d4da4b5ec5a58b0d5236358218dd39413eb83?s=128&d=mm&r=g",[],{"self":93,"collection":97},[94],{"href":54,"targetHints":95},{"allow":96},[44],[98],{"href":99},"https://data.uipress.co/wp-json/wp/v2/users",[101],{"id":19,"date":102,"slug":103,"type":104,"link":105,"title":106,"author":18,"featured_media":60,"acf":108,"caption":109,"alt_text":107,"media_type":111,"mime_type":112,"media_details":113,"source_url":156,"_links":160},"2026-08-24T08:21:42","modern-post-tables","attachment","https://data.uipress.co/modern-post-tables/",{"rendered":107},"Modern WordPress posts table after the WordPress 7.0 DataViews update",[],{"rendered":110},"\u003Cp>Modern WordPress posts table after the WordPress 7.0 DataViews update\u003C/p>\n","image","image/png",{"width":114,"height":115,"file":116,"filesize":117,"sizes":118,"image_meta":157},2378,1666,"2026/08/modern-post-tables.png",420529,{"medium":119,"large":125,"thumbnail":131,"medium_large":136,"1536x1536":142,"2048x2048":148,"full":154},{"file":120,"width":121,"height":122,"filesize":123,"mime_type":112,"source_url":124},"modern-post-tables-300x210.png",300,210,19240,"https://data.uipress.co/wp-content/uploads/2026/08/modern-post-tables-300x210.png",{"file":126,"width":127,"height":128,"filesize":129,"mime_type":112,"source_url":130},"modern-post-tables-1024x717.png",1024,717,128573,"https://data.uipress.co/wp-content/uploads/2026/08/modern-post-tables-1024x717.png",{"file":132,"width":133,"height":133,"filesize":134,"mime_type":112,"source_url":135},"modern-post-tables-150x150.png",150,7431,"https://data.uipress.co/wp-content/uploads/2026/08/modern-post-tables-150x150.png",{"file":137,"width":138,"height":139,"filesize":140,"mime_type":112,"source_url":141},"modern-post-tables-768x538.png",768,538,84753,"https://data.uipress.co/wp-content/uploads/2026/08/modern-post-tables-768x538.png",{"file":143,"width":144,"height":145,"filesize":146,"mime_type":112,"source_url":147},"modern-post-tables-1536x1076.png",1536,1076,241391,"https://data.uipress.co/wp-content/uploads/2026/08/modern-post-tables-1536x1076.png",{"file":149,"width":150,"height":151,"filesize":152,"mime_type":112,"source_url":153},"modern-post-tables-2048x1435.png",2048,1435,358336,"https://data.uipress.co/wp-content/uploads/2026/08/modern-post-tables-2048x1435.png",{"file":155,"width":114,"height":115,"mime_type":112,"source_url":156},"modern-post-tables.png","https://data.uipress.co/wp-content/uploads/2026/08/modern-post-tables.png",{"aperture":158,"credit":21,"camera":21,"caption":21,"created_timestamp":158,"copyright":21,"focal_length":158,"iso":158,"shutter_speed":158,"title":21,"orientation":158,"keywords":159,"alt":21},"0",[],{"self":161,"collection":165,"about":168,"author":171,"replies":173},[162],{"href":64,"targetHints":163},{"allow":164},[44],[166],{"href":167},"https://data.uipress.co/wp-json/wp/v2/media",[169],{"href":170},"https://data.uipress.co/wp-json/wp/v2/types/attachment",[172],{"embeddable":53,"href":54},[174],{"embeddable":53,"href":175},"https://data.uipress.co/wp-json/wp/v2/comments?post=13149",[177,220],[178,200],{"id":25,"link":179,"name":180,"slug":181,"taxonomy":70,"acf":182,"_links":183},"https://data.uipress.co/category/blog/","Blog","blog",[],{"self":184,"collection":189,"about":192,"wp:post_type":195,"curies":198},[185],{"href":186,"targetHints":187},"https://data.uipress.co/wp-json/wp/v2/categories/7",{"allow":188},[44],[190],{"href":191},"https://data.uipress.co/wp-json/wp/v2/categories",[193],{"href":194},"https://data.uipress.co/wp-json/wp/v2/taxonomies/category",[196],{"href":197},"https://data.uipress.co/wp-json/wp/v2/posts?categories=7",[199],{"name":77,"href":78,"templated":53},{"id":26,"link":201,"name":202,"slug":203,"taxonomy":70,"acf":204,"_links":205},"https://data.uipress.co/category/news/","News","news",[],{"self":206,"collection":211,"about":213,"wp:post_type":215,"curies":218},[207],{"href":208,"targetHints":209},"https://data.uipress.co/wp-json/wp/v2/categories/5",{"allow":210},[44],[212],{"href":191},[214],{"href":194},[216],{"href":217},"https://data.uipress.co/wp-json/wp/v2/posts?categories=5",[219],{"name":77,"href":78,"templated":53},[],[222,382,516,660],{"id":223,"date":224,"date_gmt":224,"guid":225,"modified":224,"modified_gmt":224,"slug":227,"status":9,"type":10,"link":226,"title":228,"content":230,"excerpt":232,"author":18,"featured_media":234,"comment_status":20,"ping_status":20,"sticky":15,"template":21,"format":22,"meta":235,"categories":236,"tags":237,"class_list":238,"acf":240,"_links":241,"_embedded":272},13142,"2026-08-20T09:30:00",{"rendered":226},"https://data.uipress.co/wordpress-7-1-admin-ui-what-changed/","wordpress-7-1-admin-ui-what-changed",{"rendered":229},"WordPress 7.1 Admin UI: What Changed and What Agencies Still Need",{"rendered":231,"protected":15},"\u003Cp>WordPress 7.1 landed on 19 August 2026, timed with WordCamp US. The headline features are easy to list: a persistent admin bar in the editors, a new media editor, richer notes with @mentions, Playlist and Tabs blocks, and a design-system foundation for theming admin interfaces.\u003C/p>\n\u003Cp>If you searched for “WordPress 7 admin UI,” “WordPress new admin ui,” or “WordPress admin redesign,” you were probably hoping this was the year core finally replaced wp-admin. It is not. 7.1 makes the admin more consistent. It does not give you a modern WordPress admin theme, a client dashboard, or a white-label handover.\u003C/p>\n\u003Ch2 id=\"what-actually-changed-in-the-wordpress-7-1-admin\">What actually changed in the WordPress 7.1 admin\u003C/h2>\n\u003Ch3 id=\"the-admin-bar-stays-with-you\">The admin bar stays with you\u003C/h3>\n\u003Cp>The admin bar now remains visible in the Site Editor and Block Editor. Navigation no longer disappears the moment you start editing. There is a small visual refresh, and the old W-logo corner behaviour has been cleaned up in favour of a clearer back path. If you need the old focus, Distraction Free mode still hides the bar.\u003C/p>\n\u003Cp>If your plugin injects nodes into the toolbar, retest it in the Site Editor. Persistent chrome changes layout assumptions that have been true for years.\u003C/p>\n\u003Ch3 id=\"a-more-personal-admin-in-small-pieces\">A more personal admin, in small pieces\u003C/h3>\n\u003Cp>7.1 includes quality-of-life admin work that adds up: the command palette remembers recent commands, the Site Editor respects your admin colour scheme instead of a fixed dark sidebar, and site identity settings (title, tagline, logo, icon) now live under Design → Identity.\u003C/p>\n\u003Cp>These are the right kind of core changes — boring, useful, easy to miss in a recap that only talks about new blocks.\u003C/p>\n\u003Ch3 id=\"design-system-tokens-not-a-new-dashboard\">Design system tokens, not a new dashboard\u003C/h3>\n\u003Cp>Developers get semantic design tokens and a React \u003Ccode>ThemeProvider\u003C/code> so custom admin panels can follow colour, radius, and cursor styles without hard-coded hex values. The Site Editor is an early consumer.\u003C/p>\n\u003Cp>Read the scope carefully. Full admin theming did not ship. You cannot point 7.1 at a brand palette and get a white-label wp-admin. You can make \u003Cem>new\u003C/em> admin UI feel more like WordPress. The rest of the dashboard, list tables, and plugin screens are still the classic admin.\u003C/p>\n\u003Ch3 id=\"media-and-collaboration\">Media and collaboration\u003C/h3>\n\u003Cp>The new media editor brings cropping, flipping, rotation, and metadata into one workflow. Notes can sit on a text selection, support rich text, and notify people via @mentions. Those features help writers. They do not rebuild the media library or the users screen.\u003C/p>\n\u003Ch2 id=\"what-agencies-still-need-after-7-1\">What agencies still need after 7.1\u003C/h2>\n\u003Cp>Core should keep improving navigation. Agencies still have to deliver an admin that clients will use.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>A custom dashboard.\u003C/strong> 7.1 did not replace At a Glance and WordPress News with role-specific analytics.\u003C/li>\n\u003Cli>\u003Cstrong>A real dark mode.\u003C/strong> Colour schemes and tokens are not Dark Engine. Plugin screens still need a dedicated approach.\u003C/li>\n\u003Cli>\u003Cstrong>White label.\u003C/strong> Login, favicon, footer, and copy replacement remain plugin or theme work.\u003C/li>\n\u003Cli>\u003Cstrong>Plugin management and activity logs.\u003C/strong> Operational tooling is still third-party.\u003C/li>\n\u003Cli>\u003Cstrong>Role-specific menus.\u003C/strong> Persistent chrome does not hide Plugins from a client role.\u003C/li>\n\u003C/ul>\n\u003Cp>The official \u003Ca href=\"https://wordpress.org/news/2026/08/mary-lou/\">WordPress 7.1 announcement\u003C/a> is the right source for the feature list. The conclusion for product teams is simpler: core is investing in the editor chrome and in APIs. The daily admin for a WooCommerce store or a 40-plugin client site is still yours to design.\u003C/p>\n\u003Ch2 id=\"should-you-update\">Should you update?\u003C/h2>\n\u003Cp>Yes. 7.1 is a major release. Update staging first if you run a page builder, WooCommerce, or a heavily customised admin. Pay extra attention to anything that hooks \u003Ccode>admin_bar_menu\u003C/code> or sits next to the editor header.\u003C/p>\n\u003Cp>Also stay current on the 7.0.x security line if you have not already. The August security release included a serious login-page issue. Admin UI news is not a reason to skip security updates.\u003C/p>\n\u003Ch2 id=\"where-uixpress-fits-next-to-wordpress-7-1\">Where uiXpress fits next to WordPress 7.1\u003C/h2>\n\u003Cp>uiXpress is a modern WordPress admin theme: dashboard cards, \u003Ca href=\"https://www.uipress.co/features/dark-mode\">dark mode\u003C/a>, \u003Ca href=\"https://www.uipress.co/features/global-search\">global search\u003C/a>, plugin manager, media library, role editor, and white label. It does not fight the 7.1 persistent admin bar. It covers the surfaces 7.1 left alone.\u003C/p>\n\u003Cp>If you build custom admin cards, the new design tokens are worth adopting so your panels track core’s colour system. If you need the whole admin to feel like a product you can hand to a client, tokens will not get you there. An admin theme will.\u003C/p>\n\u003Ch2 id=\"a-sensible-7-1-checklist-for-teams-using-an-admin-theme\">A sensible 7.1 checklist for teams using an admin theme\u003C/h2>\n\u003Col>\n\u003Cli>Update staging and walk the Site Editor with the toolbar visible.\u003C/li>\n\u003Cli>Retest plugin-added admin-bar items.\u003C/li>\n\u003Cli>Try the new media editor on a real image, then confirm your media-library plugin still owns the library screens you care about.\u003C/li>\n\u003Cli>If you ship custom React admin UI, plan a token pass. Do not rewrite your whole theme for ThemeProvider in week one.\u003C/li>\n\u003Cli>Keep your client dashboard, roles, and white label in the admin layer you already trust.\u003C/li>\n\u003C/ol>\n\u003Cp>WordPress 7.1 is a better admin to build on. It is not the WordPress admin redesign those search queries are asking for. If you still want a modern dashboard, dark mode, and a branded client experience, that is the job \u003Ca href=\"https://www.uipress.co/\">uiXpress\u003C/a> is already doing on top of core.\u003C/p>\n",{"rendered":233,"protected":15},"\u003Cp>WordPress 7.1 improved admin navigation and design tokens. It is not the admin redesign agencies still need for dashboards, dark mode, and white label.\u003C/p>\n",13141,{"_acf_changed":15,"_eb_attr":21,"footnotes":21},[25,26],[],[239,10,30,31,32,33,34,35,36],"post-13142",[],{"self":242,"collection":247,"about":249,"author":251,"replies":253,"version-history":256,"wp:featuredmedia":259,"wp:attachment":262,"wp:term":265,"curies":270},[243],{"href":244,"targetHints":245},"https://data.uipress.co/wp-json/wp/v2/posts/13142",{"allow":246},[44],[248],{"href":47},[250],{"href":50},[252],{"embeddable":53,"href":54},[254],{"embeddable":53,"href":255},"https://data.uipress.co/wp-json/wp/v2/comments?post=13142",[257],{"count":60,"href":258},"https://data.uipress.co/wp-json/wp/v2/posts/13142/revisions",[260],{"embeddable":53,"href":261},"https://data.uipress.co/wp-json/wp/v2/media/13141",[263],{"href":264},"https://data.uipress.co/wp-json/wp/v2/media?parent=13142",[266,268],{"taxonomy":70,"embeddable":53,"href":267},"https://data.uipress.co/wp-json/wp/v2/categories?post=13142",{"taxonomy":73,"embeddable":53,"href":269},"https://data.uipress.co/wp-json/wp/v2/tags?post=13142",[271],{"name":77,"href":78,"templated":53},{"author":273,"wp:featuredmedia":284,"wp:term":349},[274],{"id":18,"name":82,"url":83,"description":21,"link":84,"slug":85,"avatar_urls":275,"acf":276,"_links":277},{"24":87,"48":88,"96":89,"128":90},[],{"self":278,"collection":282},[279],{"href":54,"targetHints":280},{"allow":281},[44],[283],{"href":99},[285],{"id":234,"date":286,"slug":287,"type":104,"link":288,"title":289,"author":18,"featured_media":60,"acf":291,"caption":292,"alt_text":290,"media_type":111,"mime_type":112,"media_details":294,"source_url":331,"_links":335},"2026-08-24T08:11:56","modern-wordpress-dashboard","https://data.uipress.co/modern-wordpress-dashboard/",{"rendered":290},"Modern WordPress admin dashboard in uiXpress after WordPress 7.1",[],{"rendered":293},"\u003Cp>Modern WordPress admin dashboard in uiXpress after WordPress 7.1\u003C/p>\n",{"width":295,"height":296,"file":297,"filesize":298,"sizes":299,"image_meta":332,"original_image":334},2560,1466,"2026/08/modern-wordpress-dashboard-scaled.png",392062,{"medium":300,"large":305,"thumbnail":310,"medium_large":314,"1536x1536":319,"2048x2048":324,"full":329},{"file":301,"width":121,"height":302,"filesize":303,"mime_type":112,"source_url":304},"modern-wordpress-dashboard-300x172.png",172,15827,"https://data.uipress.co/wp-content/uploads/2026/08/modern-wordpress-dashboard-300x172.png",{"file":306,"width":127,"height":307,"filesize":308,"mime_type":112,"source_url":309},"modern-wordpress-dashboard-1024x586.png",586,108360,"https://data.uipress.co/wp-content/uploads/2026/08/modern-wordpress-dashboard-1024x586.png",{"file":311,"width":133,"height":133,"filesize":312,"mime_type":112,"source_url":313},"modern-wordpress-dashboard-150x150.png",6198,"https://data.uipress.co/wp-content/uploads/2026/08/modern-wordpress-dashboard-150x150.png",{"file":315,"width":138,"height":316,"filesize":317,"mime_type":112,"source_url":318},"modern-wordpress-dashboard-768x440.png",440,69571,"https://data.uipress.co/wp-content/uploads/2026/08/modern-wordpress-dashboard-768x440.png",{"file":320,"width":144,"height":321,"filesize":322,"mime_type":112,"source_url":323},"modern-wordpress-dashboard-1536x879.png",879,197586,"https://data.uipress.co/wp-content/uploads/2026/08/modern-wordpress-dashboard-1536x879.png",{"file":325,"width":150,"height":326,"filesize":327,"mime_type":112,"source_url":328},"modern-wordpress-dashboard-2048x1173.png",1173,296416,"https://data.uipress.co/wp-content/uploads/2026/08/modern-wordpress-dashboard-2048x1173.png",{"file":330,"width":295,"height":296,"mime_type":112,"source_url":331},"modern-wordpress-dashboard-scaled.png","https://data.uipress.co/wp-content/uploads/2026/08/modern-wordpress-dashboard-scaled.png",{"aperture":158,"credit":21,"camera":21,"caption":21,"created_timestamp":158,"copyright":21,"focal_length":158,"iso":158,"shutter_speed":158,"title":21,"orientation":158,"keywords":333,"alt":21},[],"modern-wordpress-dashboard.png",{"self":336,"collection":340,"about":342,"author":344,"replies":346},[337],{"href":261,"targetHints":338},{"allow":339},[44],[341],{"href":167},[343],{"href":170},[345],{"embeddable":53,"href":54},[347],{"embeddable":53,"href":348},"https://data.uipress.co/wp-json/wp/v2/comments?post=13141",[350,381],[351,366],{"id":25,"link":179,"name":180,"slug":181,"taxonomy":70,"acf":352,"_links":353},[],{"self":354,"collection":358,"about":360,"wp:post_type":362,"curies":364},[355],{"href":186,"targetHints":356},{"allow":357},[44],[359],{"href":191},[361],{"href":194},[363],{"href":197},[365],{"name":77,"href":78,"templated":53},{"id":26,"link":201,"name":202,"slug":203,"taxonomy":70,"acf":367,"_links":368},[],{"self":369,"collection":373,"about":375,"wp:post_type":377,"curies":379},[370],{"href":208,"targetHints":371},{"allow":372},[44],[374],{"href":191},[376],{"href":194},[378],{"href":217},[380],{"name":77,"href":78,"templated":53},[],{"id":383,"date":384,"date_gmt":384,"guid":385,"modified":384,"modified_gmt":384,"slug":387,"status":9,"type":10,"link":386,"title":388,"content":390,"excerpt":392,"author":18,"featured_media":394,"comment_status":20,"ping_status":20,"sticky":15,"template":21,"format":22,"meta":395,"categories":396,"tags":397,"class_list":398,"acf":400,"_links":401,"_embedded":432},13152,"2026-08-06T13:10:00",{"rendered":386},"https://data.uipress.co/manage-multiple-wordpress-sites-one-admin/","manage-multiple-wordpress-sites-one-admin",{"rendered":389},"Manage Multiple WordPress Sites from One Admin",{"rendered":391,"protected":15},"\u003Cp>Most agencies still manage WordPress as a row of logins. One tab per client, a password manager, and a hope that you are not updating plugins on the wrong site. Search queries like “wp remote,” “remote WordPress,” and “remote site management” are people looking for a way to work across installs without that tab pile.\u003C/p>\n\u003Cp>There is already a category for this — manage-WP-style dashboards, host panels, and multisite. They are not the same job as switching site context inside a modern admin you already use for content, plugins, and users.\u003C/p>\n\u003Ch2 id=\"remote-sites-vs-multisite-vs-a-saas-manager\">Remote sites vs multisite vs a SaaS manager\u003C/h2>\n\u003Cp>Pick the model that matches how the sites are actually hosted.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Multisite\u003C/strong> is one WordPress install, many sites, one user table. Fine for a network you control. Useless when each client is on a different host with a different database.\u003C/li>\n\u003Cli>\u003Cstrong>A hosted manager\u003C/strong> (MainWP, ManageWP, and similar) is a control plane: updates, backups, uptime. Strong at fleet maintenance. Weaker if you want to \u003Cem>work inside\u003C/em> that site’s posts, media, and users with your usual admin UI.\u003C/li>\n\u003Cli>\u003Cstrong>Remote sites inside the admin\u003C/strong> connect other WordPress installs to the workspace you are already in, then route supported requests to the selected site.\u003C/li>\n\u003C/ul>\n\u003Cp>If your day is “update twenty sites,” a fleet tool wins. If your day is “fix this client’s admin, then the next,” staying in one admin theme and switching site context is the better fit.\u003C/p>\n\u003Ch2 id=\"what-a-safe-remote-connection-requires\">What a safe remote connection requires\u003C/h2>\n\u003Cp>Do not paste an Administrator password into a plugin and call it remote management.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Application passwords\u003C/strong>, not the user’s login password. WordPress supports this natively. Revoke is one click when a contractor leaves.\u003C/li>\n\u003Cli>\u003Cstrong>Encrypted storage on the host site.\u003C/strong> Credentials should not sit in a browser or a plaintext option.\u003C/li>\n\u003Cli>\u003Cstrong>Capability checks\u003C/strong> on who can add or use a connection. Not every editor should see every client.\u003C/li>\n\u003Cli>\u003Cstrong>Clear site context\u003C/strong> on every screen. The worst remote-management bug is acting on the wrong install.\u003C/li>\n\u003Cli>\u003Cstrong>HTTPS and a user who can be limited.\u003C/strong> Prefer a dedicated application-password user over your personal super admin.\u003C/li>\n\u003C/ul>\n\u003Cp>If a tool wants FTP plus admin credentials to “manage everything,” treat that as a last resort, not a default.\u003C/p>\n\u003Ch2 id=\"a-workflow-that-does-not-mix-up-clients\">A workflow that does not mix up clients\u003C/h2>\n\u003Col>\n\u003Cli>Create a dedicated user on the remote site with only the capabilities you need.\u003C/li>\n\u003Cli>Generate an application password for that user. Label it with the connecting site’s name.\u003C/li>\n\u003Cli>Add the connection from your hub admin. Confirm the site title in the switcher before you touch plugins.\u003C/li>\n\u003Cli>Do the work. Check the site indicator before updates or deletions.\u003C/li>\n\u003Cli>Revoke the application password when the project ends, even if you keep the row for later.\u003C/li>\n\u003C/ol>\n\u003Cp>Write the site name into the activity log habit too. If something goes wrong, you want “we updated plugins on Client B at 14:10,” not a guess.\u003C/p>\n\u003Ch2 id=\"remote-sites-in-uixpress\">Remote sites in uiXpress\u003C/h2>\n\u003Cp>uiXpress \u003Ca href=\"https://www.uipress.co/features/remote-sites\">Remote Sites\u003C/a> connects other WordPress installs into the same admin: application-password auth, credentials encrypted on the host, capability checks, and a switcher that persists as you move between supported tools. REST requests route to the selected site so you are not copy-pasting between tabs.\u003C/p>\n\u003Cp>The point is not to replace your backup or uptime stack. The point is to keep plugin management, content, and users in the admin theme you already standardised — locally or remotely — without a second product’s UI.\u003C/p>\n\u003Ch2 id=\"when-you-should-not-use-in-admin-remote-access\">When you should not use in-admin remote access\u003C/h2>\n\u003Cp>Skip it and use the host or a fleet tool when:\u003C/p>\n\u003Cul>\n\u003Cli>The site is down and wp-admin will not load\u003C/li>\n\u003Cli>You need server-level backups, migrations, or PHP upgrades\u003C/li>\n\u003Cli>You do not have a trusted Administrator who can create an application password\u003C/li>\n\u003Cli>A compliance rule forbids storing any remote credential on another site\u003C/li>\n\u003C/ul>\n\u003Cp>Remote admin is for sites that are healthy enough to answer the REST API.\u003C/p>\n\u003Ch2 id=\"one-hub-many-clients\">One hub, many clients\u003C/h2>\n\u003Cp>Agencies get the most from this when the hub site is yours — a staging or operations install running the same admin theme as the clients. Standardise roles, dashboards, and plugin policy there, then switch into a client only when you need their content or their plugin list.\u003C/p>\n\u003Cp>Managing multiple WordPress sites from one admin is not magic. It is authentication, a visible site context, and the discipline to revoke access. If you have been jumping through a dozen \u003Ccode>/wp-admin\u003C/code> tabs, that is the layer to add next.\u003C/p>\n",{"rendered":393,"protected":15},"\u003Cp>Remote WordPress management should not be a pile of admin tabs. Connect sites with application passwords and keep a visible site context before you update.\u003C/p>\n",13151,{"_acf_changed":15,"_eb_attr":21,"footnotes":21},[25],[],[399,10,30,31,32,33,34,35],"post-13152",[],{"self":402,"collection":407,"about":409,"author":411,"replies":413,"version-history":416,"wp:featuredmedia":419,"wp:attachment":422,"wp:term":425,"curies":430},[403],{"href":404,"targetHints":405},"https://data.uipress.co/wp-json/wp/v2/posts/13152",{"allow":406},[44],[408],{"href":47},[410],{"href":50},[412],{"embeddable":53,"href":54},[414],{"embeddable":53,"href":415},"https://data.uipress.co/wp-json/wp/v2/comments?post=13152",[417],{"count":60,"href":418},"https://data.uipress.co/wp-json/wp/v2/posts/13152/revisions",[420],{"embeddable":53,"href":421},"https://data.uipress.co/wp-json/wp/v2/media/13151",[423],{"href":424},"https://data.uipress.co/wp-json/wp/v2/media?parent=13152",[426,428],{"taxonomy":70,"embeddable":53,"href":427},"https://data.uipress.co/wp-json/wp/v2/categories?post=13152",{"taxonomy":73,"embeddable":53,"href":429},"https://data.uipress.co/wp-json/wp/v2/tags?post=13152",[431],{"name":77,"href":78,"templated":53},{"author":433,"wp:featuredmedia":444,"wp:term":498},[434],{"id":18,"name":82,"url":83,"description":21,"link":84,"slug":85,"avatar_urls":435,"acf":436,"_links":437},{"24":87,"48":88,"96":89,"128":90},[],{"self":438,"collection":442},[439],{"href":54,"targetHints":440},{"allow":441},[44],[443],{"href":99},[445],{"id":394,"date":446,"slug":447,"type":104,"link":448,"title":449,"author":18,"featured_media":60,"acf":451,"caption":452,"alt_text":450,"media_type":111,"mime_type":112,"media_details":454,"source_url":481,"_links":484},"2026-08-24T08:21:49","switcher-view","https://data.uipress.co/switcher-view/",{"rendered":450},"uiXpress remote site switcher for managing multiple WordPress sites",[],{"rendered":453},"\u003Cp>uiXpress remote site switcher for managing multiple WordPress sites\u003C/p>\n",{"width":455,"height":456,"file":457,"filesize":458,"sizes":459,"image_meta":482},1472,930,"2026/08/switcher-view.png",154853,{"medium":460,"large":465,"thumbnail":470,"medium_large":474,"full":479},{"file":461,"width":121,"height":462,"filesize":463,"mime_type":112,"source_url":464},"switcher-view-300x190.png",190,17761,"https://data.uipress.co/wp-content/uploads/2026/08/switcher-view-300x190.png",{"file":466,"width":127,"height":467,"filesize":468,"mime_type":112,"source_url":469},"switcher-view-1024x647.png",647,107946,"https://data.uipress.co/wp-content/uploads/2026/08/switcher-view-1024x647.png",{"file":471,"width":133,"height":133,"filesize":472,"mime_type":112,"source_url":473},"switcher-view-150x150.png",6998,"https://data.uipress.co/wp-content/uploads/2026/08/switcher-view-150x150.png",{"file":475,"width":138,"height":476,"filesize":477,"mime_type":112,"source_url":478},"switcher-view-768x485.png",485,72601,"https://data.uipress.co/wp-content/uploads/2026/08/switcher-view-768x485.png",{"file":480,"width":455,"height":456,"mime_type":112,"source_url":481},"switcher-view.png","https://data.uipress.co/wp-content/uploads/2026/08/switcher-view.png",{"aperture":158,"credit":21,"camera":21,"caption":21,"created_timestamp":158,"copyright":21,"focal_length":158,"iso":158,"shutter_speed":158,"title":21,"orientation":158,"keywords":483,"alt":21},[],{"self":485,"collection":489,"about":491,"author":493,"replies":495},[486],{"href":421,"targetHints":487},{"allow":488},[44],[490],{"href":167},[492],{"href":170},[494],{"embeddable":53,"href":54},[496],{"embeddable":53,"href":497},"https://data.uipress.co/wp-json/wp/v2/comments?post=13151",[499,515],[500],{"id":25,"link":179,"name":180,"slug":181,"taxonomy":70,"acf":501,"_links":502},[],{"self":503,"collection":507,"about":509,"wp:post_type":511,"curies":513},[504],{"href":186,"targetHints":505},{"allow":506},[44],[508],{"href":191},[510],{"href":194},[512],{"href":197},[514],{"name":77,"href":78,"templated":53},[],{"id":517,"date":518,"date_gmt":518,"guid":519,"modified":518,"modified_gmt":518,"slug":521,"status":9,"type":10,"link":520,"title":522,"content":524,"excerpt":526,"author":18,"featured_media":528,"comment_status":20,"ping_status":20,"sticky":15,"template":21,"format":22,"meta":529,"categories":530,"tags":531,"class_list":532,"acf":534,"_links":535,"_embedded":566},13140,"2026-07-29T10:00:00",{"rendered":520},"https://data.uipress.co/wordpress-dashboard-analytics-without-google-analytics/","wordpress-dashboard-analytics-without-google-analytics",{"rendered":523},"WordPress Dashboard Analytics Without Google Analytics",{"rendered":525,"protected":15},"\u003Cp>The default WordPress dashboard is a stack of widgets: At a Glance, Activity, WordPress News, and whatever each plugin decided to inject. It is not an analytics dashboard. If you want to know whether traffic moved this week, you leave wp-admin and open Google Analytics, a hosting panel, or a third-party script manager.\u003C/p>\n\u003Cp>That split is why people search for “WordPress dashboard analytics,” “custom WordPress admin dashboard,” and “WordPress dashboard plugin.” They want the numbers next to the work — publish a post, check the lift — without sending every visitor hit to Google by default.\u003C/p>\n\u003Ch2 id=\"the-problem-with-ga-first-wordpress-analytics\">The problem with GA-first WordPress analytics\u003C/h2>\n\u003Cp>Google Analytics 4 works. It is also a separate product, with consent banners, cookie conversations, and a UI that is not the WordPress admin. Common complaints we see in search data are literal: “Google Analytics not working WordPress,” missing tags, consent mode eating events, and ad blockers dropping the beacon.\u003C/p>\n\u003Cp>Even when GA works, it is the wrong surface for a Monday publishing meeting. Editors should not need a Google account to see whether yesterday’s article moved.\u003C/p>\n\u003Cp>Privacy is the other pressure. Plenty of sites can explain their traffic from first-party data stored in their own database: page views, referrers, devices, and active users. That is enough for editorial and agency reporting. It is not a replacement for marketing attribution. It does not need to be.\u003C/p>\n\u003Ch2 id=\"what-belongs-on-a-wordpress-analytics-dashboard\">What belongs on a WordPress analytics dashboard\u003C/h2>\n\u003Cp>A useful dashboard is a set of cards with a shared date range, not a widget soup.\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Page views and unique visitors\u003C/strong> with a comparison to the previous period\u003C/li>\n\u003Cli>\u003Cstrong>Top pages\u003C/strong> so you can see what is actually earning attention\u003C/li>\n\u003Cli>\u003Cstrong>Devices\u003C/strong> — mobile vs desktop still changes how you write and design\u003C/li>\n\u003Cli>\u003Cstrong>Referrers\u003C/strong> so you notice a campaign or a listing that started working\u003C/li>\n\u003Cli>\u003Cstrong>Active users\u003C/strong> if you care about “is anyone on the site right now”\u003C/li>\n\u003Cli>\u003Cstrong>Publishing context\u003C/strong> — scheduled posts, recent comments, media storage\u003C/li>\n\u003Cli>\u003Cstrong>System health\u003C/strong> — PHP memory, updates, disk. Not analytics, but it belongs on the same home screen\u003C/li>\n\u003C/ul>\n\u003Cp>If a card does not change a decision this week, remove it. The default WordPress News widget fails that test for almost every client.\u003C/p>\n\u003Ch2 id=\"privacy-first-does-not-mean-no-numbers\">Privacy-first does not mean “no numbers”\u003C/h2>\n\u003Cp>First-party analytics stored in WordPress can be intentionally limited: no cross-site identity, no advertising profile, no raw clickstream sold onward. You still get trend lines. You still get “this page is up 20% versus last week.”\u003C/p>\n\u003Cp>Be honest with clients about what you are not measuring. You will not rebuild GA4’s funnel reports in a dashboard card. You will answer “is the site moving?” without another login.\u003C/p>\n\u003Ch2 id=\"how-to-replace-the-default-wordpress-dashboard\">How to replace the default WordPress dashboard\u003C/h2>\n\u003Col>\n\u003Cli>Decide who the home screen is for. Editors, shop managers, and administrators need different cards.\u003C/li>\n\u003Cli>Remove core widgets that leak branding or noise.\u003C/li>\n\u003Cli>Put a date range at the top of the dashboard so every card agrees on the window.\u003C/li>\n\u003Cli>Keep publishing tools next to the numbers. A scheduled-post calendar beside traffic is more useful than either alone.\u003C/li>\n\u003Cli>Use roles so clients cannot hunt for plugin settings from the same screen you use for ops.\u003C/li>\n\u003C/ol>\n\u003Cp>This is custom WordPress admin dashboard work. Doing it with three separate plugins — hide widgets, add analytics, restyle the admin — is how the home screen becomes a fourth project.\u003C/p>\n\u003Ch2 id=\"dashboard-analytics-in-uixpress\">Dashboard analytics in uiXpress\u003C/h2>\n\u003Cp>uiXpress replaces the default home screen with a \u003Ca href=\"https://www.uipress.co/features/dashboard\">card-based dashboard\u003C/a>: 15+ cards for traffic, users, media, scheduled content, and server health. Analytics are privacy-first and stored on your site. A global date picker updates the cards together.\u003C/p>\n\u003Cp>That is the product answer to “WordPress dashboard plugin” that is not just a widget manager. You get a modern WordPress dashboard theme and the metrics layer in one admin.\u003C/p>\n\u003Cp>Developers can add cards through the Dashboard Cards API if a client needs a store-specific widget. Most teams can start with the built-in set and delete what they do not use.\u003C/p>\n\u003Ch2 id=\"when-you-still-need-google-analytics\">When you still need Google Analytics\u003C/h2>\n\u003Cp>Keep GA or another dedicated analytics tool when you need:\u003C/p>\n\u003Cul>\n\u003Cli>Marketing attribution and campaign parameters\u003C/li>\n\u003Cli>Cross-property reporting\u003C/li>\n\u003Cli>Audience tools you have already built processes around\u003C/li>\n\u003C/ul>\n\u003Cp>Run it beside a first-party dashboard, not instead of one. The admin home screen should still work if a cookie banner blocks the Google tag.\u003C/p>\n\u003Ch2 id=\"a-dashboard-people-will-actually-open\">A dashboard people will actually open\u003C/h2>\n\u003Cp>The test is simple. After lunch, does the team open wp-admin to see the site, or do they open six other tabs? If they only open WordPress to click Posts, your dashboard failed.\u003C/p>\n\u003Cp>Give them a date range, a handful of honest numbers, and the next scheduled post. That is a WordPress dashboard worth keeping. uiXpress is built around that home screen, not around decorating the default widgets.\u003C/p>\n",{"rendered":527,"protected":15},"\u003Cp>Editors should not need a Google account to see if a post moved. First-party WordPress dashboard analytics keep the numbers next to the work.\u003C/p>\n",13139,{"_acf_changed":15,"_eb_attr":21,"footnotes":21},[25],[],[533,10,30,31,32,33,34,35],"post-13140",[],{"self":536,"collection":541,"about":543,"author":545,"replies":547,"version-history":550,"wp:featuredmedia":553,"wp:attachment":556,"wp:term":559,"curies":564},[537],{"href":538,"targetHints":539},"https://data.uipress.co/wp-json/wp/v2/posts/13140",{"allow":540},[44],[542],{"href":47},[544],{"href":50},[546],{"embeddable":53,"href":54},[548],{"embeddable":53,"href":549},"https://data.uipress.co/wp-json/wp/v2/comments?post=13140",[551],{"count":60,"href":552},"https://data.uipress.co/wp-json/wp/v2/posts/13140/revisions",[554],{"embeddable":53,"href":555},"https://data.uipress.co/wp-json/wp/v2/media/13139",[557],{"href":558},"https://data.uipress.co/wp-json/wp/v2/media?parent=13140",[560,562],{"taxonomy":70,"embeddable":53,"href":561},"https://data.uipress.co/wp-json/wp/v2/categories?post=13140",{"taxonomy":73,"embeddable":53,"href":563},"https://data.uipress.co/wp-json/wp/v2/tags?post=13140",[565],{"name":77,"href":78,"templated":53},{"author":567,"wp:featuredmedia":578,"wp:term":642},[568],{"id":18,"name":82,"url":83,"description":21,"link":84,"slug":85,"avatar_urls":569,"acf":570,"_links":571},{"24":87,"48":88,"96":89,"128":90},[],{"self":572,"collection":576},[573],{"href":54,"targetHints":574},{"allow":575},[44],[577],{"href":99},[579],{"id":528,"date":580,"slug":581,"type":104,"link":582,"title":583,"author":18,"featured_media":60,"acf":585,"caption":586,"alt_text":584,"media_type":111,"mime_type":112,"media_details":588,"source_url":625,"_links":628},"2026-08-24T08:11:50","dashboard-analytics","https://data.uipress.co/dashboard-analytics/",{"rendered":584},"Privacy-first WordPress dashboard analytics cards in uiXpress",[],{"rendered":587},"\u003Cp>Privacy-first WordPress dashboard analytics cards in uiXpress\u003C/p>\n",{"width":589,"height":590,"file":591,"filesize":592,"sizes":593,"image_meta":626},2400,1770,"2026/08/dashboard-analytics.png",258001,{"medium":594,"large":599,"thumbnail":604,"medium_large":608,"1536x1536":613,"2048x2048":618,"full":623},{"file":595,"width":121,"height":596,"filesize":597,"mime_type":112,"source_url":598},"dashboard-analytics-300x221.png",221,20098,"https://data.uipress.co/wp-content/uploads/2026/08/dashboard-analytics-300x221.png",{"file":600,"width":127,"height":601,"filesize":602,"mime_type":112,"source_url":603},"dashboard-analytics-1024x755.png",755,130834,"https://data.uipress.co/wp-content/uploads/2026/08/dashboard-analytics-1024x755.png",{"file":605,"width":133,"height":133,"filesize":606,"mime_type":112,"source_url":607},"dashboard-analytics-150x150.png",7676,"https://data.uipress.co/wp-content/uploads/2026/08/dashboard-analytics-150x150.png",{"file":609,"width":138,"height":610,"filesize":611,"mime_type":112,"source_url":612},"dashboard-analytics-768x566.png",566,85772,"https://data.uipress.co/wp-content/uploads/2026/08/dashboard-analytics-768x566.png",{"file":614,"width":144,"height":615,"filesize":616,"mime_type":112,"source_url":617},"dashboard-analytics-1536x1133.png",1133,230320,"https://data.uipress.co/wp-content/uploads/2026/08/dashboard-analytics-1536x1133.png",{"file":619,"width":150,"height":620,"filesize":621,"mime_type":112,"source_url":622},"dashboard-analytics-2048x1510.png",1510,334746,"https://data.uipress.co/wp-content/uploads/2026/08/dashboard-analytics-2048x1510.png",{"file":624,"width":589,"height":590,"mime_type":112,"source_url":625},"dashboard-analytics.png","https://data.uipress.co/wp-content/uploads/2026/08/dashboard-analytics.png",{"aperture":158,"credit":21,"camera":21,"caption":21,"created_timestamp":158,"copyright":21,"focal_length":158,"iso":158,"shutter_speed":158,"title":21,"orientation":158,"keywords":627,"alt":21},[],{"self":629,"collection":633,"about":635,"author":637,"replies":639},[630],{"href":555,"targetHints":631},{"allow":632},[44],[634],{"href":167},[636],{"href":170},[638],{"embeddable":53,"href":54},[640],{"embeddable":53,"href":641},"https://data.uipress.co/wp-json/wp/v2/comments?post=13139",[643,659],[644],{"id":25,"link":179,"name":180,"slug":181,"taxonomy":70,"acf":645,"_links":646},[],{"self":647,"collection":651,"about":653,"wp:post_type":655,"curies":657},[648],{"href":186,"targetHints":649},{"allow":650},[44],[652],{"href":191},[654],{"href":194},[656],{"href":197},[658],{"name":77,"href":78,"templated":53},[],{"id":661,"date":662,"date_gmt":662,"guid":663,"modified":662,"modified_gmt":662,"slug":665,"status":9,"type":10,"link":664,"title":666,"content":668,"excerpt":670,"author":18,"featured_media":672,"comment_status":20,"ping_status":20,"sticky":15,"template":21,"format":22,"meta":673,"categories":674,"tags":675,"class_list":676,"acf":678,"_links":679,"_embedded":710},13138,"2026-07-09T11:25:00",{"rendered":664},"https://data.uipress.co/modern-wordpress-media-library-filter-bulk-edit/","modern-wordpress-media-library-filter-bulk-edit",{"rendered":667},"A Modern WordPress Media Library: Filter, Bulk Edit, and Find Unused Files",{"rendered":669,"protected":15},"\u003Cp>The default WordPress media library is a grid of thumbnails and a list view that still feels like 2015. It can upload files. It cannot answer the questions people actually have: which images are unused, which PDFs were uploaded this month, how do I set alt text on forty files, and why is this library 12GB?\u003C/p>\n\u003Cp>Queries like “media library UI,” “enhanced media library,” and “WordPress media library list view” come from people who have hit that ceiling. They do not need another gallery plugin for the front end. They need a media library that behaves like a working file manager.\u003C/p>\n\u003Ch2 id=\"where-the-default-media-library-slows-teams-down\">Where the default media library slows teams down\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Weak filtering.\u003C/strong> Date and type exist, but unused files, tags, and combined filters do not.\u003C/li>\n\u003Cli>\u003Cstrong>One-at-a-time metadata.\u003C/strong> Alt text and captions are an accessibility and SEO job. Doing them per file is how they never get done.\u003C/li>\n\u003Cli>\u003Cstrong>No usage map you can trust at a glance.\u003C/strong> You delete a thumbnail and find out it was in a page builder module.\u003C/li>\n\u003Cli>\u003Cstrong>Clumsy bulk actions.\u003C/strong> Select, wait, hope the attachment rows still match what you thought you selected.\u003C/li>\n\u003Cli>\u003Cstrong>An editor that is easy to forget.\u003C/strong> Crop and scale exist; the workflow around them does not feel like part of the library.\u003C/li>\n\u003C/ul>\n\u003Cp>On WooCommerce and magazine sites the library is the biggest admin surface after posts. Treating it as a leftover core screen is how media debt accumulates.\u003C/p>\n\u003Ch2 id=\"wordpress-7-1s-media-editor-is-a-start\">WordPress 7.1’s media editor is a start\u003C/h2>\n\u003Cp>WordPress 7.1 shipped a dedicated media editor with freeform and aspect-ratio cropping, flipping, finer rotation, and metadata editing in one place, still entered from the familiar Crop control. That is a real improvement for a single image.\u003C/p>\n\u003Cp>It does not rebuild the library around bulk work. You still need a modern media library UI for filtering, unused-file cleanup, tags, and multi-file metadata. Core made editing one attachment better. It did not turn the library into a DAM.\u003C/p>\n\u003Ch2 id=\"what-a-modern-wordpress-media-library-should-include\">What a modern WordPress media library should include\u003C/h2>\n\u003Ch3 id=\"two-views-that-are-actually-useful\">Two views that are actually useful\u003C/h3>\n\u003Cp>Grid for visual browsing. List for filename, size, type, and date. Switching views should not reset your filters or your current selection.\u003C/p>\n\u003Ch3 id=\"filters-you-can-combine\">Filters you can combine\u003C/h3>\n\u003Cp>Type (images, video, documents), date buckets, tags, and unused files. “Unused” is the cleanup feature agencies ask for after a redesign.\u003C/p>\n\u003Ch3 id=\"search-that-includes-filenames-and-metadata\">Search that includes filenames and metadata\u003C/h3>\n\u003Cp>People remember \u003Ccode>hero-final-v3.png\u003C/code> more often than the attachment title they never set.\u003C/p>\n\u003Ch3 id=\"bulk-edit-duplicate-download-and-delete\">Bulk edit, duplicate, download, and delete\u003C/h3>\n\u003Cp>Bulk alt text is the accessibility win. Bulk download is the “client asked for the original assets” win. Bulk delete needs a confirmation and a usage check.\u003C/p>\n\u003Ch3 id=\"a-details-panel-that-stays-open\">A details panel that stays open\u003C/h3>\n\u003Cp>Editing title, alt, caption, and seeing where a file is used should not require a separate attachment screen.\u003C/p>\n\u003Ch2 id=\"a-cleanup-workflow-that-does-not-delete-the-wrong-file\">A cleanup workflow that does not delete the wrong file\u003C/h2>\n\u003Col>\n\u003Cli>Filter to unused files first. Do not start in the full grid.\u003C/li>\n\u003Cli>Confirm usage on anything that looks like a logo, icon, or product image. Page builders do not always register attachments the way core does.\u003C/li>\n\u003Cli>Download a ZIP of anything you are unsure about.\u003C/li>\n\u003Cli>Delete in batches, then take a backup or keep the ZIP.\u003C/li>\n\u003Cli>Only then start tagging and fixing alt text on what remains.\u003C/li>\n\u003C/ol>\n\u003Cp>If you skip the usage check, you will spend the next week restoring images from backups.\u003C/p>\n\u003Ch2 id=\"the-uixpress-media-library\">The uiXpress media library\u003C/h2>\n\u003Cp>uiXpress replaces the default library with a \u003Ca href=\"https://www.uipress.co/features/media-library\">modern media library\u003C/a>: grid and list views, combined filters, unused-file views, tags, bulk edit/download/delete, a details panel, and built-in image editing. It is designed as part of the admin theme, so dark mode, search, and the rest of the UI stay consistent.\u003C/p>\n\u003Cp>That consistency is easy to underestimate. A media plugin that restyles only \u003Ccode>upload.php\u003C/code> and leaves the modal media frame alone creates two libraries. Users notice.\u003C/p>\n\u003Ch2 id=\"media-library-vs-folders-vs-custom-fields\">Media library vs folders vs custom fields\u003C/h2>\n\u003Cp>Folder plugins help people who think in directories. They do not replace filters, unused-file reports, or bulk alt text. Custom fields on attachments help specific workflows (photographer credits, SKU). Start with a better library UI; add folders if the team still cannot find files after you have search and tags.\u003C/p>\n\u003Ch2 id=\"accessibility-is-a-library-problem\">Accessibility is a library problem\u003C/h2>\n\u003Cp>Alt text lives on attachments. If the UI makes bulk alt text painful, your front end will ship empty \u003Ccode>alt\u003C/code> attributes. A modern media library is one of the higher-leverage accessibility tools you can give an editorial team — more than another checklist in a handbook they will not open.\u003C/p>\n\u003Cp>If you came here for a better WordPress media library UI, look for bulk metadata, unused files, and a details panel. Decorative folder trees are optional. Those three are not.\u003C/p>\n",{"rendered":671,"protected":15},"\u003Cp>The default WordPress media library cannot bulk-edit alt text or find unused files. A modern media library UI treats attachments like a working file manager.\u003C/p>\n",13137,{"_acf_changed":15,"_eb_attr":21,"footnotes":21},[25],[],[677,10,30,31,32,33,34,35],"post-13138",[],{"self":680,"collection":685,"about":687,"author":689,"replies":691,"version-history":694,"wp:featuredmedia":697,"wp:attachment":700,"wp:term":703,"curies":708},[681],{"href":682,"targetHints":683},"https://data.uipress.co/wp-json/wp/v2/posts/13138",{"allow":684},[44],[686],{"href":47},[688],{"href":50},[690],{"embeddable":53,"href":54},[692],{"embeddable":53,"href":693},"https://data.uipress.co/wp-json/wp/v2/comments?post=13138",[695],{"count":60,"href":696},"https://data.uipress.co/wp-json/wp/v2/posts/13138/revisions",[698],{"embeddable":53,"href":699},"https://data.uipress.co/wp-json/wp/v2/media/13137",[701],{"href":702},"https://data.uipress.co/wp-json/wp/v2/media?parent=13138",[704,706],{"taxonomy":70,"embeddable":53,"href":705},"https://data.uipress.co/wp-json/wp/v2/categories?post=13138",{"taxonomy":73,"embeddable":53,"href":707},"https://data.uipress.co/wp-json/wp/v2/tags?post=13138",[709],{"name":77,"href":78,"templated":53},{"author":711,"wp:featuredmedia":722,"wp:term":786},[712],{"id":18,"name":82,"url":83,"description":21,"link":84,"slug":85,"avatar_urls":713,"acf":714,"_links":715},{"24":87,"48":88,"96":89,"128":90},[],{"self":716,"collection":720},[717],{"href":54,"targetHints":718},{"allow":719},[44],[721],{"href":99},[723],{"id":672,"date":724,"slug":725,"type":104,"link":726,"title":727,"author":18,"featured_media":60,"acf":729,"caption":730,"alt_text":728,"media_type":111,"mime_type":112,"media_details":732,"source_url":768,"_links":772},"2026-08-24T08:11:43","media-library-grid-view","https://data.uipress.co/media-library-grid-view/",{"rendered":728},"Modern WordPress media library grid view with filters in uiXpress",[],{"rendered":731},"\u003Cp>Modern WordPress media library grid view with filters in uiXpress\u003C/p>\n",{"width":295,"height":733,"file":734,"filesize":735,"sizes":736,"image_meta":769,"original_image":771},1493,"2026/08/media-library-grid-view-scaled.png",354674,{"medium":737,"large":742,"thumbnail":747,"medium_large":751,"1536x1536":756,"2048x2048":761,"full":766},{"file":738,"width":121,"height":739,"filesize":740,"mime_type":112,"source_url":741},"media-library-grid-view-300x175.png",175,13111,"https://data.uipress.co/wp-content/uploads/2026/08/media-library-grid-view-300x175.png",{"file":743,"width":127,"height":744,"filesize":745,"mime_type":112,"source_url":746},"media-library-grid-view-1024x597.png",597,94505,"https://data.uipress.co/wp-content/uploads/2026/08/media-library-grid-view-1024x597.png",{"file":748,"width":133,"height":133,"filesize":749,"mime_type":112,"source_url":750},"media-library-grid-view-150x150.png",5376,"https://data.uipress.co/wp-content/uploads/2026/08/media-library-grid-view-150x150.png",{"file":752,"width":138,"height":753,"filesize":754,"mime_type":112,"source_url":755},"media-library-grid-view-768x448.png",448,59888,"https://data.uipress.co/wp-content/uploads/2026/08/media-library-grid-view-768x448.png",{"file":757,"width":144,"height":758,"filesize":759,"mime_type":112,"source_url":760},"media-library-grid-view-1536x896.png",896,173311,"https://data.uipress.co/wp-content/uploads/2026/08/media-library-grid-view-1536x896.png",{"file":762,"width":150,"height":763,"filesize":764,"mime_type":112,"source_url":765},"media-library-grid-view-2048x1195.png",1195,261578,"https://data.uipress.co/wp-content/uploads/2026/08/media-library-grid-view-2048x1195.png",{"file":767,"width":295,"height":733,"mime_type":112,"source_url":768},"media-library-grid-view-scaled.png","https://data.uipress.co/wp-content/uploads/2026/08/media-library-grid-view-scaled.png",{"aperture":158,"credit":21,"camera":21,"caption":21,"created_timestamp":158,"copyright":21,"focal_length":158,"iso":158,"shutter_speed":158,"title":21,"orientation":158,"keywords":770,"alt":21},[],"media-library-grid-view.png",{"self":773,"collection":777,"about":779,"author":781,"replies":783},[774],{"href":699,"targetHints":775},{"allow":776},[44],[778],{"href":167},[780],{"href":170},[782],{"embeddable":53,"href":54},[784],{"embeddable":53,"href":785},"https://data.uipress.co/wp-json/wp/v2/comments?post=13137",[787,803],[788],{"id":25,"link":179,"name":180,"slug":181,"taxonomy":70,"acf":789,"_links":790},[],{"self":791,"collection":795,"about":797,"wp:post_type":799,"curies":801},[792],{"href":186,"targetHints":793},{"allow":794},[44],[796],{"href":191},[798],{"href":194},[800],{"href":197},[802],{"name":77,"href":78,"templated":53},[],1787560222508]