WordPress

 WordPress  is open source CMS software used by many on the Indieweb as well as a blog hosting service.

There are two "flavors" of WordPress (.org and .com):
 * WordPress.ORG hosts the open source software that one can self-host on their own (or a rented) server and freely configure to set up their website
 * WordPress.com is a for-profit company that provides a blog hosting (SaaS) service using the code available on WordPress.org. It's somewhat less flexible than self hosted, sometimes more expensive, but is very accessible and polished.

In 2021, it is estimated that WordPress powers approximately 65% of sites for which the content management server is identifiable and 42% of all websites. This is likely due to the ease of installation and upgrades, and also a robust marketplace of hosts that provide free or paid WordPress hosting.

In most of the documentation presented on the Indieweb wiki, it's presumed that users are using the self-hosted version from WordPress.org, but this doesn't mean that one can't utilize WordPress.com to build an IndieWeb site. Users should use care to distinguish which version they're using and which instructions they're following. Because the wiki page for WordPress has become relatively large, for ease of use it has been broken up into several sub-pages which include specific information on the following topics

Getting Help
If you need help getting your WordPress site set up for the Indieweb, try the WordPress Outreach Club or the #indieweb or #indieweb-wordpress channels in chat, Slack, or IRC.

Getting Started
If you're interested in jumping into the IndieWeb, and you've chosen WordPress as your tool of choice, great!

If you do not have a site... We'll assume you already have your own personal-domain. After that, you'll need web hosting. There are plenty of good options. WPEngine is one of the best for both beginners and advanced hackers. WordPress.com's hosting service is solid and easy to use, but limits you to pre-approved plugins and themes unless you are paying for their high-tier "Pro" subscription.

Once you've got a domain name, hosting, and installed WordPress head over to Getting Started on WordPress for a simple step-by-step summary on getting started with Indieweb on your WordPress site.

If you're a more advanced user/developer you might also take a look at Advanced WordPress Set Up or read several pages here to plan out what functionality you'd like to add and how best to add it.

Sometimes documenting and thinking through your itches can help to determine which pieces of functionality you'd like to add. There are a large number of functionalities one can add to a WordPress site and multiple ways of doing it depending on your level of comfort with code or your ability to add and configure plugins. Some plugins may also have dependencies. Because there's so much to absorb, we recommend people take the time to read through some documentation, the functionalities available, and determine what works best for them. One doesn't necessarily need to do everything or add everything in one day, so feel free to take your time and think through what you want/need--remember it's your personal site, so build it for what you need and what you'd like to accomplish on the web. Keep coming back and adding pieces incrementally based on your needs and level of ability, and remember there are lots of others doing the same thing who can provide help and encouragement if you need it.

Articles
Individual articles bloggers have written about setting up their sites with indieweb support:
 * 2014-08-30 by User:Techlifeweb.com
 * 2014-10-02 by
 * 2017-03-07 by Timo Reitnauer
 * 2017-03-30 by Daniel Goldsmith
 * is specifically about linking WordPress to micro.blog.
 * maintains a collection of IndieWeb related articles at http://boffosocko.com/research/indieweb/
 * maintains a collection of IndieWeb related articles at http://boffosocko.com/research/indieweb/

Keep in mind that in late 2015/early 2016, the workflow for adding Indieweb plugins changed relatively drastically with the introduction of the Indieweb Plugin, so use care in following details written prior to that time. Novice users should be aware that one may also find Indieweb related plugins on github which can conflict with or duplicate functionality in the plugins included in the Indieweb Plugin.

Other articles can also be found scattered throughout the wiki on pages specific to smaller pieces of functionality.

Plugins
There are many good WordPress plugins. The plugins link above outlines some recommended for Indieweb use and by Indieweb people.

Indieweb Plugin
The Indieweb Plugin is a plugin that helps you establish your IndieWeb identity and helps you install various Indieweb-themed plugins. It is designed for newcomers to quickly get up and running.

Import / Export
WordPress has support for official export and import using WXR files

Themes
One of the benefits of WordPress is a huge variety of pre-made and customizable themes available as well as the ability to create your own from scratch. For security, it's recommended that one use the official Wordpress Theme Directory.

