Manage your Press & Media coverage in WordPress and display it anywhere with a beautiful, theme-proof shortcode grid — search, filters, Load More / pagination, CSV & Excel import, SEO sitemap, and full backups. Zero page-builder required, zero tracking.
Keywords: WordPress Press Coverage Plugin · Media Coverage Manager · "As Featured In" Logo Wall · Press Mentions Grid · News Coverage Shortcode · Press Kit WordPress · Coverage Archive · PR Page Builder · Shadow-DOM Widget · Custom Post Type Alternative
If your company gets covered in the press and you want a clean "As Featured In" / Media Coverage section on your site — without hand-coding cards or fighting a page builder every time a new article drops — this replaces that entire manual process.
You manage two separate archives (Press Coverage and Media Coverage) from a simple admin dashboard, and drop them anywhere with a shortcode. PressRise does the rest:
- Renders a responsive card grid (publication logo, source, headline, optional excerpt, date, "Read More")
- Gives visitors instant search, year/month filters, and Load More or numbered pagination
- Stays completely isolated from your theme's CSS — it renders inside a Shadow DOM, so nothing breaks and nothing leaks
- Bulk-imports hundreds of entries from CSV or Excel, and takes full JSON backups
- Ships a dedicated SEO sitemap that auto-integrates with Yoast / Rank Math, plus Schema.org markup
- Uses its own fast, indexed database tables — no Custom Post Type bloat, no clutter in Posts
- 100% self-contained — no external services, no tracking, no phone-home
Add your own screenshots here once live — a picture converts far better than a wall of text.
| Front-end coverage grid | Admin dashboard | Import screen |
|---|---|---|
| add screenshot | add screenshot | add screenshot |
- Features
- How it works
- Quick Start
- Shortcodes & Settings
- Bulk import (CSV / Excel)
- SEO sitemap
- FAQ & Troubleshooting
- Tech stack
- Roadmap
- Support & Contact
- License
| Feature | Details |
|---|---|
| Two independent archives | Separate, independently-configured Press and Media collections |
| Shortcode display | [pressrise type="press"] / [pressrise type="media"] — drop on any page or post |
| Theme-proof by design | The widget renders inside a Shadow DOM, so your theme/page-builder can't break it — and it can't leak styles onto your theme |
| Live search + filters | Search by article/publication, filter by year and month, with a live result count |
| Load More or Pagination | Choose per coverage type; both are AJAX-driven and mobile-friendly |
| Configurable columns | Set the desktop column count (2–6, default 4) per type; tablet/mobile step down automatically |
| Optional excerpts | Toggle short summaries per type; shown only when an entry actually has one |
| CSV & Excel import | Bulk import from .csv or .xlsx with a downloadable template and clear per-row error reporting |
| Export & full backup | Per-type CSV export plus a complete JSON backup/restore of entries and settings |
| SEO sitemap | Auto-hooks into Yoast / Rank Math, or serves a native /pressrise-sitemap.xml, plus Schema.org JSON-LD |
| Accessible | Visible keyboard focus states, ARIA labels, WCAG-AA text contrast, prefers-reduced-motion |
| Entity-safe storage | Import decodes HTML entities and stores raw text, so titles never show literal ' on screen |
| Fast custom tables | Indexed DB tables, paginated queries, cached sitemap — built for large archives |
| Privacy-first | No analytics, no telemetry, no external requests; optional off-by-default credit link |
WordPress Admin (PressRise dashboard)
| (add entries by hand, or bulk-import a CSV / Excel file)
v
Custom DB tables (wp_pressrise_press / wp_pressrise_media) -- no CPT bloat
|
+---> [pressrise type="press"] / [pressrise type="media"] shortcode
| |
| v
| Shadow-DOM card grid on your page
| (search · year/month filters · Load More or pagination)
|
+---> /pressrise-sitemap.xml (auto-integrates with Yoast / Rank Math)
+---> Schema.org JSON-LD on the coverage page
- From the ZIP (recommended): in WordPress go to Plugins → Add New Plugin → Upload Plugin, choose
pressrise.zip, click Install Now, then Activate. (Let WordPress unzip it — don't extract it yourself. It installs towp-content/plugins/pressrise/.) - Manual: copy the
pressrisefolder intowp-content/plugins/so the path iswp-content/plugins/pressrise/pressrise.php, then activate.
Open PressRise in the admin sidebar → New Press / New Media → fill in publication, headline, date, article URL, and logo URL.
Go to PressRise → Settings and set, per coverage type: posts per page, excerpts on/off, Load More vs. pagination, desktop columns, and the optional credit link.
Create or edit a page and paste the shortcode:
[pressrise type="press"] → your Press Coverage archive
[pressrise type="media"] → your Media Coverage archive
Publish and view — search, filters and pagination work out of the box.
| Shortcode | Shows |
|---|---|
[pressrise type="press"] |
Press Coverage archive |
[pressrise type="media"] |
Media Coverage archive |
There are no shortcode attributes to memorize — everything is configured per type under PressRise → Settings:
| Setting | What it does |
|---|---|
| Post Count | Entries per page / per Load More click |
| Enable Excerpts | Show a short summary on each card (only when the entry has one) |
| Pagination Type | Load More button, or numbered page navigation |
| Columns per row (desktop) | 2–6 (default 4); tablets/phones step down automatically |
| Show "Powered by PressRise" credit | Optional credit link below the grid — off by default |
PressRise → Import → download the Excel/CSV template → fill it in (don't rename the column headers) → upload.
- Accepts
.xlsxand.csv; rows with missing required fields or invalid dates are reported clearly, never silently dropped. - Import decodes HTML entities and stores raw text, so a source that already contains
'won't leave encoded gibberish in your database. - Already have messy data from an older import? PressRise → Import → Master Export / Backup → "Fix HTML entities in existing entries" cleans it in one click (safe to run more than once).
- You can also export any type to CSV or take a full JSON backup of everything.
PressRise publishes a dedicated coverage sitemap and auto-integrates with Yoast or Rank Math; with neither installed it serves its own at:
https://your-site.com/pressrise-sitemap.xml
Note: the pretty
/pressrise-sitemap.xmlURL requires pretty permalinks (Settings → Permalinks → any option other than "Plain"). On "Plain" permalinks WordPress can't route the pretty URL, so use the always-working fallbackhttps://your-site.com/?pressrise_sitemap=1.
The grid looks broken / clashes with my theme
It shouldn't — as of v1.4.0 the widget renders inside a Shadow DOM, which isolates it from the theme in both directions. If you're on an older version, update. If it still looks off, tell me your theme/page builder in an issue.
/pressrise-sitemap.xml returns a 404
This is almost always the site's permalink setting. The pretty URL only works with pretty permalinks (Settings → Permalinks → pick anything except "Plain" → Save). On "Plain" permalinks, use
/?pressrise_sitemap=1 instead — it works on any configuration.
Some entries show literal codes like ' instead of an apostrophe
That's HTML-entity text left in the database by an older import. Update the plugin, then run PressRise → Import → Master Export / Backup → "Fix HTML entities in existing entries" once. New imports decode entities automatically.
My grid shows 3 columns on desktop, I want 4 (or 5, or 6)
Set it under PressRise → Settings → Columns per row (desktop) (per coverage type). It renders exactly that many columns regardless of container width.
A card shows the publication name as text instead of a logo
That's the intended fallback — it appears when an entry has no logo URL, or the logo image fails to load. Add a valid Publication Logo URL to the entry to show the image instead.
Does it track me or my visitors?
No. PressRise has no analytics or telemetry and makes no external requests. Updates are delivered through WordPress's own update system.
Will it slow down or clutter my site?
No. It uses its own indexed database tables (not Custom Post Types), so it never touches your Posts admin, its queries are paginated, and its assets load only on pages that actually contain the shortcode.
- PHP + WordPress APIs — custom DB tables, AJAX, shortcodes, rewrite rules
- Vanilla JavaScript (no jQuery on the front end) — Shadow-DOM mount, AJAX search/filter/pagination
- Pure CSS — isolated inside the shadow root, no framework
- ZipArchive + SimpleXML — native
.xlsximport/export, no external library - No build step — plain PHP/CSS/JS; what's in the repo is what runs
- WordPress.org repository listing (auto-updates + active-install stats)
- Gutenberg block wrapper for the shortcode
- Per-entry "featured" flag and a compact logo-wall layout
- Category/tag taxonomy for coverage
- Optional, opt-in anonymous usage stats
Have an idea? Open an issue or reach out directly — see below.
Built and maintained by Vijaya Kumar L
Found a bug, need help setting this up, or want a custom version for your own site? Reach out — free/community support is via GitHub Issues (and the WordPress.org support forum once listed).
If this saved you time, a star on the repo goes a long way.
PressRise is free software, licensed under the GNU General Public License v2.0 or later — the same license WordPress itself uses (a WordPress plugin must be GPL-compatible, so unlike my Apps Script projects this one is GPLv2 rather than MIT). You may use, study, modify and redistribute it under those terms. Full text in LICENSE.
Built for teams who'd rather manage their press coverage in five minutes than rebuild a logo wall by hand.
PressRise — by RiseWithVJ