{"id":324608,"date":"2026-06-12T08:30:19","date_gmt":"2026-06-12T08:30:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pretty-url-rewriter-for-woocommerce\/"},"modified":"2026-06-12T09:45:40","modified_gmt":"2026-06-12T09:45:40","slug":"onlinefotka-permalink-manager-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/onlinefotka-permalink-manager-for-woocommerce\/","author":23503486,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Onlinefotka Permalink Manager for WooCommerce","header_author":"onlinefotka.sk","header_description":"Remove base slugs and create clean SEO-friendly product and category permalinks. Includes 301 redirects, canonical tags and breadcrumb fixes for Yoast SEO and RankMath.","assets_banners_color":"0a1628","last_updated":"2026-06-12 09:45:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/onlinefotka.sk","rating":0,"author_block_rating":0,"active_installs":0,"downloads":78,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"onlinefotka","date":"2026-06-12 08:58:08"},"1.0.1":{"tag":"1.0.1","author":"onlinefotka","date":"2026-06-12 08:58:08"},"1.0.2":{"tag":"1.0.2","author":"onlinefotka","date":"2026-06-12 09:37:28"},"1.0.3":{"tag":"1.0.3","author":"onlinefotka","date":"2026-06-12 09:45:40"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon.svg":{"filename":"icon.svg","revision":3569752,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3569787,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3569787,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3569786,"resolution":"1","location":"assets","locale":"","width":1395,"height":924},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3569786,"resolution":"2","location":"assets","locale":"","width":1410,"height":924},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3569786,"resolution":"3","location":"assets","locale":"","width":1410,"height":924},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3569786,"resolution":"4","location":"assets","locale":"","width":1410,"height":924},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3569786,"resolution":"5","location":"assets","locale":"","width":1410,"height":924},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3569786,"resolution":"6","location":"assets","locale":"","width":1410,"height":924}},"screenshots":{"1":"Settings \u2014 Product URL modes with live URL examples for each option","2":"Settings \u2014 Category URL modes and custom base slug option","3":"Settings \u2014 SEO options: canonical tags, breadcrumb integration and slug cache settings","4":"Diagnostics \u2014 Full plugin status table with component health overview","5":"Diagnostics \u2014 URL tester showing resolved URL and matched rewrite rule","6":"Diagnostics \u2014 Active rewrite rules table showing all rules added by the plugin"}},"plugin_section":[],"plugin_tags":[2662,186,561,538,286],"plugin_category":[45,55],"plugin_contributors":[263926],"plugin_business_model":[],"class_list":["post-324608","plugin","type-plugin","status-publish","hentry","plugin_tags-permalink","plugin_tags-seo","plugin_tags-slug","plugin_tags-url","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-seo-and-marketing","plugin_contributors-onlinefotka","plugin_committers-onlinefotka"],"banners":{"banner":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/banner-772x250.png?rev=3569787","banner_2x":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/banner-1544x500.png?rev=3569787","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/icon.svg?rev=3569752","icon":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/icon.svg?rev=3569752","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/screenshot-1.png?rev=3569786","caption":"Settings \u2014 Product URL modes with live URL examples for each option"},{"src":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/screenshot-2.png?rev=3569786","caption":"Settings \u2014 Category URL modes and custom base slug option"},{"src":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/screenshot-3.png?rev=3569786","caption":"Settings \u2014 SEO options: canonical tags, breadcrumb integration and slug cache settings"},{"src":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/screenshot-4.png?rev=3569786","caption":"Diagnostics \u2014 Full plugin status table with component health overview"},{"src":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/screenshot-5.png?rev=3569786","caption":"Diagnostics \u2014 URL tester showing resolved URL and matched rewrite rule"},{"src":"https:\/\/ps.w.org\/onlinefotka-permalink-manager-for-woocommerce\/assets\/screenshot-6.png?rev=3569786","caption":"Diagnostics \u2014 Active rewrite rules table showing all rules added by the plugin"}],"raw_content":"<!--section=description-->\n<p><strong>Onlinefotka Permalink Manager for WooCommerce<\/strong> gives you complete control over how your WooCommerce product and category URLs are structured \u2014 without editing theme files or touching WordPress core.<\/p>\n\n<p>By default, WooCommerce forces ugly base slugs into every URL: <code>\/product\/your-product-name\/<\/code> and <code>\/product-category\/electronics\/<\/code>. These slugs waste characters, look unprofessional and hurt SEO by making URLs longer than they need to be. This plugin solves all of that.<\/p>\n\n<h4>Why clean URLs matter for SEO<\/h4>\n\n<p>Search engines prefer short, descriptive URLs. Every extra word in a URL path that adds no meaning \u2014 like <code>\/product\/<\/code> or <code>\/product-category\/<\/code> \u2014 is a word that dilutes the value of your actual keywords. Removing these base slugs typically results in:<\/p>\n\n<ul>\n<li>Shorter, more shareable URLs<\/li>\n<li>Better click-through rates from search results<\/li>\n<li>Cleaner internal linking structure<\/li>\n<li>Fewer 404 errors when products are linked without the base slug<\/li>\n<\/ul>\n\n<h4>Product URL modes<\/h4>\n\n<p>Choose exactly how your product URLs should look:<\/p>\n\n<ul>\n<li><strong>Default<\/strong> \u2014 keep the WooCommerce default <code>\/product\/your-product\/<\/code> (no changes)<\/li>\n<li><strong>No base slug<\/strong> \u2014 remove <code>\/product\/<\/code> prefix \u2192 <code>\/your-product\/<\/code> <em>(recommended)<\/em><\/li>\n<li><strong>Category + product<\/strong> \u2014 prepend primary category \u2192 <code>\/electronics\/your-product\/<\/code><\/li>\n<li><strong>Full category hierarchy<\/strong> \u2014 include all parent categories \u2192 <code>\/tech\/electronics\/your-product\/<\/code><\/li>\n<\/ul>\n\n<h4>Category URL modes<\/h4>\n\n<p>Choose exactly how your category URLs should look:<\/p>\n\n<ul>\n<li><strong>Default<\/strong> \u2014 keep the WooCommerce default <code>\/product-category\/electronics\/<\/code> (no changes)<\/li>\n<li><strong>No base slug<\/strong> \u2014 remove <code>\/product-category\/<\/code> prefix \u2192 <code>\/electronics\/<\/code> <em>(recommended)<\/em><\/li>\n<li><strong>Full hierarchy<\/strong> \u2014 include parent categories without base \u2192 <code>\/tech\/electronics\/<\/code><\/li>\n<li><strong>Custom base<\/strong> \u2014 replace <code>\/product-category\/<\/code> with your own prefix, e.g. <code>\/shop\/electronics\/<\/code><\/li>\n<\/ul>\n\n<h4>SEO and redirect features<\/h4>\n\n<p>Changing URL structure on an existing shop can kill your rankings if not handled correctly. This plugin takes care of everything automatically:<\/p>\n\n<ul>\n<li><strong>Automatic 301 redirects<\/strong> \u2014 all old URLs are permanently redirected to the new canonical URL. Visitors and crawlers are never left on a dead link.<\/li>\n<li><strong>Canonical meta tags<\/strong> \u2014 fixes the <code>rel=canonical<\/code> tag in the <code>&lt;head&gt;<\/code> to point to the new URL structure, preventing duplicate content penalties.<\/li>\n<li><strong>Breadcrumb fix for Yoast SEO<\/strong> \u2014 updates Yoast breadcrumb trails to match the new URL structure.<\/li>\n<li><strong>Breadcrumb fix for RankMath<\/strong> \u2014 updates RankMath breadcrumb trails to match the new URL structure.<\/li>\n<li><strong>Primary category support<\/strong> \u2014 reads the primary category set in Yoast SEO or RankMath and uses it for URL generation and breadcrumb paths.<\/li>\n<li><strong>Product tag URL cleanup<\/strong> \u2014 removes the <code>\/product-tag\/<\/code> base slug from tag archive URLs.<\/li>\n<li><strong>Slug conflict detection<\/strong> \u2014 warns you when a product slug collides with an existing page, post or custom post type.<\/li>\n<\/ul>\n\n<h4>Diagnostic tools<\/h4>\n\n<p>A dedicated Diagnostics tab inside the plugin settings lets you:<\/p>\n\n<ul>\n<li>See a live <strong>plugin status table<\/strong> \u2014 shows active URL mode, cache status, detected plugins (Yoast, RankMath, WPML), PHP version, WP version and WooCommerce version.<\/li>\n<li>Use the built-in <strong>URL tester<\/strong> \u2014 enter any URL path and instantly see how the plugin resolves it, which rewrite rule matched and whether a redirect was triggered.<\/li>\n<li>View the full list of <strong>active rewrite rules<\/strong> added by the plugin \u2014 useful for debugging conflicts with other plugins.<\/li>\n<li><strong>Flush rewrite rules<\/strong> and <strong>rebuild the slug cache<\/strong> with a single click.<\/li>\n<\/ul>\n\n<h4>Performance<\/h4>\n\n<ul>\n<li>Product slugs are cached in a WordPress transient (configurable TTL, default 1 hour) to avoid repeated database queries on every request.<\/li>\n<li>Rewrite rules are registered only once on <code>init<\/code> and flushed only when settings change \u2014 no performance overhead on the front end.<\/li>\n<li>No external HTTP requests, no tracking, no telemetry.<\/li>\n<\/ul>\n\n<h4>Developer notes<\/h4>\n\n<ul>\n<li>Clean PHP 7.4+ code with custom PSR-4 autoloader \u2014 no Composer required<\/li>\n<li>Namespace <code>WCUM\\<\/code> \u2014 no global function pollution<\/li>\n<li>All settings stored in a single WordPress option as a serialized array<\/li>\n<li>Activation hook flushes rewrite rules; deactivation hook restores WooCommerce defaults; uninstall hook removes all plugin data<\/li>\n<li>Compatible with WooCommerce High-Performance Order Storage (HPOS)<\/li>\n<li>Compatible with WPML and Polylang (basic multilingual support via standard WP rewrite API)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>onlinefotka-permalink-manager-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Permalink Manager<\/strong> in the WordPress admin sidebar<\/li>\n<li>On the <strong>Product URLs<\/strong> tab, choose your preferred URL mode<\/li>\n<li>On the <strong>Category URLs<\/strong> tab, choose your preferred category URL mode<\/li>\n<li>On the <strong>SEO Options<\/strong> tab, enable canonical tags and breadcrumb fixes as needed<\/li>\n<li>Click <strong>Save Changes<\/strong> \u2014 rewrite rules are flushed automatically<\/li>\n<li>Visit the <strong>Diagnostics<\/strong> tab to verify everything is working correctly<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20plugin%20break%20my%20existing%20product%20urls%3F\"><h3>Will this plugin break my existing product URLs?<\/h3><\/dt>\n<dd><p>No \u2014 when you change the URL mode, the plugin automatically registers 301 redirects from old URLs to the new structure. Your existing backlinks, bookmarks and search engine rankings are preserved. The redirect happens transparently at the WordPress rewrite level with no additional redirect plugins needed.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20yoast%20seo%3F\"><h3>Is it compatible with Yoast SEO?<\/h3><\/dt>\n<dd><p>Yes. The plugin detects Yoast SEO and integrates with its breadcrumb trail and canonical tag output. If you have a primary category set in Yoast, the plugin uses it for URL generation.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20rankmath%3F\"><h3>Is it compatible with RankMath?<\/h3><\/dt>\n<dd><p>Yes. Same integration as Yoast SEO \u2014 breadcrumbs and canonicals are patched automatically when RankMath is active.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wpml%20or%20polylang%3F\"><h3>Does it work with WPML or Polylang?<\/h3><\/dt>\n<dd><p>Basic compatibility is included. The plugin uses standard WordPress rewrite rules and <code>query_vars<\/code> that multilingual plugins hook into. Full per-language URL structures are not yet supported.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20on%20an%20existing%20shop%20with%20thousands%20of%20products%3F\"><h3>Can I use it on an existing shop with thousands of products?<\/h3><\/dt>\n<dd><p>Yes. The slug cache means only one database query is needed per cache TTL period, regardless of how many products you have. The 301 redirect system handles old URLs at the rewrite rule level \u2014 no redirect loop, no slow PHP processing per request.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deactivate%20the%20plugin%3F\"><h3>What happens when I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Rewrite rules are restored to WordPress and WooCommerce defaults. All URL modes revert to WooCommerce standard. On full uninstall (Delete in the Plugins screen), all plugin options are permanently removed from the database.<\/p><\/dd>\n<dt id=\"does%20it%20conflict%20with%20other%20url%20or%20redirect%20plugins%3F\"><h3>Does it conflict with other URL or redirect plugins?<\/h3><\/dt>\n<dd><p>It may conflict with plugins that also modify WooCommerce rewrite rules, such as WooCommerce Permalink Manager (by Lets Sell Online). Use the Diagnostics tab to inspect active rewrite rules and detect conflicts. The built-in URL tester will show you exactly which rule is being matched for any given URL.<\/p><\/dd>\n<dt id=\"how%20do%20i%20report%20a%20bug%20or%20request%20a%20feature%3F\"><h3>How do I report a bug or request a feature?<\/h3><\/dt>\n<dd><p>Use the WordPress.org support forum for this plugin. Include your WordPress version, WooCommerce version, PHP version and a description of your URL settings \u2014 the Diagnostics tab status table has all of this information in one place.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>New: 404 logger \u2014 records broken URLs directly in the Diagnostics tab with hit count and referer<\/li>\n<li>New: Conflict report table in Diagnostics \u2014 shows which products conflict with existing pages, with direct edit link<\/li>\n<li>New: Slug preview in product editor \u2014 live URL preview below the slug field based on current plugin settings<\/li>\n<li>Improved: ConflictDetector now returns structured data with product ID for direct linking<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>New: SKU-based URL modes \u2014 No base + SKU, SKU only, Category + SKU<\/li>\n<li>Improved: Settings page now shows description and example URL for each option<\/li>\n<li>Improved: SKU slug map cached in transient for performance<\/li>\n<li>Fixed: WooCommerce product permalink filter added alongside core post_type_link<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Improved plugin assets: updated banner and icon graphics<\/li>\n<li>Added 6 screenshot mockups for the WordPress.org listing<\/li>\n<li>Minor readme improvements and expanded description<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Product URL modes: default, no base slug, category prefix, full category hierarchy<\/li>\n<li>Category URL modes: default, no base slug, full hierarchy, custom base<\/li>\n<li>Automatic 301 redirects from old WooCommerce URLs to new structure<\/li>\n<li>Canonical meta tag fix for products and categories<\/li>\n<li>Breadcrumb fix for WooCommerce, Yoast SEO and RankMath<\/li>\n<li>Primary category support for Yoast SEO and RankMath<\/li>\n<li>Product tag URL cleanup (removes \/product-tag\/ base)<\/li>\n<li>Slug conflict detector with admin warning<\/li>\n<li>Diagnostic tab with live status table, URL tester and rewrite rule viewer<\/li>\n<li>Transient slug cache for performance<\/li>\n<li>Slovak translation included<\/li>\n<\/ul>","raw_excerpt":"Remove base slugs and create clean SEO-friendly product and category URLs for WooCommerce. Includes 301 redirects, canonical tags and breadcrumbs.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324608","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=324608"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/onlinefotka"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324608"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324608"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324608"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324608"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324608"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}