{"id":402046,"date":"2026-11-14T15:55:21","date_gmt":"2026-11-14T15:55:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/prajesh-document-link-review\/"},"modified":"2026-11-14T16:30:31","modified_gmt":"2026-11-14T16:30:31","slug":"prajesh-document-link-review","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/prajesh-document-link-review\/","author":23493414,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.3","stable_tag":"0.1.3","tested":"7.1.4","requires":"6.5","requires_php":"8.2","requires_plugins":null,"header_name":"Prajesh Document Link Review","header_author":"Prajesh Ganatra","header_description":"Find links to local documents, upload replacements, and review selected updates before applying them.","last_updated":"2026-11-14 16:30:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.prajeshganatra.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":45,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.3":{"tag":"0.1.3","author":"prajeshganatra","date":"2026-11-14 16:30:31","revision":3802225}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3802178,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3802178,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3802178,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3802178,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3802227,"resolution":"1","location":"assets","locale":"","width":1440,"height":1136},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3802227,"resolution":"2","location":"assets","locale":"","width":1440,"height":1332},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3802227,"resolution":"3","location":"assets","locale":"","width":1440,"height":1235}},"screenshots":{"1":"Compact document grid showing local files, file status and supported record usage.","2":"Review a replacement document and the selected records before applying.","3":"Per-record results confirm the reviewed document link update."}},"plugin_section":[],"plugin_tags":[529,9054,175,233,1764],"plugin_category":[50],"plugin_contributors":[285414],"plugin_business_model":[],"class_list":["post-402046","plugin","type-plugin","status-publish","hentry","plugin_tags-content","plugin_tags-documents","plugin_tags-links","plugin_tags-media-library","plugin_tags-pdf","plugin_category-media","plugin_contributors-prajeshganatra","plugin_committers-prajeshganatra"],"banners":{"banner":"https:\/\/ps.w.org\/prajesh-document-link-review\/assets\/banner-772x250.png?rev=3802178","banner_2x":"https:\/\/ps.w.org\/prajesh-document-link-review\/assets\/banner-1544x500.png?rev=3802178","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/prajesh-document-link-review\/assets\/icon-128x128.png?rev=3802178","icon_2x":"https:\/\/ps.w.org\/prajesh-document-link-review\/assets\/icon-256x256.png?rev=3802178","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/prajesh-document-link-review\/assets\/screenshot-1.png?rev=3802227","caption":"Compact document grid showing local files, file status and supported record usage."},{"src":"https:\/\/ps.w.org\/prajesh-document-link-review\/assets\/screenshot-2.png?rev=3802227","caption":"Review a replacement document and the selected records before applying."},{"src":"https:\/\/ps.w.org\/prajesh-document-link-review\/assets\/screenshot-3.png?rev=3802227","caption":"Per-record results confirm the reviewed document link update."}],"raw_content":"<!--section=description-->\n<p>Scan editable posts and pages for links to PDF, Word and Excel documents in the site's uploads directory. The document grid groups links by path, shows whether the file is present on disk and lists the editable records using it. Eligible Media Library documents appear even when no supported records link to them.<\/p>\n\n<ul>\n<li>Upload a PDF, DOC, DOCX, XLS or XLSX document or select an existing document of the same type from the Media Library.<\/li>\n<li>New uploads use documents\/pdf, documents\/word or documents\/excel under the site's configured uploads directory. WordPress creates a Media Library attachment and assigns a unique filename.<\/li>\n<li>Select up to 25 records per review. Compare the old path and replacement URL, then explicitly apply the reviewed links. Per-record results identify confirmed updates.<\/li>\n<li>The plugin checks record permissions, editor locks and whether the reviewed content has changed before updating.<\/li>\n<\/ul>\n\n<h4>Scope<\/h4>\n\n<p>Scans anchor links in saved posts and pages, including classic content and supported static WordPress blocks. External links, page-relative links, custom fields, page builders, synced patterns, dynamic blocks and template content are outside the scan. File status checks local storage, so remote-only media may appear missing. No remote requests are made.<\/p>\n\n<p>The plugin replaces all occurrences of the chosen document path in each selected record. URL fragments are preserved and query strings are removed. Updates to published records take effect immediately. Standard WordPress revisions may be available if enabled. The original media attachment and file are retained.<\/p>\n\n<p>Uploads require the WordPress upload_files capability, the PHP Fileinfo extension and, for DOCX and XLSX, ZipArchive. Files must pass the site's permitted MIME types and server upload limits. Legacy Office files must be recognized as the corresponding Word or Excel type by Fileinfo.<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>The scan and review are held in the current browser tab. There is no telemetry, remote service, scheduled job or plugin-specific database storage. WordPress stores new Media Library files and attachments and the content changes you apply. Deleting the plugin preserves these items.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the ZIP and activate Prajesh Document Link Review.<\/li>\n<li>Open Tools &gt; Document Link Review.<\/li>\n<li>Scan posts and pages, then choose Review links on a document row.<\/li>\n<li>Select the affected records and upload or choose a replacement.<\/li>\n<li>Preview changes and apply the reviewed links.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20upload%20a%20document%20before%20scanning%3F\"><h3>Can I upload a document before scanning?<\/h3><\/dt>\n<dd><p>Yes. Use Upload document to add a file to the Media Library in the folder for its type.<\/p><\/dd>\n<dt id=\"does%20uploading%20change%20existing%20links%3F\"><h3>Does uploading change existing links?<\/h3><\/dt>\n<dd><p>Uploading creates a new attachment. The selected links are updated when you confirm the preview.<\/p><\/dd>\n<dt id=\"does%20the%20grid%20scan%20external%20urls%3F\"><h3>Does the grid scan external URLs?<\/h3><\/dt>\n<dd><p>The grid checks saved links in supported content against the site's configured uploads location. It does not contact remote websites.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Use iterative block traversal and skip posts with more than 64 levels of nested blocks.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Load the document grid automatically and show eligible Media Library documents, including new uploads with zero usage.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Match the Prajesh admin theme and streamline the document grid with file and action icons.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release with document grid, type-specific uploads, Media Library selection and reviewed link replacement.<\/li>\n<\/ul>","raw_excerpt":"Find local PDF, Word and Excel links in posts and pages and review selected replacements before applying them.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/402046","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=402046"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/prajeshganatra"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=402046"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=402046"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=402046"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=402046"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=402046"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=402046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}