First Look at The Twenty Nineteen Default Theme

Allan Cole, a WordPress Theme Imagineer at Automattic has published the first glimpses of the Twenty Nineteen default theme slated to ship with WordPress 5.0. Cole is leading the theme while Kjell Regstad who does Product and Editorial Design at Automattic will be a design coach.

Twenty Nineteen Blog Post Layout

The theme takes a minimalist approach that’s a good fit for writers and can be adapted for simple business sites as well. Twenty Nineteen doesn’t have a sidebar but will have an area in the footer to display widgets.

The theme will have full compatibility with Gutenberg when it’s released. It will also contain Front-end and Back-end editor styles. This will allow the presentation of content in the back-end to closely resemble how the finished product will look like. 

Twenty Nineteen is based on the Underscores and Gutenberg starter themes. SASS is used to keep styles in-sync between Gutenberg and the front-end experience which Cole notes is, “not usual for a default theme and open to debate.”

With WordPress 5.0 scheduled for a November release, Twenty Nineteen is on a fast track development cycle. A release candidate is expected to be available at the end of this month.

To keep tabs on development, you can monitor the project’s GitHub page. GitHub will be used to develop Twenty Nineteen until it’s ready to be merged into core. At that time, the GitHub page will be deprecated as development moves to WordPress Core Trac.

Dev meetings that last a half-hour will take place every Tuesday at 12PM EDT in the #core-themes Slack channel. It’s worth noting that if Twenty Nineteen is not ready in time for the planned November 19th, release of WordPress 5.0, it will be removed and released at a later date.

WordPress Privacy Contributors Begin Work on V2 Roadmap, Form Cross-Platform Working Group

photo credit: Infosec Images Privacy blue(license)

Contributors to WordPress’ core Privacy component are collaborating on a V2 roadmap to address broader privacy and data protection issues that fall outside of legal requirements. The group organized at the beginning of the year to work on GDPR-specific objectives but has since expanded its scope to tackle concerns that are not attached to any specific piece of legislation.

The Privacy team meets weekly and has approximately a dozen contributors who show up regularly to work on tickets and issues. The working V2 roadmap identifies a list of common international privacy concerns, such as data minimization, data integrity, transparency and notice, and contributors will explore their impact on a few core focus areas:

  • Core privacy features
    • Gravatar privacy controls
    • Embed privacy controls
  • Plugin privacy
    • For administrators
    • For developers
  • Consent and logging
  • WP-CLI support
  • Multisite support

The team has agreed to use a Privacy by Design (PbD) approach, which uses a proactive framework to anticipate privacy issues before they are a problem for the user.

Privacy team contributors are also monitoring two specific pieces of legislation that may impact WordPress site owners in 2019 – the US California Consumer Privacy Act (CCPA), and the EU ePrivacy Directive overhaul. They plan to examine specific requirements once that information is available and will assist site owners in reaching compliance.

New Privacy Working Group to Facilitate Collaboration across Open Source Communities

At Drupal Europe 2018 a group of WordPress and Drupal contributors met to discuss the possibility of welcoming teams from major open source projects to work together on shared concerns. WordPress Privacy team contributor Heather Burns attended the first test run of the working group in the Open Source Lounge at the conference.

“For the working group we have the big three – Drupal, WordPress, and Joomla – and we also spoke with representatives from the smaller projects like Neos and Typo3,” Burns said. “We’re all dealing with similar issues but from different approaches.”

Burns said one of the goals of the working group is to push the idea forward that privacy is a common, positive, proactive value which can be taught and shared across projects. Members will discussion questions like whether privacy fixes belong in core or modules, how privacy notices pull information from different plugins and modules, and what laws are coming up that would require open source CMSs to build in some functionality in advance.

“It’s a way of pooling resources, code libraries, and briefings, as well as giving us a forum to share experiences,” Burns said. “For example, we’re going to arrange for Drupal’s privacy lead to give a live video demo of their GDPR tools to our core group, and we’re going to do the same for them.”

The privacy working group is being set up through the Drupal community structure and members are in the process of coordinating some funding. More information on funding will be available in the next few weeks.

Privacy Contributors Seek to Change the Perception of Privacy to a Positive, Proactive Value

In addition to collaborating across the broader open source community, the privacy working group endeavors to educate their communities on the inherent value of privacy instead of simply focusing on the consequences of companies being forced to pay a fee if they don’t meet legal obligations.

“We’re very keen to also shift the perception of what privacy is, and that it’s not just seen as being about negative legal obligations for GDPR, CCPA, etc.,” Burns said. “We want people to think of privacy like accessibility: just the right thing to do for user protection.”

Burns speaks about privacy at WordPress and Drupal conferences and how projects can have differing cultural, historical, and legal approaches to privacy. Cultural barriers to the recognition of privacy as a core value is one of the privacy team’s biggest challenges in advocating contributions that respect and protect users’ rights.

“What I’m proudest of this year is helping people to understand each other better,” Burns said. “We all come to the table assuming we share the same cultural, historical, and legal views of what privacy means and what role it should play, when the truth is there are wildly different views held even within project teams.

“To paraphrase that awful quote, we don’t know what we don’t know. What I do is help people to understand where we’re all coming from and what we don’t actually know. From there, I define what a healthy approach to privacy should involve outside reactive legal obligations, using a methodology derived from a number of international frameworks and treaties on privacy. It’s a matter of inspiring people to realize that as open source project contributors, we are people of enormous power and influence over privacy on the web. The actions we take within our projects, however small, can help to protect people from those who would use their data to hurt them. That’s the most important thing any developer can ever do.”

Subscribe to Comments Plugin: Delete Data from Database

During the latest site redesign, I removed the Subscribe to Comments plugin. Wisely, the plugin does not delete any subscriber information from the database. So as a part of the site's redesign slash clean-up, I wanted to export/save and then delete all subscriber information to decrease overall database size. After searching and not finding any specific solution or preferred technique for this process, I rolled my own. Actually it's just a simple SQL query to get it done! :)

(more…)

Contributing to Gutenberg: A New Contributor’s Experience

The following is a guest post by Chris Van Patten who shares his experience learning and contributing to Gutenberg. There’s been a lot of talk of Gutenberg’s higher barrier to entry for new contributors. Van Patten describes what it was like to climb and overcome those barriers.

Van Patten is the founder of Tomodomo, a website development company that specializes in creating sites that engage readers.


Over the past few months, but especially over the last few weeks, there has been extensive conversation about the barriers to entry present in contributing to the upcoming Gutenberg editor for WordPress.

Of course, everyone’s experiences are subjective and unique. I can’t pretend to understand what everyone has felt. But my experience has been different than what some folks have been articulating, and I wanted to share my own take.

The Early Days

I’ve used WordPress for close to half my life; almost 15 years now. I remember some of the earliest versions of WordPress: the classic theme, the advent of Kubrick, MP6, up through today.

Early Days of the WordPress Backend

Like many in the community, I’m entirely self-taught. I have no background in computer science, and have no formal instruction under my belt. I picked up code through trial-and-error, tweaking files and breaking my site as I wanted to make changes.

Since those early days, WordPress was always my CMS of choice both for personal projects and for clients with my agency Tomodomo. But even though I had committed to the WordPress platform, my contributions back were limited.

The rules, rituals, and etiquette around posting on Trac seemed arcane and illegible. To this day, I could not make an SVN patch if my life depended on it. And much of the core code, imbued with years of history and backwards compatibility, was hard for me to pick apart.

So instead, I contributed in other ways: open sourcing simple custom plugins I was building, organizing WordCamps and meetups, and speaking at WordCamps around the globe. But it always bothered me that I couldn’t find a way to get those elusive ‘props’.

(Okay, so I did actually get props on one release, but I am convinced it was a mistake; I had neither opened the ticket or provided a patch.)

Going… Going… Gutenberg

When I first learned about Gutenberg and started exploring, I was apprehensive. At first it seemed scary. My JavaScript abilities didn’t extend beyond jQuery. React was inscrutable and it seemed like I’d need a doctorate to understand some of the ideas behind it. I still don’t understand how Webpack works its magic. Does anyone, really?

But the possibilities of the new block interface were too enticing to ignore, so I started diving in and figuring out how it worked. In those halcyon days (aka earlier this year), Gutenberg was still pretty rough around the edges, and there were a lot of opportunities for improvement. I started lurking on the GitHub repo, reading issues, examining the code, and generally trying to wrap my head around what the heck was going on.

As I was playing around with Gutenberg for a client project, I started reporting issues: simple things, like user interface bugs. I started commenting on tickets, usually offering suggestions for a particular feature, trying to advocate from the perspective of independent developers.

I even filed my first pull request! It was simple. I updated the README to include the day and time of the weekly #core-editor meeting (Wednesdays at 1pm UTC, if you’re wondering). It was an inauspicious beginning, but I was excited to get it merged.

Over time, my knowledge grew. It was like my early days in web development, learning a CSS property here, and an HTML element there. I learned what a component was and how you could reuse them in different situations. I learned about JSX, and ES6, and some of the other crazy acronyms you encounter in Gutenland.

As I was building more with Gutenberg, I was also finding new ways to build Gutenberg itself. I was able to understand more of the discussions, and offer my thoughts and suggestions. I started opening pull requests, largely dealing with design issues but also solving small bugs and quirks. I made a point of attending the weekly meeting I had previously added to the README, chiming in when I felt I had more perspective to share.

Today I have 25 new issues and 27 pull requests under my belt, in addition to dozens of comments on existing tickets. I’m a ‘member’ of the Gutenberg team on GitHub, and try to find time every day to triage new bugs or review pull requests. It took me most of the year to get to that point and it certainly wasn’t always easy. I still have so much to learn.

When I hear about how difficult it is to contribute to Gutenberg, I can’t reconcile that with my own experience. That’s not to say it’s a breeze: Gutenberg does things very differently than WordPress core, and there is undoubtedly a learning curve.

Advice for Contributing to Gutenberg

If you aren’t comfortable coding from day one, there are so many other ways to contribute. Read through issues and add your own ideas and suggestions. Try testing and replicating bug reports. Hunt through inline documentation for typos and grammar corrections. All of these are valuable, and always appreciated.

