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 [email protected] 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.


Dark Mode is Possibly Coming to a WordPress Dashboard Near You

For the past year, Daniel James has been developing the Dark Mode plugin for WordPress. The plugin is actively installed on more than 1K sites. Dark Mode replaces the white and grey colors in the backend with darker colors that are easier on the eyes.

Dark Mode for WordPress

James has published a proposal to merge the plugin into core. There are three things to know about Dark Mode up front. It does not have a high contrast mode to meet accessibility needs, is not a new admin color scheme for the backend, and is not a tool that helps people with vision issues.

By default, WordPress ships with eight admin color schemes. However, color schemes are only applied to the WordPress sidebar and Admin toolbar. Dark Mode is applied to the main content area of the dashboard. This gives users the ability to use Dark Mode and an Admin Color Scheme in tandem. 

Admin Color Schemes

Dark Mode is not compatible with Gutenberg but is compatible with TinyMCE. Because of the speed at which Gutenberg is being developed as a plugin, James decided that a merge proposal without Gutenberg support is the best way forward. Compatibility with Gutenberg will likely arrive once it is merged into core.

Because Dark Mode affects the content area of the WordPress Dashboard, if it’s merged into core, plugins will need to support two different color schemes.

There is no easy way for Dark Mode to support every plugin, especially when many of them use custom user interface elements. This guide on the plugin’s GitHub page explains how developers can add support for Dark Mode.

Proposal Hits a Snag

Within the comments on the proposal, members of the core and accessibility teams weighed in. Gary Pendergast, a WordPress core developer, outlined a list of requirements from the Core Handbook that the plugin has yet to achieve.

James responded by explaining the process of merging a feature plugin into core as outlined in the Core Handbook does not lend itself to all projects.

“For example, weekly meetings, or kick-off posts etc,” James said. “I understand that Gutenberg is probably a top priority right now but it’d be great if I could have some help on what to do to push this forward. I think an introduction of Gutenberg and Dark Mode would be a great addition to shout about in 5.0.”

Some of the Benefits of Dark Mode

One of the obvious benefits is that Dark Mode is aesthetically pleasing, especially after sunset. Depending on the screen technology, darker colors are more energy efficient. It’s also a mode that’s gaining in popularity. For example, earlier this year, Apple announced Dark Mode will be available in macOS Mojave.

I find myself using Dark Mode on Reddit, the Twitter app on my iPhone, and now WordPress. I like to browse the web on my phone while laying in bed and my partner enjoys not seeing a bright screen shining in her direction.

Based on comments made to the proposal and on social media, there is a definitive interest in having a Dark Mode option in WordPress. Is Dark Mode something you’d like to see be part of core? Also, I’m curious as to which Admin Color scheme you use. Please vote in the poll below.

Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.

Google Smart Lock for All

Google Smart Lock is an app for iOS and Android devices that can talk to U2F security keys over bluetooth and NFC. Wouldn’t it be great to use it with the WordPress Two Factor plugin?

Turns out the app registers a custom u2f-google URL protocol with the iOS which can be used by any other app (including the Safari browser) to open the app with the necessary payload for the U2F authentication, which has the following format:

u2f-google://auth?data=PAYLOAD&returnUrl=RETURNURL

where PAYLOAD is a JSON string (urlencoded twice) with the following schema:

{
	"type": "u2f_sign_request",
	"appId": "https://www.gstatic.com/securitykey/origins.json",
	"challenge": "CHALLENGEFROMTHEAPP",
	"registeredKeys": [{
		"version": "U2F_V2",
		"keyHandle": "UNIQUEKEYHANDLE",
		"transports": ["usb"]
	}, {
		"version": "U2F_V2",
		"keyHandle": "UNIQUEKEYHANDLE",
		"transports": ["ble", "usb", "nfc"]
	}],
	"timeoutSeconds": 180,
	"requestId": 123456789,
	"displayIdentifier": "[email protected]"
}

where CHALLENGEFROMTHEAPP is a cryptographic challenge generated by the U2F client (the WordPress plugin) and registeredKeys is a list of all the registered U2F devices with the U2F client (which must include the U2F key to be used over bluetooth).

