Blog

Restricted Site Access for WordPress optimized for multisite

We’ve released a major update to Restricted Site Access, our popular WordPress plugin that intelligently limits website access. Designed to keep unwanted visitors out of staging, test, and private sites, the plugin is active on more than 20,000 websites and has a 5 star rating.

Restricted Site Access 6.0 adds full support for WordPress network (multisite) installations. Network administrators can enforce restriction rules across the entire network, or set default restriction rules that are applied as new sites are added. If you have a network of private blogs or internal sites, or need time to configure new sites in your network before taking them live, this is the update you’ve been waiting for.

Read More on Restricted Site Access for WordPress optimized for multisite

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

Introducing Twenty Sixteen React and NodeifyWP

twentysixteenreact
As web technologies and mobile devices improve and global internet speeds increase, consumers increasingly expect taps and clicks to deliver results nearly instantaneously; the “app-like” experience has become an expectation in web browsers. To this end, we’ve seen huge strides forward in web platforms and frameworks.

Among its most notable relevant advancements, WordPress introduced a JSON REST API, which opens up new, compelling use cases as a framework and content storage engine, such as headless publishing workflows. However, since WordPress runs on PHP, it can’t be used in conjunction with an important breakthrough: isomorphic applications.

Isomorphic web applications run the same code on the server and client (web browser), providing the flexibility, extensibility, and consistency to build the most modern “app-like” experiences on the web. JavaScript and Node.js are used to create isomorphic applications, since JavaScript runs natively in the web browser and is the foundation for server-side Node.js. (Learn more about isomorphic applications.)

Since we can’t run PHP in the web browser, we have a few options for creating JavaScript-powered “app-like” experiences in WordPress.

Read More on Introducing Twenty Sixteen React and NodeifyWP

Meet ElasticPress 2.0

elasticpress-square

ElasticPress 2.0 is a major update, with improvements to search result weighting, expanded query parameters, and better metadata syncing.

Tweaks to the search algorithm’s fuzzy matching limit unwanted results (i.e. searches for “yell” previously returned results for “yeti,” since the terms are only two characters apart) while still correcting for misspellings. Results are more intelligently weighted, with documents containing all search terms boosted 2x, and another 2x boost for documents matching the order of searched terms.

Read More on Meet ElasticPress 2.0

Supercharge WooCommerce performance and search with ElasticPress WooCommerce

elasticpress-woocommerce
WooCommerce is the world’s most popular e-commerce software, available as a free WordPress plugin. Its expansive extensions library houses a number of premium extensions addressing recurring payments, different payment gateways, shipment tracking tools, and more.

Scaling open source e-commerce solutions like WooCommerce, that can be installed on infrastructures of all shapes and sizes, is challenging. Online stores typically require intensive database transactions: complex queries on both the front and back-end that filter and sort products based on several categories, stock, and properties like pricing and reviews.

Further, most shoppers depend on site search to find products. Complex filters combined with keyword search across fields heavily tax relational databases like MySQL, the underlying database used by WordPress. And of course, increased store traffic increases the number of database queries to process, making every transaction even slower. Not surprisingly, many WooCommerce sites run quite slowly.

Read More on Supercharge WooCommerce performance and search with ElasticPress WooCommerce

Flexibility: Flexbox support for Internet Explorer

A few weeks ago, we pushed out our newest open source project: Flexibility, a polyfill that back ports Flexbox support to Internet Explorer versions 8 and 9.

Flexibility

Flexbox is one of the most significant advances in front end website layout since the advent of CSS, empowering us to build beautifully responsive and flexible layouts using pure, clean CSS. Here’s a short explanation from a great overview prepared by CSS-Tricks:

The main idea behind the flex layout is to give the container the ability to alter its items’ width/height (and order) to best fill the available space (mostly to accommodate to all kind of display devices and screen sizes). A flex container expands items to fill available free space, or shrinks them to prevent overflow.

