matthiasott / craft-internetarchive
Craft CMS plugin that notifies the Internet Archive to archive entries on save.
Package info
github.com/matthiasott/craft-internetarchive
Type:craft-plugin
pkg:composer/matthiasott/craft-internetarchive
Requires
- php: >=8.2
- craftcms/cms: ^5.5.0
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/phpstan: dev-main
This package is not auto-updated.
Last update: 2026-04-13 16:08:39 UTC
README
Plugin for Craft CMS that notifies the Internet Archive to archive entries on save.
Installation
To install the plugin, follow these instructions:
-
Open your terminal and go to your Craft project:
cd /path/to/project -
Then tell Composer to load the plugin:
composer require matthiasott/craft-internetarchive -
In the Control Panel, go to Settings → Plugins and click the “Install” button for the Internet Archive plugin.
Features
Notify the Internet Archive of new and updated entries
The plugin pings the Internet Archive on every save of a published entry to archive the corresponding URL. It can then be accessed using the Internet Archive's Wayback Machine. More information on how to trigger an archival and why this is a good idea can be found on the IndieWeb Wiki.
Archive all live URLs at once
If you want to send the Internet Archive all URLs of your site at once, you can do so on the plugin's control panel section.
Manual archive trigger
On the Entries index page in the Control Panel, you can select one or more entries and choose "Send to Internet Archive" from the action menu to manually trigger an archive. This respects all the same checks as automatic archiving (entry must be live, enabled, and have a URL).
Per-entry archiving control
By default, all published entries are sent to the Internet Archive when saved. If you want more control, create a lightswitch field in Craft (e.g., named "Archive in Internet Archive") and add it to your entry types.
- Field handle:
archiveInInternetArchive(configurable in plugin settings) - Default behavior: Enabled — entries are archived unless you explicitly disable the field
- How to use: Add the field to your entry type's field layout, then toggle it off on specific entries to skip archiving
This is useful if you have entry types with pages that shouldn't be archived (e.g., landing pages, redirect entries, or internal tools).
Changelog
1.2.0
- Add "Send to Internet Archive" element action for manual triggers
1.1.0
- Add per-entry archiving control via lightswitch field
- Fix broken queue job that caused "Invalid job data" errors
- Only archive enabled entries
1.0.0
- First version for Craft 5
Roadmap
- Archive all URLs of links within an entry, too
- Store the archived Wayback URL in a field for linking back
- Add scheduling option to archive on a schedule instead of on every save
- Exclude certain URL patterns from archiving (e.g., /admin/, /api/)
- Track and display archive status (pending/success/failed) in the control panel
- Implement retry logic for failed archive attempts with exponential backoff
- Add custom user agent for better request identification
- Add batch size control to avoid rate limiting
- Create a logs viewer in the control panel to see archive history
Thank you!
Huge thanks to everyone involved in the Internet Archive project for saving our knowledge on the web and also to the IndieWeb community, especially Tantek Çelik.
License
Code released under the MIT license.
Author
Matthias Ott
mail@matthiasott.com
https://matthiasott.com