Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::hasChildren($allow_links = true) should either be compatible with RecursiveDirectoryIterator::hasChildren(bool $allowLinks = false): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 57

Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::rewind() should either be compatible with FilesystemIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 35

Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::next() should either be compatible with DirectoryIterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 42

Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::hasChildren($allow_links = true) should either be compatible with RecursiveDirectoryIterator::hasChildren(bool $allowLinks = false): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 57

Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::rewind() should either be compatible with FilesystemIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 35

Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::next() should either be compatible with DirectoryIterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 42

Deprecated: Return type of Ai1wm_Recursive_Extension_Filter::getChildren() should either be compatible with RecursiveFilterIterator::getChildren(): ?RecursiveFilterIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/filter/class-ai1wm-recursive-extension-filter.php on line 47

Deprecated: Return type of Ai1wm_Recursive_Extension_Filter::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/filter/class-ai1wm-recursive-extension-filter.php on line 37

Deprecated: Return type of Ai1wm_Recursive_Extension_Filter::getChildren() should either be compatible with RecursiveFilterIterator::getChildren(): ?RecursiveFilterIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/filter/class-ai1wm-recursive-extension-filter.php on line 47

Deprecated: Return type of Ai1wm_Recursive_Extension_Filter::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/filter/class-ai1wm-recursive-extension-filter.php on line 37

Deprecated: Return type of Ai1wm_Recursive_Exclude_Filter::getChildren() should either be compatible with RecursiveFilterIterator::getChildren(): ?RecursiveFilterIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/filter/class-ai1wm-recursive-exclude-filter.php on line 41

Deprecated: Return type of Ai1wm_Recursive_Exclude_Filter::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/filter/class-ai1wm-recursive-exclude-filter.php on line 37

Deprecated: Return type of Ai1wm_Recursive_Newline_Filter::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/filter/class-ai1wm-recursive-newline-filter.php on line 28

Deprecated: Return type of Ai1wm_Recursive_Newline_Filter::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/www/public/wp-content/plugins/all-in-one-wp-migration-unlimited-main/lib/vendor/servmask/filter/class-ai1wm-recursive-newline-filter.php on line 28

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the astra-sites domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/www/public/wp-includes/functions.php on line 6131

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the bafg domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/www/public/wp-includes/functions.php on line 6131

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-addons-for-gutenberg domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/www/public/wp-includes/functions.php on line 6131

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/www/public/wp-includes/functions.php on line 6131

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the astra domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/www/public/wp-includes/functions.php on line 6131

Deprecated: Function WP_Dependencies->add_data() was called with an argument that is deprecated since version 6.9.0! IE conditional comments are ignored by all supported browsers. in /home/www/public/wp-includes/functions.php on line 6131
Home - Leeder Home Improvements

Your Trusted Renovation Specialists

Welcome to the Leeder Home Improvements site, we are committed to providing the best renovation, plumbing and handyman services in the North East.

SERVICES

Wet Rot Repair

Spotted soft or crumbling wood? We’ll sort it. Our team finds the source of the wet rot, fixes the damage, and makes sure it won’t come back — keeping your home solid and safe.

Water Damage Repair

Got a leak or signs of water damage? We’ll find the source, fix what’s been affected, and make sure your home’s back to how it should be.

Flooring Replacement

Worn-out floors or just fancy a change? We’ll take up the old and fit new flooring that suits your space — no fuss, just solid, tidy work that lasts.

Plumbing Work

Drips, leaks, or something not quite right? We handle all types of plumbing jobs — whether it’s a quick fix or a full replacement, we’ll get it sorted properly.

Decking Installation & Renovation

Need a new deck or want to bring an old one back to life? We build and restore decking that looks great and stands up to the weather — built to last, done right.

Surface Restoration (Re-Veneering)

Scratched, chipped, or tired-looking surfaces? We’ll re-veneer and restore them so they look fresh again — saving you the cost of full replacement.

Request a free quote