Make WordPress Core

Opened 7 years ago

Closed 13 months ago

Last modified 12 months ago

#41404 closed enhancement (fixed)

Sunset Windows Live Writer Manifest File

Reported by: jhabdas's profile jhabdas Owned by: sergeybiryukov's profile SergeyBiryukov
Milestone: 6.3 Priority: normal
Severity: normal Version: 6.3
Component: General Keywords: needs-patch
Focuses: Cc:


Given the following code produced on the front-end for users:


Following the link to the manifest XML file produces a node in the tree looking like:

  <![CDATA[ {blog-postapi-url}/../wp-admin/ ]]>

Manifest produced by the wlwmanifest_link() function in general-template.php and was added to core in version 2.3.1 with ticket/5023 10 years ago.

Assuming usage of Windows Live Writer is less than 2% is there anything which would prevent this code from being deprecated in an upcoming minor and (ideally) removed from the codebase altogether?

I suspect removing this from Core will have the following benefits:

  • Improved security by greater obscurity of the admin URL
  • Less code to download by the browser
  • Less code to maintain in Core
  • Less cognitive load on users inspecting generated site source

Attachments (1)

41404.1.patch (2.1 KB) - added by ayeshrajans 7 years ago.

Download all attachments as: .zip

Change History (17)

7 years ago

#1 @ayeshrajans
7 years ago

It's core maintainers decision, but I'd like to put my +1 as well. Windows Live Essentials (which included Live Writer) [reached]( its EOL early this year, and is not available to download anymore.

Attached a patch removing the wp_head hook, the manifest file itself, and some icons included.

#2 @Frank Klein
5 years ago

Microsoft does no longer support Windows Live Writer, and the software us also not compatible with Gutenberg.

If this feature should be kept around for Classic Editor users, maybe this code should be moved to this plugin?

#3 @ayeshrajans
5 years ago

Classic Editor certainly promises further backwards compatibility, so completely removing this could have drastic effects. Moving to Classic Editor (which already has an EOL set) sounds like the ideal solution. I'd be happy to submit a patch for that if others agree.

#4 @wtranch
5 years ago

I'd like this to be considered soon as a commitment by WP to be more performant. Literally no one uses WLW, and yet, this PHP code and associated front-end "bloat" is on every WP installation. It was kind for @jhabdas to hope that up to 2% might still be using WLW, but here at the end of 2019, I don't think even that level of generosity for Microsoft's aged tool can be offered. If it was 0.01% of all WordPress installations, I'd be surprised it even has that level of usage.

Regardless, WordPress once stated that core was to build out components that were in use by the majority of users (or for whom the majority of users would benefit). Of course, that ideal has long been side-stepped, but its unclear as to why (or if we need to even delve into the why).

I disagree that removing this would have "drastic effects". It's bloated and unnecessary code. It actually *should* be removed. Leaving this dusty code to settle in the cobwebs of a "classic editor" is not the correct approach, in my opinion. The classic editor is for allowing some people to use the non-Gutenberg approach to creating content. Just because some people, for whatever reasons, want to develop content using the traditional WordPress method does *not* mean that those same people are running dormant and defunct versions of Microsoft's Windows Live Writer.

We need to excise this code from core at once (along with a host of other legacy code that performs little to no function for 99% of WordPress installations). This is a win-win no matter how you slice it.

To be clear, not only should the front-end calls, the API, and admin calls to WLWmanifest be removed, but also the file(s) itself and any and all references to it. Microsoft moved on nearly a decade ago ( with its last contribution to WLW's code in 2012. Maybe it's time WordPress moved on, too.

#5 @ayeshrajans
5 years ago

I suppose there's a slight confusion - when I mentioned "drastic efforts", this was a pre-Gutenberg comment about removing the integration with bkogging tools in general. I totally agree with removing WLW, and even submitted the initial patch suggestion for it.

Let's get rid of it for good.

#6 @joostdevalk
13 months ago

  • Version changed from 4.9 to trunk

OK, I think it truly is time to merge this one. I think the patch isn't complete, as we should get rid of the file itself as well.

This ticket was mentioned in PR #4276 on WordPress/wordpress-develop by @joostdevalk.

13 months ago

  • Keywords has-patch has-unit-tests added

Removes wlwmanifest.xml from core and all references to it.

Trac ticket:

#8 @joostdevalk
13 months ago

  • Keywords has-unit-tests removed

Reason for removing: not only is it obsolete and no longer needed, it causes unneeded crawling and in turn because of that, errors / notices in Google Search Console. Since the file is totally not needed, removing it is the simplest solution.

#9 @SergeyBiryukov
13 months ago

  • Milestone changed from Awaiting Review to 6.3

@SergeyBiryukov commented on PR #4276:

13 months ago

Looking at the original commit in r6192, it appears that the wp-includes/images/wlw/ directory can also be removed. Will handle on commit :)

#11 @SergeyBiryukov
13 months ago

  • Owner set to SergeyBiryukov
  • Resolution set to fixed
  • Status changed from new to closed

In 55620:

General: Remove Windows Live Writer manifest file.

The XML manifest was originally added in WordPress 2.3.1 to turn on tagging support in Windows Live Writer.

Given that the last major release of the software came out in 2012, and it was completely discontinued in January 2017, including this file in core no longer provides any benefit.

Follow-up to [6192], [49904].

Props joostdevalk, ayeshrajans, flixos90, jhabdas, frank-klein, wtranch, SergeyBiryukov.
Fixes #41404.

@SergeyBiryukov commented on PR #4276:

13 months ago

Thanks for the PR! Merged in r55620.

#13 follow-up: @ocean90
13 months ago

  • Keywords needs-patch added; has-patch removed
  • Resolution fixed deleted
  • Status changed from closed to reopened

We should include the removed directory/file in $_old_files.

#14 in reply to: ↑ 13 @SergeyBiryukov
13 months ago

Replying to ocean90:

We should include the removed directory/file in $_old_files.

Good catch, thanks!

#15 @SergeyBiryukov
13 months ago

  • Resolution set to fixed
  • Status changed from reopened to closed

In 55621:

Upgrade/Install: Include the removed Windows Live Writer manifest in $_old_files.

This ensures that the file and a few related images are also removed from existing installations on update.

Follow-up to [55620].

Props ocean90.
Fixes #41404.

#16 @westonruter
12 months ago

Just to note that the Library Detector For Chrome was using this link as a signal for whether a given site was WordPress. With its removal, the condition will need to be updated. See Library-Detector-for-Chrome#203.

Note: See TracTickets for help on using tickets.