The Themes Team suspended Astra from the official theme directory just a few short weeks after it became the first non-default WordPress theme to surpass one million active installs. The reason: the theme was breaking the directory’s ban on affiliate links. The theme has since been reinstated. However, it has been delisted from the popular themes list.
After the Themes Team handed down an initial five-week suspension, the story continued to unfold through various channels over the weekend and into the start of the new week. Brainstorm Force, the company behind the theme, argued that it did not violate the affiliate link rule because the theme was simply filtering referral IDs of third-party plugins. The plugins were technically supplying the links. The company also asked for lenience because this was its first violation.
Since the initial discussion, the Themes Team has reinstated the theme while bumping it off the popular themes list. The goal is to make sure existing users still have access to updates while providing a method for dealing with guidelines violations, a method that does not go to the extreme of outright suspension. The team also added an additional week of punishment after finding a sixth affiliate-related violation missed in the initial review. Astra will now be delisted for a total of six weeks.
Astra is not the first suspension of a popular theme over the years. These high-profile suspensions can lead to the loss of thousands of dollars in revenue if the theme’s business model relies on traffic from WordPress.org. In 2017, a five-month suspension of the Zerif Lite theme left its creators with a decline of 63% in revenue. Zerif Lite’s user count was around one-third of Astra’s current total.
While it will take some time to see the results, being delisted will likely cut into Brainstorm Force’s revenue. The theme upsells a pro version of their theme. It is a common freemium model that many theme companies employ.
The WordPress.org theme review guidelines ban affiliate links. More precisely, the guideline is as follows:
Themes are not allowed to have affiliate URLs or links.
Technically, Brainstorm Force did not directly output affiliate links via its theme. Instead, the theme injected the company’s referral ID into affiliate links for third-party plugins when they were active on a user’s site. In and of itself, this type of injection is nothing nefarious. The plugins themselves allow for such filtering of their affiliate links, presumably to entice theme authors to make a few dollars by recommending and integrating with them.
As for the Astra theme, the question is whether it violated the affiliate guideline. When the rule was written, the Themes Team was most likely thinking about direct links within the theme and not a scenario where a theme was injecting a referral ID or filtering an existing link from a plugin.
According to the Themes Team, at least two of the affiliate IDs in Astra were for plugins that the theme recommended but did not actually integrate with or support in any way. In at least once instance, the theme automatically updated a database option for the Monster Insights plugin to add an affiliate ID — automatically updating any database option without user action is generally not allowed.
Regardless of individual opinions on the Theme Team’s complete ban of affiliate links, it is not a cut-and-dry situation of simply allowing or disallowing.
“It is also about needing to understand the legal impact of disclosures,” said Carolina Nymark, a team representative. “It is not something that the team can take responsibility for, nor look away if authors do not follow it.”
Astra’s Apology and Response
Sujay Pawar, a co-founder of Brainstorm Force, published an open apology on the Astra blog. However, this apology post created its own controversy within the community. The current post was not the first apology. Pawar changed his original post and removed some of the earlier promises he made to the community.
According to multiple sources within the community and a comment on the post, he had promised to dedicate 16 hours from one of the company’s senior developers to contribute work for the Themes Team. Along with this contribution, he promised to spend 5% of the company’s resources toward open source development and to donate to future WordCamps.
“These last few days have been very emotional for me and the entire team,” said Pawar. “I have never been in such a stressful situation in my life. As you can imagine, I wrote many versions of this apology and just wasn’t sure what was the best way to do it.”
For some people in the community, changing the post’s content seemed suspicious. He had changed it around the same time the theme was reinstated on WordPress.org. However, the issue was likely the result of bad timing. Pawar was forthcoming about having written the original post and later removing parts of it.
“My initial apology did include the specifics of how we are planning to increase our commitment to WordPress, but after more thought, I felt it wasn’t the right place to share that,” he said. “I don’t want our contributions to be overshadowed or tied back to a rule violation. We still plan to honor our commitment, and we will release those details in a dedicated post.”
Pawar has no hard feelings for the Themes Team. For him, it has been a high-stress weekend that he will no doubt recover from. He is attempting to rectify the situation the best he can.
“I have a lot of respect for all members of Themes Team,” he said. “They work tirelessly to move the WordPress ecosystem forward. I 100% believe that guidelines must be enforced because it’s the only way to ensure that WordPress keeps growing. As one of the most popular theme authors, it’s our goal to lead by setting a good example and work together with the TRT to set better standards.”
Long Term: Delisting Themes Instead of Suspending
The Themes Team does not have a lot of options when it comes to punitive measures for guideline violations. In a large part, this is the result of limitations of the software in use. The team simply needs better tools.
“The punitive measures the team has right now is suspend it or do nothing,” said William Patton, a Themes Team representative. “There is no in-between, and in a lot of cases, neither of those two options are ideal. From past experience, I have found that asking authors repeatedly for changes is either ineffective or they fix it but the behavior returns after a short time. Suspension has been quite effective in some cases but it is quite a lot of work for the team to manage and maintain lists or time frames of what happened when and to revisit after a given time.”
Patton said that the threat of suspension without action is ineffective. However, actually going through with suspending a theme often has implications for end-users. In some cases, there may be an urgent security update that users need to get, but the suspension system does not make that easy to manage.
There is now an open meta ticket to offer theme directory administrators the option to delist a theme. In effect, this would keep a theme such as Astra available in the directory if someone knows the direct URL. It would also allow the theme author to provide updates, such as security fixes, to users without direct approval from the Themes Team. However, the theme would not be available through the popular themes list or search.
This offers the team a less drastic option than a full-on suspension and has no negative drawbacks for existing theme users.
Currently, the team found what they described as a “hacky” method of essentially delisting Astra. Because the popular themes list algorithm uses the theme’s publication date to help determine a theme’s popularity, the team changed this date for the theme to push it down the popular list. It is not a perfect solution, but it provided a quick middle ground between doing nothing and suspension, at least until a more permanent solution is in place. It also gives them an early chance to test out the effects such a measure would have.
Punitive measures have always been a struggle for the team. On the one hand, they do not like to suspend themes for wrongdoing, regardless of whether such wrongdoing was intentional. On the other, they must attempt to provide a fair playing field for all theme authors. Threats of punishment for guideline violations ring hollow if there is no follow-through. It is not an easy position, and team members can quickly become victims of harassment or unwanted private messages from theme developers and outsiders.
“We had several occasions where theme authors would ‘follow us home’ with blame and different kinds of suggestions,” said Nymark.
One of the ways the Themes Team has been dealing with this is by using the relatively anonymous “@trtmessenger” account when suspending themes. This is the route the team took when handling the Astra theme suspension and followup decisions.
The team has dealt with attacks toward individual members over the years on various decisions it has made. In many cases, the representative who delivered a particular decision, regardless of their personal role in it, bared the brunt of the negative feedback. Far too often, it was a case of shooting the messenger, and the current reps have found a workable solution for this issue.
“This is an account that enables messages to be sent without one single person being held accountable for the message,” said Patton. “It is intended to prevent anyone from getting any negative feedback directly from a decision.”