As you absorb the Guten-way through osmosis, you’ll find that the code isn’t as hard as you think — it’s just different. The intelligent people who build Gutenberg have done a great job at hiding away the ‘computer-science’ bits so the rest of us don’t have to worry about data binding and other complex ideas. I still cannot explain state management, data stores, or context APIs but I have managed to find small areas of the code to improve.

This isn’t to deny anyone’s frustration or confusion with Gutenberg and its development. Documentation is still lacking in many places. Some of the APIs are unintuitive. The tooling isn’t the simplest to set up. These are real problems, and I don’t want to pretend they don’t exist; we can undoubtedly do more to make Gutenberg development easier.

And of course I have privilege to check: I’m lucky to have the time to spend in the GitHub repo, experimenting with code, and participating in weekly meetings. I recognize that’s not a reality for many people.

If you can’t find the time, the Classic Editor will continue to be an option, and there’s no shame in prolonging the upgrade. It may take time for the Gutenberg experience to be as intuitive as we would all like it to be, and waiting for that is totally reasonable.

But if you open yourself to some new ideas about what WordPress can be, and can make the time, you may end up surprised at how easy it is to contribute. If you get stumped, pop into #core-editor or the forums. Don’t be afraid to post a bug report or suggestion; we might consolidate it with another issue if it was previously reported, but the additional information is still valuable. Every experience matters.

I’m incredibly excited about the future of WordPress with Gutenberg and to finally be a real WordPress contributor. We have a long way to go, but that means there are still many exciting ways to make a difference. The project will only get stronger with more independent community voices chiming in.

I hope you’ll join us!

Remkus’ Roundup: New conferences, Gutenberg news and more!

It’s time for my weekly roundup again. This week of WordPress news has been an interesting one. So, let’s dive right in.

The focus of last week was mostly on the release date WordPress 5.0 with the inclusion of Gutenberg as a primary goal. As you can imagine, there was a lot of discussion on the various blogs about the suggested release dates. As soon as there’s something new to be mentioned about those release dates, we’ll let you know here. But for now, let’s dive right in!

WordCamp Nordic

An interesting new WordCamp was announced this week by lead organizer Marco Martins: WordCamp Nordic. As you can probably gather by its name, it focuses on the Nordic, or Scandinavian, countries in Europe. The first edition will take place in Helsinki, Finland and will include a Contributor Day and a Community Day additional to the event day itself. And yes, there will be saunas. How can you not when you’re in Finland, right?

If you’d like to know more about it, you can read WP Tavern’s interview with the organizers or head straight to the site of WordCamp Nordic.

I’m glad WordCamp Nordic is finally happening after two years of talking about it. I’m also excited to see other kinds of regional WordCamps happening outside of WordCamp Europe and WordCamp US.

WooSesh

WooSesh, an online conference about WooCommerce will host its first edition on October 18 and 19. If you build WooCommerce stores in any way, this all-new virtual conference for WooCommerce is for you. They have a very interesting line up of speakers and to top it all off, attendance is for free. Check out their website for more information.

Core Privacy Component Roadmap

Heather Burns, who led the introduction of the privacy component in WordPress 4.9.6 has suggested a roadmap. If you’d like to stay updated and/or help out, now would be a great time to get involved.

Gutenberg Release Candidate 1

The last versions of a software before go live are called Release Candidates. The Gutenberg project has released the first Release Candidate this week. If you’d like to know more about what exactly is in Gutenberg RC1, Mattias Ventura explains all in his introduction post. By the way, if you’re curious what’s planned for Gutenberg after it’s been included in WordPress Core, phase 2 and its focus was announced as well last week.

SiteGround WordPress Ambassadors

One of our WordPress hosting partners, SiteGround, announced they’ve started sponsoring, what they’re calling, SiteGround WordPress Ambassadors. So, much like our Yoast Diversity Fund, they’re helping out people being able to speak at WordCamps who otherwise might not be able to. I think this is a great example of contributing back to the WordPress Project and I’d love to see more companies in the WordPress ecosphere doing things like this.

That’s it for me for this week. Enjoy your weekend!

The post Remkus’ Roundup: New conferences, Gutenberg news and more! appeared first on Yoast.

Caroline’s Corner: No inspiration to blog? Work on your blog’s foundation

I have a list of blog post ideas for my series here at Yoast.com. I have them written down in my bullet journal and refer to them whenever we’re discussing what my next blog post will be. Usually, when I’m inspired, I can finish such a blog post in about an hour. This time was different: I couldn’t get it done. I guess this happens to every blogger every now and then. So I asked myself: If I’m not up to writing new content, what can I do? So here’s my blog post idea: Focus on the improvement of your blog instead! How? Read on!

Although I still have around six ideas waiting to happen (and more to come, of course), none of them worked this time. After spending over an hour on 100 words for a future blog post, I told my colleagues I was temporarily blocked, swamped with other work and without inspiration. I voted to drop my blog post for this week and just focus on the next one due in two weeks. You can call it procrastination, and I think you’d be absolutely right. Luckily the blog team told me ‘nope’ – just kidding, they’re really understanding. So this made me think about what to do when you have a writers’ block: You can use the time you would normally reserve for a blog post, on the foundation of your blog. When your foundation is solid, you will take your blog more seriously. You can strengthen your foundation in several ways.

Write a media kit

If you wish to collaborate with companies or have the ambition to be taken more seriously to earn an income out of your blog, it’s a wise idea to have a media kit. A media kit is, usually, a PDF file that holds information about you, your blog, your statistics and possibilities to collaborate with companies. It should reflect who you are and what your blog stands for. On Pinterest, you can find a ton of Mediakit inspiration, or you can try Canva.com.

Look into your site structure

To increase the findability of your blog and to help your visitors understand your website, you should regularly review your site structure. Your site structure isn’t just about your menu, it’s about internal linking, removing duplicate content and fixing possible errors in your Google Search Console as well. You could also check, for instance, if you have orphaned content on your site and add some links to it. If you want to learn more about this, please see our ultimate guide for site structure!

Optimize for SEO

Chances are when you first started blogging; you didn’t look into SEO at all. You might get visitors now through Google, but could it be more if you optimize your blog posts properly? Do keyword research and optimize those blog posts that are important to you, for instance, your cornerstone content.

Work on your social media exposure

Your blog is more than just a place where you write; it’s your brand. This means that you need to reach people on social media as well. Creating a social media planning isn’t a bad idea at all. Every platform has its own unique power: use it to your advantage. You might want to share behind the scene photos on Facebook, a gorgeously styled feed on Instagram with relevant hashtags and witty comments on Twitter. Use it to your advantage to engage with your readers and potential readers. Often there are places where you can self-promote. Think of the numerous Facebook groups about blogging: there are often threads where you can drop your link.

Talk to and help other bloggers

Learn how to write online copy that ranks!

  • Covers all from picking keywords to publishing
  • Includes personal feedback
  • On-demand SEO training by Yoast
  • End up with a ready-to-use blog post!
More info
Networking is important as a blogger. It helps you to learn more about your niche, blogging, blogging culture, possible PR events and more. You have a reputation to uphold towards your readers, of course, you already knew that. But other bloggers are in a way your competition and your colleagues. You might see them during press events or blog events. Help fellow bloggers out by answering their questions on social media. If you do this often enough and consistent enough, people will know where to find you and you will become an expert on a certain subject within your network. As I answer a lot of questions about WordPress, technical issues, SEO and of course Yoast SEO, I now get tagged in questions in various groups. Annoying? Not at all. Helpful? Definitely. I’ll write about why networking is important next time, why you should do more of it and what it brought me so far.

Other ideas

Still looking for ideas what to do when you’re out of inspiration or want to quit your blog? Why not try one of our courses? Yoast offers a Free SEO training and several other trainings that will definitely help you get a better understanding of SEO, keyword research and content writing.

And if you really do not want to do any of the above things, then maybe it’s time to sit back, relax and leave your blog until the next day. Being creative is a process and today might not be your day.

Read more: Blogging: the ultimate guide »

The post Caroline’s Corner: No inspiration to blog? Work on your blog’s foundation appeared first on Yoast.

Gutenberg 4.0 RC 1 Released, Testing Ramps Up Amid Critical Accessibility Concerns

A pre-release of Gutenberg 4.0 RC 1 is now available for testing. During today’s core developer chat, Matias Ventura, the project’s technical lead, said he plans to post a full changelog and a video tomorrow. In the meantime, a call for testing 4.0 RC 1 has been posted to the make.wordpress.org/test blog with a list of 15 specific testing items highlighted for attention.

Gutenberg 4.0 introduces several new features, (including but not limited to) the following:

  • Add ability to change overlay color in Cover Image
  • New Font Size Picker with clear labels and size comparison
  • New RichText data structure to allow better manipulation of inline content
  • Add Pullquote style variation and color palette support
  • Add support for post locking when multiple authors interact with the editor
  • Add support for shortcode embeds that enqueue scripts.

A running list of the enhancements, bug fixes, and other changes is available on GitHub in the changelog. Deprecations for 4.0.0 are outlined in the Gutenberg handbook.

Grzegorz Ziółkowski has published Gutenberg’s npm packages this evening, so the team can move forward on core integration with Gutenberg.

Accessibility has been one of the recent concerns with the project, as there are many outstanding tickets with this tag. One of the most prolific contributors to testing, Andrea Fercia, has stated that the editor in its current state is “barely usable” for those with accessibility needs. Joe Dolson, another WordPress accessibility contributor, wrote a reaction post that concurs with Fercia’s assessment.

“The leadership within the Gutenberg project has not taken seriously the scope of accessibility problems in Gutenberg,” Dolson said. “I do not want to diminish the dedication to accessibility issues at some levels. The dedication to producing accessible content is still very high. But I’m not seeing dedication to developing an accessible authoring tool. It’s as if there’s no awareness of the needs of authors with disabilities; only consumers.”

If WordPress 5.0 is released on schedule, Dolson said he believes it is “almost a guarantee that the first release of Gutenberg in WordPress will not be accessible,” as there are too many major accessibility issues left to resolve.

Matthew MacPherson, the new accessibility lead for WordPress 5.0, said he is willing to bet that Gutenberg is more accessible than the Classic Editor and that the perception of its inaccessibility is based on older evaluations of earlier releases:

