Page MenuHomeMiraheze

Add Extension:RemoveRedlinks
Closed, ResolvedPublic

Description

Miraheze wiki URL:genshinimpact.miraheze.org

Following a discussion on Discord, I would like to add https://www.mediawiki.org/wiki/Extension:RemoveRedlinks to Special:ManageWiki. Fandom had done something similar for SEO reasons once, and it appeared to benefit them (see User:Collei/Improving a wiki's SEO for evidence of this). I also believe that others may find this useful in general.

Please consider implementing this extension. Thank you!

Event Timeline

seems very basic and probably wouldn't take more than a few minutes maximum to review. @Universal_Omega think you could have a quick look?

Approved. It isn't super maintained, but is simple enough to approve it, even if it is experimental. Though no guarantees it will work for all future versions of MediaWiki, since it's experimental and not super maintained. Nonetheless approved.

Will install after the 1.39 upgrade.

Extension installed and testing on betawiki, but doesn't seem to work for the moment.

Extension installed and testing on betawiki, but doesn't seem to work for the moment.

https://beta.betaheze.org/w/index.php?title=Test123&curid=56&diff=1003&oldid=955

The extension only removes links to non-existing userpages, not links to non-existent pages in general. I also think you have to log-out to see the extension in action (https://github.com/marohh/mediawikiRemoveRedlinks/blob/7f54a689b2e00c2a5bd8e498f6465171eedf10fd/includes/Hooks.php#L29).

Nevermind the above, I'm wrong.

I don't see it on betawiki's Special:Version.

I just tried it out on my VM, I think know what's going on. (Tested with the latest git commit, by the way).

Just like what Reception123 said, it didn't seem to work at first. However, when I went to the page's history, red links were indeed removed.

Screenshot_2023-02-11_20-15-21.png (389×1 px, 150 KB)

Then, I edited the page while logged out, and the link to Admin's nonexistent userpage was removed, leaving only the User:Admin text.

So, the problem here seems to be that, due to the parser cache, the extension is only able to check if the user is logged in when saving. If the revision is made by a logged-in user, the red links will remain, while, if it's made by a logged-out user, the extension correctly strips red links immediately.

Possible solutions include possibly waiting (? I don't know if MediaWiki periodically clears the cache), clicking the purge button as a logged-out user when a logged-in user edits a page, or forking (the maintainer didn't seem very active, I doubt anyone would answer to any PRs) and not check if a user is logged in or out.

Another thing, if the edit was made by a logged out user, redlinks are shown to logged-in users while stripped from logged-out users, just at the page at mediawiki.org says. The same doesn't happen if the edit is made by a logged in user.

I feel like there's not much point in this extension in its current form if it's so complicated to achieve its intended result?

Well, according to https://www.mediawiki.org/wiki/Manual:Parser_cache, entries seem to be periodically cleared once they reach a certain age. It will work, as long as you're patient (though I wonder what will happen if the one to view the page after the cache has been cleared is a logged-in user). Another option is disabling the cache :)

In that case, if @Collei is fine with it working this way I'd have no issues adding it.

It sounds good enough for now (better than nothing), though I think I will fork the original extension and make one that works better once I have more time.

Just to note that Miraheze doesn't readily accept forks and strongly recommends and encourages that changes are proposed on the extension itself.

Reception123 claimed this task.

Now available via ManageWiki/extensions