I wrote recently about how I exported all my data from Instagram and imported it into WordPress. As part of liberating my data from Instagram, I decided not to post on Instagram anymore and, instead, to post this content to my blog, where I have full control over the content and experience.
While I don’t love what Instagram has become, it is still incredibly easy to log in and publish an image and a short caption in minutes from your phone. Logging into a WordPress website in a mobile browser to publish a blog post is considerably more annoying, especially when you have two-factor authentication set up (as I do). There are several extra steps to log in, and the WordPress mobile experience (especially in the block editor) leaves a lot to be desired, given that some settings and sections disappear entirely in portrait mode on mobile.
I wanted to stop using Instagram, but I still want the ease of posting photos on the fly. This led me to try the WordPress mobile app for the first time.
I love that WordPress has mobile apps that intend to make it easy to publish “anytime, anywhere.” The intent is exactly what I needed. Unfortunately, the reality is that the WordPress mobile app (or at least the Android app) fails to achieve that goal.
TLDR; Why the WordPress Android App is a Failure
I don’t say that the WordPress app is a failure lightly. In fact, I give it a lot of passes for its limited functionality as a “website builder” because I don’t think anyone in their right mind should be building a website on a mobile device (though I know people do).
I have zero expectations that the WordPress app would support building complex pages, so my complaints have nothing to do with that.
Instead, I say the WordPress app is a failure because its limitations make it impossible to complete the task most central to WordPress:
It’s impossible to publish simple blog posts — posts with only a featured image and one paragraph of text — within the WordPress mobile app.
This post describes my experiences and frustrations with the WordPress Android app, including known bugs that have existed since 2018, making it impossible to publish an accessible, properly coded post via the app.
Problems With the WordPress Mobile App
XML-RPC
WordPress mobile apps rely on XML-RPC to connect to WordPress rather than the WordPress Rest API. XML-RPC is a protocol that allows a client to execute remote function calls over the Internet — it’s like an early version of an API.
There are a lot of security concerns with XML-RPC, and for this reason, many WordPress hosts disable it. If you decide to use the WordPress mobile app, you may have trouble getting it to function with your website, as I did.
Setup Difficulties
My blog is hosted in a managed WordPress hosting account at GoDaddy. A toggle in my site settings allowed me to enable XML-RPC on my site. Unfortunately, toggling that on didn’t actually enable XML-RPC for my site; the site continued rejecting connection attempts even when that was turned on.
I went back and forth with GoDaddy support for several days about this, with lower-level reps telling me nothing could be done. They said, this was a security feature that could not be turned off for my site. If I had been a typical website owner, I would have abandoned the WordPress app in frustration at that point.
Luckily, since I have gotten involved in the WordPress community, I’ve made friends at hosting companies and I’m not a typical website owner. I reached out to one of my friends who works at GoDaddy and had them escalate my ticket to someone with the authority to adjust rules on the server until the XML-RPC requests were accepted. It took about a week of testing and back and forth with advanced support reps before I could even log into my site in the app.
Lockouts
Once or twice, I have gotten too overzealous in how quickly I’m working in the WordPress app, either uploading images from my phone or typing a blog post, and the quantity of the XML-RPC requests throws a security flag at GoDaddy, which results in my IP address being blocked from even viewing my website.
This happened in December when I first started working on this blog post:
When this block occurred last month, I was uploading images for this post to the media library. GoDaddy reported there were “over 500 connections in a 15-minute window” before the security system kicked in and blocked me.
I had to switch to a mobile hotspot and my computer to be able to see my website, let alone log into it until GoDaddy’s advanced support team unblocked my IP the following day.
XML-RPC or Overzealous Security?
Now, it’s entirely possible that my hosting plan with GoDaddy is partially to blame for the issues I had initially setting up the app and the IP address block. Perhaps their security rules are too strict. Indeed, if I had a dedicated server rather than a shared hosting account, I could fine-tune all these rules if I wanted to.
But this is a non-monetized blog — I don’t even track traffic to the site. I don’t want to pay much for hosting and am not interested in fiddling with server settings. In this respect, I am like most WordPress users with hobby blogs or small business sites: people looking for affordable and easy hosting.
And so, I don’t think the issue here is solely a problem with the particular hosting plan I have at GoDaddy. The problem is that the app uses XML-RPC in the first place.
If you Google WordPress XML-RPC because you want to learn about it or because you are trying to troubleshoot why the WordPress app won’t connect to your site, all the top results warn that XML-RPC can be a security risk and talk about how to turn it off.
What impression does that leave for a non-technical site owner of the WordPress app, which relies on XML-RPC? Certainly not that it’s a trustworthy tool.
The fact that the app has not been upgraded to the Rest API and still relies on a less secure, legacy framework is problematic not just from a security standpoint but also from a user experience standpoint.
If we want WordPress to compete with social media and to “put the power of web publishing in your pocket,” as the app promises, it needs to be mindlessly easy for ordinary people without technical ability or fancy hosting plans to set up. Anything else is a failure.
Inability to Upload Multiple Images at a Time
A basic thing I want to be able to do in the WordPress Android app is upload photos from my phone. Being able to upload images from my phone directly through the app saves me from the multi-step process I was previously taking of emailing photos to myself and then uploading them from my computer.
I can upload photos in the app, but only one at a time.
If I select multiple images to upload at once, maybe one or two of them will upload. More often than not, they all fail, and I’m presented with the error message displayed above, “8 files not uploaded. We couldn’t complete this action.”
There’s a Retry button. It also never works.
I then have to hit the upload button on each image one at a time to get them all uploaded. These errors exist regardless of if I’m at home on my WiFi or at the park on mobile data. I’ve never once been able to upload more than one image at a time.
I haven’t dug into why multiple image uploads fail. I suspect it could be because multiple image uploads are not processed in an orderly queue and are instead attempted all at once, which either overloads the server or throws an XML-RPC security flag and gets them blocked.
I’m not sure that the reason why it doesn’t work matters. All I know is that, as a user, I find this annoying. It doesn’t make the app feel workable or like a viable competitor for the Facebook or Instagram image upload experience.
Janky Error Messages and Poor Documentation
You might be annoyed when encountering an error, but if it is clearly explained with a quality error message or good documentation, you will be pointed toward fixing the problem.
Bad Error Messages
The WordPress mobile app lacks descriptive error information. Many of the error messages in the app are ambiguous and not helpful. In some cases, they are wrong.
Here are two examples
In the first image, the error message says, “6 files not uploaded, 6 successfully uploaded. We couldn’t complete this action.” This is incredibly confusing as there are actually eight images that failed to upload and one that was successfully uploaded. The image counts are wrong for some reason. There’s also no explanation about why the uploads failed.
The second image shows an error message when attempting to connect equalizedigital.com to the WordPress mobile app. The error says, “The site at this address is not a WordPress site. For us to connect to it, the site must use WordPress.” The red text used for this error fails color contrast for accessibility and so does the white/light blue combinations on the Retry and Continue buttons.
Of course, the Equalize Digital website is a WordPress website, so this error message is incorrect. The app cannot connect for some other reason. It returns this incorrect error message without links to documentation or other information about how a user might resolve the problem.
This is likely an abandonment point for users before they even get started.
Limited Documentation
Poor error messages can be overcome by detailed documentation. How often have you had a problem with an app, googled it, and found the answer in the documentation?
Google is my go-to when I have an issue I can’t figure out, but alas, the WordPress mobile apps have very limited documentation. There’s the Mobile App Handbook, which is more about how to get involved on the mobile app team and has incorrect information about how to get started that references needing a WordPress.com account (not true). There’s no troubleshooting information here.
The WordPress.com Mobile App docs have some information on troubleshooting, but this is not perfectly relevant as it’s intended for the Jetpack app, which is a fork of the core WordPress app.
The App Support URL on Google Play goes to the most useless page ever, with no support or documentation information.
Even if the user notices the Documentation link below and visits the documentation page, there’s no information to be found. A search for “mobile app” or “mobile” in support docs returns information about how to use the customizer.
All of this adds up to more failures that block WordPress mobile apps from being usable by the masses.
No Support for Custom Post Types or Taxonomies
When I wrote about moving my Instagram posts to WordPress, I discussed debating importing the posts into a custom post type. For many users, that would have made a lot of sense. Luckily for me, I decided to just use a category on my blog.
Why is this lucky? Because it’s impossible to edit or publish posts in custom post types in the WordPress mobile apps. Had I setup my Instagram posts anywhere other than my blog, I wouldn’t have been able to continue posting there in the mobile app.
There have been GitHub issues open requesting custom post type support for over 10 years:
The Android issue was created in 2018, and the iOS issue in 2013! Custom post types are a huge part of what took WordPress from being a blogging platform to a full-fledged content management system. Without custom post type support, WordPress mobile apps are unviable editing tools for any business website and also many personal websites.
There’s also a GitHub issue from 2013 requesting support for custom taxonomies and custom fields. This is a blocker for me as I have a Locations taxonomy on posts, which I cannot set when posting from the mobile app.
That the WordPress iOS and Android apps don’t support custom post types after 12+ years is unfathomable to me.
Doesn’t Respect ! is_admin
I imported my Instagram posts into my blog, but I didn’t want to show them in my main blog feed. To hide them, I added a simple function to my theme’s functions.php file.
/** Remove shorts category from the blog **/
add_filter( 'pre_get_posts', 'amber_exclude_shorts_category' );
function amber_exclude_shorts_category ( $query ) {
if ( $query->is_home && ! is_admin() ) {
$query->set( 'cat', '-272' );
}
return $query;
}
This code snippet adds a filter that modifies the query fetching blog posts to display on the main blog page and removes any posts in the category with an ID of 272 (my shorts category). There is a limitation, ! is_admin
that tells the filter not to change the query in the WordPress admin, only on the front end.
This works perfectly on the website and browser-based admin experience. In the mobile app, however, the query also hides all posts in that category from the editor. Here’s how my published post looks in the app:
The most recent posts are from December 28, December 1, and November 12 of this year before jumping back to July 18, 2022. In contrast, here’s my published posts list as it appears in the browser:
In the browser, I can see published posts in the Shorts category, too. The most recent posts are January 2, December 28, December 14, December 7, December 1, November 15… and more.
Why does this matter? It matters because the second I publish a post or save it as a draft, it’s impossible to edit it in the app because I can’t find it.
There could be any number of reasons that a theme or plugin developer might use ! is_admin
to restrict their code to the front end of the website only. For the mobile app not to respect that is a significant oversight.
Preview Links Don’t Work with 2FA
I have 2-Factor Authentication setup on my blog, which requires me to enter a code from Google Authenticator before I can log in. This is an important security measure that most of us would agree website owners should have enabled. Yet the WordPress mobile app hasn’t accounted for it when it comes to preview links.
When I click the preview link on any post in the WordPress mobile app, it opens the post in a new window; it doesn’t recognize that I’m already logged into the app or site. Instead, I am given the challenge screen to type the code from my authenticator app. This wouldn’t be a problem, except I can’t press the Verify button to submit the code.
The WordPress app blocks the button from being pressed with this error: “Links are disabled on the preview screen.” This effectively blocks me from being able to preview any blog post in the app; I have to open my browser and log into my website if I want to preview a post before publishing it.
No Way to Add or Edit Alternative Text
Many of the issues that I reported are annoying or something that I don’t like but was willing to overlook given my very basic blogging needs. OK, fine, I won’t preview posts or edit them once published. I will only upload one image at a time… those were things I could work around. But here’s what killed the WordPress app for me:
There’s no way in the WordPress mobile app to edit alternative text in the Media Library.
I kept noticing, after the fact, that there was no alternative text on my featured images. Alternative text describes an image to someone who is blind or has low vision and uses a screen reader. I have blind friends in the WordPress and web accessibility community, and when I post images on my blog, I want them to be able to access them, too.
I got incredibly frustrated by repeated discoveries of images missing alternative text on my blog when I knew I had typed the alt. I typed the alt text 2-3 times on one post, trying to figure out why it wasn’t publishing on the front end or saving in the Media Library.
The WordPress Android app has a field on the image edit screen after you upload an image for editing alternative text. This field is a black hole. It doesn’t save anywhere or sync to the WordPress Media Library.
In 2018, someone opened a GitHub issue reporting that alt text from WordPress websites cannot be viewed in the app’s media library. It was determined that the XML-RPC endpoint for media items doesn’t include an alt. Meaning: the WordPress mobile app wouldn’t be able to save alt text without someone first fixing something in core WordPress.
XML-RPC suckiness strikes again.
I’m not sure why, but a ticket to fix this issue with XML-RPC was not opened until June 2023 — five years after the issue was discovered. That ticket was closed as fixed ahead of WordPress 6.4 and another was opened for adding an update media endpoint. That ticket is still open.
As it stands today, seven years after someone first reported that the alt text wasn’t working in the mobile app, it’s still not working.
You can add alternative text to images inserted into posts (that works because it saves the text in the post content, not in the Media Library). However, there is no way to add alternative text for images fetching alt from the Media Library.
The WordPress Mobile App Isn’t Worth It
When I first decided to try the WordPress app, I was excited. I thought it would be an easy way to replace Instagram and write simple posts with one or two images and a short paragraph of text. I thought it would make posting on the go and in the moment easier.
I was wrong. The WordPress app is hard to set up. There’s not much documentation, and it has features that are so limited that the app is barely usable for even the most basic purpose. As I was brainstorming this post, I was thinking about titling it, I tried the WordPress Mobile App, So You Don’t Have to.
The mobile app feels like beta software. It has a decent visual appearance, and not much else going for it. Given it’s 12 years old and can’t even be used to write a simple blog post with an accessible featured image, I’d say that counts as a failure.
Trying the mobile app is not worth your time. If you want to edit your website on mobile, you’re way better off logging into your site in a mobile browser. That also has its challenges, but nothing like I saw with the app.
Leave a Reply