Presently, many IndieWeb technologies, functionalities, and other services rely on microformats 2 support, which not many themes currently have. There are many methods to get around this temporary problem. For ease-of-use out of the box, many sites use either the SemPress theme or the Independent Publisher theme.

For a more comprehensive discussion of WordPress themes for use in IndieWeb, please see WordPress/Themes.

Bookmarklets for Desktop
One big IndieWeb raison d’être is using your own web site to easily reply, like, repost, and RSVP to posts and events. You do this by annotating links on your site with simple microformats2 HTML. Having said that, most people don’t want to write HTML just to like or reply to something. To make some IndieWeb actions easier, one can try out any of the following Bookmarklets or bookmarklet-type schemes:
 * & : IndieWeb Press This plugin based on this post


 * Peter Molnar: Extending Press This in WordPress to support indieweb reply, like and repost


 * David Shanske: indicates that those who use Post Kinds can create a pseudo bookmarklet with the URL scheme http://www.YOURSITE.com/wp-admin/post-new.php?kind=like&kindurl=@url or http://www.YOURSITE.com/wp-admin/post-new.php?kind=repost&kindurl=@url where the variable "@url" is the permalink of the post. The post kind is then set appropriately as well as the referenced URL which then does the embed
 * has written about some of the ways he uses bookmarklets with Post Kinds: https://boffosocko.com/2017/01/10/browser-bookmarklets-and-mobile-sharing-with-post-kinds-plugin-for-wordpress/


 * Scott Kingery: Bookmarklets for #Indieweb Favorites and Retweets

Mobile
WordPress has an iOS app for posting that requires you to login or sign-up before you can use it:



Though apparently once you have signed-in, you can then go offline and create new posts offline first. You just can't use it local first to begin with.

Posts are initially created as local drafts. When you have network connectivity, you can upload them to your site as drafts stored online. You can then later choose to publish them, either privately or publicly visible. You can later switch them back to draft status (ie undo publishing aka unpublish) at any time, which makes them not visible to other users again.

WordPress sites and the app both also store all revisions of posts, offline and online, both before and after they were published. You can compare revisions and revert to any past revision.

For ideas on using WordPress for the IndieWeb on mobile see also Posting from mobile devices

Development
Several projects are actively under development for use in WordPress. Plugins/themes considered complete enough for widespread use will appear on this page or on WordPress/Plugins.

For common conventions of data storage in WordPress to ensure interoperability, see WordPress Data.

For Core Development, brainstorming on development of Indieweb themes/plugins for WordPress and discussion of common conventions to ensure interoperability, see WordPress Development.

Most plugins are actively developed on github and welcome issues, comments, suggestions, and pull requests, so feel free to visit and participate there as well.

People using WordPress
People using WordPress on their primary or other sites as well as people who formerly used WordPress.

POSSE to WordPress
With WordPress's API it's possible to automatically POSSE posts to it, and there's at least one example of an Indieweb community member doing so to the hosted service: POSSE to hosted.

Once can actually POSSE entire posts from a self-hosted WordPress (.org) installation to a WordPress.com site using WordPress Crosspost.

POSSE reply to WordPress
It's possible to post a reply to a WordPress blog post on your own site, and then POSSE your reply to the WordPress blog post's comments section, as well as POSSE your reply with threading to anywhere that WordPress blog post itself was POSSEd to, e.g. Twitter. Be aware that POSSEing comments to another WordPress blog will often also trigger a pingback/trackback if the site supports it.

Indie Web Examples:

Tantek reply POSSE
undefined has started experimenting with manually POSSEing reply posts to WordPress blogs to their comment sections. E.g.:
 * original reply: http://tantek.com/2014/255/t2/well-deserved-talented-known-minor-correction
 * manual POSSE comment: https://gigaom.com/2014/09/11/indieweb-advocates-launch-known-so-bloggers-can-be-social-and-still-control-their-content/#comment-1483187
 * related: Bridgy Publish feature request to Publish to WordPress comments which could help automate this!
 * semi-automatic POSSE tweet @-reply: https://twitter.com/t/status/510633038062309376
 * only *semi* automatic because I had to dig up the in-reply-to tweet permalink manually, but then the POSSE copy of my reply and tweet threading was handled automatically by Falcon.