The app now sends this data to the U2F key via bluetooth which responds with a message that gets added to the RETURNURL as a URL hash RETURNURL#chaldt=PAYLOAD where PAYLOAD is again double-urlencoded and has the following format:

{
	"type": "u2f_sign_response",
	"requestId": 123456789,
	"responseData": {
		"clientData": "CLIENTDATA",
		"signatureData": "SIGNATUREDATA",
		"keyHandle": "KEYHANDLE"
	}
}

where responseData contains the SignResponse object as defined by the FIDO U2F JavaScript API. This data can now be used by the client to verify the signature and complete the authentication.

The Hack

To make the Google Smart Lock app work with the Two Factor plugin, we should adjust the u2f-google link payload with our own data and set the correct returnUrl.

Unfortunately, the Smart Lock app ignores all requests where the returnUrl doesn’t start with https://accounts.google.com/signin which is a real shame because it would allow any site to offer U2F authentication without creating a custom middleware app for talking to U2F keys over bluetooth or NFC.


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 →

Are content blocks the future? And, what’s the benefit for SEO?

In Yoast SEO 8.0 you’ve met with the Yoast SEO Gutenberg sidebar. Since the 8.1 release, you can see the snippet preview in action in this sidebar. These are our first step of integrating Yoast SEO with Gutenberg. But there is more to come. Shortly, we’ll also introduce a whole new concept: Yoast SEO content blocks. In this interview with our CEO Joost and CTO Omar we explore content blocks: What are they? What do they have to do with SEO? And what are Yoast’s plans with blocks? Let’s go! 

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

Q. We’ve heard the term content blocks often lately. Can you explain what those blocks are?

Omar: Blocks are single components that you can use in the Gutenberg editor. You can see them as separate content items. With these items you can structure your content and build a page. A bit like you’re building a page with pieces of LEGO. Every content block can have its own styling and meta data. Because of this, a block becomes more valuable and this opens up lots of opportunities, also in terms of SEO.

gutenberg

Creation of content in blocks with Gutenberg

Q. What opportunities of blocks are you referring to?

Omar: For us, the advantage lies mostly in the meta data you can include in a block. You can add structured data to your content block, for instance. With structured data you tell search engines in a schematic way what your content is about: is it a recipe, a book or a film? Structured data exists for many things (entities): products, but also blog posts, Q&A’s or How to‘s. You can find them all on schema.org.

Joost: Let’s say you have a Q&A section on your site. If you add structured data to you Q&A block it’s directly clear to Google that this block provides answers to certain questions and what these questions and answers are. Therefore it’s easier for Google to match them up with a certain query. Because of the structured way it’s set up it’s easier to point to an answer directly, which could be an advantage for voice search as well. Voice search typically works well if it can read out loud one singular answer to a question.

Q. If you have content blocks with structured data, does that increase your chance of ranking?

Joost: We can’t say that it will instantly make you rank higher. It will help Google understand your content better, which is always good and might give you an edge. And, of course, structured data is essential, if you’d like to get rich results in the search engines. We also suspect that if you have a page that is schematically divided into blocks with their own – related – keywords, it might be easier to make your page rank for multiple related keywords too.

Q. Ok, sounds great. But how is this connected to Yoast SEO?

Joost: We’re developing Yoast SEO content blocks with schema.org meta data. Shortly, we’ll launch the first blocks: FAQ blocks and How to blocks. This means you’ll be able to select such a block in the Gutenberg content editor. The block will help you fill out all the necessary data for that specific entity. In case of the How to, for instance, it will have fields for the time it’ll take and steps that are required. And, of course, it will add the applicable structured data to those fields. This ensures your content is offered the best way possible to search engines.

Omar: What’s more, it helps content creators and editors to provide the most complete information in a structured way on their site. Some content creators intuitively add all relevant information in their content, but if you use content blocks with structured data you’re sure you’re adding all necessary information to, for instance, your recipe or job posting.

