{"id":258632,"date":"2025-10-28T12:27:58","date_gmt":"2025-10-28T12:27:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/410-link-unlinker\/"},"modified":"2025-12-18T15:56:47","modified_gmt":"2025-12-18T15:56:47","slug":"410-link-unlinker","status":"publish","type":"plugin","link":"https:\/\/am.wordpress.org\/plugins\/410-link-unlinker\/","author":14698674,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.7","stable_tag":"1.0.7","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"410 Link Unlinker","header_author":"Arnjen","header_description":"Removes anchor wrappers (<a href=\"\u2026\">\u2026<\/a>) in posts\/pages (and optionally postmeta) when links match a provided list (e.g., 410 Gone). Keeps the visible text.","assets_banners_color":"","last_updated":"2025-12-18 15:56:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":20,"downloads":869,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"Atastic","date":"2025-10-28 12:27:50"},"1.0.3":{"tag":"1.0.3","author":"Atastic","date":"2025-11-27 16:22:29"},"1.0.4":{"tag":"1.0.4","author":"Atastic","date":"2025-12-16 15:04:45"},"1.0.5":{"tag":"1.0.5","author":"Atastic","date":"2025-12-17 07:46:00"},"1.0.6":{"tag":"1.0.6","author":"Atastic","date":"2025-12-18 13:24:57"},"1.0.7":{"tag":"1.0.7","author":"Atastic","date":"2025-12-18 15:56:47"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[189358,3786,175,6988],"plugin_category":[],"plugin_contributors":[249866],"plugin_business_model":[],"class_list":["post-258632","plugin","type-plugin","status-publish","hentry","plugin_tags-189358","plugin_tags-cleanup","plugin_tags-links","plugin_tags-unlink","plugin_contributors-arnjen","plugin_committers-atastic"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/410-link-unlinker.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Use Tools \u2192 410 Link Unlinker to paste a list of URLs. Run a dry-run to preview, then apply. Optional: include wp_postmeta.<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPLv2 or later.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to \/wp-content\/plugins\/<\/li>\n<li>Activate via Plugins.<\/li>\n<li>Go to Tools \u2192 410 Link Unlinker.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20it%20delete%20the%20link%20text%3F'><h3>Does it delete the link text?<\/h3><\/dt>\n<dd><p>No\u2014only removes the <a> wrapper; the inner text\/HTML remains.<\/a><\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Add \"Trash Matching Posts\" feature to bulk-trash posts whose URLs match your 410 list (removes them from author pages, archives, etc.).<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fix URL parsing to accept URLs without https:\/\/ prefix.<\/li>\n<li>Improved examples: show post\/page URL slugs and meta_key names.<\/li>\n<li>Add \"Show all changes\" checkbox to list every modification instead of first 10.<\/li>\n<li>Fix shortcode matching to support both single and double quotes.<\/li>\n<li>Only process postmeta values that contain HTML tags (skip internal WP meta).<\/li>\n<li>Relative path matching now only applies to post_content, not postmeta (prevents false positives across domains).<\/li>\n<li>Fix PCRE regex limit error when processing large URL lists (600+ URLs now supported).<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Only scan published posts\/pages (skip drafts for faster processing).<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Add examples output for shortcode attribute neutralization in postmeta.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix URL matching bug where base domains were incorrectly matched instead of specific deep links.<\/li>\n<li>Improved pattern building to keep host-path pairs together, ensuring only exact URLs are matched.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix WordPress.Security.ValidatedSanitizedInput.InputNotSanitized warning for $_FILES input.<\/li>\n<li>Add phpcs:ignore comments for direct database queries used in bulk operations.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Add license header and metadata.<\/li>\n<li>Sanitize\/unslash inputs per WP standards.<\/li>\n<li>Inline prepared queries.<\/li>\n<li>Add version to enqueued CSS.<\/li>\n<\/ul>","raw_excerpt":"Removes anchor wrappers (\u2026) in posts\/pages (and optionally postmeta) when links match a provided list (e.g., 410 Gone). Keeps the visible text.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/258632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=258632"}],"author":[{"embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/atastic"}],"wp:attachment":[{"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=258632"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=258632"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=258632"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=258632"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=258632"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/am.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=258632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}