Make WordPress.org

Recent Updates Toggle Comment Threads | Keyboard Shortcuts

  • Konstantin Obenland 5:38 pm on March 31, 2015 Permalink |

    Theme Directory Stats 

    Since my last post

    After I wrote my post mortem for the Theme Directory launch, the last three weeks were spent fixing bugs and adding in enhancements that were not deemed launch blockers.

    On the admin side a custom post status for suspended themes was added, as well as a custom view for themes that have new version pending. Also, there is now a simpler way to approve new versions and set them live from wp-admin. On the front-end the JS and CSS files that power most of the Directory were merged, removing the direct THX dependency that we had (it broke parts of the directory during beta). Development on the Directory will not stop of course, but it will be part of ongoing maintenance and feature development.

    Analytics Stats

    At the beginning of the project there were no formulated stat goals. Personally, my goal was not to drop in stats too badly, in a way that would suggest a major flaw in the Directory’s new structure. I’m happy to say that with the exception of the Commercial Themes page, that is the case—we even saw a lot of nice improvements!

    Let’s start with the negative. The Commercial Themes page saw a drop of ~40% in visitors between the old Directory and the new. That number was at 60% right after launch, but it recovered and continues to recover with some adjustments we made to the link placement on the site. We concluded that the image-heavy (instead of text-heavy) design is likely causing people to use the directory and not click on sub-links as frequently as they did with the previous design, and we’re satisfied with the preliminary result of our mitigation.

    Since we were about to complete change the markup and technical makeup of the Directory, my biggest concern going into this project was to lose page-rank and experience a drop in overall visitors. Thankfully this is not the case, visitor numbers remain constant, as are the search engine referral numbers. Another KPI that remained constant were theme downloads, which also indicates that there were no bugs on the Themes API and download handler side on WordPress.org. Given the level of optimization of the old Directory, I consider those numbers a success! It’s hard to improve a #1 page rank, but with added semantic markup and more structured data around themes it should definitely be solidified.

    The most overwhelming result has been the huge jump in user engagement though. Users stay longer on the site, look at a lot more pages, and are way less likely to leave without any interaction. Comparing the week before the relaunch with this past week, session duration is up 9%. The amount of pages a user looks at is up 34%. And the overall bounce rate went down from ~30% to under 10%. Even on the homepage, where the bounce rate was at around 45%, we can see that drop by 2/3.

    Overall this is a nice step in the right direction. I’m looking forward to further improved numbers down the road, and easier to achieve improvements after the move to WordPress.

  • Konstantin Kovshenin 10:53 am on March 11, 2015 Permalink |

    Segments in CampTix 

    One of the features we were asked to develop for CampTix (the WordCamp.org ticketing plugin) is the ability to e-mail attendees based on custom segments using the Notify section in Tickets → Tools. This will allow organizers to get in touch with very specific groups of peoples, such as those who opted in for vegetarian lunch, or those who selected women’s XS t-shirt size.

    CampTix Notify Segments Screenshot

    The feature’s been pushed to the notify-segments branch in the Git repo. We would appreciate a few extra eyes on the new feature before we start rolling it out to WordCamp organizers. Any weirdness can be reported in #920-meta.


  • Konstantin Obenland 9:54 pm on March 10, 2015 Permalink |

    New Theme Directory 

    The update to the WordPress Theme Directory from ten days ago marks the first time since its inception in 2008 that it has seen a major overhaul. The work on it is not done, but I want to take a few minutes and outline the objectives, what we gained from the update, and what still needs some work in the future.

    The Goals

    The WordPress.org infrastructure is almost as old as WordPress itself, with lots of interdependencies, running a mix of GlotPress, an old version of bbPress, BuddyPress, and WordPress. Since the Theme Directory was still based on bbPress, one the main goal was obviously to have it use WordPress. It was also in dire need of a design refresh and improvements to its search-ability.

    The Gains

    The Directory is now finally running on WordPress! It’s part of the WordPress.org multisite network and reaping all the benefits that come with that. With the move to WordPress and the resulting data format change, the theme downloader was also rewritten, along with the info and update check endpoints of the Themes API, and the script that syncs theme review results. User profiles and theme ratings also saw a small update.

    For the first time, the Directory is now open source and the theme and plugin that do the heavy listing can be viewed, checked out, and contributed to on meta trac and svn!


    The front-end is largely based on @matveb‘s work on THX and the theme installer, which results in a now consistent user experience between WordPress’ admin interface and the Directory. It also lets us take advantage of those super fast searches and front-end query caches that we have come accustomed to. The move also came with free improvements to the tag filter (tag permalinks!) and introduced author “archives”. THX was built for the backend, so there were some adjustments needed to make all pages search engine accessible and to make URLs then also consistently work between the server and JavaScript side.

    The pages from the left hand navigation were drastically simplified and merged, leaving us only with preamble page to the uploader, the uploader itself, and the page of commercial theme shops.

    Commercial Theme Shops

    Theme shops used to be a multidimensional array where each change meant a code change that had to be committed. They finally became a Custom Post Type of their own, vastly simplifying their administration. If you look at their page, you’ll also notice that it reuses the regular theme UI, nicely making them blend in with the rest of the Directory.

    Needs more work

    We wanted to get the new Directory into the hands of users as fast as responsibly possible, but that doesn’t mean that it’s finished or doesn’t need any more work. On the admin side a custom post status for suspended themes will be added, as well as a custom view for themes that have new version pending. Eventually there will probably also be a simpler way to approve new versions and set them live from wp-admin. On the front-end the JS and CSS files that power most of the Directory will be merged, removing the direct THX dependency that we currently have (it already broke parts of the directory during beta), and also removing two file requests on a page load.

    The #1 feature request for the Theme Directory is probably multi-author support. With the move, this is going to be infinitely easier to achieve and will also be available shortly. This should also make it possible to change authors on a theme without too much overhead.

    Finally, the Directory is meant to also be made available to rosetta sites. The theme and plugin are fully localized and already translated in a good amount of languages, it’s down to figuring out how we can integrate that site of the WordPress.org network with localized subdomains.

    • Hugo Baeta 10:22 pm on March 10, 2015 Permalink | Log in to Reply

      This is fantastic, and a great step forward. Thank you for the summary.

      Because of https://meta.trac.wordpress.org/ticket/947 I got to thinking about the similarities and differences between the Themes and the Plugins directories. I was wondering: do they share this new theme? if not, is that the goal? How can I help? :)

      • Konstantin Obenland 10:53 pm on March 10, 2015 Permalink | Log in to Reply

        do they share this new theme? if not, is that the goal?

        They don’t, the plugin directory is still bbpress-based. I’m not sure if it’s necessarily a goal to share the same theme between them, it was more important to get them visually closer to their wp-admin counter parts.

        How can I help?

        I’ll try to add the ux/ui-feedback keyword to all theme directory tickets that needs so you can just go through this list and have your work cut out for you. :) Thanks!

    • Florian Brinkmann 4:31 pm on March 11, 2015 Permalink | Log in to Reply

      This should also make it possible to change authors on a theme without too much overhead.

      That sounds great and would be really nice! :)

  • Ian Dunn 10:12 pm on March 5, 2015 Permalink |
    Tags: customizing themes, jetpack css editor,   

    I just posted a couple things to the Community team p2 that could benefit from getting feedback from developers in the community:

  • Scott Reilly 2:33 am on March 4, 2015 Permalink |

    New Plugin Directory Theme 

    Late last week saw the launch of the reimplemented Theme Directory, complete with a new theme. This week brings with it another improvement to WordPress.org: a new theme for the Plugin Directory.

    Its new appearance should look very familiar; the goal with the theme refresh was to mirror the look and experience of the wp-admin plugin browser.

    The site didn’t just get a facelift; the update includes a few new features not previously available in the directory:

    • Introduction of a “Favorites” section:
      If you are logged in and have favorited plugins, this new section gives you direct access to the list of those plugins. Previously, you could only see a simple listing of them on your profile page.
    • Introduction of a “Beta Testing” section:
      Previously only available in the wp-admin plugin browser on sites running a development copy of WordPress, this new section lists plugins proposed for inclusion in a future version of WordPress.
    • Ability to search for plugins by author:
      In the same fashion as in the wp-admin plugin browser, you can now search for plugins by author (by username).
    • Listings now display a count of active installs instead of downloads:
      Individual plugin pages have just (days ago) seen a switch from displaying the number of downloads to the number of active installs for the plugin. This information is now also shown on all plugin listings, such as search results.

    The individual plugin pages themselves were not changed as the wp-admin plugin browser already largely mirrors their UI. Also note that the effort didn’t include a rewrite or significant change in overall functionality other than what was outlined above. The backend reimplementation of the Plugin Directory will be undertaken at a later time.

    As always, it you encounter a problem or have a suggestion, please submit them at meta.trac using the Plugin Directory component. Be sure to peruse the existing Plugin Directory tickets to avoid submitting a duplicate.

    • Ipstenu (Mika Epstein) 3:39 am on March 4, 2015 Permalink | Log in to Reply

      @coffee2code – The link is Plugin Directory Component :)

      And yes, we know that some stats pages are broken :)

      • Samuel Sidler 4:14 am on March 4, 2015 Permalink | Log in to Reply

        Someone changed the name of the component today to match the name of the directory. But I won’t point a finger at myself. 😉

        • Scott Reilly 4:47 am on March 4, 2015 Permalink | Log in to Reply

          Here I was going to save that tidbit of inconsistency to point out to you on a rainy day. 😉

          Thanks for correcting the link, btw!

    • Rami Yushuvaev 9:54 am on March 4, 2015 Permalink | Log in to Reply

      I found a little bug:

      (1) Try to use the search bar.
      (2) Now use the drop-down to switch from “Keyword” to “Author” or “Tag”.

      It’s not working.

    • Rami Yushuvaev 10:05 am on March 4, 2015 Permalink | Log in to Reply

      Another bug. I guess it’s an API issue. When searching for plugins, the total result is not always shows the correct number.

      For example: https://wordpress.org/plugins/search.php?type=term&q=playbuzz

      It say’s: Showing 1-2 of 3 plugins

    • maegwin 2:19 pm on March 4, 2015 Permalink | Log in to Reply

      A secondary filter would be greatly appreciated! After I’ve entered a keyword to search for a plugin, I would LOVE to able to sort my results by reviews, most downloads, etc.

    • Josh Leuze 5:06 pm on March 4, 2015 Permalink | Log in to Reply

      The new plugin directory looks awesome, but I wish the featured plugins were updated more often, like the theme directory.

      Jetpack is a good one for new users and maybe Super Cache, but Akismet is bundled with WordPress already, and the rest are niche plugins that are easy to find out about if you need them. It would be nice to see some newer plugins, and some simpler ones geared towards new users.

      • Samuel Wood (Otto) 1:02 am on March 5, 2015 Permalink | Log in to Reply

        We’re still considering what to do about featured plugins. When we come up with a better idea, you’ll know. :)

        BTW, I added Akismet just to make the columns even. It’s a placeholder for now.

        • Josh Leuze 10:30 pm on March 5, 2015 Permalink | Log in to Reply

          Sweet, I figured it was still a work in progress, but with the fancy new page those featured plugins really stand out 😉

    • @mercime 4:00 am on March 5, 2015 Permalink | Log in to Reply

      +100 Thank you to the meta team for all your hard work! Liking the new look :)

    • Chris 7:04 am on March 10, 2015 Permalink | Log in to Reply

      I would be interested how the “Active Installs” number is calculated – are deactivated plugins included as well (since they also seem to poll for updates), or only the activated ones?

    • danieliser 9:15 pm on March 14, 2015 Permalink | Log in to Reply

      Are there any plans to make the Active Install count a bit more accurate in terms of what is displayed? I mean 5000+ is kinda hard to really determine where your at growth wise for a plugin developer. I mean am I close to 6000 or just over 5000. It would be nice to see it rounded at a smaller increment, maybe 50’s so 5050 or 5650 etc. I get that you don’t want to use an exact number as accuracy is more of a +/- situation, but I feel it is rounded too generally now.

  • Andrew Nacin 2:46 am on March 1, 2015 Permalink |
    Tags: stats   

    Major update to our version stats for PHP, MySQL, and WordPress 

    Today, the stats reflected on wordpress.org/about/stats changed, dramatically. I’d like to explain why.

    First, so they’re documented here, the numbers:

    WordPress versions

    Version Before After
    3.0 16.06% 2.27% −13.80%
    3.1 1.21% 1.25% +0.04%
    3.2 1.38% 1.35% −0.03%
    3.3 4.11% 2.96% −1.15%
    3.4 4.47% 3.24% −1.24%
    3.5 14.60% 7.21% −7.38%
    3.6 6.95% 3.72% −3.23%
    3.7 4.34% 2.51% −1.83%
    3.8 11.66% 8.61% −3.05%
    3.9 13.20% 13.52% +0.31%
    4.0 12.53% 17.40% +4.87%
    4.1 9.48% 35.95% +26.47%

    PHP versions

    Version Before After
    5.2 31.76% 16.60% −15.15%
    5.3 38.56% 38.45% −0.11%
    5.4 25.01% 37.18% +12.17%
    5.5 4.29% 6.52% +2.22%
    5.6 0.39% 1.26% +0.87%

    MySQL versions

    Version Before After
    5.0 17.84% 9.31% −8.53%
    5.1 25.24% 23.80% −1.45%
    5.5 51.87% 59.35% +7.47%
    5.6 4.99% 6.84% +1.85%
    MariaDB 10.0 0.00% 0.68% +0.68%

    What happened?

    Dion Hulse (@dd32) has been working hard to modernize our stats collection and processing. This stats page, which is updated daily, has as of today been switched to this new data.

    Thousands of new WordPress sites come online every day. Some others, though, stop pinging over time. The new data only reflects sites that have pinged api.wordpress.org within the last few months. There were also plenty of other inconsistencies in the data that we’ve been able to resolve, which has resulted in numbers we feel are more consistent and accurate.

    There are three specific trends to note:

    • WordPress 4.1: More than 1/3 of sites are running the latest version, not less than 10% as previously determined. By excluding sites that are no longer online, you can imagine why this percentage would go up.
    • WordPress 3.0 finally looks more in line with what would be expected. This data has been an anomaly for years. (We’ve suggested before that this data was likely invalid — a byproduct of some spammers.)
    • PHP 5.2 is down to 16.6% of sites. We’re in far better shape for 5.2 than previously thought, though 5.3 hasn’t changed.

    As Matt shared at WordCamp San Francisco in October, we’re engaging individual hosting companies to move sites to the latest versions of WordPress, with a secondary focus moving sites to PHP 5.4+. I also expanded on our reasoning and efforts during my php[world] keynote in November. One-sixth of all sites running PHP 5.2 is still many millions of sites. If we move the PHP minimum version too early, we risk stranding millions of installs on older versions of WordPress.

    So, I wish to note that this does not change our calculations for keeping PHP 5.2 as the minimum for WordPress core — we had these numbers available to us when preparing our 2015 plans.

    There are a lot of great things in this new data set. Hope you find it interesting!

    Updated March 2: I shared some more info with WP Tavern here. In particular, I answered Is there anyway we can see PHP/MySQL versions broken down by what WordPress version they are running on?

    We’re still working on ensuring the numbers are stable. They’re pretty predictable: older WP versions have more people on older PHP and MySQL versions. Newer WP versions have less.

    PHP 5.2 is at about 16% for all installs right now. It’s at about 10% for installs running WordPress 4.1, but because 4.1 is such a large part of the pie (36%), it’s the WP version with the most PHP 5.2 installs.

    Our goals remain the same: priority 1 is to update old WordPress installs, priority 2 is to update old PHP and MySQL. Only once the numbers drastically move as a result of our efforts would any minimum requirement change. We cannot risk abandoning so many users on older WordPress and PHP versions.

    • jonradio 2:53 am on March 1, 2015 Permalink | Log in to Reply

      Although this may seem counter-intuitive, I think the charts would be far easier to comprehend upon first glance if the Versions were presented Descending, rather than Ascending. Especially with WordPress Versions, where you have to figure out to click the “page 2″ button to see the two more recent (and popular) versions.

    • Michael Beckwith 4:12 am on March 1, 2015 Permalink | Log in to Reply

      Awesome news all around.

    • Jon (Kenshino) 6:01 am on March 1, 2015 Permalink | Log in to Reply

      It’s pretty good news! Hope the stats will eventually help us shift away from PHP 5.2

    • Josh Pollock 7:56 am on March 1, 2015 Permalink | Log in to Reply

      Thanks for the update. Is there anyway we can see PHP/MySQL versions broken down by what WordPress version they are running on?

      It would be interesting to see what percentage of users running an EOLed version of PHP are choosing to stay on old WordPress versions of their own accord/ lack of action.

  • Samuel Wood (Otto) 2:26 am on February 27, 2015 Permalink |

    After a bit of a longer two-day rollout than planned, the new theme directory is now live and functional.

    If you find bugs (and we’ve already found a few), then please report them on the meta.trac using the Theme Directory component to flag them up. But please, do make sure somebody else hasn’t beaten you to the ticket. Here’s the list of current tickets for the theme directory: Meta Trac

  • Konstantin Obenland 7:19 pm on February 24, 2015 Permalink |
    Tags: ,   

    Theme Directory Launch Checklist 

    Tomorrow we’re going live with the new Directory! We’ll start going through the checklist February 25th 2015 1700 UTC.

    Disable uploads on bbpress themes.
    Replace the uploader page with an “uploads temporarily offline” message.

    Disable themes.trac sync process.

    • Announce launch in WPTRT meeting.
    • Commit an early return to sync-theme-review-results.php.
    • Inform Admins directly: No setting themes live between February 25th 2015 1600 UTC and the new directory is live.
    • Channel notification in #themereview.

    Migrate themes to WP.
    Run migration script in /bin/themes/

    Switch over Directory to not use API.

    Test themesnew API.

    • Switch to use themesnew.php on sandbox.
    • Test /wp-admin/theme-install.php locally.

    Test themesnew downloads.

    • Switch to use themesnew.php on sandbox.
    • Test downloads locally and on /themesnew.

    Up until here, no real damage is done, marks the last chance to postpone the launch.

    Switch over downloads and API scripts.
    mv index.php old-api.php
    mv themesnew.php index.php

    Switch over URLs and redirect.

    • Commit /themes removal.
    • Notify @seanosh about making the switch.
    • Commit mu-plugins commercial change.
    • Test the hell out of /themes.

    Switch over review sync script.
    mv sync-theme-review-results.php sync-theme-review-results-old.php
    mv sync-theme-review-results-themesnew.php sync-theme-review-results.php

    Enable theme uploads in directory plugin.
    Remove custom message and uncomment upload handler.

    • Andrew Nacin 9:19 pm on February 24, 2015 Permalink | Log in to Reply

      Are there actually redirects that need to occur? Are nginx rules already written for this? As far as I know, we should just need to remove bbPress-specific rules and let /themes/ fall through to WordPress.

      This is actually a bit complicated. The order of operations should be to change the DB to reflect /themes not /themesnew, and then remove the rules. But, that’s not quite enough. We also need to remove the /themes bbPress external. This external will *not* be fully removed upon deploy — because it has externals inside of it, it will leave behind directories in the form of e.g. /themes/bb-includes/backpress/includes/pomo.

      So, all of this needs to happen at basically the same time:

      • /themes needs to be deleted from dotorg.svn, and deployed.
      • The remnants of /themes/* needs to be removed manually from production servers.
      • nginx needs to be reloaded (with rules removed).

      I don’t think anyone has tested these steps. :-) @seanosh should be able to remove the /themes-specific nginx rules on your sandbox for you, then you can test the rest. The wporg-plugins-themes nginx conf file would also be a good thing to review as it might illustrate missing features from the new themes directory as well as what existing URLs should be supported, including /rss, /profile, /browse, etc. You can view these files from your sandbox.

      We should probably create a script to do this in one go, as in, you commit to dotorg.svn and do not deploy, then @seanosh runs this as a global command:

      svn up public_html # remove /themes, essentially deploying
      rm -r public_html/themes/ # actually remove /themes
      /etc/init.d/nginx reload # let it fall through to WordPress

      • Konstantin Obenland 11:17 pm on February 24, 2015 Permalink | Log in to Reply

        We also need to remove the /themes bbPress external.

        As far as I can tell, there are only two externals, bbpress and backpress/includes, yes?

    • seanosh 11:23 pm on February 24, 2015 Permalink | Log in to Reply

      I’d prefer if the deploy itself went through the deploy script instead of calling “svn up” everywhere. If need be, we can execute commands immediately after the deploy has taken place. Or is that not possible, @nacin?

  • Konstantin Obenland 12:22 am on February 24, 2015 Permalink |

    Theme Directory Update 2/23 

    Last week I fixed most of the fixable tickets for the Theme Directory, switched to using WP_Query instead of the API for server-side rendering of themes, updated the WordPress-based Themes API with changes from the bbpress-based one, and finished the import script for the new directory. @otto42 committed the new reviews code today, so we should be able to get those integrated today or tomorrow.

    Which means that we’re going to launch on Wednesday or Thursday!

    There is still a lot more work to be done, but everything that’s remaining can be added, changed, or improved with the new directory active. Most importantly we want to make it available to language sites, so that we have an internationalized theme directory, and there will be more to be done around that.

  • Konstantin Obenland 1:57 am on February 13, 2015 Permalink |

    Theme Directory Update 2/12 

    The two major parts of my week were fixing bug reports that came in after my post on make/themes, and getting started with adopting @melchoyce‘s modal design (Modal == modal + single). With the exception of reviews and support, I tried to stick as close as possible to the mockup. While I’m obviously not done yet, a first pass however is live (including some mobile styles).

    @otto42 made progress on the rating integration, working on a solution that lets us use existing ratings/review with limited migration efforts. He projected to be done with that around Wednesday next week.

    Next week I’ll be focussing on switching the server-side rendering of themes from using the API to using WP_Query directly. Towards the end of the week I’d also like to have ratings/reviews integrated and my work on the modal finished.

compose new post
next post/next comment
previous post/previous comment
show/hide comments
go to top
go to login
show/hide help
shift + esc