With the introduction of schema blocks, we’re adding content elements to Yoast SEO for the first time. We’ll make sure those elements are well structured and themable. Our front-end developers and UX-designers are currently working on creating tutorials for theming these blocks. Of course we’ve given these elements basic default styles to make sure they can be used out of the box.

Q. What are your plans with them for Yoast SEO? What kind of blocks are you thinking of?

Omar: We have no restrictions, we’ll try to do as many as possible. In addition to the How to and FAQ block, we’re transforming the widgets and shortcodes in our Local SEO plugin to make them available as blocks too. We’ll work first on blocks which we can dogfood on Yoast.com, like Job posting and Event. After that we’ll just go for the popular ones, like Recipe.

Q. It all sounds amazing, aren’t there any drawbacks as well?

Joost: Blocks are very easy to reuse on different pages. But how will Google deal with that? Will search engines see it as duplicate content? With a single banner or buy button they’ll work it out, but what about reusing the same ‘how to’ on multiple locations on your site? Will Google see that as duplicate content? We’re very curious about that, because it’s not possible to canonicalize a single block yet.

6. Does this concept only exists in WordPress or in other CMS’s too? Will we go to a future where there will only be blocks?

Omar: Some other CMS’s are block based already. But most of them are less intuitive than Gutenberg will be. WordPress needs to make this move as well to be able to compete with website builders. It’s nice to see that Drupal is planning to include Gutenberg in their CMS as well, because they see how promising it is.

Joost: The block philosophy of Gutenberg is just very powerful, as the example above shows. So it’s interesting to see where this will go from here. I don’t believe that the future will only be blocks though, pages will still be a thing!

Read more: What is Gutenberg? »

The post Are content blocks the future? And, what’s the benefit for SEO? appeared first on Yoast.

How to Start a Travel Blog (to Make Money or Otherwise) in 2018

Do you want to start a travel blog but don’t know where to begin? Travel blogs are a popular medium to share your travels with not just family and friends but also with the rest of the world. In this guide, we will walk you through how to properly start a travel blog and even make money from it without any special technical skills.

Starting a travel blog to make money

What do you need to start a travel blog?

There are three things you need to properly start a travel blog.

  • A domain name (this will be your blog’s name that people will type to find your site e.g. wpbeginner.com)
  • Web hosting account (this is where your website files are stored on the internet)
  • Your undivided attention for 30 minutes.

Yes, you can get started with a proper professional-looking travel blog in less than 30 minutes. We will walk you through the process every step of the way.

In this step by step tutorial, we will cover the following items.

  • How to Register a Domain Name for Free
  • How to Choose the Best Web Hosting
  • How to Install WordPress
  • How to Find the Perfect Theme (website design) for a Travel Blog
  • How to Add Content to Your Travel Blog
  • How to Get More Traffic to Your New Blog
  • How to Make Money from Your Travel Blog
  • Resources to Learn WordPress and Grow Your Travel Blog

That being said, let’s get started.

Step 1. Choosing The Right Platform

For most beginners, the biggest mistake is not starting with the right blogging platform. Since you are already here, you will not be making that mistake.

We recommend using WordPress.org. It is the most powerful and popular blogging platform in the world giving you complete freedom to start, grow, and make money from your blog. For more details, see our complete WordPress review.

It is important not to confuse WordPress.org with WordPress.com, as they are two different platforms. WordPress.com is a hosted solution and WordPress.org is a self-hosted platform. For more on this topic, see our comparison of WordPress.com vs WordPress.org.

To start a travel blog with WordPress.org, you will need a domain name and a WordPress hosting account. To learn more, see our article on the difference between domain name and web hosting.

Normally, a domain name costs $14.99 / year and web hosting normally costs $7.99 / month.

That’s a lot for beginners who are just starting their travel blog.

Thankfully, Bluehost has agreed to offer our users a free domain name and discount on web hosting. They are one of the largest hosting companies in the world and officially recommended by WordPress.org.

→ Click Here to Claim This Exclusive Bluehost Offer ←

Basically, you’ll be able to get started for just $2.75 per month.

Bluehost is committed to giving back to the WordPress community since 2005. They have promised us that if you cannot get your blog setup within 30 minutes by following this tutorial, then our expert team will complete the process for you without any cost. They will compensate us, so you don’t have to. Simply contact us for free blog setup help.

