Description
Don't Let Your SEO Rank Vanish During a Migration.
Migrating a legacy website to WordPress is a massive win for your workflow, but it can be a disaster for your search engine rankings. If your old site used .php extensions (e.g., domain.com/about-us.php), moving to standard WordPress "Clean Permalinks" will turn every one of those established links into a 404 Page Not Found error.
PHP to Pages is the lightweight, "set it and forget it" solution that bridges the gap between your legacy architecture and modern WordPress flexibility.
=== The Value Proposition ===
"Seamlessly transition from legacy PHP sites to WordPress while maintaining 100% URL consistency. No complex .htaccess coding, no broken backlinks, and zero SEO drop-off."
=== Why Choose PHP to Pages? ===
When you change your URL structure, you lose the "link juice" accumulated over years. This plugin ensures that your existing backlinks from social media, external blogs, and Google search results remain active and functional.
- Instantly Append .php Suffix: Automatically transforms
yoursite.com/sample-page/intoyoursite.com/sample-page.php. - SEO Preservation: Keep your indexed URLs exactly as they appear in Google Search Console to avoid the dreaded "re-indexing" phase.
- Zero-Configuration Setup: No need to dive into your server's .htaccess or Nginx config files. Just activate and your permalinks update instantly.
- Developer Friendly: Built with standard WordPress Rewrites API, ensuring compatibility with most well-coded themes and plugins.
- Lightweight Performance: No bloat, no database-heavy queries. It simply tells WordPress how to read and display your URLs.
=== Who Is This For? ===
- Agencies & Freelancers: Moving a long-term client from a static PHP site to WordPress.
- SEO Specialists: Ensuring that a site migration doesn't result in a loss of organic traffic.
- Legacy Site Owners: Anyone who has a decade's worth of backlinks pointing to .php files and doesn't want to manage thousands of manual 301 redirects.
=== How It Works ===
- Install & Activate: Simply upload the plugin to your WordPress dashboard.
- Permalinks Refresh: Go to Settings > Permalinks and click "Save Changes" to flush your rewrite rules.
- Done: Your pages will now resolve with the .php extension.
=== Example ===
- Before:
http://sfdcbeginner.com/child-parent-communication-without-event - After:
http://sfdcbeginner.com/child-parent-communication-without-event.php
Installation
- Upload PHP-on-pages.php to the
/wp-content/plugins/directory - Activate the plugin through the 'Plugins' menu in WordPress
Changelog
2.0
- Added dynamic Post Type settings: Choose which post types (Pages, Posts, Products, CPTs) get the .php extension.
- Added "Remove Trailing Slashes" option: Automatically strips trailing slashes from .php URLs and 301 redirects slashed versions.
- Improved performance: Settings now use saved options instead of heavy queries.
- Enhanced UI: New tabbed settings interface for General, Post Types, and WooCommerce options.
- Full backward compatibility: Existing installations default to "Page" post type enabled.
- Excluded internal post types (Revisions, Nav Menus, etc.) from settings.
1.7
- Added WooCommerce compatibility settings page.
- Added toggle options for Shop, Cart, and Checkout pages.
- Fixed issue where WooCommerce Shop page showed 0 products when plugin was active.
- Implemented automatic rewrite rule flushing on version update and setting changes.
- Compatibility checks for non-WooCommerce environments.
1.6
- Fix deactivation logic.
- Fix duplicate extension bug.
- WordPress 6.9.1 compatibility.