I think there’s a notion of Gutenberg being inaccessible because of older accessibility audits that identified a lot of issues in the very early versions. Things have changed a lot since the early days, and when the plugin was labeled “1.0” it was hardly a ready-to-ship product. I worry that many of those sentiments haven’t been re-examined and updated, so there is a prevailing idea that Gutenberg is not accessible or is entirely less accessible than the Classic Editor.

What I’d venture is that Gutenberg is selectively less accessible, but overall more accessible feature-for-feature. Something like a date picker or a certain interaction being inaccessible does not make the entire editor inaccessible. Feature-for-feature, compared to a classic editor with similar capabilities (eg a bunch of plugins installed), I’d bet* Gutenberg is more accessible.

Despite his suggestion that Gutenberg’s current accessibility issues are likely not as critical as contributors have claimed, MacPherson is willing to coordinate an independent accessibility audit to get an outside opinion. Selection of the company to perform the audit is currently in process.

After the recent resignation of team lead Rian Rietveld, accessibility contributors are meeting next Monday to get reorganized and discuss the leadership and decision processes of the team.

Many have speculated outside of official channels on whether the recent shakeup in the leadership of the accessibility team is a referendum on the aggressive timeline for Gutenberg’s inclusion in core or simply the natural turnover in open source projects when friction cannot be resolved. A truly independent accessibility audit, with results that are shared transparently to the WordPress community, will reveal whether current perceptions of Gutenberg’s lack of accessibility are accurate.

In the meantime, a new “Needs Accessibility Feedback” label is available for use on the Gutenberg GitHub repository to facilitate communication between developers and accessibility contributors. There is also a label for regressions where changes broke accessibility along the way.

13 Ways to Recover WooCommerce Abandoned Cart Sales

Are you looking for ways to recover WooCommerce abandoned cart sales? On average 60 – 80% of people who “add to cart” do not end up buying. This means if you have an online store, then you’re losing out on a lot of sales. In this article, we will share proven tips to recover WooCommerce abandoned cart sales with real examples.

Recovering abandoned cart sales in WooCommerce

Why Recover Abandoned Cart Sales in WooCommerce?

When a user adds a product to the cart, they start a transaction process. In physical retail stores, people rarely abandon their carts. However, in online shopping, the rate of shopping cart abandonment is quite high (between 60-80%).

A lot of factors contribute to reasons why people abandon shopping carts without completing the purchase. According to a study conducted by Business Insider, shipping costs, slow checkout, login / account creation requirement, and lack of payment methods are just some of those contributing factors.

Business Insider - Shopping cart abandonment factors

If you want to reduce cart abandonment rate, then you need to address these factors on your eCommerce website. By making small tweaks, you can recover a significant portion of sales that you are losing right now.

That being said, let’s take a look at some of the most effective ways to recover WooCommerce abandoned cart sales.

1. Remind Users of Cart Items with Exit-Intent Popups

Exit-intent popups appear when a user is about to leave a website (precisely when their mouse leaves the browser window). You’ve likely seen one of these overlays on many top websites. That’s because these exit popups deliver results!

Cart Abandonment Popup Example

Often you can recover between 3 – 8% of abandoning cart sales by offering customers an exclusive discount or free shipping.

But what if you’re already offering a discount, and it’s applied on the cart?

Often users start to doubt their purchase decision last minute. Sometimes they have a question that’s not answered which leads to abandoned cart. Other times, they just need reassurance that they’re making the best decision.

We ran into this issue on our WordPress Form plugin website, so we created the following exit popup:

WPForms Exit Popup

This popup is converting at 4.56%.

Basically it reassures the users that WPForms is the best WordPress form plugin in the market. If they click Get WPForms Now, then the popup simply closes and allows the user to finish the purchase.

Alternatively, if they have a question, then they can click on I have a few questions first which simply loads a contact form inside the popup. The question gets sent to our support team, so we can assist the customer.

This single popup has helped us recover tens of thousands in lost sales just in the last month!

Want to add exit-intent popup on your WooCommerce store? We recommend using OptinMonster because it is the world’s leading conversion optimization software. OptinMonster helps you convert abandoning website visitors into subscribers and customers.

WPBeginner’s founder, Syed Balkhi, created OptinMonster to solve the problem in our business, and now it’s the leading solution in the industry serving billions of impressions each month.

For detailed instructions, see our article on how to convert WooCommerce visitors into customers.

2. Make Cart Visible and Noticeable

Many customers simply want to save items to review later as they browser your shop. However, human attention span is very short specially when it comes to the internet.

Your customers may forget that they have added items in their shopping cart. Displaying a shopping cart icon and making it more noticeable will remind users of items they have saved.

This is why you see a clean and simple shopping cart icon on every screen of Amazon.com website.

Amazon.com showing the sopping cart icon

Almost every good WooCommerce theme comes with a dedicated shopping cart icon at the top of the page or in the navigation menus. However, if your theme doesn’t have one, then you will need to add it separately.

Simply install and activate the WooCommerce Menu Cart plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, you need to visit WooCommerce » Menu Cart Setup page to configure plugin settings. On this page, you will need to select the navigation menu where you want to display the cart icon.

Menu Cart settings

Don’t forget to save your settings.

You can now visit your store to see the cart icon in the navigation menu.

Cart icon preview

3. Avoid Hidden Cost Surprises

Shipping cost is one of the top reasons for shopping cart abandonment. Customers often complain that they didn’t complete a purchase because they were surprised by higher shipping cost and wanted to compare it with other stores.

You can tackle the shipping cost factor by showing the shipping cost right away. If you know the exact shipping cost, then you can easily show that in product description or on the pricing page. However, many stores sell products with variable pricing which makes shipping estimates difficult.

Luckily, there are several WooCommerce add-ons that you can use for variable pricing and shipping cost calculations.

We recommend using Table Rate Shipping because it allows you to define variable shipping costs for every single product in your store.

Table Rate Shipping settings

This allows your users to see shipping costs even for products with variable pricing before adding it to their cart.

Alternatively, you can build the shipping cost in your product price, and then advertise free shipping to boost your conversions.

4. Enable Guest Checkout without Account Creation

Many eCommerce stores want users to create an account for faster checkouts in the future. However, a large number of customers don’t want to create another account just to buy a product.

By enabling guest checkout feature in WooCommerce, you allow customers to buy the products they like without signing up.

Enable guest checkout

Don’t worry, you will still be able to store customer information that you need to process the order while eliminating a blocking step from your checkout process.

This brings us to our next tip.

5. Make Checkouts Faster

Ever noticed how blazingly fast Amazon.com is? That’s because a single second delay in the page load can cost the company millions of dollars.

According to a StrangeLoop case study that involved Amazon, Google, and other larger sites, a 1 second delay in page load time can lead to 7% loss in conversions, 11% fewer page views, and 16% decrease in customer satisfaction.

Strangeloop study

For overall WooCommerce speed and performance, follow the step by step instructions in our guide on how to speed up WordPress.

For faster checkouts, you may also want to take a look at YITH WooCommerce One-Click Checkout plugin. It allows your users to checkout with a single click without affecting any functionality.

6. Offer Multiple Payment Methods

Payment methods are another reason that forces customers to abandon their saved carts. This is why conversion experts always recommend adding multiple payment methods to reduce cart abandonment.

WooCommerce makes it easy to add multiple payment methods like credit card, PayPal, and more.

However, each payment gateways have different fees and charges on transactions that you need to review as a business owner.

For example on our MonsterInsights website, we offer both credit card and PayPal as an option.

Add multiple payment methods

7. Effectively Use Urgency and Scarcity Tricks

Scarcity and urgency are tricks used by sellers since ancient times. Ecommerce websites use this tactic by showing limited stocks or limited time discount offers.

Take a look at Booking.com for some great examples of using urgency and scarcity techniques. In the screenshot below, they have used both tricks for a hotel listing.

Booking.com using scarcity and urgency

You can implement urgency and scarcity tricks on your store using OptinMonster. It comes with a countdown timer feature which allows you to create beautiful campaigns where you can use scarcity with a countdown timer to build anticipation and urgency.

For instructions, see the article on how to create countdown timer campaigns in OptinMonster.

8. Use FOMO to Discourage Cart Abandonment

FOMO or ‘fear of missing out’ is a psychological term used to describe anxiety about missing out on something exciting and trendy.

As a WooCommerce store owner, you can take advantage of this human behavior with your marketing strategy to discourage cart abandonment.

There are many ways to implement FOMO. The basic goal is to create a sense of urgency while giving users confidence that other folks are making the same purchase.

Using FOMO with social proof

To learn more see our guide on how to use FOMO to increase conversions and sales

9. Make it Easy to Ask Questions

Another big reason for cart abandonment is lack of information. Your customers may have a question about the product, and if they cannot find answers, then they will simply leave.

An easy way to answer user questions is by adding product FAQs. You can use Custom Product Tabs plugin to add a separate tab with FAQs.

Adding a product faqs tab

However, you cannot cover all the questions in a FAQ. This is where Live Chat support can help.

See our step by step guide on how to add LiveChat to your WooCommerce store and boost sales.

Tip: the above guide also has a solution on hiring affordable live chat agents to boost your sales.

10. Add Safety Seals to Build Confidence

People are cautious when shopping online, particularly when they are buying from a place they have never heard of before. In this case, customers look for trust signs to make sure that they are buying from a legit business, and that their information is secure.

This is where security badges can help. These are plain certificates that you can obtain from different internet security and trust agencies like Norton, McAfee, Better Business Bureau, and more.

Security seals on a website

For details, see our article on add McAfee secure seal to your WordPress site for free.

11. Make it Easy to Contact

LiveChat and FAQs are great. However, sometimes user don’t want to wait for a LiveChat person and are not in a rush to make a decision.

Those users would abandon their shopping cart if they cannot easily find a way to contact. This is why you need to add a contact form to your eCommerce store.

Ecommerce contact page example

The easiest way to do that is by using WPForms plugin. It is the fastest growing form plugin for WordPress with over 1,000,000+ website using it.

12. Allow Users to Save Their Cart

According to a study, less than 16% of website visitors add products to cart. Another study suggests that nearly 60-80% of those carts are abandoned.

Most shoppers are often browsing multiple sites for price comparisons, reviews, and looking at different products. During this process they may close a tab or leave your website.

By allowing users to save the cart for later, you can can provide a better shopping experience to your customers.

