Blog

Improving WordPress Transients

Modern websites can be complex, especially when a high traffic site offers advanced features that need more intensive server processing. WordPress has a few tricks up its sleeve to help developers improve performance, but as we’ve written about before, those tricks don’t always scale.

If you’ve been engineering performant sites with WordPress, you’ve probably encountered the Transients API—a basic caching method. What developers may not know is, at scale, the synchronous way WordPress handles transients can lead to performance issues that can result in a poor user experience. That’s where Async Transients comes in, our open-source Composer library for WordPress transients.
Read More on Improving WordPress Transients

Ads.txt Manager for WordPress

We’re making it easier and a bit safer to manage the ads.txt whitelist for publishers using WordPress with our newest plugin: Ads.txt Manager for WordPress. Site administrators can add and edit their site’s ads.txt file from the WordPress admin interface, eliminating the need to upload a new copy of ads.txt with every change or correction, and applying some validation to prevent simple ads.txt mistakes.

Read More on Ads.txt Manager for WordPress

Meet WP Snapshots: share complete snapshots of a WordPress setup

We’d like to introduce you to our latest open source project: WP Snapshots.

WP Snapshots is a command line interface (CLI) tool that empowers engineering teams to quickly share WordPress projects – including files and the database. Up until now, onboarding a new engineer onto a project has been tedious: he or she had to setup a local development environment, check out repositories, install matching versions of WordPress and any plugins, track down and import database dumps, copy over uploaded media, search and replace paths in the database, and so on. WP Snapshots turns a painstaking process into a few simple commands.

WP snapshots command example.

Read More on Meet WP Snapshots: share complete snapshots of a WordPress setup

Ads in a Gutenberg World

Think about those times when ads were intrusive as you read a story on the web: perhaps a distracting video ad interrupting paragraphs just as you were becoming immersed in the narrative, or a tone-deaf ad showing up alongside coverage of a somber event. If you’re a content creator or publisher, think about the times when the “it’s a surprise!” nature of programmatically inserted ads has been a pain point.

As content management systems (CMS) increasingly move to “block-based” editors that are much more visually representative of the final state on the front end, we have an opportunity to design tools that better recognize and integrate advertisements as part of the editorial process. Rather than treating ads as an afterthought, what if we start treating them as a fully integrated component of the content as it’s constructed?

With our preferred CMS – WordPress – heavily investing in a new block-based editor, code-named Gutenberg, our Revenue Strategists and Platform team saw an opportunity to contribute by experimenting with handling ad placement inside of the editor. At the heart of Gutenberg is a block-based method of creating and managing your content, shifting to a unified site-wide “block” concept that further empowers content creators to make their work look just the way they want. We thought: shouldn’t advertisements be one of those blocks?

Read More on Ads in a Gutenberg World

Distributor plugin: Share content between your WordPress sites

Meet the newest addition to 10up’s suite of powerful, open source tools for content creators and managers: Distributor.

Distributor is a WordPress plugin that empowers content managers to safely reuse and syndicate content across their websites, supporting sites within a WordPress multisite network and across the web using the REST API. Designed with an intuitive user experience at the forefront, Distributor integrates “push” and “pull” use cases.

The sharing interface is accessible from the admin bar when viewing a single piece of content in the editor or on the front end. Without leaving the content – and with just a couple of clicks – content managers can “push” the content to any other sites where he or she has permission to publish. Think of it as a “retweet” feature for your WordPress sites.

Shares posts across a network

Read More on Distributor plugin: Share content between your WordPress sites

Estimates and estimation

“In preparing for battle I have always found that plans are useless, but planning is indispensable.”
Dwight D. Eisenhower

Why we estimate