Note: At WPBeginner we believe in full transparency. If you sign up with Bluehost using our referral link, then we will earn a small commission at no extra cost to you (in fact you will save money and get a free domain + free SSL). We would get this commission for recommending just about any WordPress hosting company, but we only recommend products that we use personally use and believe will add value to our readers.

That being said, now let’s go ahead and purchase your domain name and hosting for your travel blog.

First, you need to open the Bluehost website in a new browser tab and click on the green get started button.

Get started with Bluehost

Next, you will be asked to select the plan that you want (basic and plus are the most popular among our users).

After that, you will be asked to enter the domain name for your website.

Choose domain name

Tip: Make sure your domain name is easy to pronounce and spell. You can also use keywords that you think people will search when looking for a travel blog. This will help you get more traffic from Google search. For more tips, see our guide on how to choose the best domain name for your blog.

After choosing your domain name click on the next button to continue.

Now, you will need to add your account information and finalize the package information to complete the process. We recommend going with the 36-month plan because that’s the best value.

You will also see some optional extras that you can purchase. We don’t recommend purchasing them right away. You can always add them later on if you decide that you need them.

Finalize package details

After that, you need to enter your payment information and finish the purchase.

Once finished, you will receive an email with details on how to login to your web hosting control panel (cPanel).

Step 2. Installing WordPress

This step is not required as Bluehost will automatically install WordPress on your domain name. You just need to click on the link in the email you received after sign up.

This will take you to your hosting control panel. From here, you can just click on the login to WordPress button to enter your WordPress site’s admin dashboard.

WordPress dashboard

Now you are ready to customize your travel blog’s appearance and start adding content.

Step 3. Choosing a Theme for Your Travel Blog

Travel themes

Themes are one of the best things about WordPress. They control your website’s design and appearance and there are thousands of free and paid WordPress themes to choose from.

WordPress is used by all kind of websites so WordPress themes come with lots of choices. A WordPress theme designed for business websites may not look so great for a travel blog.

You will need a theme that matches the look and feel of a travel blog. The trick here is to strive for simplicity and find the perfect balance between functionality and design.

Need to look at some great examples? See our expert pick of the best WordPress themes for travel blogs.

After you have found a suitable theme, head over to our guide on how to install a WordPress theme for step by step installation instructions.

Step 4. Adding Content to Your New Travel Blog

After you have installed and set up a WordPress theme, the next step is to start adding content. WordPress comes with two default content types, they are called posts and pages. While the posts will be the entries in your travel blog, pages are for adding static content to your website.

We recommend adding the static content first because it helps you build a structure for your website. For example, contact form page, about us page, privacy policy page, and more. See our list of important pages that every WordPress blog should have.

Next, you would want to start adding articles and posts to your travel blog. Go to Posts » Add New page to add your first blog post.

Writing blog posts

You can add any type of content you want. You can write articles, add images, create image galleries, embed videos, audio, and more.

For more details, see our guide on how to add a new blog post in WordPress and utilize all the features.

Step 5. Content Ideas for a Great Travel Blog

Editorial calendar

Your travel blog posts are where you will develop your own voice and engage your audience. They need to be informative, entertaining, and helpful.

You may be able to quickly add first few posts but it will get harder to regularly come up with new ideas for your blog posts. Check out this massive list blog post ideas that are proven to work, and you can easily use them for your travel blog.

We also recommend you to regularly visit popular travel blogs to get inspiration for your own blog post ideas. See what these top blogs are doing and replicate that on your own blog.

We are not advising you to steal or reproduce the same content. You just need to get the ideas, inspiration, and topics and then use them to create unique content with your own voice, style, and flavor.

You will also notice that popular travel blogs publish quite regularly. That’s because maintaining a consistent frequency is the key to successful blogging. You need to stick with a consistent frequency for your artilces. We recommend starting with three articles a week and gradually build up your pace to 5 articles a week.

Step 6. Getting More Traffic to Your Travel Blog

Once you start adding content to your travel blog, the next step is to help users find your website. To do this, you need to do take the following steps.