Simply install and activate the YITH WooCommerce Save For Later plugin. The plugin works out of the box and will add a save for later option to your shopping cart page.

Save for later in WooCommerce

13. Make Data Driven Decisions

Many beginners rely on their best guesses and simple traffic stats to recover abandoned cart sales. You don’t need to do that when you can get actual data to make your decisions. This is where Google Analytics comes in.

Google Analytics allow you to enable enhanced eCommerce tracking, which gives you access to customer’s shopping and checkout behavior. It even assigns a unique identifier to each customer.

Google Analytics user IDs

However, the problem is that the ID assigned by Google Analytics doesn’t accurately give you information about the user.

For that, you’ll need MonsterInsights. It is the most popular Google Analytics plugin for WordPress. The best part is that MonsterInsights makes it easy for you to setup enhanced eCommerce tracking (no coding needed).

For more details, see our step by step guide on how to enable customer tracking in WooCommerce.

We hope this article helped you learn new ways to recover WooCommerce abandoned cart sales. You may also want to see our list of the best WooCommerce plugins for your online store.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post 13 Ways to Recover WooCommerce Abandoned Cart Sales appeared first on WPBeginner.

Alexis Lloyd and Riad Benguella Will Lead Phase Two of Gutenberg

As activity ramps up to try to get WordPress 5.0 released in November, Matt Mullenweg has announced who will lead phase two of the Gutenberg project. Phase two focuses on Customization and entire site layouts.

Alexis Lloyd, Head of Design Innovation at Automattic, will handle the design and product side. Riad Benguella, a JavaScript Engineer at Automattic, will handle the technical side of the project.

One of the goals of phase two is to replace widgets with blocks and menus with a navigation block. Lloyd and Benguella commented on the post, introducing themselves to the community.

“Hi all! I’m thrilled to be working on phase 2 of Gutenberg,” Lloyd said. “I think there’s a huge opportunity to take the ease of use that has been brought to page/post editing in phase 1 and extend that to the full site experience.

“I’m coming from many years leading design and product teams in news organizations (including designing and building custom CMSes), and am looking forward to bringing my experience to WordPress, as well as learning from the deep expertise in the community!”

“Hi all! I’m so excited to be working with you all alongside @alexislloyd to build upon the amazing technology that is Gutenberg in order to bring the content creation experience in WordPress to a whole new level,” Benguella said.

“For those who don’t know me yet, I’m a JavaScript engineer at Automattic. I’ve been fortunate to have contributed to the Gutenberg project since its beginning, including a lot of work on Gutenberg APIs, JavaScript in Core, and Accessibility.

“I look forward to bringing my humble expertise to achieve the second phase of this project, as we look into things like widgets, menus, templates, and site-building in general.”

Theseus’s Paradox Makes More Sense Now

In episode 331 of WordPress Weekly, one of the items we discussed with Gary Pendergast is the future of Gutenberg beyond the editor. At its core, Gutenberg is supposed to unify a number of areas of WordPress.

Blocks are the unifying evolution of what is now covered, in different ways, by shortcodes, embeds, widgets, post formats, custom post types, theme options, meta-boxes, and other formatting elements. They embrace the breadth of functionality WordPress is capable of, with the clarity of a consistent user experience.

From the Gutenberg Plugin Page

I hypothesized that since Gutenberg is an interface to manage blocks and that menus as well as widgets will become blocks, the menus and widget management pages in the WordPress backend can be replaced or removed in favor of Gutenberg.

In this way, the Menu and Widget management boards on the Ship of Theseus would be replaced without sinking or disrupting the entire boat.

With Mullenweg’s announcement regarding phase two, the Ship Of Theseus or Theseus’s paradox begins to make more sense. Gutenberg becomes the foundation for bringing many areas of the WordPress project up to par without starting from scratch.

Remkus’ Roundup: Are you ready for WordPress 5.0?

Welcome to the first of my weekly Remkus’ Roundup post. This is the beginning of a series where I’ll share what’s happening in the WordPress community. Let’s start with this week!

The road to WordPress 5.0

The most important news of this week revolves around two blog posts over at the Make WordPress Core blog. The first one is from Matt Mullenweg in which he explains his plan for WordPress 5.0.

In case you’ve missed it, WordPress 5.0 is considered a major release with the inclusion of a completely new editor experience named Gutenberg. We’re very excited about the possibilities that Gutenberg adds to WordPress. So much so, that if you’ve activated the Gutenberg plugin on your site, we’ve added two blocks to the editor already.

Matt Mullenweg explains in his post what the road towards 5.0 is going to look like. He also explains how the Core team is going to make sure all angles are covered via various focused teams. One of those teams, the JavaScript Packages team, will be led by our CTO: Omar Reiss. Omar will focus on integrating JavaScript packages on NPM.

Following Mullenweg’s post, the second post I’d like to highlight is Gary Pendergast’s post on the same blog. It’s about the Proposed WordPress 5.0 scope and schedule. In it, he outlines a proposed schedule that looks like this:

  • Beta 1: October 19, 2018
  • RC 1: October 30, 2018
  • Release: November 19, 2018

Meaning, that if all goes well, WordPress 5.0 will be available before the end the year. I myself, couldn’t be more excited about this!

Bonus blog post: Gary Pendergast’s call to action post on his own blog about to get involved with the integration of Gutenberg into WordPress 5.0 is worth a read as well.

WordCamp Europe tickets

Even better SEO with Yoast SEO Premium!

  • Optimize your site for the right keywords
  • Never a dead link in your site again
  • Previews for Twitter and Facebook
  • Get suggestions for links as you write
More info
The next edition of WordCamp Europe will take place in Berlin next year. WordCamp Europe holds a special place in my heart, as I’m one of the co-founders. For that reason, I’m pretty excited about what the seventh edition will look like. If you’ve never been there, I highly recommend you take a look at what we did for this year’s edition. Without a doubt, we’ll do our best to make next year’s edition even better!

Tickets are being released in batches, so get them while they’re hot :) . See you in Berlin?

Read more: What is Gutenberg »

The post Remkus’ Roundup: Are you ready for WordPress 5.0? appeared first on Yoast.

WordPress 5.0 Slated for November 19, 2018

A tentative 5.0 release schedule was published during today’s core dev chat. The official release is targeted for November 19, 2018 with beta 1 expected October 19 and RC 1 released October 30.

In addition to getting Gutenberg merged into core, the scope for 5.0 includes a few new items that Gary Pendergast outlined in his post:

  • Updating the default themes to work well with the block editor, and creating the new Twenty Nineteen theme.
  • Creating an upgrade experience to remove the Gutenberg plugin and offer the Classic Editor plugin.

November 19 is the week of the Thanksgiving holiday in the U.S., when many are traveling or spending time with friends and family. As this is scheduled during a busy time of year and may have unexpected delays, the release leads have come up with a backup plan that includes a secondary schedule.

“We know there is a chance that 5.0 will need additional time, so these dates can slip by up to 8 days if needed,” Pendergast said. His post proposes an additional timeline that would have 5.0 land in January:

Secondary RC 1: January 8, 2019

Secondary Release: January 22, 2019

“The current release date is November 19, but it can be pushed as late as November 27 if needed,” Pendergast said. “To avoid the numerous holidays from the end of November through to January, we’ll move the release to January if more time is needed.”

Although the backup timeline should allay concerns about December holidays, if the release is at all delayed, it will run up against the Thanksgiving holiday.

“Should we need to switch to the secondary dates, this will be communicated as soon as we’re aware,” Pendergast said. “It’s also important to note that we have some updates for PHP 7.3 compatibility that must be released in 2018 regardless, and we would have a short 4.9.9 release cycle for them if needed.”

Contributors had the opportunity to ask questions of the release leads during today’s 5.0 kickoff meeting. There was some uncertainty in yesterday’s announcements about whether 5.0 will ship a new default theme. Matt Mullenweg confirmed that they are aiming to get Twenty Nineteen into 5.0.

“It’s the biggest variable though, so if it takes longer we won’t delay the release for it,” Mullenweg said.

Twenty Nineteen development will happen on GitHub and contributors can join the discussion in the #core-themes Slack channel where regular meetings will happen.

Gutenberg engineer Riad Benguella posted a technical overview of the integration process for merging the new editor into core. He also laid out a plan for how Gutenberg development will continue in the future.

“After WordPress 5.0 is released, the Gutenberg plugin will continue to exist,” Benguella said. “Its purpose will be changed to the development and the maintenance of the WordPress npm packages, including the editor itself, and will also serve to develop the second phase (site customization) of the Gutenberg project. Plugin updates will continue to be released during the 5.0 cycle.

“The PHP part of the plugin won’t be needed anymore, as the plugin will just register new versions of the scripts of the packages to replace the ones already registered by Core.”

Mullenweg confirmed during the dev chat that the team plans to add a link to the Classic Editor plugin in the admin when 5.0 ships. Overall, contributors in attendance seemed excited about the prospect of finally having the new editor in core, despite the ambitious timeline proposed for release.

“A big benefit even beyond the user improvements is that plugin and theme developers will be able to truly use it as a base in a way that they can’t right now as a plugin,” Mullenweg said. “If previous adoption curves hold true, we’d be on 10m sites (20x current adoption) by new year.”

Gutenberg development has been moving quickly and after it is shipped to millions of WordPress users there are bound to be more issues discovered. Mullenweg said quick point releases may be an option for maintaining the flexibility to introduce fixes and improvements in a timely way for users.

“Since 5.0 will be very tight (just Gutenberg, PHP 7.3, and possibly theme) I am open to having 5.0.x releases that are like the 4.9.x releases that bring in some larger updates or improvements we push off, like servehappy stuff,” he said.

Gutenberg technical lead Matias Ventura has outlined the tasks remaining on the editor. An updated schedule for the 5.0 release cycle is now available for the public to follow. Gary Pendergast, who is shepherding the merge, said he expects WordPress 5.1 will be available around March 2019.

Solid, WebID and OpenID Connect

The last time I looked at anything OpenID related was back in 2008 when federated authentication was the hype before it was overtaken by the blockchain, machine learning and artificial intelligence. Times have changed and all of that is back as project Solid run by Sir Tim Berners-Lee.

Below are my notes on the building blocks of the project since I’ve started working on a prototype for a Solid Pod plugin for WordPress.