Suppose you’re preparing for a trip and deciding which suitcase to take. You have a small suitcase that you like because it’s easy to carry and will fit into an airplane’s overhead storage bin. You also have a large suitcase, which you don’t like because you’ll have to check it in and then wait for it at baggage claim, lengthening your trip. You lay your clothes beside the small suitcase, and it appears that they will almost fit. What do you do? You might try packing them very carefully, not wasting any space, and hoping they all fit. If that approach doesn’t work, you might try stuffing them into the suitcase with brute force, sitting on the top and trying to squeeze the latches closed. If that still doesn’t work, you’re faced with a choice: leave a few clothes at home or take the larger suitcase. —Steve McConnell, Software Estimation: Demystifying the Black Art

As an engineer, nothing pleases me more than rolling up my sleeves and writing code. But before doing that, a sense of how to approach a task and the required resources (people, time, software licenses, third-party API access) need to be determined. These details support clear project expectations, which are foundational to the great client experiences we strive to create. Estimates, give all project stakeholders—internal and external—a chance to agree on a few key things before work is begun:

  • That we understand what is being asked for;
  • That we have a plan to efficiently deliver quality results;
  • That we’ve asked (and answered) all project team questions;
  • That we’ve considered all the risks, edge cases, and alternatives;
  • That we’ve considered the effects on usability, accessibility, and SEO;
  • That the available budget and desired timeline support the approach.

Read More on Estimates and estimation

Get to know New Relic Reporting for WordPress

New Relic is a SaaS product that offers application performance monitoring (APM), which provides developers with real-time data for use in proactive diagnostics as well as debugging. This data—including basic information about WordPress hooks, plugins, and themes—can be queried and visualized using the New Relic Insights dashboard.

Seeing an opportunity to maximize the utility of APM and Insights, we created New Relic Reporting for WordPress, which supplements out-of-the-box data collection with additional WordPress-specific information.

Read More on Get to know New Relic Reporting for WordPress

Introducing WP Docker

Back in 2013, 10up introduced Varying Vagrant Vagrants (VVV), a project led by then 10upper Jeremy Felt. One of the first popular WordPress development environments based on Vagrant, VVV has since been moved out of 10up’s GitHub and into its own, where it continues to thrive as a community-led project.

Now, Docker and container-based server architectures have emerged as powerful tools for creating and managing development environments. Last year, we partnered with Joyent to release a scalable, production-ready Docker environment for WordPress. Today, we’re proud to release WP Docker: an open source Docker configuration optimized for local WordPress development.
Read More on Introducing WP Docker

Meet ElasticPress.io: a hosted search and query engine for ElasticPress

We’re proud to announce ElasticPress.io: a hosted service that integrates with ElasticPress, our popular plugin, to provide a fast and flexible search and query engine for WordPress.

We built ElasticPress to overcome higher-end performance and functional limits posed by the more traditional, structured (SQL) database underpinning WordPress. Storing content in a modern (noSQL) query engine like Elasticsearch empowers us to produce superior keyword search and related content results, and supercharge the performance of complex queries like a filter on multiple product properties or a location. Smarter and faster content makes for a better web and, not accidentally, is important to search engines and visitor retention / conversion.

While our plugin made it simple for WordPress-savvy engineers to talk to Elasticsearch, the need to manage Elasticsearch hosting added friction and complexity, at odds with the simple user experience 10up strives for. As we prototyped exciting use cases involving private content, we realized that end-to-end security added even more complexity.

ElasticPress.io solves all of that—making it dead-simple to start using enterprise-caliber search and query technology with WordPress. It enables innovative features like accelerated admin performance that require end-to-end control and security.

Read More on Meet ElasticPress.io: a hosted search and query engine for ElasticPress

10up client FiveThirtyEight publishes top story of 2016

10up client FiveThirtyEight’s political coverage earned the stats-minded publisher four spots in ChartBeat’s top 25 most engaging stories of 2016, including #1 for their 2016 election forecast. This interactive feature provided predictions in the US presidential race, as well as 34 Senate contests nationwide, leading up to the November elections.

We love seeing clients like FiveThirtyEight topping the charts alongside long-established publishers like BBC, the New York Times, and NPR.