Unfortunately, Flexbox support wasn’t added to Internet Explorer until version 10, leaving older versions – still popular in some corners – out of the Flexbox revolution. This idea didn’t sit well with 10up’er Jonathan Neal, tasked with engineering a beautiful layout for a Fortune 50 forced to contend with supporting older versions. We decided to subsidize his time to see if we could introduce Flexbox support under less-than-ideal browser requirements. The result was Flexibility: a smooth front end experience for older browsers, without compromising our ability to use pioneering layout technology.

Read More on Flexibility: Flexbox support for Internet Explorer

Reflections on ElasticPress

With 2015 coming to a close, I’ve been reflecting on the ElasticPress project’s accomplishments since its inception one and a half years ago.

Today, we released ElasticPress 1.7, which completely restructures post meta storage. This enables performant post meta queries with complex comparisons against data types, such as integers, dates, and times. We also fixed some bugs.

Like many of our popular open source projects, ElasticPress was originally conceived as an internal tool designed to support some specific client needs. Since open sourcing the project, ElasticPress has garnered over 30 contributors (most of whom do not work at 10up), 16 major releases, and a thriving Github community where developers and site owners are collaborating. ElasticPress is used by major hosting companies and across hundreds of websites, some of which serve millions of pages each month. I have introduced developers to ElasticPress at speaking engagements around the world.

elastic_press

We’ve also learned our fair share of lessons since initiating the project. Here are a few that stand out.
Read More on Reflections on ElasticPress

10up speaks at WordCamp NYC this weekend

WordCamp NYC

10up is thrilled to sponsor WordCamp NYC 2015 this weekend in Brooklyn. This year, Chief Executive Officer John Eckman and I are presenting, with Director of Platform Experience Helen Hou-Sandi in attendance.

In “Modernizing WordPress Search with Elasticsearch”, I’ll cover the benefits of Elasticsearch and teach attendees how to use ElasticPress: a 10up plugin that integrates WordPress with Elasticsearch, and significantly improves search results, relevancy, ranking, and filtering within WordPress.

John’s presentation, “The Enterprise Disconnect: WordPress and the Complexity of Simplicity”, will cover the challenges of advocating for WordPress in the enterprise, and different perspectives inside and outside the WordPress community. John will propose approaches that preserve the simplicity of WordPress, while better exposing enterprises to powerful solutions which can be built atop the platform.

Read More on 10up speaks at WordCamp NYC this weekend

10up speaking at ZendCon 2015

ZendCon 2015

Las Vegas

Speaking

This year, Lead Web Engineer Eric Mann and I are attending and speaking at ZendCon, the largest global gathering of the PHP community, on October 19-22, 2015 in Las Vegas. ZendCon brings together industry thought leaders, recognized PHP experts, enterprise PHP adopters, as well as independent developers for four days of professional development and networking.

On October 19, Eric will present his first talk, “Sandboxing your Development Environment with Vagrant”, which covers best practices in developer-side virtualization and some of the options available for runtime system configuration. On Wednesday, he’s talking about WordPress and unit testing in “A Tale of Two Test Suites.” Eric will cover fundamentals like API mocking, and comparing and contrasting the standard WordPress integration test suite with mock-powered unit testing alternatives.

Also on Wednesday, I’ll  present “Best Practices for WordPress Enterprise”. I’ll explain how 10up successfully builds highly efficient and scalable WordPress websites for some of the world’s largest companies and organizations. Although I’m focusing on engineering, I’ll also touch on team coordination and workflows.

Sponsoring Sanitize.css

sanitize

In keeping with our commitments and contributions to important open source projects, we’re proud to take on stewardship of sanitize.css. An incredibly popular project by 10up’er Jonathan Neal, sanitize.css makes it easier to engineer website front ends that render consistently across popular browsers.

Elegant in its simplicity and superbly documented, the project already more than meets our engineering standards. More importantly, tools like sanitize.css serve 10up’s mission to create outstanding, dependable content-centric website experiences from front to back, for our clients, and for a bigger open web.

Read More on Sponsoring Sanitize.css