1. Work on Your Blog’s SEO

SEO

Search engines are the primary source of traffic for most websites and blogs on the internet. They recommend website owners to use certain best practices to increase their site’s visibility in search results. These best practices are called SEO or search engine optimization.

WordPress is very SEO friendly out of the box. However, there is much more that you can do to drive even more traffic to your travel blog. For detailed step by step instructions, follow our ultimate WordPress SEO guide for beginners.

2. Improve Website Speed and Performance

Performance

No one likes a slow website. Your users will leave your website instantly with a bad user experience and you will probably never get them again. It also affects your website’s search rankings as Google considers speed one of the top ranking factors.

You will not to perform certain WordPress performance adjustments to speed up your website. We have a complete guide with step by step instructions to improve your WordPress speed and performance.

3. Track User Statistics

Website analytics

Most beginners use their best guesses to decide what their users will like to read or view. You don’t need to do that when you can get actual data to show you exactly what your users want and do on your website. Using this data you can make informed decisions to plan your content strategy and grow your website.

To get these insights you need to start using Google Analytics. It tells you how many people are visiting your website, what they see, where they come from, and more.

For instructions, see our article on how to install Google Analytics in WordPress for beginners.

Google Analytics offers a ton of data. However, as a beginner, you may not know what to look where and which reports to monitor.

To answer these questions, we have made a beginners guide on how to easily track user engagement in WordPress with Google Analytics.

4. Make a YouTube Channel

Make a YouTube channel

YouTube is not only the world’s largest video sharing website, it is also the world’s second most popular search engine. You can create a YouTube channel for free and start uploading your travel videos, vlogs, and travel tips videos.

Travel channels are huge on YouTube. In fact, there are already travel vloggers on YouTube making six-figure income through sponsorships, advertisements, and brand endorsements.

Even if you don’t want to become a YouTuber, you can still use the platform to drive traffic to your travel blog.

Step 7. Making Money From Your Travel Blog

Ever wondered how these top travel bloggers go to all these exotic locations all over the world. Travelling is quite expensive and some of these travel bloggers do nothing else but travel. How do they make money?

Here we will tell you how other travel blogs make money and how you can do the same with your travel blog.

1. Sponsorships

The traveling perks for most famous travel bloggers are sponsorships. These sponsorships come from hotels, airlines, cruise ships, tour operators, and even government agencies promoting tourism.

Once your blog reaches a decent amount of regular traffic, you can reach out to these organizations on your own. In return for free stuff, they would want you to mention their place or service on your blog.

How do you find out who would be interested in such a deal? See which other companies are already sponsoring other travel bloggers, or randomly try your luck with hotels and airlines for the places you want to visit.

While sponsorship deals will give you some perks, they will not make money for you.

2. Advertisements

Not just travel blogs, but almost all popular blogs on the internet rely on advertisements. The most popular way to display ads on your blog is by using Google AdSense.

It connects bloggers like you to the advertisers looking for a targeted audience. Advertisers pay Google, which pays you after taking a small cut of their own. For details see our article on how to how to add Google AdSense to your WordPress blog.

3. Affiliate Marketing

Affiliate marketing enables you to recommend travel products that you use and love. You get a referral commission when your users purchase a product after clicking on your link.

To make money with affiliate marketing, you will need to find travel products and brands with an affiliate program. These could be backpack manufacturers, adventure cameras, selfie sticks, travel insurance companies, tour companies, and so on.

The biggest affiliate partner you can sign up for is Amazon Affiliates. They have tons of products in travel gadgets, accessories, luggage, bags, clothing, electronics, and more.

Need help getting started? See our beginner’s guide to affiliate marketing with step by step instructions and tools you will need to succeed.

4. YouTube Travel Vlogger

As we have mentioned earlier, YouTube provides lots of opportunities to travel bloggers. Since videos are much more engaging than plain text or even photos, top brands and advertisers are spending big dollars on YouTube promotions and ads.

YouTube runs its own advertising program too which will generate you some revenue. However, it will help you connect with brands and advertisers while getting new subscribers and followers at the same time.

