WordPress SchawgIt seems that tons of people have the same complaint: the WordPress application for iPhone does not discover their blog and, therefore, is of no use to them.
The same goes for many desktop-based applications.
I, too, spent quite a lot of time trying to figure that one out but now that I have succeeded, here is how I would recommend working on this issue if your blog is affected:

  1. Go to your blog home page and select “View source”
  2. Look for <link ref=”EditURI”… you will see that this line contains a URL ending with xmlrpc.php?rsd. Point your browser to that URL. A rather empty page should be displayed. Check its source; if it is XML, it’s all good.
  3. If the previous step fails, go to the same URL but without ?rsd. If this fails too, you need to check that you have a file called xmlrpc.php and that: a. No rewrite rule messes up your URL; b. No plugin renders it invisible — e.g. “private”
  4. If both steps work well, it is VERY likely that the blog editor you are using — or trying to use, more accurately — is choking on malformed XHTML code. It is what seems to mystify most of us.

To convince your blog editor to “discover” your blog, we are going to give it a nicely formed XHTML page:

First, make a copy of index.php: cp index.php index.o.php

Now, create a new index.php page with this code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="WordPress abc" /> <!-- leave this for stats -->
<link rel="pingback" href="http://nexus.zteo.com/xmlrpc.php" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://nexus.zteo.com/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://nexus.zteo.com/wp-includes/wlwmanifest.xml" />
<link rel='index' href='http://nexus.zteo.com' />
<head>
<body>
</body>
</html>

Of course, you need to replace all instances of nexus.zteo.com with your own blog’s information; for instance myblog.mydomain.com

Discover your blog using your favourite blog editor.

Restore your index.php: cp index.o.php index.php

Done!

If you enjoyed this post, make sure you subscribe to my RSS feed!