{"id":383069,"date":"2026-10-11T20:32:49","date_gmt":"2026-10-11T20:32:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sf-redirect-link-fixer\/"},"modified":"2026-10-11T20:32:37","modified_gmt":"2026-10-11T20:32:37","slug":"linkstraight-redirect-fixer","status":"publish","type":"plugin","link":"https:\/\/fur.wordpress.org\/plugins\/linkstraight-redirect-fixer\/","author":23582181,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Linkstraight Redirect Fixer","header_author":"Maintenance WP","header_description":"Bulk-replace links pointing to redirected URLs (3xx) using a crawler CSV export: import, dry run, validation, apply and restore.","assets_banners_color":"1f2a53","last_updated":"2026-10-11 20:32:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/maintenance-wp.fr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":64,"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":"maintenancewp","date":"2026-10-11 20:32:37","revision":3740091}},"upgrade_notice":{"1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3740091,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3740091,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3740091,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3740091,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[14279,6681,726,12126,186],"plugin_category":[55],"plugin_contributors":[285905],"plugin_business_model":[],"class_list":["post-383069","plugin","type-plugin","status-publish","hentry","plugin_tags-broken-links","plugin_tags-internal-links","plugin_tags-redirects","plugin_tags-search-replace","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-maintenancewp","plugin_committers-maintenancewp"],"banners":{"banner":"https:\/\/ps.w.org\/linkstraight-redirect-fixer\/assets\/banner-772x250.png?rev=3740091","banner_2x":"https:\/\/ps.w.org\/linkstraight-redirect-fixer\/assets\/banner-1544x500.png?rev=3740091","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/linkstraight-redirect-fixer\/assets\/icon-128x128.png?rev=3740091","icon_2x":"https:\/\/ps.w.org\/linkstraight-redirect-fixer\/assets\/icon-256x256.png?rev=3740091","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Internal links that go through a 301 or 302 redirect waste crawl budget, slow down visitors and dilute SEO signals. Linkstraight Redirect Fixer replaces them in bulk with the final URL, safely.<\/p>\n\n<p><strong>Workflow (Tools &gt; Fix Redirects)<\/strong><\/p>\n\n<ol>\n<li><strong>Import<\/strong> the \"Response Codes &gt; Redirection (3xx)\" CSV export of your SEO crawler (such as Screaming Frog SEO Spider, English or French headers, comma or semicolon separated).<\/li>\n<li><strong>Select<\/strong>: redirect chains are resolved to the final URL. Risky cases are unchecked by default with the reason shown (302 to the home page, WooCommerce empty cart, \/embed\/ and pagination URLs, protocol-only changes, redirect loops).<\/li>\n<li><strong>Dry run<\/strong>: number of replacements per URL and list of affected contents with edit links. Nothing is changed.<\/li>\n<li><strong>Validate<\/strong>: confirm you reviewed the dry run and have a backup, then apply.<\/li>\n<li><strong>Afterwards<\/strong>: caches are flushed, you can search for remaining URLs across the site tables, and restore the original values in one click.<\/li>\n<\/ol>\n\n<p><strong>Link formats handled<\/strong><\/p>\n\n<ul>\n<li>Absolute links, http or https, with or without www.<\/li>\n<li>JSON-escaped links (page builders such as Elementor).<\/li>\n<li>Links inside block attributes, including ACF blocks (<code>\\u0022<\/code> encoded quotes).<\/li>\n<li>Relative links (<code>href=\"\/path\/\"<\/code>), including menu custom links and ACF URL or link fields storing a bare <code>\/path\/<\/code>. They stay relative when the target is on the same site.<\/li>\n<li>JSON-escaped relative links (<code>\"\\\/path\\\/\"<\/code>).<\/li>\n<\/ul>\n\n<p><strong>Data processed<\/strong><\/p>\n\n<p>Post content and excerpts, custom fields (ACF included), options (widgets, ACF options pages, theme mods), menus, term descriptions and meta, user meta. Serialized data is unserialized, updated and serialized again; values containing PHP objects are never instantiated and are reported instead.<\/p>\n\n<p><strong>Never modified<\/strong><\/p>\n\n<p>Redirection plugin tables, revisions, transients, Yoast SEO Premium redirects, the siteurl and home options.<\/p>\n\n<p><strong>Built for large sites<\/strong><\/p>\n\n<p>Processing runs through AJAX in short slices (15 seconds by default) and resumes automatically after a timeout. Original values are stored in a dedicated database table, never in public files.<\/p>\n\n<p>Screaming Frog SEO Spider is a trademark of Screaming Frog Ltd. Linkstraight Redirect Fixer is not affiliated with or endorsed by Screaming Frog; it only reads the CSV export format.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin through Plugins &gt; Add New &gt; Upload Plugin, or copy the <code>linkstraight-redirect-fixer<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Tools &gt; Fix Redirects.<\/li>\n<\/ol>\n\n<p>On a multisite network, the tool is available to super admins only, because it reads and writes tables shared by the network (users and user meta).<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20create%20redirects%3F\"><h3>Does it create redirects?<\/h3><\/dt>\n<dd><p>No. It fixes the links that point to existing redirects. Keep your redirects in place for external backlinks.<\/p><\/dd>\n<dt id=\"is%20a%20backup%20required%3F\"><h3>Is a backup required?<\/h3><\/dt>\n<dd><p>The plugin keeps the original value of every modified row and can restore them, but a full database backup before applying is strongly recommended.<\/p><\/dd>\n<dt id=\"the%20crawler%20still%20finds%20some%20urls%20after%20the%20replacement\"><h3>The crawler still finds some URLs after the replacement<\/h3><\/dt>\n<dd><p>Clear external caches (CDN, hosting cache) and crawl again. Then use \"Search for remaining URLs\": if a URL is not in the database, the link is hard-coded in a theme file or served from a cache.<\/p><\/dd>\n<dt id=\"can%20i%20change%20the%20slice%20duration%20or%20the%20chunk%20size%3F\"><h3>Can I change the slice duration or the chunk size?<\/h3><\/dt>\n<dd><p>Yes, with the <code>linkstraight_slice_seconds<\/code> (default 15) and <code>linkstraight_chunk_size<\/code> (default 3000 rows) filters. The <code>linkstraight_purge_caches<\/code> action lets you purge additional caches after a replacement.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Replace links pointing to redirected URLs (3xx) with their final destination, from a crawler CSV export, with a dry run and one-click restore.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=383069"}],"author":[{"embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/maintenancewp"}],"wp:attachment":[{"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383069"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383069"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383069"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383069"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383069"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}