Step 8. Mastering Your WordPress Skills

WordPress is quite easy to use and manage. However, there is a learning curve involved whenever you start with a new platform. You will continue discovering new things to learn. This is where WPBeginner can help.

WPBeginner is the largest WordPress resource site for beginners. We have lots of helpful content which is created specifically for beginners, business owners, and bloggers.

Following are few of the helpful resources you will find on WPBeginner (all of them are completely free).

  • WPBeginner Blog – The central place for all our WordPress tutorials and guides.
  • WPBeginner Dictionary – Our WordPress glossary is the best place to familiarize yourself with the WordPress lingo
  • WPBeginner Videos – New WordPress users can start with these 23 videos to master WordPress.
  • WPBeginner on YouTube – Need more video instructions? Subscribe to our YouTube channel with more than 110,000 subscribers and 10 Million+ views.
  • WPBeginner Blueprint – Check out plugins, tools, and services we use on WPBeginner.
  • WPBeginner Deals – Exclusive discounts on WordPress products and services for WPBeginner users.

Many of our users use Google to find answers on WPBeginner by simply adding ‘wpbeginner’ at the end of their search term.

We hope this article helped you learn how to start a travel blog and make money from it. You may also want to see our list of essential WordPress plugins for new websites.

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 How to Start a Travel Blog (to Make Money or Otherwise) in 2018 appeared first on WPBeginner.

X Theme Leftover Code Snippets

While working on the site’s 24th redesign, I ended up with about 10 code snippets that were awesome but ultimately not needed. So rather than just delete them, I am posting them here just in case. Just in case I ever decide to use the functions, and of course just in case the code might be useful to anyone who is looking. Check out the Table of Contents for an overview.

Table of Contents

HTML: Meta Tags

If you examine the source code of the current theme, you will notice that the viewport meta tag is omitted. Why? Because despite convention, the tag is not necessary in all cases. So after a bit of cross-browser testing, the design looked great on mobile devices without the meta viewport tag. And because absolute minimalism is my current thang, omitting meta viewport was a no-brainer. Here are a couple of common examples of this tag:

<meta name="viewport" content="initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">

CSS: Multimedia Elements

I’ve been including these styles across designs for years now, but never really make use of them. So finally they were omitted from the new Perishable Press theme. If your site makes use of multimedia HTML elements audio, canvas, progress, or svg, these styles apply some basic styling to keep things looking good across browsers.

