MPC RSS is a TYPO3 extension for displaying RSS and Atom feeds with automatic background updates, flexible grouping options and support for pagination. It offers inline feed management directly within the content elements and an isolated caching system that works independently of the TYPO3 page cache.
Key features
- Inline feed management – Add feeds directly to content elements without the need for separate storage folders.
- Automatic updates – Background updating via the TYPO3 scheduler or CLI command.
- Isolated caching – Independent RSS cache that does not affect the page cache
- Multiple grouping modes – Organise feeds by category, source, date or timeline
- Pagination – Efficient management of large feed collections
- SEO-friendly URLs – Descriptive URLs via the Route Enhancer configuration
System requirements
- TYPO3 13.x or 14.x
- PHP 8.2 or higher
Installation
composer require mpc/mpc-rss
After installation, activate the extension in the Extension Manager and perform database updates.
Quick start
- Create a content element and select the "MPC RSS Feed" plugin.
- Click on "Add Feed" and enter the RSS or Atom feed URLs.
- Configure the grouping mode and display options.
- Save and display your page.
Grouping modes
Organise RSS feed items in different ways depending on the use case:
Category (default)
Groups items by RSS category tags such as politics, technology, or business. Best suited for browsing by topic when feeds provide consistent category tags.
Source (recommended)
Groups items by the name of the feed source (e.g. BBC News, TechCrunch, The Guardian). Always consistent and requires no complex fallback solutions. Ideal for news aggregators with multiple sources.
Date
Groups items by time periods: Today, Yesterday, This Week, This Month. Best suited for chronological browsing, news monitoring, and archives.
None (uniform timeline)
No grouping – all items are sorted chronologically. Ideal for social media-style feeds or real-time monitoring.
Comparison
| Mode | Best suited for | Consistency | Complexity |
|---|---|---|---|
| Category | Topic browsing | Variable | Medium |
| Source | Aggregators with multiple sources | Always | Low |
| Date | Archives, time-based | Always | Low |
| None | Real time, mobile | Always | Lowest |
Automatic feed updates
TYPO3 Scheduler (recommended)
- If necessary, activate the Scheduler extension: Admin Tools, Extensions, Scheduler
- Navigate to System, Scheduler, Add Task
- Select class: "Update RSS feeds"
- Set type: Recurring task
- Set frequency:
*/30 * * * *(every 30 minutes) - Set cache lifetime: 3600 (1 hour)
CLI command
# Manuelles Update
vendor/bin/typo3 mpcrss:updatefeeds
# Mit Optionen
vendor/bin/typo3 mpcrss:updatefeeds --clear-cache
vendor/bin/typo3 mpcrss:updatefeeds --cache-lifetime=7200
# Crontab (Alternative zum Scheduler)
*/30 * * * * cd /path/to/typo3 && vendor/bin/typo3 mpcrss:updatefeeds
How it works
- Retrieves all configured RSS feed URLs from the database
- Updates the
mpc_rsscache in the background - Failed feeds do not prevent other feeds from being updated
- Automatic deduplication of feed URLs
Recommended settings
| Feed type | Frequency | Cache lifetime |
|---|---|---|
| News feeds | Every 15 minutes | 1800s (30 minutes) |
| Blogs | Every 30 minutes | 3600s (1 hour) |
| Daily summary | Hourly | 7200s (2 hours) |
Cache isolation
The RSS cache operates independently of the TYPO3 page and system cache:
| Action | RSS cache | Page/system cache |
|---|---|---|
| Scheduler running | Updated | Unchanged |
| Clear page cache | Unchanged | Deleted |
cache:flush --group=mpc_rss | Deleted | Untouched |
Clearing the page cache has no effect on RSS feeds – these remain stored in the cache for fast display.
SEO-friendly URLs
URL examples
- Before:
/links/rss-feeds?tx_mpcrss_feed%5BfilterCategory%5D=Politik - After:
/links/rss-feeds/politik/page-1
URL pattern
/rss-feeds/– Main page/rss-feeds/politik– Category filter/rss-feeds/page-2– Pagination/rss-feeds/politik/page-2– Category with pagination
Configuration
Add the Route Enhancer to your website configuration (config/sites/[Ihre-Website]/config.yaml):
routeEnhancers:
MpcRssFeed:
type: Extbase
extension: MpcRss
plugin: Feed
routes:
- routePath: /
- routePath: ‚/page-{page}‘
- routePath: ‚/{category}‘
- routePath: ‚/{category}/page-{page}‘
defaults:
page: ‚1‘
requirements:
page: ‚\d+‘
aspekte:
kategorie:
typ: StaticValueMapper
zuordnung:
politik: Politik
wirtschaft: Wirtschaft
kultur: Kultur
seite:
typ: StaticRangeMapper
start: ‚1‘
ende: ‚100‘
Custom templates
Template override via website settings
Configure custom template paths in Website Management, Settings, MPC RSS View Paths:
- Template root directory:
EXT:Ihr_Websitepaket/Ressourcen/Privat/Vorlagen/ - Sub-root directory:
EXT:Ihr_Sitepaket/Resources/Private/Partials/ - Layout root directory:
EXT:Ihr_Sitepaket/Resources/Private/Layouts/
Template overwriting via TypoScript
plugin.tx_mpcrss {
view {
templateRootPaths.30 = EXT:your_sitepackage/Resources/Private/Templates/
partialRootPaths.30 = EXT:your_sitepackage/Resources/Private/Partials/
layoutRootPaths.30 = EXT:your_sitepackage/Resources/Private/Layouts/
}
}
Template variables
Available in List.html:
{grouped}– Elements grouped by category/source/date{categories}– All available category names{activeCategory}– Currently selected filter{showFilter}– Boolean value: Show navigation{paginate}– Boolean value: Pagination enabled{pagination}– Pagination data{settings}– Plugin settings
Properties of the feed element
{item.title}– Element title{item.description}– Description of the element{item.link}– Article link URL{item.date}– Publication date{item.categories}– Category tags{item.image}– Associated image{item.sourceName}– Name of feed source{item.source}– Feed source URL
Customising navigation
The category navigation automatically adapts to the grouping mode:
| Grouping mode | Navigation label | Display |
|---|---|---|
| Category | "Filter by category" | Topic categories |
| Source | "Filter by source" | Feed sources |
| Date | "Filter by date" | Time periods |
| None | (hidden) | No navigation |
Architecture
Inline records (IRRE)
The extension uses inline records, where feeds are stored directly with the content element rather than in separate storage folders. This simplifies setup and improves the user experience:
- Traditional pattern: Separate storage folder, create records, link to plugin (3–4 steps)
- MPC RSS pattern: Add plugin, click "Add feed", done (2 steps)
Advantages of the design
- Simpler setup and better user experience
- More intuitive data model
- Better portability (copying content elements including feeds)
- No errors when configuring the storage page
Technical components
- FeedController – Processes the display and filtering of feeds
- FeedService – Retrieves and analyses RSS/Atom feeds
- FeedRepository – Database access for feed records
- UpdateFeedsCommand – CLI command for feed updates
- UpdateFeedsTask – Scheduler task for automatic updates
Troubleshooting
Scheduler is not running
- Check the system and scheduler for the last execution time
- Set up scheduler cron:
*/5 * * * * /path/to/php vendor/bin/typo3 scheduler:run
Feeds are not being updated
vendor/bin/typo3 mpcrss:updatefeeds --clear-cache
vendor/bin/typo3 cache:flush --group=mpc_rss- Check whether the feed URLs are accessible
- Check the logs: System, Log, filter for "mpc_rss"
404 errors on category pages
- Check whether the category name is present in the Route Enhancer mapping
- Check that the spelling is exactly the same
- Clear all caches
Licence and author
MPC RSS is released under the GPL 2.0 or later licence. Developed by Matthias Peltzer.