In reality it is very hard to know when a page is affected by an edit. A page contains footer, memus, widgets, shorcodes and meta data which might change “globaly”. Having a general detection which page is affected by any such change is bordering the impossible.
Cache expiration in general is just a very hard thing to do optimally, and setting an interval until it should happen is just a si,ple compromise between the need to have cache and the inability to have a good expiration policy.
In the real world, it does not even matter much for how long you are caching your pages and even a duration as low as 5 minutes can be good enough, as for most sites most pages are just not being accessed more than once in a while.
The real caching strategy for which it is easier to detect information expiry and which actually reduces load on your server is object caching. Getting this to work right is much more important than page caching.
Related Posts:
- Trouble with Transient API when W3TC is activated [closed]
- How can I render shortcode so that its not cached by Caching plugins?
- Will cron job run if page loaded is being served from cache?
- Will setcookie work if there is a cache plugin installed?
- Plugin files not updated (cache cleared)
- Is get_option() faster than accessing get_transient()?
- Best practices for using the transients API
- How to make dynamically-generated content searchable in WordPress?
- Build path for a custom portfolio plugin
- Displaying search results in the widget itself?
- Post from front-end with post types, categories and taxonomies
- Need specific kind of “Poll Voting” for WordPress [closed]
- How can I free up the memory used by update_post_meta?
- Does WordPress’s HTTP API use any caching?
- Is using WP Transients to save external data for a plugin the best/right way?
- Cache directory needed for plugin
- Best plugin for most viewed post [closed]
- What parameter should I pass to wp_enqueue_style to depend on the themes stylesheet?
- Clearing cached plugin data if it is using an external object cache
- Maximum lifetime for nonce
- Clearing caches on plugin uninstall
- How to implement filesystem cache in WordPress
- W3 Total Cache JS and css Minify folder are empty
- Is using custom table to suit business needs instead of transients a big hit to page load speed?
- best way to make a WordPresss multisite that is secure but at the same time supporting my plugin development efforts
- Caching the_content calls
- How to add support for caching plugins for my own plugin?
- Service Worker Uncaught (in promise) DOMException
- Should I use wp-content/cache or [PLUGIN_DIR]/cache?
- Secruity Questions on a timer
- I need to refresh page to display wp_get_current_user() : why?
- How can I control if post updated
- Best way to distribute templates and code accross multiple wordpress sites?
- W3 Total Cache Help – How to update DNS Zone for a static domain [closed]
- Development plugin to view and manage scheduled wordpress cron jobs?
- Undefined cache functions in my custom plugin
- Generate Static Page to Show Search Results/Detail for API
- Add a Script button in W3 Total Cache plugin not working due to conflicting jQuery version
- Is it possible to restore an expired transient?
- Pluigin Migration – I need to move a single plugin to a different website
- Practical Solutions to HTML5 Video on WordPress
- How to change url’s in WordPress when changing domain [duplicate]
- How to Implement SAM Broadcaster with WordPress? [closed]
- Does WP REST API cache internally executed (rest_do_request) requests?
- Update Cache on Save Instead of Clearing It?
- Cache API Images to Prevent Hot Linking
- Google Web Core Vitals – management, how to in wordpress and advice
- Detect if requested page is PWA on server side
- Allowing duplicating users with same user_login and user_email
- Information and Page from WordPress Plugin
- Why does theme’s reset CSS have higher precedence of plugin’s CSS?
- How to add quick edit on the list of users to edit custom fields?
- How to control ajax calls without effecting memory of server?
- How to query a nested field in wordpress api using _fields param
- function add custom fields to media gallery
- How to Run Plugin on Server Without Web Browser
- WordPress admin panel not working
- How to fix caching issue in PHP data from database
- Impossible to declare box-shadow with wp.customize?
- update_option() passing empty array() but still updating
- Bad request 400 using class based files
- Add two button to page and post admin to redirect to : add new & list of (posts – pages) just after saving post or page
- How do I add a 5 digit ZIP code validation to a Contact7 form?
- Gutenberg block breaks when showing new data
- Allow contributor user role to perform copy operation PHP
- How to use own css of functionality plugin?
- Get Custom taxonomy parent with wordpress REST API
- How to add .ini file type to the plugin editor to read and edit?
- Do I lose translations when I change my Text domain for my plugin on wp.org?
- HTMLCollection not counting right in editor? / for loop not working on elements in DOM
- What to do with the .git folder in a WordPress plugin during local development
- Access remote SFTP server via WordPress login?
- register_meta not showing custom post type metabox data in rest api
- Trying to rename a file upload as the hash of file content on wordpress
- Adding the image selector/uploader to an admin back page
- How to write a custom shortcode name book?
- converting a node.js project into a wp plugin
- What happens/fires when you select a block in the editor?
- Want to know how to reveal a WordPress theme, considering the theme name is hidden?
- Is “document loaded” different on admin side than public side?
- Determine if term is Category or Tag
- Check current URL is 404 in pre_option_stylesheet filter hook
- Where to add functions and code snippets in wordpress
- Hook to execute after deleting a Custom Taxonomy
- How to re-render inspector controls?
- Override category archive page title (not the head title)
- Forbidden Error in ajax call with wordpress
- `registration_errors` filter doesn’t seem to be called
- Why User_login key doesn’t work with wp_update_user()
- How to use setAttributes outside of the edit function return
- WP plugin svn checkout 429 error “Too many requests”
- why is apiFetch throwing Unhandled Promise Rejection: TypeError: Object is not a function
- How to grab data after wp user search is complete
- Limit get_next_post to posts from the same author
- How to Login a User inside a Plugin and Redirect to page?
- Using custom IDP with WP
- Trying to run a Ajax request from a checkout form in woocommerce via a custom plugin
- Show list of categories that has posts with different taxonomies
- “add to cart” links css class “ajax_add_to_cart” doesn’t show in woocommerce in widget sidebar
- Securing custom rest API endpoints with public access from PWA