Permalink Keeper

外掛說明

Permalink Keeper is a WordPress plugin that automatically flushes your rewrite rules at regular intervals. This prevents 404 errors and maintains SEO integrity by ensuring your permalink structure stays up to date.

Why do you need this plugin?

  • Sites that frequently experience permalink issues after content updates
  • Sites that have migrated content or changed permalink settings
  • Sites with complex permalink structures that need regular rule refreshes
  • Sites that need consistent URL structure for SEO

Key Features

  • Automatically flushes rewrite rules (soft flush — no .htaccess rewrite)
  • Prevents 404 errors caused by stale rewrite rules
  • Configurable flush interval
  • Debug logging via WP_DEBUG_LOG
  • Status dashboard showing last run time
  • Multilingual support (English, Norwegian, Dutch, German, French, Italian, Spanish)
  • Minimal resource usage

安裝方式

  1. Upload the permalink-keeper folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to Settings -> Permalink Keeper to configure the flush interval

常見問題集

How often should I flush the rewrite rules?

For most sites, once per hour or once daily is sufficient. If you frequently publish new content or experience sporadic 404 errors, a shorter interval like every 15 or 30 minutes may help.

Will this affect my site’s performance?

No. The plugin uses a soft flush (flush_rewrite_rules(false)) which only updates the rewrite rules in the database without touching .htaccess. It runs in the background via WP-Cron.

Does the plugin support multilingualism?

Yes, the plugin currently supports:
* English (en_US)
* Norwegian Bokmål (nb_NO)
* Dutch (nl_NL)
* German (de_DE)
* French (fr_FR)
* Italian (it_IT)
* Spanish (es_ES)

使用者評論

這個外掛目前沒有任何使用者評論。

參與者及開發者

以下人員參與了開源軟體〈Permalink Keeper〉的開發相關工作。

參與者

將〈Permalink Keeper〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.2.0

  • Changed core logic to use flush_rewrite_rules() — safer and more correct approach
  • Added register_activation_hook to set defaults and schedule cron on activation
  • Removed batch processing, post type selection, and batch size settings
  • Removed unnecessary DB query on every request (init_settings via init hook)
  • Updated Requires at least to 5.7
  • Tested up to WordPress 6.9.4

1.1.0

  • Fixed deactivation hook not clearing the scheduled cron event
  • Removed unused init() method
  • Added debug logging via WP_DEBUG_LOG
  • Added status dashboard on settings page
  • Added support for all public post types with selectable checkboxes
  • Added configurable batch size (10-500) for large sites
  • Applied WordPress PHP Coding Standards
  • Updated all translation files with new strings
  • Tested up to WordPress 6.9.1

1.0.0

  • Initial release
  • Automatic permalink updates
  • Configurable update interval
  • Multilingual support