Authentication and Authorization

Federated identity is built around these two concepts and making it simple to setup and use has been a long standing challenge since the days of SAML and whatever went before it.

For authentication the Solid project uses the WebID-OIDC protocol which adds a layer on top of the OpenID Connect protocol which in turn is built on top of the OAuth 2.0 protocol for authorization.

Here is the best overview of the OpenID Connect protocol that I could ever find by Nate Barbettini:

WebID and OpenID Connect

WebID is the key here — it adds the Semantic Web and linked data on top of the OpenID Connect for data discovery and exchange. Probably the nicest thing about WebID is the name Turtle — a markup language for writing up RDF graphs. Good luck understanding those.

I’ll be adding to this section as I dig deeper.

Personal Data

The Solid project builds on a recent revelation among the regular web users that having full control over their personal data and identity online is very important. This is a huge change from the previous narrative of linked data and the Semantic Web which was focused on computers harvesting and using that data which is hard to relate to for most of us.


Use Contact Form 7 to collect business leads and enquiries? I created Storage for Contact Form 7 plugin which stores them safely in WordPress database.

Get it now for only $19 →

Matt Mullenweg Announces WordPress 5.0 Release Plan, Estimates Release Candidate to Ship in November

Matt Mullenweg has announced a plan for releasing WordPress 5.0 with a tentative estimate for a release candidate to ship in November.

“With known knowns and known unknowns, I believe we will be at RC in about a month,” Mullenweg said. “However, I’ll be keeping a close eye on feedback during the beta process and adjust as needed and keep the community fully up-to-date with our best estimate.”

Gutenstats.blog shows that the beta plugin has passed 490,000 active installations, which Mullenweg said “far exceeds pre-release testing of anything that has ever come into core.” The Classic Editor plugin also has more than 400,000 installations, indicating nearly half a million site owners have already prepared to preserve their existing workflows.

“If we keep the 5.0 release to strictly 4.9.8 + Gutenberg, we will have a release that is both major and a non-event in terms of new code,” Mullenweg said. “It’s all battle-tested. In some ways 5.0 is already de facto out in the wild, with some forward-looking hosts already installing and activating Gutenberg for new installs.”

Mullenweg is leading the release but has designated 11 other leads to head up various focuses, including triage, design, JavaScript packages, REST API, merge process and several other important aspects of the release.

WordPress users can also expect a new default Twenty Nineteen theme to ship with 5.0. Designer Allan Cole will be leading that project, which involves adapting an existing Gutenberg theme for use as WordPress’ next default theme.

Last week’s developer chat left many attendees wondering about the status of WordPress 4.9.9. Contributors discussed the possibility of making it a quick PHP 7.3 compatibility release but it now appears to be all hands on deck as the focus shifts to 5.0.

Based on today’s announcement, it seems very likely that WordPress 5.0 will land before the end of 2018, barring any major impediments. The timeline for this major release falls during a busy time of year for many who will be responsible for preparing their products and client sites. Mullenweg said he will keep the community up-to-date as the release cycle progresses. The agenda for tomorrow’s dev chat will focus on 5.0 planning.

Start contributing to open source: Pro tips from Felix

Two weeks ago, Joost shared his vision on open source. Today, we introduce yet another WordPress fanatic: Felix Arntz. As a freelancer Felix works part-time for Yoast. Half of that time he’s working on and consulting with the SEO plugin, and the other half Yoast sponsors him to contribute to WordPress core, mainly focusing on the multisite functionality. Learn what open source means to him and get pro tips on how to start contributing to an open source project yourself!

Q. Why is open source so important to you?

“For me personally, there are tons of reasons other than that I simply believe in it. Open source has given me work, new friends, the chance to travel the world, the trust and resources to improve as a developer and as a person. It has given me a passion, and every day when I go to work (which means I get up out of my bed and turn on the computer, in whichever country that may be), I’m looking forward to it.”Felix Arntz - open source

Q. In what way do you contribute to open source projects?

“I have been active in the contributing to open source through the WordPress ecosystem for over five years now. It really escalated when I started contributing to WordPress core, which was in mid-2015 when I went to my first WordCamp. I am a core committer and regularly involved in WordPress core development, with weekly meetings, discussing tickets, writing and reviewing patches. I also quite regularly publish open source plugins or libraries, and even small code snippets that have helped me, but might also help someone else – that’s the beauty of open source: in some ways you’re crowdsourcing your development. Occasionally I also contribute to open source projects that I’m interested in outside of the WordPress bubble, to get some knowledge about other projects and how they are organized.”

Q. Who is your open source hero? 

“Phew, that’s a tough one. There surely are many folks I admire. For a long time, Joost de Valk was my biggest idol, no kidding! He achieved so much from initially just writing a simple, good plugin, which is amazing and Yoast is now able to influence the ecosystem in so many great ways. By now I’ve personally come to realize that running my own company is not something I strive for because I prefer to focus on development full-time. I guess we’re all different in our visions, and I am beyond grateful to be a part of the team that he, and the board, have created and shaped.

More recently, I’d say Alain Schlesser and Jeremy Felt are two people I want to highlight. I have learned a lot from them about development and open source, and they have enabled me to do great things around open source. I’m happy to call them friends, as much as the distance permits it, and to collaborate with them in the respective WordPress core areas, and I hope that through our discussions and with my contributions I am able to give them back something and support them as well.”

Q. Does open source say something about the quality of the product?

“I wouldn’t generalize that open source has better quality than closed source software. We all know how WordPress core is written, right? However, in my opinion, open source software has the better foundation to achieve high quality. Open source is powered by the developers, designers, accessibility experts, marketers, project managers, copywriters, translators, ambassadors, contributors of any kind, of the entire world – while closed source is usually powered by the folks from a single company.

Something else I want to highlight is security. Sometimes you hear arguments like “WordPress can so easily be hacked because its code is public”. While it is true that people with evil intentions can find a security hole easier in that way, the same goes for all the hackers that want to use their powers in a good way, and, believing in the good in the world, I think there are way more of the latter category. A large number of security issues in WordPress are uncovered by people who aren’t even typically active in the WordPress community, and this is thanks to open source. While companies that run a popular software usually have a solid security team, there is no chance that those few people are better than the entire pool of security experts who look at open source.”

Q. When and what was your first open source contribution?

“That would probably be the first WordPress plugin that I ever published, which was in early 2013. It made embeds in WordPress responsive, back then responsive was more of a buzzword than it is today. Many WordPress themes back then didn’t do a great job at it themselves. I would think that the plugin has been redundant for several years now, but there are still more than 2,000 people using it at this point, and even though I cannot maintain it anymore, it still has a special place in my heart.”

Q. How do you learn from open source? And how can others learn from open source?

“There are so many talented people in open source from which you can learn. Like I said, talents from all over the world can participate. In the same way, other people who contribute to open source will learn from you. Especially for me as a freelancer, contributing to open source meant being part of a team, which I didn’t have in my day-to-day job otherwise. The open source community and its spirit has elevated me to become a much better developer, and maybe even a better person.”

Felix Arntz workshop

Q. Why is open source important to everyone?

“WordPress’ goal is to “democratize publishing”. In that regard, I see the goal of open source to be democratizing software development. Anyone can get involved and influence a project in ways that would be impossible to do in a closed source project. If you see the project moving into a direction where it contradicts your vision, you are free to create a fork, and either maintain it just for your own usage or gather fellow folks who share the same ideas. The GPL for example, the license that WordPress is based on, allows you to do pretty much anything with open source software. The important restriction is that anything derived from it needs to follow the GPL itself, which in my opinion isn’t a restriction though. It just causes more people to learn about the benefits of open source.”

Q. I want to contribute to open source! Where do I start?

I love to hear that! How you start of course somewhat depends on the project you want to contribute to. Most open source communities I have gotten in touch with were supportive and welcoming. They always hope to chat to a new contributor that will stick around and get more involved – no pressure though! Due to my involvement with the WordPress community, I can only give more precise tips about that specific community, but I’m sure that a lot applies to other communities as well.

Even better SEO with Yoast SEO Premium!

  • Optimize your site for the right keywords
  • Never a dead link in your site again
  • Previews for Twitter and Facebook
  • Get suggestions for links as you write
More info
Something I strongly recommend is to attend an event of the retrospective community. By meeting people in person, you get a much better impression of how the people think, how they act, what they believe in, compared to when you only sit in front of your screen. Really, don’t be scared to go to an event just because you are completely new. Meeting the community will definitely get you more excited if you had a good feeling about it, or it will keep you away from it if that community doesn’t feel right to you. The latter might sound negative, but if that happened, trust me, you wouldn’t want to be a part of that project anyway.

It’s much more likely though that you will fall in love with the community and become more passionate about contributing to it. This is important because by following up on your contributions, staying in the discussions around a bug or enhancement ticket, you can make a much bigger impact. If you are interested in contributing to WordPress core, there are several resources about getting started. I have also given a few sessions at WordCamps about it, as on-boarding new people is a high priority for me. I hope to see you around sometime!

Read more: 3 reasons why open source is so very awesome »

The post Start contributing to open source: Pro tips from Felix appeared first on Yoast.

WordPress Theme Developers Begin Marketing Themes as Gutenberg Compatible

WordPress theme developers are starting to advertise their themes as being compatible with Gutenberg, ahead of the new editor’s imminent merge into core. Work on the 5.0 release may be ramping up sooner than expected after yesterday’s announcement that 4.9.9 may be a quick release for PHP 7.3 compatibility or possibly cancelled altogether.

Themeforest, the largest marketplace for commercial WordPress themes with more than 11,000 products, has a specific tag for Gutenberg-compatible theme listings. Searching for themes that mention Gutenberg in the description turns up 139 products. But what does “Gutenberg compatible” mean?

Gutenberg compatibility seems to be more of a buzzword among most of the Themeforest listings, indicating that the theme includes styles for all core blocks. However, in some instances theme authors have also tested shortcodes for compatibility with the new editor. A smaller number include access to premium blocks as part of their advertised Gutenberg compatibility.

Searching the WordPress.org Theme Directory for “Gutenberg” produces 26 results where compatibility is mentioned in the theme descriptions. Themes are noted to be “fully compatible” with Gutenberg or specifically “designed to work with the new editor.” There is a wide spectrum of interpretation on those selling points – from basic styles for core blocks to themes that explore all the possibilities that Gutenberg opens up with features created specifically for manipulation inside the new editor.