audio, canvas, progress { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
svg:not(:root) { overflow: hidden; }

CSS: Better Image Rendering

In previous designs, I did not hesitate to add as many vendor prefixes as needed to make things awesome. But not in the new design. Instead, I tried extra hard to avoid as many browser-specific properties as possible. For example, in my previous designs, I implemented CSS to improve or enhance image rendering using the image-rendering property. As far as I can tell it does work (kind of) in most cases for most images. But the amount of code required to cover all browsers is kinda nuts. So the following “better image rendering” styles were removed from my CSS palette.

img {
	-ms-interpolation-mode: nearest-neighbor;   /* IE 7+ */ 
	image-rendering: -webkit-optimize-contrast; /* Safari 6 */
	image-rendering: -webkit-crisp-edges;       /* Safari 7+ */
	image-rendering: -moz-crisp-edges;          /* Firefox 3.6+ */
	image-rendering: -o-crisp-edges;            /* Opera 12 */
	image-rendering: pixelated;                 /* Chrome 41+, Opera 26+ */
	}

CSS: Breaking Long Words

Here are two CSS declarations that I used for previous designs. The first declaration “force-breaks” any long lines of text. For example, it’s a good idea to break long words and phrases inside of <table> elements. Otherwise they break out of their table cells, break layout, and decrease readability. The second declaration does the opposite: it tells browsers to not break or wrap long lines of text. For example, when displaying long lines of code inside of <pre> tags, we can display overflow via horizontal scroll instead of breaking or wrapping. Here is more information about wrapping long lines with CSS.

.text-wrap, table td {
     word-wrap:  break-word; 
 -ms-word-break: break-all;
     word-break: break-all;
     word-break: break-word;
-webkit-hyphens: auto;
   -moz-hyphens: auto;
        hyphens: auto;
	}

.text-wrap-none, pre {
     word-wrap:  normal; 
 -ms-word-break: normal;
     word-break: normal;
     word-break: normal;
-webkit-hyphens: none;
   -moz-hyphens: none;
        hyphens: none;
	}

JavaScript: Don’t Append Anchors

Something else I was toying with was disabling the appending of anchors to the URL displayed in the browser address bar. For example, if you click on a link pointing to #somewhere on the same page, the browser will update the address bar by appending the fragment identifier to the URL. So if you are visiting https://example.com/ and click on a link to #hashtag, the browser will display https://example.com/#hashtag. This code snippet disables that automatic updating of the URL when users click any internal #anchor links.

// don't append anchor to url
window.addEventListener('DOMContentLoaded', function(event) {
	var links = document.getElementsByTagName('a');
	for (var i = 0; i < links.length; i++) {
		if (!links[i].hash) continue;
		if (links[i].origin + links[i].pathname != self.location.href) continue;
		(function (anchorPoint) {
			links[i].addEventListener('click', function(e) {
				anchorPoint.scrollIntoView(true);
				event.preventDefault();
			}, false);
		})(document.getElementById(links[i].hash.replace(/#/, '')));
	}
}, false);

WP: Simple Art Directed Content

Art-directed content refers to content, scripts, and styles that are added to individual posts. For example, if you have a magazine-style site, and each post needs to be styled with a unique look and feel. Art-directed styles enable that to happen. I was using an outdated art-directed plugin, but in an effort to simplify my setup, I replaced the plugin with a simple yet effective function:

// simple art directed content
function shapeSpace_art_directed($content) {
	
	$id = get_the_ID();
	$art = get_post_meta($id, 'art_direction_single', true);
	if (!empty($art) && is_singular('post')) $content = $content . $art;
	return $content;
	
}
add_filter('the_content', 'shapeSpace_art_directed');

WP: Remove Empty Paragraphs

WordPress provides pretty solid formatting of markup in post content, but tends to go overboard with the wrapping of HTML comments with paragraph tags <p>. For example, when you have something <!-- like this --> in your post content, WordPress automatically will wrap it with <p> tags. This is frustrating because paragraph tags — even empty ones — usually are styled with some sort of margins or padding. So that means empty paragraphs can introduce unwanted vertical spacing in an otherwise immaculate design.

Making things worse, WordPress adds HTML comments for more tags (excerpts), so you’ve got at least one empty paragraph for each single post. Fortunately it’s possible to clean up any empty paragraphs with the following code snippet. Note that it’s also possible to take care of empty <p> tags using JavaScript or even a bit of CSS.

// remove empty paragraph tags
function shapeSpace_filter_post_content($content) {
	if (is_single()) $content = preg_replace('/<p>s*<!--(.*)-->s*</p>/i', '', $content);
	return $content;
}
add_filter('the_content', 'shapeSpace_filter_post_content');

WP: Set Cookies via Ajax

The new X theme used here at Perishable Press enables the user to switch themes, from the default “light” mode to the dark “night” mode. You can try it by clicking the round icon in the upper-right corner of the page. So if the user switches themes, their choice is remembered via small cookie. At first, I was using the WordPress Ajax API to set the cookie value, but later replaced it with a vanilla JavaScript technique.

// WordPress Ajax Cookies
function shapeSpace_ajax_switch_theme() {
	
	check_ajax_referer('ajax', 'nonce');
	
	if (isset($_POST['theme']) && ($_POST['theme'] === 'dark' || $_POST['theme'] === 'lite')) {
		
		$theme = ($_POST['theme'] === 'dark') ? 'dark' : 'lite';
		$expire = time() + (86400 * 30); // 86400 = 1 day
		$domain = 'perishablepress.com';
		
		// setcookie(name, value, expire, path, domain, secure, httponly)
		setcookie('xtheme', $theme, $expire, '/', $domain, true, true);
		
	}
	
	die();
	
}
add_action('wp_ajax_switch', 'shapeSpace_ajax_switch_theme');
add_action('wp_ajax_nopriv_switch', 'shapeSpace_ajax_switch_theme');

WP: Add Item to Edit Post Rows

Another WordPress code snippet, this one adds a link item to each row on the “Edit Post” screen. The trick here is choosing the right filter hook, which for the Edit Post screen is post_row_actions. Likewise to filter rows on the “Edit Page” screen, we can use page_row_actions. In the following technique, we add a “View HTML” link to each row. Of course, you can tweak the code to add whatever markup/links you want :)

// Add Item to Edit Post Rows
function shapeSpace_modify_list_row_actions($actions, $post) {
	
	// check for CPT and capability if needed, use nonce if needed
	
	$html = isset($actions['view']) ? $actions['view'] : null;
	$html = $html ? str_replace('View', 'HTML', $html)  : null;
	$html = $html ? str_replace('href="', 'target="_blank" title="View HTML of frontend page" href="view-source:', $html) : null;
	$actions = $html ? array_merge($actions, array('html' => $html)) : $actions;
	
	return $actions;
    
}
add_filter('post_row_actions', 'shapeSpace_modify_list_row_actions', 10, 2);
// add_filter('page_row_actions', 'shapeSpace_modify_list_row_actions', 10, 2);

Code Word

That’s all for this post. Thank you for the visit :)


Gutenberg Contributors Considering a “Focus Mode” for Writing

After overwhelming feedback from testers indicating that Gutenberg is not well suited for simply writing posts, the project’s contributors are considering a few options for improving the writing flow. These proposals are spread across several tickets on GitHub.

Two weeks ago, Gutenberg technical lead Matias Ventura submitted a PR exploring the possibility of introducing a “Focus Mode” to the editor. This mode would highlight the current selected block with all other blocks faded while the “fix toolbar to header” option is enabled. The video below shows an example of what that might look like:

“The aim is to provide a writing experience that can satisfy those that would prefer an environment with the least amount of distractions at the expense of tool clarity,” Ventura said. “I’ve been testing this and personally find it a very enjoyable mode to toggle when I just want to write for a bit. Paired with a robust set of keyboard shortcuts it could be quite nice to use. In this sense, it’d be important to provide an easy keyboard shortcut to toggle the mode on and off.”

Automattic designer Kjell Reigstad opened another ticket that proposes transforming the “Fix Toolbar to Top” setting into a “Focus Mode.”

“A key feedback point we hear is that Gutenberg’s interface can be a little overwhelming,” Reigstad said. “This often comes from users who more commonly focus on ‘writing’ versus ‘building’ their posts. They find the contextual block controls and block hover states to be distracting: When they’re focused on writing, they don’t necessarily want to think about blocks — they just want to write.”

Reigstad said this same subset of users also misses having the formatting toolbar at the top of the page, as it is in other applications like Google Docs, MS Word, and WordPress’ classic editor. He proposed a solution that addresses these concerns by combining the “Fix Toolbar to Top” option with the following UI changes that would provide a more complete “Focus Mode:”

  • The block toolbar would be pinned to the top of the screen.
  • The editor would be full screen.
  • Block outlines would be removed for both hover and selected states.
  • The block label would appear on a delay, and be toned down visually.
  • Block mover + block options would also appear on a delay.

Reigstad also created a video demo of this concept:

This new “focus Mode” concept is also compatible with Ventura’s proposal for highlighting the current selected block and fading out the others. It could either be present in both modes or available as an add-on feature.

A couple of well-written reviews on the Gutenberg plugin describe how the concept of blocks complicates the writing experience and how Gutenberg’s current writing environment is visually distracting and disruptive. This has been a major concern since the plugin was first released for testing, as there are many users who depend on WordPress for its writing features more than the page building aspects.

The Gutenberg team’s new ideas go a long way towards decluttering the interface for writers. This is especially important for those who want to do their long-form writing inside WordPress, instead of beginning their work in an application that is dedicated to providing a distraction-free writing experience. Introducing a “focus mode” or “writing mode” will solve one of the most critical issues with the new editor and we’re looking forward to seeing how this develops.