https://github.com/beapi/bea-media-analytics
Find where and how media are used across your site.
https://github.com/beapi/bea-media-analytics
media multisite single-site wordpress wordpress-plugin
Last synced: 29 days ago
JSON representation
Find where and how media are used across your site.
- Host: GitHub
- URL: https://github.com/beapi/bea-media-analytics
- Owner: BeAPI
- License: other
- Created: 2017-11-30T14:28:36.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-09-25T10:05:43.000Z (over 1 year ago)
- Last Synced: 2025-04-22T15:11:58.827Z (29 days ago)
- Topics: media, multisite, single-site, wordpress, wordpress-plugin
- Language: PHP
- Homepage: https://wordpress.org/plugins/bea-media-analytics/
- Size: 9.26 MB
- Stars: 14
- Watchers: 16
- Forks: 2
- Open Issues: 38
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README

# BEA - Media Analytics
If you want to see which media is used and where ? This plugin is for you !
By installing this plugin you will index where your media are used, display further informations about how they are used and also warn you about deleting used ones.
Therefore, you will easily [delete unused medias](#unused-media).# How ?
A table is created for indexing where media are used. This is done when saving contents but could also be forced with the [wp-cli command](#force-indexation) or just by activating the plugin.
# Requirements
- [WordPress](https://wordpress.org/) 4.6+
- Tested up to 4.9.3.
- PHP 5.6+# Installation
At plugin activation, a single event will be added in order to index your contents. It generally takes 10-15 min to do so.
At plugin deactivation, all data stored by this plugin will be **deleted** to ensure not to weighing the DB and also for further safe reactivation.
## WordPress
- Download and install using the built-in WordPress plugin installer.
- Site activate in the "Plugins" area of the admin.
- Optionally drop the entire `bea-media-analytics` directory into mu-plugins.
- Nothing more, this plugin is ready to use !## [Composer](http://composer.rarst.net/)
- Add repository source : `{ "type": "vcs", "url": "https://github.com/BeAPI/bea-media-analytics" }`.
- Include `"bea/bea-media-analytics": "dev-master"` in your composer file for last master's commits or a tag released.
- Nothing more, this plugin is ready to use !# What ?
## Features
For now the supported contents for indexation are post types by focusing on :
- Post content ( gallery, image, links )
- Post thumbnail
-
Advanced Custom Fields PRO's fields :
- "content fields" :
- File
- Gallery
- Image
- Post object
- Page link
- Relationship
- Textarea
- Wysiwyg
- "structuring fields" which can reuse the above "content fields"
- Clone
- Flexible
- Group
- Repeater
- Component
- ACF Options
- "content fields" :
- Image Map Pro
### 1 - Single media view
In the single edit view, a bloc has been added to display the number of usages, where and what type.

### 2 - Media library modal view
In the media library modal view, when a media is selected, a bloc has been added to display the number of usages.

### 3 - Media library view
On the media admin library view, an admin column has been added to display the number of usages.

### 4 - Prompt on media delete
On media delete, if it has usages (based on indexed contents), a warning will prompt to confirm the media deletion.

### Third party support
This plugin has third party support with following plugins :
* [Content Sync Fusion](https://github.com/BeAPI/bea-content-sync-fusion) : the usage counter will now consider synced sites to reveal how many times a media has been used across all synchronized sites.
## More features to come
As you can see, some [issues](../../issues?q=is%3Aissue+is%3Aopen+label%3Aquestion) are feature requests :
- More fields support (excerpt, post meta, etc)
- More type of support (widget, etc)
- More support (elementor, visual composer, polylang, -wpml-, etc)
- Media expiration
- Media replacement
- More file's mime types
## Next Roadmap
- [39](https://github.com/BeAPI/bea-media-analytics/issues/39) : Improve display
- [33](https://github.com/BeAPI/bea-media-analytics/issues/33) : Ensure a lot of file's mime types support
## Languages
This plugin is translated into the following languages :
- English
- French
- More to come
## Contributing
Please refer to the [contributing guidelines](.github/CONTRIBUTING.md) to increase the chance of your pull request to be merged and/or receive the best support for your issue.
### Issues & features request / proposal
If you identify any errors or have an idea for improving the plugin, feel free to open an [issue](../../issues/new). Please provide as much info as needed in order to help us resolving / approve your request.
### Translation request / proposal
If you want to translate BEA - Media Analytics, the best way is to use the official way :
[WordPress.org GlotPress](https://translate.wordpress.org/projects/wp-plugins/bea-media-analytics).
You can, of course, just [create a pull request](../../compare) to our repository if you already done the translation.
## For developers
### WP-Cli
[WP-CLi](http://wp-cli.org) has been implemented to execute some useful commands.
#### Force indexation
Only on the given site, an indexation of all retrieved data from all supported contents : `wp bea_media_analytics index_site`
##### Multisite
Optionally on a multisite :
* for a site : `wp bea_media_analytics index_site --url={url}`
* for the entire network : `wp bea_media_analytics index_site --url={url}`
* for all sites of all networks : `wp bea_media_analytics index_site --url=$(wp site list --fields=url)`
#### Unused media
Quickly retrieve unused media for the current site (even with Content Sync Fusion).
##### List
List all unused media : `wp bea_media_analytics unused list`
##### Delete
Delete all unused media : `wp bea_media_analytics unused delete`
### REST Api
The [REST Api](https://developer.wordpress.org/rest-api/) has been used to display the number of usage for an attachment. The route `exemple.com/wp-json/wp/v2/media/{id}/` will return a custom field called `bea_media_analytics_counter` which represents how many times it has been used into supported contents.
### JSON API
WordPress is working a lot with the JSON API, that's why why the `bea_media_analytics_counter` attribute has been added into attachment's JSON responses.
# Who ?
Created by [Be API](https://beapi.fr), the French WordPress leader agency since 2009. Based in Paris, we are more than 30 people and always [hiring](https://beapi.workable.com) some fun and talented guys. So we will be pleased to work with you.
This plugin is only maintained, which means we do not guarantee some free support. Consider reporting an [issue](#issues--features-request--proposal) and be patient.
If you really like what we do or want to thank us for our quick work, feel free to [donate](https://www.paypal.me/BeAPI) as much as you want / can, even 1€ is a great gift for buying cofee :)
## License
BEA - Media Analytics is licensed under the [GPLv3 or later](LICENSE.md).