Independent theme shops have been leading the charge in creating themes built to showcase what Gutenberg can do through pairing with plugins that offer block collections. Themes like Editor Blocks, Atomic Blocks, and CoBlocks all have accompanying plugins that add custom blocks. This particular approach of packaging blocks into collections may not last very long, as it tends to make individual blocks more difficult to find.

At the moment, advertising a theme as “Gutenberg compatible” is a temporary marketing strategy, as Gutenberg will soon lose its code name and become simply “the editor.” That special distinction will evaporate as soon as WordPress 5.0 lands. Gutenberg support will quickly become a matter of basic WordPress compatibility. The days of using it as a marketable feature are limited, and the pressure is on for theme developers to ensure their products are ready.

In the video below, an excerpt from the “Theming with Gutenberg Course,” Zac Gordon examines considerations for theme developers who are working towards making their products compatible with the new editor. Gordon emphasizes that Gutenberg should work out of the box with any theme. However, there are a few features, such as the full width cover image, that may require special styles in order to work on the front end. The bulk of the compatibility work is ensuring that the editing experience matches the frontend and that Gutenberg blocks are styled harmoniously with the rest of the theme’s features.

There are many tutorials available to help theme developers (and agencies preparing client sites) get started with making their themes ready for the Gutenberg era. Check out the resources below:

Things to consider when updating a WordPress theme for Gutenberg

Preparing WordPress themes for Gutenberg with the Block Unit Test

Getting your theme ready for Gutenberg

WordPress 4.9.9 Release May Shift Focus to PHP 7.3 Compatibility, Gutenberg Merge Proposal Timeline TBD

The plans for WordPress 4.9.9 are currently in limbo after today’s core developers’ chat. Here’s what we know right now: Discussions are underway regarding making it a quick PHP 7.3 compatibility release or cancelling it in favor of moving ahead with the 5.0 release cycle.

“Progress and communication on 4.9.9 has been very vague as of late, and I apologize for that,” WordPress 4.9.9 release co-lead Alain Schlesser said. “There were things that needed to be clarified first, but we can now finally share the big news with you: It’s just about time to begin work on the 5.0 release cycle.

“Because of this, @antpb and I will step back as release leads and we’ll wind down the 4.9.9 release. Over the next couple of weeks we will start coordinating the transition to ease into this major release cycle. This includes going through the hard work that teams are already in the middle of and planning how best to proceed. As we’ll figure out the next steps and the best path forward, we’ll share further details in future updates.”

After Schlesser’s announcement, there was some discussion about whether or not 4.9.9 is still needed, but the matter seemed to be already settled. Josepha Haden, who leads the open source teams at Automattic as a full-time sponsored volunteer on the WordPress project, is assisting in transitioning important items from the 4.9.9 release.

“I think we all know that a lot of work has gone into 4.9.9 planning already,” Haden said. “So the next couple of weeks will be all about reaching out to team reps and discussing what you’ve been working on and what we can do to keep things moving forward for everyone. But I will probably be helping with the 4.9.9 transition things, and I will say that the final timelines will almost certainly will be contingent on what I hear from team reps who were collaborating on 4.9.9.”

Haden confirmed that Schlesser was sharing the overall plan for the release but that feedback from the discussions indicated there may be items with earlier deadlines to consider. After gathering information from the team representatives, they will work to prioritize items that may need to land before 5.0. There may be time for a tightly-focused 4.9.9 release aimed solely at PHP 7.3 compatibility.

“I think it will be possible to wrangle a small 4.9.9 release with PHP 7.3 related bug fixes, while 5.0 is ramping up,” Gary Pendergast commented during the meeting.

“Given a good part of 4.9.9’s focus was on supporting things for Gutenberg, not sure we ‘need a 4.9.9 release if we would just include the work done to support Gutenberg with the Gutenberg merge proposal coming for 5.0,” Jeff Paul said. Gutenberg technical lead Matias Ventura confirmed that the plugin is ready for the team to begin collaborating on a merge proposal.

“We have kept development in the plugin for as long as possible for speed / convenience, etc, but it’s been ready for starting 5.0 process for a bit,” Ventura said. “From the Gutenberg side, things should be ready to start planning the merge.”

At the moment, a quick 4.9.9 release is under consideration for PHP 7.3-related bug fixes. It may happen while the gears are in motion for 5.0 or it may yet be cancelled in favor of going full speed ahead with the 5.0 release cycle. The decision has not yet been officially announced.

Reminder: Respecting Trademarks Includes Icons and Banners

This is a reminder that one of our guidelines is respecting trademarks and brands.

tl;dr

Using someone else’s trademarked logo in your plugin logo or banner is a trademark violation, and they have the right to have us remove your plugin at any time.

Explanation

Normally trademark situations come up when you submit a plugin like Facerange Messenger, but you don’t happen to work for Facerange. We change your slug from facerange-messenger to messenger-for-facerange (or something to that effect) and ask you to rename the plugin to “Messenger for Facerange”. Another common instance is when we have to explain bobo-facerange-messenger.com is a violation of their trademark use, and you need to rename your domain.

As of late, companies have begun enforcing logo usage as well. Originally they were just picky about the icon or banner being only their logo, but now they’ve moved on to the use at all. What this means to you is simple: Don’t use someone else’s logo in your plugin’s icon or banner. Period.

If you don’t have the legal rights to use it, don’t. If you’re not sure if you do, assume you don’t. If you lose the legal right (like no longer being a part of PayFriend’s trusted developer program), you must immediately remove their logo from your plugin’s public facing pages.

FAQ

What happens if a company complains?

You will receive a warning via email that a complaint has been filed and you are to correct the icon and/or banner immediately.

How long do I have to comply?

0-days. Technically you’re already a violation. They don’t have to let us give you a chance to come correct, so we would appreciate it being done within 48 hours.

Do I have to push a new version of my code to do this?

Nope. Just fix the images in your assets folder.

Addendum by Otto: This includes screenshots. If you have somebody else’s logos in your plugin itself, or displayed on your service, then you might want to consider getting those removed as well.

What do I do if a company asks me to change my icon/banner?

Change it. Seriously, it’s not worth it. Make your own unique and distinct logo for your plugin. It’ll make you more memorable in the long run.

Do I have to change my display name as well?

Yes, you do. Remember: Don’t start your display name with someone else’s trademark/copyright/commonly known name. If it’s not your name, it’s not a good idea.

Isn’t this contrary to the GPL and open source?

No. Licences like GPLv2 are separate entities, and in fact the GNU supports the use of copyright in code. As for open source, it’s not above the law. Check out FOSSMarks for more information and as always, contact a lawyer with your legal questions.

Addendum by Otto: Also note that Trademark and Copyright are two entirely different things. There is no “licensing” for trademarked items. The GPL and any other license will not apply. Basically, if something is trademarked, then you need to get explicit permission to use it, in writing, or you just don’t use it.

I think it’s fair use. Will you let me keep the icon while I fight them?

Alas, no. We have to consider the directory as a whole and it’s over 60k plugins. The risk for us is too high, and we will side with the legal request.

Addendum by Otto: There is no concept of “fair use” in trademark law. Don’t use other people’s trademarks. Period.

What about existing plugins that you let violate trademarks in the slugs?

That’s because we do not have the technical ability to rename a slug without breaking it for all users. They’d be abandoned. And you can’t automatically migrate users from one plugin to another, so because of that limitation, most companies have permitted us to retain plugins that violate their trademark in the slug. Some have not, and we’ve been forced to close those plugins.

Since the logo and display name can be safely changed, it’s a different matter.

Someone else is violating too! Why didn’t you shut them down?

We email people in batches. You’re welcome to report fellow plugin devs who are violating the guideline, but the odds are we’ve already been in contact with them (or will be shortly). You’re not being singled out, we just have a lot of plugins to work through and we take breaks.

Someone’s using my trademark in their icon/banner, how do I get them to stop?

Contact them first and point to this post (and the 17th guideline) and just ask them NICELY to please change it. If they blow you off or don’t respond in a reasonable time (like 2 weeks), you can email us at plugins@wordpress.org and we’ll follow up.

#guidelines #trademarks

WordPress Development Environment as a Composer Dependancy

Wouldn’t it be awesome to have a virtual WordPress development environment added to any plugin or theme as a Composer dependancy? Today I discovered the Drupal VM project which enables exactly that.

It should be relatively easy to add this kind of support for both VVV and Chassis — it only has to sync the VAGRANT_OLD_ENV_PWD directory to a theme or plugin directory within the WP install.


Never lose a single business lead or enquiry again! Get my latest plugin Storage for Contact Form 7 now!

Buy now for only $19 →

What Is ERR_TOO_MANY_REDIRECTS Error & How To Fix It In WordPress

When running and maintaining a website you will encounter many different types of issues and errors. ERR_TOO_MANY_REDIRECTS is one of the many errors that usually confuses most users. In this post, we take a look at what causes this error and how to fix it. Thankfully, this is quite an easy error to fix. Since you’re using WordPress, you’ll be.... Continue Reading

The post What Is ERR_TOO_MANY_REDIRECTS Error & How To Fix It In WordPress is written by Roshan Perera and appeared first on WPKube.

Gutenstats Blog Is Live, Tracking Gutenberg Beta Testing Data

Matt Mullenweg tweeted out a link to Gutenstats.blog this evening, a new site dedicated to tracking Gutenberg beta testing data. The site shows there are currently more than 420,000 active installations of Gutenberg, a slightly more precise number than reported on the WordPress.org plugin page (400K+).

Gutenstats also tracked 213,000 posts written with the new editor and 8,142 posts written yesterday. These numbers were collected from posts made on WordPress.com and Jetpack sites since late August 2018 and a note on the site says the actual number is higher.

In June, Mullenweg unveiled a roadmap for Gutenberg to land in WordPress 5.0. At that time the plugin was active on just 14,000 sites. He proposed 100K+ sites having made 250K+ posts using Gutenberg as a threshold for adequate pre-5.0 testing.

Gutenstats tracking shows testing has far exceeded the original goal for active installations and should reach the posts written goal in just a few days. Mullenweg said they plan to add some block stats to the tracking page in the future.