aaronpk
occasionally manually POSSEs reply posts to the comments section of WordPress blogs. E.g.:
 * original reply: http://aaronparecki.com/replies/2015/01/13/2/indie
 * semi-automatic tweet reply: https://twitter.com/aaronpk/status/555106750433869824 (not fully automatic because required finding the @gigaom tweet permalink manually)
 * manual POSSE comment: https://gigaom.com/2015/01/13/ind-ie-scales-back-focuses-on-heartbeat-social-networking-client/#comment-1513998 (NOTE: comment now missing)

Security and Spam Protection
WordPress is often targeted for attacks and spam due to its popularity. It is important to keep your installation updated and take some basic steps to protect yourself.

Criticism
Problems with and criticism of using WordPress software from an IndieWeb perspective.


 * Things that baffle me about WordPress in 2018 by Matt Haughey

Maintenance Burnout
Burnout from "dealing with" WordPress, likely referring to its admin tax:
 * @edenthecat: "I do not have a website right now because I got burnt out with dealing with Wordpress"

Complexity
The apparent complexity of using and maintaining WordPress has gotten bad enough (or people have gotten tired of it enough) to make people write plain HTML instead "@kevinmarks @t ive resorted to writing blog posts by hand (html and all!) because i hate wordpress. been looking into hakyll tho"

Governance
WordPress uses a Benevolent Dictator for Life open source leadership model that puts the power in the hands of Automattic CEO Matt Mullenweg creating a situation where company goals may overshadow the open source project. "There’s been a lot more leaders, but I would actually argue the point that WordPress has always been sort of my vision being set, or even my direct leadership Matt Mullenweg poststatus podcast"

Any mention of alternative governance models gets a post removed from WordPress.org discussion board and may lead to a user being banned. "I had my account at Wordpress.org banned merely for mentioning Classicpress in a post. (Ok, maybe not banned, just “disabled”) Someone had posted they would be looking for another blog platform, and I merely suggested Classicpress (not even linking to it) and my post was deleted and account disabled ClassicPress Forum"
 * "Concerns have been raised about the posting of news about the WordPress Governance Project on make.wordpress.org and use of the #community-team Slack channel giving the impression the project is sanctioned as an official WordPress project. It has not received such sanctions from WordPress leadership. Francesca Marano WordPress Governance Project"
 * Any discussion of ClassicPress, a fork of the Open source project, on WordPress.org forums is flagged or deleted.

Jetpack Requires Login
Jetpack is a popular plugin that incorporates a large number of features and services from WordPress.com into a self-hosted WordPress site.

The plugin requires a WordPress.com login. While the service provided, such as their stats service, would require a login, many of the plugin features, such as infinite scroll, contact form, etc do not. But to use any of the features, you must log in.

Jetpack is also an open source project. There have been attempts in the past to write a Jetpack plugin that does not require Wordpress.com but none are currently maintained.

Security and Maintenance Vulnerability
Like any system with widespread adoption, WordPress is a target. It is important to keep your site updated with the latest version of the software and any plugins. WordPress has a limited automatic update system.

Fatal Error memory exhausted
WordPress fails to catch and handle fatal errors like running out of memory, and this results in a poor UX on real world sites, that leak otherwise private server configuration information like WordPress install path, potentially account username etc. e.g.:
 * http://yottabytes.info/?p=10497 (on 2014-06-08 15:28 EDT): "Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 32 bytes) in /home/johnkrol/public_html/wp-includes/post.php on line 1961"

Criticism:
 * : PHP: Allowed memory size exhausted ”… nonsense to list a server configuration … ”
 * undefined: This is not just a "server configuration" issue. This is a failure by WordPress to catch / handle the exception, although it is not unique to WordPress (see the below linked PHP issue), and a vulnerability that anyone considering WordPress should be aware of.

See: PHP: Fatal Error memory exhausted for more details.

Pages can not have numeric slugs
WordPress does not allow numeric page slugs, making it difficult to set up pages representing a year, such as. This is frustrating if you need to set up a series of annually recurring pages (not blog posts) without using a plugin. 

WordPress.com hosting service
WordPress.com is a blog hosting service that runs the WordPress open source software.