Gutenberg is Slowly Rolling Out to WordPress.com Users

As part of the roadmap unveiled at WordCamp EU earlier this year, WordPress.com has started rolling out Gutenberg to a subset of users.

Try Gutenberg Call-out on WordPress.com

According to a WordPress.com Happiness Engineer, the team is testing the implementation to determine the best way and time to enable it. Users will not be able to use Gutenberg unless their theme is updated to support blocks and the various alignment options.

Theme Wranglers are already in the process of adding support to WordPress.com’s nearly 100 free themes.

A quick search of the WordPress.com support forums for Gutenberg provides some insight into what users think about the new editor. For example, this user provided feedback on the use of so many icons without displaying their textual equivalent.

For now, Gutenberg is opt-in but eventually will be opt-out. Once Gutenberg is made available to a wider audience, support documents and official blog posts will be published to inform users about the new editor.

A big shout-out to open source

WordPress is open source. Yoast SEO is open source. At Yoast, we’re open source fanboys (and fangirls). We’ve talked about it, we’ve written about it. And still, lots of people do not know why open source is so unique. Most people do not even know what open source software is or how it’s made. That’s why we’re starting a series of interviews with people that love open source as much as we do. We’ll even search outside of WordPress. Let’s start this series with an interview with our very own Joost de Valk, founder and CEO of Yoast.

Q. Why is open source important to you?
“Open source is important to me because it’s what allowed me to learn how to code. I learned to write code by looking at other people’s code. Another reason why open source is so very important to me is that I have a deep feeling that this is how software should be developed and how knowledge should be shared. This might sound a bit grand, but as human kind, it just doesn’t make sense to develop the same things over and over again.”

Q. In what way do you contribute to open source projects?

I actively contribute to WordPress Core myself. In addition, as a company, we contribute to open source platforms by donating development time, design time, marketing time and money.

Q. Who is your open source hero?

“Jimmy Wales of Wikipedia. He’s a hero because he open sourced Wikimedia, the platform on which Wikipedia is build. In a way – with Wikipedia itself – he actually open sourced all knowledge. That’s just really awesome.”

Q. Do you have to be a developer to be involved with open source?

“No, absolutely not. Every open source project needs copywriters, translators, marketers, designers and project managers in order to succeed. Also, we need people with lots of other skill sets for, for instance, organizing a conference. I think that at Yoast, about half of our contribution is not code.”

Q. When and what was your first open source contribution?

“My first open source contribution was a test case for WebKit, the core of Safari and Chrome. This was at the end of 2005. I’ve written hundreds of test cases for WebKit and I started blogging about that on WordPress.”

Q. Does open source say anything about the quality of a product?

“Open source itself is not a guarantee of quality. There’s good and there’s bad open source software. However, with open source software, you’ll always be able to hire a developer to work on a product, even if a product is abandoned. You’ll never end up with a completely dead product because you can always reach the code. I think that is a major advantage of open source software as compared to closed source software.

Q. How do you learn from open source software?

“Open source code is visible to everybody. Because of that, you can learn from other people’s code. You can see and learn from the solutions of other people. Working on open source projects also means that you can discuss and collaborate with others who are working on the same product.

Even better SEO with Yoast SEO Premium!

  • Optimize your site for the right keywords
  • Never a dead link in your site again
  • Previews for Twitter and Facebook
  • Get suggestions for links as you write
More info

The developers at Yoast learn from each other, but they also learn from all the other developers in the WordPress ecosystem. Because of that, because they learn from so many, different developers, they quickly improve themselves. They become better developers. I really think that people severely underestimate how important this is.”

Who’s next?

Any ideas on whom to interview next? Which open source fanatic should I reach out to? Let me know!

Read more: Why our mission is: SEO for everyone »

The post A big shout-out to open source appeared first on Yoast.

WordPress 4.9.9 Release Focus Items Include Site Health Project and Gutenberg Preparation

The WordPress 4.9.9 release leads published a roadmap for the release this week. The minor release will be led by Anthony Burchell and Alain Schlesser. It is targeted for November 5 with the first beta arriving near the end of October.

The leads identified four key focus areas for the upcoming release: accessibility, internationalization, the Site Health Project, and Gutenberg preparation. The internationalization focus is aimed at improving translations and RTL support, as well as ensuring that date/time values work. The roadmap doesn’t identify any specific accessibility items but Burchell said the leads see lots of ways they can “drastically improve the experience for a lot of people with minimal effort.”

Contributors to the Site Health Project, previously known by the “Servehappy” code name, will be working on resolving issues that will allow users to stay on WordPress 4.9.9 while they prepare for 5.0 and still have access to the important information about how to update their PHP versions.

“It will be crucial to get the Servehappy components included: WSOD protection, update dashboard notice, plugin version requirements,” Burchell said. “The reason for this focus is because, when 5.0 ships, users who decide not to upgrade will be on 4.9.9 for a potentially extended time period. If we don’t have these Servehappy components included in 4.9.9, getting rid of old PHP versions will only happen after 5.0.”

Another major part of WordPress 4.9.9 will be landing items that lay the groundwork for anything necessary for Gutenberg’s merge into 5.0. Two items identified include user locale support in REST API endpoints and endpoints to lock/unlock and release posts.

With an unusually quick turnaround, WordPress 5.0 could arrive before the end of 2018. Development will kick off in mid-November, one week ahead of the U.S. Thanksgiving holiday.

Yoast SEO 8.2: Automatically add structured data with Gutenberg content blocks

While we’re still only at the start of the Gutenberg adventure, we’re presenting an awesome, brand-new feature for the new WordPress editor today. Meet the Yoast SEO structured data content blocks! The content blocks automatically add valid structured data code to the content that is added to these blocks. Our initial line-up consists of How-to and FAQ content blocks, plus address and map blocks for our Local SEO plugins, but we’re looking to add more in the future.

Optimize for synonyms and related keywords and prevent broken pages on your site with Yoast SEO Premium! »

Yoast SEO: the #1 WordPress SEO plugin Info

Adding structured data in Gutenberg

Structured data is important but pretty hard to implement. By adding Schema.org structured data to your pages you can tell search engines exactly what’s on there. For most people implementing it comes down to asking their developer to hard-code it into the site. Or learning to master Google Tag Manager so you can inject the necessary code into your pages — this is what we teach you in our Structured data training. This complexity is one of the reasons structured data has been struggling to reach critical mass, even though Google has been pushing it for years. This is now changing with Gutenberg structured data content blocks in Yoast SEO 8.2!

As of today, we’re adding that structured data metadata automatically to the content that’s added to two new Gutenberg blocks inside Yoast SEO, namely How-to and FAQ. Local SEO and WooCommerce SEO have blocks for addresses and maps. So, if you have an FAQ page on your site you can now build these pages inside Gutenberg. Yoast SEO will automatically add the necessary Question Schema.org to that block. The same goes for How-to. Build your how-to article with the How-to content block in Gutenberg, including all the necessary steps and even images, and see a valid piece of structured data appear in the source of your page. It is now easier than ever for Google to find and understand that particular piece of content. Fantastic, right?

Our CEO Joost de Valk and CTO Omar Reiss explain the how and why of Yoast SEO structured data content blocks in this interview »

How-to structured data

How-to structured data is a fairly new addition to the Schema.org vocabulary. You use it to mark up content that teaches you how to do something following a series of steps. This could be how to cat-proof your apartment or how to install Yoast SEO Premium or something else entirely. We published a post a while back on how to add how-to structured data to your how-to articles. Please read that if you need more background information.

The structured data content blocks come with default styling, but we made it easy for you to change these. Our UX designer Luc wrote a post detailing how you can give the How-to content blocks your own styling so they fit right in with the rest of your site. There will be a post about styling your FAQ content blocks later on.

Using the Gutenberg How-to structured data content blocks is incredibly easy.

  1. Choose the Yoast SEO structured data block for How-to
  2. Type the description for the how-to
  3. Enter the time needed to do the how-to
  4. Fill in the first step title
  5. Fill in supporting text for the step
  6. If necessary, add an image using the Add image button
  7. Hit the Add step button to add a new step
  8. Use the Insert step button to insert a new step between existing steps
  9. Done? Save your draft!

Here’s an example how-to on how to install Yoast SEO Premium:How-to content blockAnd here’s what Google’s Structured Data Testing Tool says of that page:the result in the structured data testing toolEpic, right? Remember, due to restrictions by Google it is not possible to add more than one How-to content block on a page.

Want to dive into the mark-up and styling of our HowTo block? Read this post from our UX designer Luc.

FAQ structured data

If you have a section on your site for frequently asked questions — an FAQ— then you’ll enjoy the new FAQ structured data content block. Schema.org/Question is “A specific question – e.g. from a user seeking answers online, or collected in a Frequently Asked Questions (FAQ) document.” You can now easily add the structured data needed for search engines to understand FAQ content. Just fill in the questions, add the answers and maybe an image if needed. Hit publish and your perfectly structured FAQ block is ready!

Local SEO & WooCommerce SEO with Gutenberg blocks

Of course, we had to give some of our other SEO WordPress plugins some Gutenberg love as well. Do you own a local business or are you doing a lot of local SEO? If so, you need our Local SEO or WooCommerce SEO plugins. These plugins help you to improve your site so it can more easily rank in your local search results.

Today, the two local SEO plugins get structured data content blocks for Gutenberg as well: you can now add valid structured data to your site by adding the new address block. The fields will appear automatically if you’ve filled in the fields in the plugin settings. Of course, you can finetune what you do and don’t want to appear. In addition, you can use the new Google Maps structured data content block to easily add a good looking map with structured data to your site.Address content block

More to come

Gutenberg’s block-based design makes it a very interesting platform to design for. These structured data content blocks are our first tools specifically built for the new WordPress editor. We hope to expand our offering of structured data blocks in the near future. We can’t wait to bring you blocks for job postings, events and recipes, among others! And please, do give us your feedback so we can make these blocks even more awesome.

Polish readability analysis

Yoast SEO 8.2 also brings a new supported language: Polish! We can now analyze text written in Polish and make suggestions to improve the readability. In addition, we will now also suggest articles to link to using our internal linking tool in Yoast SEO Premium. The Polish readability analysis was made possible by contributions from the community. We’re thankful for the great support from the people at Macopedia, who sent us word lists which make a vital part of our analysis. We’re always super enthusiastic when people in the community show us their love for our products and also a commitment to the open source spirit by contributing to our code base!

Bug fixes and enhancements

As always, we’ve fixed a couple of annoying bugs. This time we focused on fixing bugs related to slugs, user input incorrectly triggering analyses, zooming issues on iPhones and several others. You can read up on them in the changelog. We do want to thank mt8, who helped us fix a bug related to OpenGraph images that wouldn’t correctly show for the front page in a couple of situations.

Update now!

Yoast SEO 8.2 is a very exciting release. With the launch of the structured data content blocks for Gutenberg, we’re heading into unknown and very exciting territory. We can’t wait to see what you do with the current set of blocks and hope to bring even more blocks to you in the near future. Try it, tell us what you think and enjoy using Yoast SEO 8.2!

Read more: Why you should buy Yoast SEO »

The post Yoast SEO 8.2: Automatically add structured data with Gutenberg content blocks appeared first on Yoast.

Activate WordPress Plugins via the Database

Recently a reader named Chris asked, “how can we turn ON a plugin from the database?” He mentioned reading my previous article, Quickly Disable or Enable All WordPress Plugins via the Database, but for circumstantial slash technical reasons needed to do the opposite and enable a plugin directly via the WordPress database. I thought it was an interesting question that might actually be useful to discuss here at Perishable Press.

Disclaimer

This tutorial explains how to enable plugins via the database, but it is not recommended that you do it on any live/production site. The technique is meant for experimenting and/or maybe if there is an emergency situation like getting hacked or whatever. The best and recommended way to enable plugins is via the Plugins screen in the WP Admin Area. If you activate plugins any other way, they may not function properly.

First: Understand

Before even touching your database, it is important to understand what you are doing. That way you are prepared if anything unexpected happens. Also, if the database contains any important data, it is recommended that you make good working backups, again, just in case.

For this tutorial, we are going to modify an option in the WordPress options table. The option name is active_plugins, and the value is a serialized array that contains information about which plugins currently are active.

By modifying the serialized active_plugins array, we can specify exactly which plugins are active. So that’s the basic idea, now let’s zoom in and see how it’s done. First we’ll walk through the process in general, and then later we’ll look at a specific example.

General technique

To activate any installed plugin, follow these steps:

Step 1: Copy the active_plugins array

Using a tool such as phpMyAdmin, enter the following SQL command:

SELECT * FROM wp_options WHERE option_name = 'active_plugins'

Remember to edit the default table prefix, wp_, to match your own configuration. After executing the query, copy the value of the active_plugins option. Depending on how many plugins you have, the copied value should look something like this:

a:10:{i:0;s:19:"akismet/akismet.php";i:3;s:45:"dashboard-widgets-suite/dashboard-widgets.php";i:4;s:33:"disable-embeds/disable-embeds.php";i:5;s:33:"disable-emojis/disable-emojis.php";i:6;s:43:"disable-wp-rest-api/disable-wp-rest-api.php";i:7;s:36:"google-sitemap-generator/sitemap.php";i:8;s:37:"simple-ajax-chat/simple-ajax-chat.php";i:9;s:45:"simple-local-avatars/simple-local-avatars.php";i:10;s:27:"updraftplus/updraftplus.php";i:11;s:45:"user-submitted-posts/user-submitted-posts.php";}

If that looks strange to you, join the club. But guess what, it’s just an ordinary serialized array. For this particular site, the array shows that there are 10 plugins currently active. We want to add another, so there will be a total of 11 active plugins.

Step 2: Unfold the active_plugins array

Next we want to “unfold” the active_plugins array, so that it looks like something like this:

a:10:{
	i:0;s:19:"akismet/akismet.php";
	i:1;s:45:"dashboard-widgets-suite/dashboard-widgets.php";
	i:2;s:33:"disable-embeds/disable-embeds.php";
	i:3;s:33:"disable-emojis/disable-emojis.php";
	i:4;s:43:"disable-wp-rest-api/disable-wp-rest-api.php";
	i:5;s:36:"google-sitemap-generator/sitemap.php";
	i:6;s:37:"simple-ajax-chat/simple-ajax-chat.php";
	i:7;s:45:"simple-local-avatars/simple-local-avatars.php";
	i:8;s:27:"updraftplus/updraftplus.php";
	i:9;s:45:"user-submitted-posts/user-submitted-posts.php";
}

Now things are beginning to make sense. Notice each item in the array represents one active plugin. For each item, the array index is denoted by i:n;, where n is some unique integer. Similarly, the array value begins with s:x:, where x is the number of characters contained in the quoted value, for example:

i:9;s:45:"user-submitted-posts/user-submitted-posts.php";

This is the last item in the array. It has an index of 9, and a string s value that is 45 characters in length: user-submitted-posts/user-submitted-posts.php. So one of the active plugins is User Submitted Posts.

Step 3: Add another plugin to the array

At this point, we want to add another plugin to the active_plugins array. To do so, we first prepare an array item, for example:

i:10;s:33:"my-plugin-name/my-plugin-name.php";

Here we have increased the index by 1, so we now have i:10;. And then for the value, we counted the number of characters in our plugin “slug”, which is the name of the plugin directory followed by a forward slash and the name of the main plugin file.

After preparing the array item, we want to add it to the array like so:

a:10:{
	i:0;s:19:"akismet/akismet.php";
	i:1;s:45:"dashboard-widgets-suite/dashboard-widgets.php";
	i:2;s:33:"disable-embeds/disable-embeds.php";
	i:3;s:33:"disable-emojis/disable-emojis.php";
	i:4;s:43:"disable-wp-rest-api/disable-wp-rest-api.php";
	i:5;s:36:"google-sitemap-generator/sitemap.php";
	i:6;s:37:"simple-ajax-chat/simple-ajax-chat.php";
	i:7;s:45:"simple-local-avatars/simple-local-avatars.php";
	i:8;s:27:"updraftplus/updraftplus.php";
	i:9;s:45:"user-submitted-posts/user-submitted-posts.php";
	i:10;s:33:"my-plugin-name/my-plugin-name.php";
}

Notice the index values are all unique and in ascending order. And the values all look good, correct syntax, and so forth. But now that we’ve added another item to the array, the array count a:10 is off by one. So because there now are 11 items in the array, we need to make one more slight modification:

a:11:{
	i:0;s:19:"akismet/akismet.php";
	i:1;s:45:"dashboard-widgets-suite/dashboard-widgets.php";
	i:2;s:33:"disable-embeds/disable-embeds.php";
	i:3;s:33:"disable-emojis/disable-emojis.php";
	i:4;s:43:"disable-wp-rest-api/disable-wp-rest-api.php";
	i:5;s:36:"google-sitemap-generator/sitemap.php";
	i:6;s:37:"simple-ajax-chat/simple-ajax-chat.php";
	i:7;s:45:"simple-local-avatars/simple-local-avatars.php";
	i:8;s:27:"updraftplus/updraftplus.php";
	i:9;s:45:"user-submitted-posts/user-submitted-posts.php";
	i:10;s:33:"my-plugin-name/my-plugin-name.php";
}

Perfect. Now the array is complete, but we still need to remove all of the whitespace that we added when we unfolded the array a few steps ago. The fastest way to remove all spaces is to use a free online tool like this one. After removing all whitespace from our serialized array, we have this:

a:11:{i:0;s:19:"akismet/akismet.php";i:1;s:45:"dashboard-widgets-suite/dashboard-widgets.php";i:2;s:33:"disable-embeds/disable-embeds.php";i:3;s:33:"disable-emojis/disable-emojis.php";i:4;s:43:"disable-wp-rest-api/disable-wp-rest-api.php";i:5;s:36:"google-sitemap-generator/sitemap.php";i:6;s:37:"simple-ajax-chat/simple-ajax-chat.php";i:7;s:45:"simple-local-avatars/simple-local-avatars.php";i:8;s:27:"updraftplus/updraftplus.php";i:9;s:45:"user-submitted-posts/user-submitted-posts.php";i:10;s:33:"my-plugin-name/my-plugin-name.php";}

All packed and ready for the database.

Step 4: Update the active_plugins array

Finally, we can return to the WordPress database and update the active_plugins array with our modified version. After the replacement has been made, we can visit the Plugins screen in the WP Admin Area, where we should see our new plugin active along with the 10 originally active plugins.

Troubleshooting

After updating the active_plugins array, if we find that ZERO plugins are active, then there was a mistake in the serialized array, either syntax, or spelling, or path name, or character count, misplaced or missing colon or semicolon, whatever. Serialized arrays must be exactly perfect or WordPress will empty the array and deactivate all plugins. So if you return to the Plugins screen to find all plugins disabled, or some other unexpected result, try again with the array, making sure that syntax is 100% correct.

Real-world example

Now that we’ve covered how to activate WordPress plugins via the database in general, let’s look at a specific (and quick) example. Let’s say that I want to activate Banhammer on a site that has a couple of other plugins already active. First I copy the value of the active_plugins option from the database:

a:2:{i:0;s:39:"block-bad-queries/block-bad-queries.php";i:1;s:45:"dashboard-widgets-suite/dashboard-widgets.php";}

I then prepare an array item for the Banhammer plugin:

i:2;s:23:"banhammer/banhammer.php";

So here the index 2 is because this will will be the third item in the array (remember array indexing begins at zero). Then for the value, s because the file path is a string that contains 23 characters, hence the 23. Also notice zero white spaces; we’re just going to insert that line directly into the active-plugins array, like so:

a:3:{i:0;s:39:"block-bad-queries/block-bad-queries.php";i:1;s:45:"dashboard-widgets-suite/dashboard-widgets.php";i:2;s:23:"banhammer/banhammer.php";}

Sanity checking everything looks good, I can now replace/update the active_plugins array in the options table. Done. Revisiting the Plugin screen in the WP Admin Area (and I actually did this while writing this tutorial), Banhammer is activated along with the other two plugins. Easy peasy, once you understand how it works.

Busta move

This tutorial shows you how to activate any WordPress plugin via the database. For those not familiar with serialized arrays, the process may seem overly complicated. But in reality, it’s just updating an array in the database. The only tricky part is making sure the syntax and logic is correct for the serialized array.