Interview Rian Rietveld & Andrea Fercia – YoastCon speakers

Rian Rietveld and Andrea Fercia are two heavyweights in the WordPress accessibility community. Both legends are joining us at the YoastCon SEO conference on November 2, 2017. For this joint interview, we asked them a couple of questions about the current state of accessibility, common implementation mistakes and how to start with the right mindset. Of course, the duo explains why you should come to YoastCon!

Don’t want to miss Rian and Andrea on stage? Get your ticket now for YoastCon 2017!

Get your ticket NOW »

Accessibility is incredibly important. Focusing on accessibility in your work makes sure you won’t leave anyone behind. Could you tell us a bit about the current state of accessibility in general and WordPress in particular?

According to Andrea, accessibility is getting more and more attention in the last couple of years: “Microsoft, Apple, Google, Facebook, Twitter, and more, are renewing their focus on accessibility as part of an inclusive design process and delivering products with a good level of built-in accessibility.”

Even WordPress gets better, says Andrea. “In the last 2-3 years, a great number of accessibility fixes entered the codebase. However, there’s still the need to educate many contributors, increase awareness, expertise, and incorporate accessibility in the design process. In WordPress, accessibility is still perceived as something that can be added at a later stage in the development process. That’s an ineffective process. It goes in a different direction compared to what all the other big players are doing.”

Come see Rian and Andrea speak at YoastCon 2017 on November 2 »banner YoastCon

Rian wants to stress the importance of accessibility as well:
 “Accessibility is the next big thing after responsive design. People involved in web development are starting to understand that accessibility is part of the process. There are two reasons for this. In an increasing number of countries, websites need to be accessible by law. Not just sites for government and public services but in some countries company sites as well. The second reason: accessibility is considered good practice in modern web development.”

According to WordPress the accessibility of the CMS improved dramatically in the last four years. Rian says that the community is starting to see that this is an important issue. She shares one ‘but’: “New functionality, however, is still not designed and developed with accessibility in mind. That means we still need to fix issues, also newly created issues. And that’s a point we can definitely improve on.”

It still seems hard to get stakeholders interested in accessibility. What do you guys do to convince people of the importance of accessibility and what do you do to help them get started?

Andrea says business owners and managers should look at the numbers in addition to the ethical considerations: “Accessibility is not just about people with specific disabilities or impairments. It’s about changing abilities that everyone experiences in their life with aging. Demographic trends, especially in Europe and North America, give us impressive numbers that can help us understand who our users and customers will be in the next 10-15 years.”

“Sometimes it’s hard to convince people. Education helps. We still need to debunk many myths about accessibility and make people understand it’s something that benefits everyone, including your future you,” explains Andrea.

Rian supports the notion that stakeholders are primarily interested in profit. She’d like to add her arguments for successfully implementing accessibility from the get-go: “20% of your visitors have a better experience using your site. Google is deaf and blind, so accessibility directly benefits SEO. The site will be more sustainable, as an accessible website will use more robust and meaningful code. If you include it at the beginning it will not cost extra if your team is well-prepared.”

You probably see the same mistakes made again and again. Do you have a list of common mistakes to keep our readers from making the same?

According to Rian you should: “Include accessibility at the beginning of the project, don’t check for it at the end because it will cost a lot more to correct it afterward. Also, keep in mind that you don’t create a website for yourself, but research your user and create a site your visitors understand. Focus on the main purpose of the site and don’t add elements to distract the user from that, only because you like to show off your design/programming skills.”

Andrea likes to emphasize the importance of valid HTML: “Well-structured, valid, semantic, markup is definitely the first thing you should focus on. HTML is the last layer of our communication. It’s great when all our development processes focus only on great abstracted object-oriented programming, modern JavaScript Frameworks and so on, but when our HTML is poorly coded, then our communication fails.”

Today, there is still a lot of very poorly coded HTML around, says Andrea: “People must understand why the HTML output is so important for the software that reads our web pages. Any software, including assistive technologies, or search engine crawlers, read our HTML. Good HTML is good communication that helps everyone, improves accessibility and also SEO.”

When looking at it from a design perspective, the design should start with the information architecture, says Andrea: “After that comes the interaction flow, and then the presentation layer. Instead, I still see today many projects starting with the presentation layer. For instance, missing controls labels are a very common mistake. All user interface controls must have a label.”

Let’s say I’m a site-owner and want to improve the accessibility of my site. What’s the first or most important thing I should do?

Andrea starts off with a great tip: “I’d recommend to disable styles in your browsers (that’s easy with Firefox) and look at your site without the presentation layer. Does your page still make sense? Is the order of the content logical and meaningful? Of course, there are a lot of other things to check. There also are more advanced ways to perform a first accessibility check, including some browsers add-ons. They help to catch some of the most common mistakes, but they require some expertise.”

Rian’s advice supports Andrea’s: “Check if you can navigate your website without a mouse, with keyboard only. Also, please add subtitles to video and transcript audio. And keep the following in mind when you design or write: People don’t read on a website, they skim the page and navigation for what they want to know and then read.”

The WordPress project is increasingly accessible. You both contributed quite a lot to WordPress. How did you get involved with the community and which part of the accessibility project are you proud?

Andrea accidentally got involved: “I must be honest: it was a period when I was partially unemployed and had some free time, so I started following the project and then submitted my first contribution. About my involvement in the WordPress Accessibility Team, I just owe everything to Rian Rietveld!”

Come see Rian and Andrea speak at YoastCon 2017 on November 2 »banner YoastCon

Proud is the right word, says Andrea: “I think it’s not a specific patch or improvement to the codebase. I’m really glad to see that some of the WordPress contributors, especially the younger ones, they just try to implement accessibility by default when they code. They feel it’s part of a coding best-practice and that’s the best thing I’d like to see in any project.”

Rian: “My drive was to help my blind clients using the WordPress Admin. I’m the proudest of the cooperation we now get from almost everyone in the WordPress community. I think we are on the right track with the Accessibility Team now.”

You can read more about Rian’s journey in the WordPress Accessibility team on HeroPress.

Why shouldn’t people miss your talk at YoastCon?

“Come and learn if you want to know why accessibility and SEO are a great match. Not everyone uses and reads a website the same. We’ll teach you how to create content that is understandable for everybody,” says Rian.

Don’t want to miss Rian and Andrea on stage? Get your ticket now for YoastCon 2017!

Get your ticket NOW »

Read more: ‘YoastCon 2017: Practical SEO’ »

The post Interview Rian Rietveld & Andrea Fercia – YoastCon speakers appeared first on Yoast.

New Core Gallery Widget Targeted for WordPress 4.9

The Core Media Widgets feature plugin introduced a gallery widget in the 0.2.0 release this week. WordPress 4.8 added the new audio, image, and video widgets from this feature plugin. The gallery widget is targeted for merge into the upcoming WordPress 4.9 release.

In testing the new feature I found it to be a simple, straightforward implementation of a gallery widget that could easily replace many plugins that are currently filling this need for users. The option to edit or replace a gallery is immediately available and users can easily rearrange or randomize the images included.

On the frontend the gallery displays neatly in a thumbnail grid. I was able to change the number of columns while editing the gallery, but the preview in the admin did not match the the way the gallery looks on the frontend. The number of columns is correct on the frontend but not in the admin preview. This might cause some confusion for users if it isn’t fixed before landing in core. Contributors to the plugin are looking at this issue.

Overall, the implementation is user-friendly and similar to adding galleries in posts and pages. However, the widget could still use some testing, especially with different plugins installed. For example, with Jetpack enabled, users can choose between a thumbnail and a slideshow gallery, but the slideshow option doesn’t seem to work correctly in the widget. WordPress.org has several hundred plugins that implement some sort of gallery widget and these plugin authors will want to test the new core widget.

Theme authors will also need to test how the core gallery widget interacts with their themes. After testing the gallery widget with several popular WordPress.org themes, I found that many display the thumbnails with unsightly outlines and unpredictable spacing between images.

Weston Ruter, who authored the dev note post when the previous media widgets were introduced in 4.8, said that the paragraph regarding default theme updates is still applicable:

Themes that add custom styles to the MediaElement.js player (namely Twenty Thirteen and Twenty Fourteen) were updated from just styling it within syndicated content, to also include instances within widgets. Most themes don’t restrict styles for captioned images or media players to just post content, that is, limit CSS selectors to classes output by post_class(). If your theme does, make sure to either remove that constraint or include a .widget selector.

Ruter said another dev note will be coming with common theme changes that are required to add the right styling for galleries. Users and theme/plugin developers can test the gallery widget right now on 4.8.2 or 4.9-alpha using the Core Media Widgets plugin. Once the widget is added to WordPress, it will be deactivated in the feature plugin for future releases. Contributors plan to merge the new widget into core next week, provided testing goes well.

WordPress 4.8.2 Patches Eight Security Vulnerabilities

WordPress 4.8.2 is available for download and users are encouraged to update as soon as possible. This release patches eight security vulnerabilities and has six maintenance related fixes. Hardening was also added to WordPress core to prevent plugins and themes from accidentally causing a vulnerability through $wpdb->prepare() which can create unexpected and unsafe queries leading to potential SQL injection (SQLi).

To see a full list of changes, check out the release notes. Auto updates are rolling out to sites that support them but if you’d like to update manually, you can browse to Dashboard – Updates and click the Update Now button.

Why Vue.js Creator Evan You Thinks Vue Could Be a Good Fit for WordPress

photo credit: JSConf China

After last week’s news that WordPress is abandoning React due to its unfavorable patents clause, the discussion regarding the selection of a new framework is heating up again. As Vue is once again among the leading contenders, I reached out to Vue.js creator Evan You to get his perspective on the possibility of WordPress adopting the framework.

“Yes, I had a conversation with the WordPress team mostly answering questions they had about Vue,” You said. “The discussion happened before Matt’s announcement of moving away from React. It was mostly intended for filling the team in with the state of Vue and there was no particular conclusion made from it.

“To be honest, I got the feeling that the team had already decided to go with React and simply wanted to explore other options before they make the final call. I was a bit surprised by Matt’s post, but also understand the concerns behind that decision. I think React is a technically sound choice, and the whole patent issue is unfortunate.”

Vue is back in the mix alongside Preact.js and other libraries WordPress core contributors are considering adopting. You has been active in the comments on the WordPress core development blog during the previous discussion, as well as more recently in the discussion in Gutenberg’s GitHub repo, clarifying misconceptions about the financial stability of the project.

You has been careful to disclose his bias when participating in conversations about which framework WordPress should adopt. During my interview with him, he offered the community three reasons why he sees Vue as a good fit for the project:

“Now that WP has decided to pick a different framework, as the creator of Vue, I surely hope that the WordPress team can adopt Vue,” You said. “Below is why I believe Vue would be a good fit for the choice:

  • “As an independent open source project (not born from within a major corporate), Vue provides a good alignment in terms of OSS values with the WordPress project. It’s fully MIT licensed, and its development is sustained by open financial contribution channels (via Patreon and OpenCollective). This means WordPress can easily ensure Vue’s sustainability by becoming a major sponsor.
  • “Vue is one of the most approachable frameworks out there, with an established and active community, and ever-growing amount of learning resources. Adopting Vue would provide a low entry barrier and smooth learning curve for devs just getting into WordPress development. This also aligns with what made WordPress successful.
  • “As an incrementally adoptable framework, Vue’s flexibility means it can be adapted in different use cases ranging from embedded widgets, plugin development to full single-page applications. It can be used without any compilation step in simple use cases, while being mature and powerful enough for more complex use cases such as Calypso and Gutenberg. It offers the complete stack from vdom + ability to use raw render functions, server-side rendering, routing, state management, build tooling, browser devtool extensions, to editor tooling support.”

Evan You and six others from the Vue.js core team will be participating in an AMA on Hashnode at 12PM on September 20, inviting general questions about the project, how to use it and contribute, and general programming advice. The questions are already rolling in and their answers should provide more information about the future of Vue and its place in the wider JavaScript ecosystem.

WP Tavern has also reached out to Jason Miller, creator of Preact.js to get his perspective on the possibility of WordPress selecting Preact and what it would mean for both projects. The React-alternative is another strong contender among JS libraries WordPress is looking at for use in core.

The Gutenberg team has been working to ensure that WordPress developers will be able to create “Gutenblocks” using any JS library they prefer with different explorations of framework-agnostic block rendering. Ultimately, this would make creating plugins and themes less dependent on the library that is chosen for use in core. Other community members involved in the discussion, however, are keen to emphasize that the framework selected will have an impact on the greater WordPress product ecosystem, far beyond its use in Gutenberg, and are not eager to down play it as a simple technical decision. We’ll have a more detailed look on that in a separate post.

In addition to the discussions on independent blogs, the Gutenberg GitHub issues queue and the #core-js channel on WordPress Slack are both hosting active conversations on the upcoming decision. This week’s core JavaScript chat has been cancelled due to many of those involved traveling or unable to attend. The agenda for the next meeting is to discuss the role a JavaScript framework will play in current and future core focuses (including but not limited to the Gutenberg editor). This meeting is scheduled for Tuesday, September 26, 2017, 8:00 AM CDT.

How to Fix 503 Service Unavailable Error in WordPress

Are you seeing a 503 service unavailable error in WordPress? The problem with the 503 error is that it gives no clues about what’s causing it which makes it extremely frustrating for beginners. In this article, we will show you how to fix the 503 service unavailable error in WordPress.

Fixing 503 service unavailable error in WordPress

What Causes 503 Service Unavailable Error in WordPress?

All WordPress hosting companies offer fixed amount of resources for each hosting account. For websites on shared hosting, this limit cannot handle heavy usage of server resources.

The 503 service unavailable error occurs when your web server is unable to get a proper response from a PHP script. This PHP script could be a WordPress plugin, a theme, or a misbehaving custom code snippet.

If the error is caused by heavy usage, a server glitch, or a DDoS attack, then it could automatically disappear in a few minutes.

However, if it is caused by bad code on your website, then it will keep occurring unless you find and disable the code that’s causing it.

That being said, let’s take a look at how to easily fix 503 service unavailable error in WordPress.

Fixing 503 Service Unavailable Error in WordPress

As we mentioned above that this error is caused when your web server is unable to get a proper response from a PHP script running in the background.

To fix it, we will disable all unnecessary PHP scripts one by one until the error is resolved.

Let’s get started.

Deactivate All WordPress Plugins

All your WordPress plugins are PHP scripts, so first you need to deactivate all your WordPress plugins.

Since you cannot login to your WordPress dashboard due to the 503 error, you will need to connect to your website using a FTP client or File Manager in cPanel. Once connected, go to /wp-content/ folder and rename the plugins folder to plugins-old.

Rename plugins folder

Next, you need to create a new folder and name it plugins.

Now you need to visit your WordPress site to see if this resolved the error.

If it did, then this means a plugin installed on your website was causing the error. The above steps have deactivated all WordPress plugins.

To figure out which plugin was causing the issue, you need to switch back to your FTP client or file manager in cPanel. Next, you need to go to /wp-content/ folder and delete the empty plugins folder.

Delete empty plugins folder

After that you need to rename the plugins-old folder to plugins. This will make all your previously installed plugins available to WordPress. However, these plugins will remain deactivated.

You need to visit the WordPress admin area and then go to the plugins page. You can activate your plugins one by one and visit different pages on your website after activating each plugin. Keep doing that until you find the plugin causing the 503 error.

If this step resolved your issue, then you don’t need to follow rest of the instructions on this page. Otherwise, you can move on to the next step.

Switch to a Default WordPress Theme

If deactivating plugins didn’t resolve the issue, then the next step would be to switch to a default WordPress theme. This will deactivate your current WordPress theme.

First, you need to connect to your WordPress site using an FTP client or File Manager in cPanel. Once connected, go to /wp-content/themes/ folder.

Download your current WordPress theme

Locate your currently active WordPress theme and download it to your computer as backup.

After downloading your theme, you can go ahead and delete it from your website

Now, if you already have a default theme like Twenty Seventeen or Twenty Sixteen installed, then it will be automatically activated. If you don’t, then you can go ahead and install a default theme on your website.

Thoroughly check your website to make sure that 503 service unavailable error is resolved.

Troubleshooting

If both methods fail to resolve the error, then you can take the following steps:

  • Contact your WordPress hosting company because they may be able to pin-point what’s causing the issue.
  • As a last resort, you can reinstall WordPress with a fresh copy.

We hope this article helped you learn how to fix 503 service unavailable error in WordPress. You may also want to see our ultimate list of the most common WordPress errors and how to fix them.

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 Fix 503 Service Unavailable Error in WordPress appeared first on WPBeginner.

How to Duplicate WordPress Database using phpMyAdmin

Do you want to duplicate your WordPress database using phpMyAdmin? WordPress stores all your website data in a MySQL database. Sometimes you may need to quickly clone a WordPress database to transfer a website or to create manual backups. In this article, we will show you how to easily duplicate WordPress database using phpMyAdmin.

duplicate or clone WordPress database using phpMyAdmin

Why Use phpMyAdmin to Duplicate WordPress Database

WordPress stores all your website content in the database. Almost all WordPress hosting companies offer MySQL as your database management software. You can interact with MySQL using command line tools, but that is not ideal for beginners.

PhpMyAdmin offers a web based interface to manage your MySQL database. It can be used to manually backup your WordPress database, restore admin password, or move your website to new server.

You can learn more about it in our guide on how to manage WordPress database with phpMyAdmin.

That being said, let’s take a look at how to duplicate WordPress database using phpMyAdmin.

Duplicate / Clone WordPress Database using phpMyAdmin

First, you need to visit the cPanel dashboard of your hosting account. Once logged in, scroll down to the Databases section and click on the phpMyAdmin icon.

phpMyAdmin icon in cPanel

Don’t worry if your cPanel dashboard looks a little different than our screenshots, or if your hosting company doesn’t have a cPanel dashboard. You just need to locate the databases section, and you’ll find the option to open phpMyAdmin.

This will take you to the phpMyAdmin interface where you need to click on the Databases link on the top to continue.

Select your WordPress database

On this screen, you will see a list of databases available. You need to click on your WordPress database from the list.

Next, you’ll see the list of tables in your WordPress database. Click on the ‘Operations’ link from the top menu to continue.

Database operations in my phpmyadmin

Now, you need to provide a name for the new duplicate database under the ‘Copy database to’ box. Make sure the ‘Structure and Data’ option is selected and then click on the Go button.

Copy database

PhpMyAdmin will now create a duplicate WordPress database for you. Once finished, you will see a success message.

After that you can click on ‘Databases’ link on the top to view your newly created duplicate database.

Manually Duplicate WordPress Database using phpMyAdmin

If you are on a shared WordPress hosting, then it is likely that your hosting company does not allow users to create databases directly from phpMyAdmin.

In that case, you will not be able to see the ‘Copy database to’ box on the operations page.

However, you can still export the existing database and then import it into a new database. To do that, visit the phpMyAdmin in your cPanel dashboard.

After selecting your WordPress database, click on the export button on the top menu and then select custom method.

Export database using phpMyAdmin

Now you need to scroll to the output section and check the ‘Save output to a file’ option.

Output settings

Click on the ‘Go’ button to continue.

phpMyAdmin will now export your WordPress database and send it to your browser as a .mysql file.

Next, you need to create a new database where you can import this file. Visit the cPanel dashboard and click on ‘MySQL Databases’ icon.

MySQL databases in cPanel

On the next screen, enter a name for your new database and click on ‘Create database’ button to continue.

New database

Cpanel will now create a new MySQL database. However, in order to use the database you need to assign it to a MySQL user.

Scroll down to ‘Add user to database’ section and select your MySQL username and then select your newly created database.

Add user to database

After that, click on the Add button to continue.

Cpanel will now grant the MySQL user full privileges on your newly created database.

Now that your new database is ready, you can go ahead and open phpMyAdmin from your cPanel dashboard.

You need to select your newly created database and then click on the import button from top menu.

Import database

Next, click on the choose file button to select the .mysql file you downloaded earlier and click on the Go button to continue.

PhpMyAdmin will now upload the file from your computer and import your database. You will see a success message upon completion.

Successfully imported WordPress database

We hope this article helped you learn how to duplicate WordPress database using phpMyAdmin. If you’re looking for a more efficient way to backup and manage your website, then check out our list of the best WordPress backup plugins.

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 Duplicate WordPress Database using phpMyAdmin appeared first on WPBeginner.

5 questions: Alain Schlesser – WordPress Core Contributor

Alain Schlesser – aka Schlessera – is a prolific WordPress Core Contributor and he is on a mission: “I want to make WordPress future-proof enough to withstand the next few online revolutions without drowning in technical debt, and as a direct consequence, ensure the longevity of the community that’s surrounding it”. Yoast supports him in reaching those goals. Find out more about Alain and his work in the WordPress community.

Optimize your site for search & social media and keep it optimized with Yoast SEO Premium »

Yoast SEO: the #1 WordPress SEO plugin Info

A couple of weeks ago, Yoast hired you as a freelancer to expand the work you do on WordPress core. Can you explain this move and what it enables you to do? And what do you hope to get out of it personally?

For some time now, I have been working on WordPress core in my spare time. I have also invested a lot of time into creating educational material like blog posts and WordCamp talks. I had to do all this besides the client work I am getting paid for. As a freelancer, this causes a constant struggle where you’re trying to balance the work you think is important with the work that pays the bills. It causes a lot of stress, and you even miss many important opportunities because the financial pressure grows too big.

I was always able to produce a lot of open source work as a side-effect of my client work. However, working on the important issues of WordPress core is a different beast. I didn’t find a way to integrate these concerns into any client projects.

Being paid for working on WordPress core means that I can afford to spend the time on critical topics. I can now seize opportunities as they come. It means I can work on the areas of the core that do not provide an immediate ROI, but are necessary for a long-term improvement.

One of my overarching personal goals is to make WordPress future-proof enough to withstand the next few online revolutions without drowning in technical debt, and as a direct consequence, ensure the longevity of the community that’s surrounding it.

You are a very active member of the WordPress community and even a core-contributor to the latest couple of releases. What is it that attracts you to this community and how did you start off?

When I started delving more deeply into WordPress, I quickly noticed that the code did not exactly follow common best practices. Some parts of the code were well-built, but very generally, it all seemed as though people were constantly trying to reinvent the wheel, instead of reading up on accepted solutions for their problems.

That led me to frequently share best practices and tips whenever I found an opportunity to do so. A lot of the jobs and the traction I initially got came directly or indirectly from freely sharing my own knowledge and experience. But I was mostly working in isolation, except for the few Slack teams I was a member of.

This all changed after I attended my first WordCamp. It was WordCamp Europe in Vienna, and it was a wonderful experience. I was already wondering for a few months whether WordPress was the right platform for me. It felt like making several steps backwards as a developer, instead of progressing. But the first WordCamp changed everything for me.

Although I went to Vienna for professional reasons, it enriched my personal life as well. It made me aware of how much I truly appreciate the community that has gathered around the WordPress project. All of a sudden, all the technical drawbacks of the WordPress platform were secondary to the feeling of personal growth in the welcoming and inspiring community.

That’s why I now work hard on helping make WordPress the best platform it can be (… according to my own benchmarks and agenda, of course). I always try to be as positive and constructive as I can manage. There’s more than enough people that are more than willing to tell you all that is bad about the WordPress codebase. However, not many will be able to point you towards a possible path to improvement that will still meet all given requirements of such an old project. I, however, am working on moving from the former to the latter group.

Could you tell us a bit about the work that’s going on in WordPress at the moment? What key issues need to be worked on?

A lot of the effort is currently being focused on Gutenberg. This is the new editing experience that should launch with WordPress 5.0. However, there are many smaller groups still working fervently on other areas of the core that are just as important.

Right now, I am mostly focusing on the PHP/backend side of things. I want to work on the architectural problems that are plaguing WordPress. I also started a feature project to analyze and redesign the bootstrap process. In addition, I am helping prepare a bump of the minimum PHP version and try to fix the major performance issues of a normal request.

More generally, I think that WordPress needs more experienced developers with outside experience, that can help teach and enforce better practices. That’s why I also want to work on eliminating the hurdles that these developers face.

We need helping hands if we want to improve WordPress, right? Basically, anyone working with or on WordPress could make major or minor contributions to improve the CMS. Let’s say someone is interested in taking part in the project, what steps should he/she take?

An obvious first step is to head over to make.wordpress.org and read through the list of teams to see whether something catches your interest. There’s lots of documentation for most teams that take you through the initial steps of contributing for the first time.

Apart from that, just meet other people at the next Meetup or WordCamp in your region. Most WordCamps have a “Contributor Day” that is ideal for getting a feel for the project. There are also team leads present that will help you with the initial onboarding.

Finally, for the people who don’t know you yet, could you give us a little background on yourself and your work?

I started dabbling in software development as a child on a Commodore C-64. I learned to develop in Basic, and mostly tried to build text adventures, which was an early form of natural language processing. Later on, I moved through several other languages, covering C, C++, Assembler, Pascal and a lot of more obscure dialects.

I always saw game development as the most interesting area for myself. In this area, you not only needed to make everything work, it also needed to work as fast as possible. You always try to get around the then very crippling performance limits. This led me down several rabbit holes at once, learning about data structures and algorithms, artificial intelligence, graphics and sound driver development, etc.

When I later thought about what professional path to follow, I always tried to avoid the IT space though, as I associated it with frustrating technical support work, more than anything else. That’s why I ended up working as a government agent in the administration of a prison.

I ended up dealing a lot with IT anyway. Since then, I worked on a very diverse set of projects. I even accumulated some certifications along the way, such as for Oracle PL/SQL or Microsoft Sharepoint development.

As I was never truly satisfied with the work I did for the government (mostly because of the long delays and the nonsensical budget allocations), I read a lot about freelancing, remote work, and lifestyle design.

Then, about three years ago, my wife and I made the jump. We both quit our jobs, moved from Luxembourg to Germany and started a new life. I opted to freelance as a PHP and WordPress developer, as these made up the biggest part of the market. I just assumed it would be easy to find work for that reason.

Read more: ‘Why there’s only one model: the open source model’ »

The post 5 questions: Alain Schlesser – WordPress Core Contributor appeared first on Yoast.

WordPress Abandons React due to Patents Clause, Gutenberg to be Rewritten with a Different Library

photo credit: Lalesh Aldarwish

This evening Matt Mullenweg announced on his blog that WordPress has decided to move away from React due to its BSD + Patents clause licensing. Gutenberg engineers will be rewriting the new editor to use another JavaScript framework and Automattic plans to rewrite Calypso as well:

We had a many-thousand word announcement talking about how great React is and how we’re officially adopting it for WordPress, and encouraging plugins to do the same. I’ve been sitting on that post, hoping that the patent issue would be resolved in a way we were comfortable passing down to our users.

That post won’t be published, and instead I’m here to say that the Gutenberg team is going to take a step back and rewrite Gutenberg using a different library. It will likely delay Gutenberg at least a few weeks, and may push the release into next year.

Mullenweg clarified that Automattic has been happy with React and that the company’s general counsel didn’t think they would ever run into the patent issue. He also commended Facebook on being “one of the better open source contributors out there” and for making their intentions clear. Ultimately, Mullenweg decided that he wasn’t comfortable with the larger WordPress community inheriting the patents clause:

Automattic will also use whatever we choose for Gutenberg to rewrite Calypso — that will take a lot longer, and Automattic still has no issue with the patents clause, but the long-term consistency with core is worth more than a short-term hit to Automattic’s business from a rewrite. Core WordPress updates go out to over a quarter of all websites, having them all inherit the patents clause isn’t something I’m comfortable with.

After the Apache Software Foundation added Facebook’s BSD+Patents license to its Category X list of disallowed licenses, many open source project leaders and developers petitioned Facebook to consider re-licensing React, as many React-based projects are now having to be rewritten. Facebook decided it wasn’t budging on the patents clause and opted to continue protecting its own interests, fully recognizing that it may lose some React community members.

In the past Mullenweg has been outspoken about how Automattic was betting on React. Many in the community considered WordPress adopting React to be a foregone conclusion, given that both Calypso and Jetpack’s new admin interface were built on it, as well as WordPress’ new Gutenberg editor. In making the costly decision to rewrite Gutenberg and Automattic’s products in another library, Mullenweg has demonstrated he is willing to lead the WordPress project in a direction where the community can feel confident about continuing to use and extend the software.

“The decision on which library to use going forward will be another post; it’ll be primarily a technical decision,” Mullenweg said. “We’ll look for something with most of the benefits of React, but without the baggage of a patents clause that’s confusing and threatening to many people. Thank you to everyone who took time to share their thoughts and give feedback on these issues thus far — we’re always listening.”

Gutenberg could certainly use the extra time and may gain a new crop of contributors, given that the learning curve for the new library isn’t likely to be as steep as learning React.

At the end of May, WordPress core contributors had narrowed their considerations for a new JavaScript framework to React and Vue. It appears that Vue is still a strong contender. After a commenter on Mullenweg’s post suggested switching to Vue, he replied that it has been frequently suggested and that the team has met with Evan You, Vue’s lead developer.

When I interviewed Evan You in June, he said he didn’t have enough perspective on WordPress core to make an unbiased recommendation but offered feedback on some technical issues being discussed at the time. He also clarified some common misconceptions about Vue, which WordPress’ React proponents had been using as leverage in their arguments against adopting it.

Mullenweg also confirmed in the comments of his post that Preact is another library under consideration. Preact.js is a lightweight 3kB alternative to React that uses the same API but is MIT-licensed. Some are already speculating about Preact being the front-runner for the replacement, as Gutenberg already has a branch devoted to trying it.

Also, Mullenweg’s comment that the decision “will likely delay Gutenberg at least a few weeks, and may push the release into next year,” seems to only be feasible if the team rewrites the project using Preact.

Public reactions to the news that WordPress is shifting away from React have so far been overwhelmingly positive. Many are thankful and relieved that Mullenweg made the tough decision to change course and select another library after investing so heavily in React.

The discussion regarding the new framework continues behind closed doors and is not open to the public, although a pull request for using Preact in Gutenberg is open on the project’s GitHub repo and some community discussion regarding the library selection is happening there.

Gutenberg to Offer New Approach to TinyMCE in WordPress 5.0, a Plugin to Bring Back Old Interface Will be Available

photo credit: Sergey Zolkin

The WordPress community is currently knee-deep in Gutenberg takes, as the new editor is poised to impact nearly every corner of the ecosystem when it ships in WordPress 5.0. With billions of dollars flowing through the WordPress economy, tensions are high, as many people support themselves and their families with the revenue earned from products and services that have been built on the existing editor.

First impressions range from outright rejection of the new editor to those who embrace it and are hopeful for what it will bring to WordPress. For the past several years, most major new features added to WordPress have come through the feature plugin/feature project process where release leads and other contributors decide whether a proposed feature is ready for merge. The Gutenberg project is taking a somewhat different path to core in that Matt Mullenweg has already confirmed that Gutenberg will ship with WordPress 5.0, but the release will come out when Gutenberg is ready. This approach is part of Mullenweg’s new strategy for core development that makes releases more project-based instead of time-based.

One of the most common concerns that developers and agency owners have about the plan to include Gutenberg in 5.0 is that they may need to hold back some of their sites from updating. The most vocal opponents have called for a way to “opt out” of Gutenberg so that it isn’t forced on their users.

In a post titled “WordPress is about to have its New Coke moment,” Nate Hoffelder shared his first impressions of the new edidtor after taking it for a test run. He said he appreciates the changes it promises but was unable to figure out how to create the blocks in the demo and worries about the “average non-techie” trying to use the interface.

Hoffelder referenced Coca-Cola’s attempt to introduce New Coke in April 1985, which quickly ended in consumers calling for a return of the original flavor.

“My gut feeling is that if users share my frustrations with Gutenberg, they will demand the return of the old interface,” Hoffelder said. “But the official release is months and months away, so it is entirely possible that a UX (user experience) expert will force the Gutenberg developers to make Gutenberg easier to use before it is inflicted upon an unsuspecting public.”

WordPress Users Will be Able to Restore the Old Editor with a Plugin after Gutenberg Lands in Core

WordPress will move forward with the Gutenberg editor as the default experience in the 5.0 release, but Matt Mullenweg confirmed in a comment on his blog that a plugin will be available for users who want to restore the old editor.

“Gutenberg uses TinyMCE, so a better way to think of it is that Gutenberg is a new version of our approach to TinyMCE,” Mullenweg said. “It will be the default experience of WP, for people that want to use something more like what’s currently there we’ll have a plugin they can use.”

This should bring some relief to developers who will not yet have updated their extensions to work with Gutenberg, as well as agency owners who are not ready to give their clients access to the new editor.

In his post, titled We Called it Gutenberg for a Reason, Mullenweg shared his vision for how the new editor will will re-imagine TinyMCE and the advantages it will bring for plugin editors:

Plugin developers will be able to completely integrate into every part of WordPress, including posts, pages, custom post types, and sidebars without having to hack TinyMCE or squeeze their entire feature behind a toolbar button. Today, every plugin that extends WordPress does it in a different way; Gutenberg’s blocks provide a single, easy-to-learn entry point for an incredible variety of extensions. Some folks have already begun to port their plugins over, and are finding that they’re easier to build and have a much improved UI.

For developers who are worried about the compatibility of their metaboxes, Mullenweg said a plugin will be available for providing the legacy edit page for metaboxes. One commenter, whose sites are heavily dependent on Advanced Custom Fields (ACF), asked if there is going to be a version of WordPress that will get long-term support for sites that can’t be upgraded to 5.0 without breaking.

“There won’t be a version of WP like that, but there will definitely be a plugin that gives you the legacy / old edit page. Make sure to let ACF know that Gutenberg compatibility is a top priority,” Mullenweg said.

Scott Kingsley Clark, lead developer of the Pods plugin, said this support for legacy PHP meta boxes is welcome news for the project but that Pods is also looking to get on board with Gutenberg once the project’s engineers have a solution for metaboxes.

“I’m very excited to start using the new meta boxes from Gutenberg once the API supports it and gives us more to utilize,” Clark said. “As soon as that’s available, count us in for immediate adoption.”

Despite assurances that a plugin will be available to restore the old interface, some are still concerned about how Gutenberg will impact the WordPress ecosystem. The average WordPress user has never heard of Gutenberg and its inclusion in 5.0 will be a major change.

In a recent article on WPShout Fred Meyer contends that Gutenberg doesn’t go nearly far enough towards giving users what they really want, which he identifies as front-end editing and the ability to create layouts within post content.

“Gutenberg doesn’t go nearly far enough,” Meyer said. “It won’t make WordPress’ core content editor competitive with hosted builder solutions, or even with WordPress’ own themes and plugins (including badly built, bad-for-the-community solutions like Visual Composer.)”

Meyer believes Gutenberg has the opportunity to defragment WordPress’ ecosystem of page building tools, but only if it moves towards providing “a feature-rich, developer-friendly, front-end page builder and content editor.”

In responding to feedback from the community, Gutenberg design lead Tammie Lister has said that the project is currently focusing on editing before tackling the page building experience. The team has also been working with the authors of page builder plugins ahead of the next focus on customization.

“It is still a little early to say what will happen to plugins and builders,” Lister said. “Initially, Gutenberg is focusing on the editor. The next stage is for the Customization focus (the building of pages). One thing that will need to happen is a lot of testing of existing plugins with Gutenberg. That’s how we can ensure things do work and limit issues. Ultimately, more and more plugins won’t be needed – or at least not so many together to achieve simple things. This benefits users and creates a better, more unified experience for all.”

If users’ first impression of Gutenberg is that it is unable to deliver on all of the lofty promises of the project, they may return to the old interface en masse. WordPress will then have a battle to convince users to give it a another chance as the experience improves to include customization.

Multi-column layouts, which are the gateway to page building, are not currently within the scope of the first official version coming to core. Gutenberg’s one-dimensional, vertically stacking approach to designing pages isn’t very inspiring. This may frustrate average users whose expectations have not been tempered with the understanding that a future version will include an expanded page building experience. A plugin that allows users to opt out until it is an improvement over their current tools is going to be crucial for keeping the community happy.

How to Create and Add Cinemagraphs in WordPress

Do you want to learn how to create and add Cinemagraphs in your WordPress posts? Cinemagraphs are images with one part or area moving while rest of the image stays still. These images are highly engaging and add an storytelling element to your articles. In this article, we will show you how to easily create and add cinemagraphs in WordPress.

Creating cinemagraphs for your WordPress site

What are Cinemagraphs?

Cinemagraphs are typically GIF images where a small part of the image is moving while rest of it remains still. They look very cinematic hence the name cinemagraphs.

Cinemagraph preview

They add a storytelling element to images which makes them look more engaging. They are particularly useful when accompanying longform content, podcast episode, or an audio story.

Creating cinemagraphs is a bit different than regular GIFs. However if you have the right tools, then with little effort and some practice you’ll be able to create stunning cinemagraphs from your own videos.

That being said, let’s take a look at how to easily create and add cinemagraphs in WordPress.

Creating Cinemagraphs from Videos

To get started, you’ll need the following items:

  1. A small video clip that you want to convert into a cinemagraph
  2. Adobe Photoshop
  3. Your time, patience, and creativity

Let’s get started.

First you need to get your video ready. You can use a video editing tool like iMovie to trim the video to just the bare minimal clip that you need for the cinemagraph.

Next, you need to open Photoshop and import your video into layers by clicking on the File » Import » Video Frames to Layers menu.

Import your video into layers

Select your video and then click on the OK button to continue. Depending on your video size, it may take a little while to be fully imported.

Video to layers import

Once your video is imported, you will see video frames as layers under the layers panel.

Layers imported from video

Now you need to select all the layers except for the very first layer (Layer 1).

Go to Layer » New » Group From Layers menu or press Command + G (CTRL+G on Windows) to add layers into a group.

Grouped layers

Next, you need to select the group and go to Layer » Layer Mask » Reveal All to add a mask to the group.

Reveal all

After adding the mask, press Command + I (Ctrl + I on Windows) keys to invert the color of the mask.

Now set the foreground color to white and then click on the brush tool. You need to use the brush tool to highlight the area you want to show in the loop.

Brush the moving parts to highlight them

After that, go to Window » Timeline to open all your layers in an animation format.

You will notice all frames appear transparent in the timeline except for the first frame.

Timeline

To change that, select the first layer (Layer 1) in the layers panel and click on the Unfiy Layer Visibility icon and then press the Match button.

Unify visibility

Next, click on the toggle icon of the Timeline and select all frames. After that click on the toggle button again to choose Copy Frames.

Copy frames

After copying the frames, click on the toggle button and select ‘Paste Frames’ option.

You will be asked to choose a paste method. Select ‘Paste After Selection’ and press the OK button.

Paste after selection

Next, you need to click on the Timeline toggle icon once more and select the ‘Reverse Frames’ option.

Reverse frames

Your cinemagraph animation is almost ready.

To save it on your computer, go to File » Save for Web option. This will bring up a popup where you need to select GIF format and click on the save button.

Save as GIF

That’s all your Cinematograph is ready.

You can add it to your site like you would add any other GIFs in WordPress. Simply edit the post or page where you want to add the cinemagraph and click on the add media button.

Upload your cinemagraph GIF in WordPress

This will bring up the media uploader popup, click on the select files button to upload the GIF file from your computer.

Once uploaded click on the ‘Insert into post’ button to continue.

You will now see the image in your WordPress post editor.

Don’t forget to save or update the post. You can now click on the preview button to see the cinemagraph in action. Here is the cinemagraph we created during this tutorial.

Cinemagraph example

We hope this article helped you learn how to create and add cinemagraphs in WordPress. You may also want to see our list of websites offering free royalty free images for WordPress users.

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 Create and Add Cinemagraphs in WordPress appeared first on WPBeginner.

SWFUpload Will Officially Be Removed From WordPress

SWFUpload is an open-source library that was used by WordPress in 2011 and earlier that allowed users to upload files. The library was abandoned and replaced with Plupload in WordPress 3.3, released in 2011. Despite being replaced, WordPress continued to bundle the library for plugins that didn’t migrate to Plupload. In 2013, the core team forked SWFUpload and maintained the project, applying security fixes submitted by contributors.

After six years of deprecation, the core team has announced that SWFUpload will officially be removed from WordPress core. The team searched the WordPress plugin directory and compiled a list of plugins that contain references to swfupload in their code. According to Weston Ruter, the list includes 128 themes and plugins.

Some of the most popular plugins include:

The team is working on a way to provide enough backwards compatibility to ensure there are no JavaScript errors and an upload form is displayed instead of embedded Flash. Andrew Ozz also apologized to plugin authors noting that the list likely contains some false positives. If you use one or more of the plugins mentioned above, please get in touch with the author and ask if it will function without SWFUpload in core.

How to Determine the Cost of a University Website?

Pricing is never easy. Estimating work is one of the most tedious activities for me when discussing a new project proposal – let alone a migration or something based on existing code base.

This was the reason for me to write Why Are Estimates Challenging For Custom Development Work? and engage in similar discussions every now and then.

The main problem is that there’s often a disconnect between a customer’s expectations or budget and the cost of building a solution. Most of the actual development goes into building various layers that don’t expose UI, integrating caching engines, dealing with security prevention mechanisms and the like.

A platform could be designed differently depending on the growth of the business, too. Everyone can set up a website with a DIY builder or a self-hosted solution running a few modules. But as the platform grows, more and more time has to go into maintenance, refactoring, ongoing development.

Which is why our entire business model revolves around monthly retainer agreements – since it’s easier to allocate resources and work continuously on improving all platforms we’ve built.

Here are several considerations regarding determining the cost of a project.

0. Requirements

I’ve intentionally used 0 as this would make or break the rest of the estimation process.

A regular inquiry from a customer may include an RFP asking for a complete design of a university website with 25+ pages, a student portal, a complete management system embedded in the website, and then some.

Before proceeding further, let’s determine the responsibilities.

  • First off, are you a designer or a developer? Could you do all the work yourself? It’s likely that you need to partner up with someone and determine their fee and costs for their part of the project.
  • Also, who’s doing the design? How many iterations would you let your client review before agreeing on the layout? Are there any constraints in terms of flexibility (sliders, galleries, parallax)? Are there common page templates that you can unify for some pages – or everything would be completely unique? What about the tablet and mobile versions?

Then we move to the student portal bit.

  • How would this one work? How many user flows would we need to define? What roles would the platform support (teachers, student, principals, admins)? What would be the capabilities for each role? What would the student portal entail and support?
  • Same goes for the “complete management system”. Every time I read “complete”, I cringe.

Without defining the scope to the latest detail, you’ll have a hard time figuring out the amount of work to be done. You may very well end up spending 50–60 hours on the basic build and receiving a 40-page list of missing features, eating up another 1,000 hours outside of your initial budget.

1. Hourly Rate

While many are against hourly pricing, it’s still a viable way to determine whether a project would be a profitable gig to get involved with.

You don’t necessarily have to price hourly – but you need to do the math for yourself.

Here’s a sample calculator that you could use if you’re unsure of your expenses – Freelance Hourly Rate Calculator by Freelance Boost. That’s meant for full-time freelancers adding all of their expenses, vacations, taxes, equipment costs and the like.

It’s much better than dividing your salary by 12 and then by 160 hours monthly. There are too many variables on an annual basis.

Using the hourly rate, you have to estimate the complexity of the project based on the requirements. You will likely have to add some buffer for revisions, communication overhead, and everything else in-between.

2. Total Cost

The hourly rate would be the basis for coming up with the total cost of the project.

When you come up with the final number, consider how realistic it is. Think about a lightweight version with limited features or a Professional plan that goes above and beyond. Sending two to three different estimates with varying features may work out well for some clients.

You will need some form of a contract in order to define everything in details – including communication and payment iterations. Otherwise, you’ll likely end up waiting for feedback for weeks or asking for payment for several months in a row.

3. Technical Stack

Ideally, you’ll decide on the right starter framework or a platform that you could accomplish the goals with.

If you attempt to build everything from scratch, it may not be desirable in terms of the amount of time and budget. Sure, there are plenty of examples where this is the right way to go – but if a framework will cut 20% of your time or an existing platform solves 90% of the problems, that’s worth noting as well.

Many clients are using an existing technical stack and may have preferences to a certain technology. If the platform has to be deployed internally by the systems team, they may already run a web stack.

And it’s possible that they don’t want to set up a new web server, a database engine, or anything else for that platform in particular.

Or the management team may be familiar with Moodle, WordPress, some self-hosted LMS platform – and more willing to utilize it if possible.

Since the technical stack would affect the budget, discuss that upfront with your client.

4. ROI

The key thing we’re always trying to determine early on is the estimated Return on Investment for a new build. The ROI is never clearly defined but you can speculate.

A good starter basis is figuring out how much time and money will the platform save or earn your client over the course of a year or two.

  1. What is the current process for dealing with students?
  2. How many people are involved with this process?
  3. What would be the main benefits of going with the platform as compared to the existing workaround?
  4. How much time would be saved by the business when the platform is live?

Essentially, if a business has 10 people half-time dealing with applications and unhappy students losing emails due to the lack of a better option, you may effectively save the time for 5 full-time employees and their corresponding pay checks and then some.

Roughly speaking, if the new platform can use 2 half-time people managing everything and more students are likely to apply thanks to the new process, we’re talking 4 salaries $XX,XXX/year each plus increased revenue due to more applicants and better brand awareness.

Charging a percentage of that would be absolutely reasonable when working with the right client.

After all, it’s about solving a business problem. The better you solve it and the more time saved/money gained, the more sense it would make for your client to pay a percentage for building this magical platform.

5. Competition

Most clients talk to different agencies or freelancers – plus friends. They have some number in mind – more or less – and use it as a basis when discussing the bids.

  • If your client is more eager to talk to larger agencies, you may want to provide a cost-effective solution and a type of service that goes through fewer hoops in order to get something done.
  • If they’re talking to each and every freelancer, it’s likely that they would be tempted by the low price. Focusing on quality, results, and outstanding service is absolutely mandatory.

As a final note, we always try to talk price early on. It doesn’t have to be a fixed budget but we still push for some expectations early on.

Since You Were Expecting a Quote…

There’s no way you can get one given a limited set of requirements.

But here’s a hypothetical process you can follow – very roughly – in order to come up with some ballpark.

  1. Use the Freelance calculator linked above and come up with your hourly rate. Say, $80/hour
  2. Gauge your skills based on your experience and the market expectations. You may need to start low or don’t bill part of your R&D since you’re still learning.
  3. Conduct a set of extensive discovery sessions with the client. The more details you can gather, the better.
  4. Figure out what are the main activities you need to be involved with yourself.
  5. Decide on whether you need help for certain tasks (design, server management, etc).
  6. Find freelancers or agencies you need to cooperate with and try to assess their expenses.
  7. Consider the available applications or frameworks that you can utilize.
  8. Build a detailed scope/specification/proposal included each and every step of the process in-depth.
  9. Include a clause covering the areas you won’t work on – along with certain constraints.
  10. Cover project management and communication overhead.
  11. Add a buffer for unexpected surprises or additional fixes (during the QA phase and so forth)
  12. Get a sign-off and make it happen.

If that university platform could leverage WordPress with LearnDash or Moodle integrated with WordPress, or any other off-the-shelf platform, you can save a couple hundred hours of custom development and invest 30-80 of them on optimization, custom features, bridges, proxies – whatever. That doesn’t exclude the custom features.

Your list may go as follows:

  • Project management, planning, communication: 20 hours
  • Integrating platforms X, Y, Z – 10 hours
  • Building 5 extensions for A, B, C, D, E – 60 hours
  • Design: 50 hours
  • Front-end development for 8 different page templates: 30 hours
  • QA: 20 hours
  • Server setup and management: 20 hours
  • Training: 10 hours

Those numbers are definitely pulled out of thin air since they depend a ton on everything else to be discussed during the discovery session.

In that scenario, we’re at 220 hours at $80/hour or $17,600. Quoting $20K with some buffer for enhancements or regressions may be reasonable (if not lower).

Since we’ve discussed ROI, doing the rough math early on would help. If that’s a new client that’s just bootstrapping, they may rather go for something much simpler and less powerful at first (thus cutting costs) before investing in that. if it’s a large university group, a $50K quote could make more sense as the number of stakeholders and the system requirements may be much more complicated (in terms of scalability, security, ADA compliance and tons of other areas that need attention).

In reality, we may be projecting a spaceship when the customer needs a baby stroller. If we are willing to build a stroller and this won’t conflict the business plans, we’d adjust accordingly. Otherwise, our first step would be explaining all of the problems with “going cheap and fast”.

The post How to Determine the Cost of a University Website? appeared first on Mario Peshev.

How to Add the WordPress Logout Link to Navigation Menu?

Do you want to manually add a WordPress logout link on your site? If you run a WordPress membership site, then having a prominent logout link is helpful for your users. In this article, we will share the direct path to WordPress logout link, and how you can add the logout link in your WordPress menu as well as other areas of your site.

Link to logout of WordPress

The Logout Link for WordPress

Normally you can log out of your WordPress site by clicking on the logout link. This link is located below your profile picture in the top right corner of the WordPress admin bar.

All you have to do is take your mouse over to your username, and it will appear in the dropdown menu.

Log out link in WordPress admin bar

In case you or your site administrator have disabled the WordPress admin bar, then you will not be able to see the WordPress logout link.

The good thing is that the WordPress logout link can be directly accessed to log out of your current WordPress session.

The logout link for your WordPress site looks like this:

http://example.com/wp-login.php?action=logout

Don’t forget to replace example.com with your own domain name.

You can access this link directly in your browser window to log out of your WordPress site.

When you visit the WordPress logout link, it will take you to a warning page. You will need to click on the log out link to confirm that you really want to log out.

Logout confirmation

You can also manually add this logout link anywhere on your WordPress site. Let’s take a look at how to do that.

Adding the Logout Link in WordPress Navigation Menus

Adding the WordPress logout link in your site’s navigation menu will make it easily accessible from any page on your website.

Simply head over to the Appearance » Menus page in your WordPress admin. After that, you need to click on the custom links tab to expand it and the the logout link in the URL field.

Logout link in navigation menu

Once you are done, click on the ‘Add to menu’ button, and you will notice the link appear in the right column. You can adjust its position by simply dragging it up or down.

Don’t forget to click on the ‘Save Menu’ button to store your changes.

You can now visit your website to see the logout link in your navigation menu.

Logout link in the navigation menu

The problem with adding the logout link in menu is that it is visible to all users (both logged-in and logged-out). It only makes sense to show the logout link to users who are actually logged in.

You can do that by following our instructions on how to show different menus to logged in users.

Add WordPress Logout Link in the Sidebar Widget

WordPress comes with a default widget called Meta. This widget shows a bunch of useful links including a logout or login link to users.

Meta widget in WordPress

Some people find the other links in the Meta widget are not quite as useful.

As an alternate, you can also add a plain text or custom HTML widget with the logout link in plain HTML. Here is the HTML code you’ll need to add:

<a href="http://example.com/wp-login.php?action=logout">Logout</a>

Logout HTML widget

That’s all for now.

We hope this article helped you find the direct WordPress logout link and add it on your navigation menu. You may also want to see our ultimate step by step WordPress security guide for beginners.

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 Add the WordPress Logout Link to Navigation Menu? appeared first on WPBeginner.

Plugin Support Reps

Some of the larger plugin shops have a support team to help out on the forums. It would be useful to be able to give those people a special “support rep” role on the forums so they could be recognized as such.

Support representatives can mark forum topics as resolved or sticky (same as plugin authors and contributors), but don’t have commit access to the plugin.

The UI for managing plugin support reps can be found in Advanced View on the plugin page, next to managing committers:

Screenshot of the UI for managing support reps

Once someone is added as a support rep, they will get a Plugin Support badge when replying to the plugin support topics or reviews:

Screenshot of Plugin Support badge on the forums

5 questions: Remkus de Vries – Forsite Media

His name is Joeke-Remkus de Vries, but you can call him Remkus. You might know him by his online handle DeFries and you could have run into him at one of the many WordCamps around the world. Remkus is a well-known and respected figure in the WordPress community and we’re glad to offer him the possibility to do more awesome work in the community. We’ve asked Remkus five questions and these are his answers.

Optimize your site for search & social media and keep it optimized with Yoast SEO Premium »

Yoast SEO for WordPress pluginBuy Yoast SEO Premium plugin Info

You and Joost/Yoast go way back. Recently, Yoast started sponsoring you part-time to do WordPress community work. What kind of community efforts will you be working on thanks to Yoast? Could you tell us more about that?

Yeah, I know Joost from before there was a Yoast company. Joost and I co-organized some of the first WordCamp Netherlands editions and we’ve always remained friends. I’ll be focussing my efforts on participating in the Community team with validating meetup and WordCamp requests as well as helping out where needed. I’ve spent the last couple of weeks reacquainting myself with everything happening at the WordPress Community Make site in order to help out as best as I can.

The time and energy I spent being part of the organizing team for the previous WordCamp Europe and Netherlands editions, was not where I wanted them to be. But with Yoast sponsoring me part-time, I’ll be able to spend significantly more time in the organization. I’ll help organize the 2018 edition of WordCamp Europe in Belgrade as well as the next WordCamp Netherlands which will probably be held in 2018 as well. Additionally, I’ll visit WordCamps around the globe on behalf of Yoast and represent them in any way I can. Not a bad situation if you ask me ;)

That’s great news! So, how did you start out in the WordPress community?

I started developing sites with WordPress since before we had such niceties as pages. Soon, my hobby became work. Today, I run a couple of WordPress related businesses, Forsite Media and WP ServicePoint being the most prominent.

In 2008, I entered the WordPress community. I discovered that the WordPress project in the Netherlands was in a pretty sorry state. At that time, new Dutch versions of releases came out months after the default one. In addition, the quality of the translations was very inconsistent and, quite frankly, all over the place.

I didn’t want to be embarrassed when handing over a site to a customer. The only way to improving this product to an acceptable level of quality was to take matters into my own hands. So, with the help of Zé Fontainhas – who at the time was handling all things Rosetta and Polyglots – I took over the translations, set up a consistent team, started releasing a Dutch WordPress version within 24 hours and started cleaning up the Dutch WordPress forums with the help of newly found moderators.

In 2009, I co-founded WordCamp Netherlands and have been the lead organizer from 2010 till 2016. Those first editions were all about “activating” the Dutch community. At the same time, I started going to WordCamps abroad and found many kindred spirits and ultimately, friends. Together with the same Zé Fontainhas, I co-founded WordCamp Europe in 2013. You can learn more about how that went on WordPress.tv.

You’ve been very active in the WordPress community for many years now. In these years, WordPress became increasingly popular, leading to an ever-growing community. What’s your view of the current state of the WordPress community?

It’s amazing to see where WordPress is now coming from just a small blogging platform. In my opinion, the current state of the WordPress Community is very healthy. More and more people are going to and organizing WordPress Meetups and WordCamps and more and more communities are starting to flourish. This ultimately brings in, even more, people into the WordPress project and that’s obviously a good thing from where I’m standing. Couple this with the ever growing list of available locales, in which WordPress is available, and I have no doubt we’re going in the right direction of democratizing the web.

The WordPress community is huge. You focus mostly on organizing meetups and WordCamps. Why did you pick that particular part and why do you love it so much?

I’m not sure I specifically picked that part, that kind of happened. I saw ways of improving the WordPress project and I went out of my way to do it. Doing this while meeting people; making friends made it very easy to continuously put energy into it. I get a lot of joy out of the fact we have such strong Dutch and European WordPress Communities.

You often hear that anyone working, developing or building with WordPress could also play a part in getting WordPress to the next level by participating in the community. What advice would you give people wanting to lend their hand to the WordPress project?

Simple. Go to meetups, get involved, go to WordCamps and especially the Contributor Days. It’s a great way to learn about the larger project and find your place within it. Once you’ve found your place, it becomes a lot easier to find out in which area you’d like to contribute most. Be it helping out on the forums, doing translations, improving WordPress’ core or any of the other subjects you can help out with.

Read more: ‘There’s only one model: the open source model’ »

The post 5 questions: Remkus de Vries – Forsite Media appeared first on Yoast.

Boost Your Public Speaking Chops With These 10 Practical Steps

In 2006, I made a career switch and joined an R&D company with a strong training department. Over the past decade, I’ve spent over 6,000 hours on stage – the majority being training courses mixed with 100+ conference talks and various meetup or workshop sessions.

I’ve had the opportunity to teach classes and present at:

  • CERN (the European Organization for Nuclear Research)
  • Saudi Aramco (the world’s biggest oil company)
  • VMware, SAP, Software AG, and dozens of other multinational tech organizations
  • MIT (and a dozen more universities, training academies, and schools)

to name a few.

Since most answers focus on public speaking at events, I’ll share some thoughts on public speaking from a trainer’s perspective – applicable for a keynote speech, a lightning talk, a workshop, a standard conference talk or a complete training.

Here are the top ten strategies I focus on when working with my training groups.

1. Study Your Audience Upfront

Most of my embarrassing moments on stage were due to a misaligned scope of a talk or a training course.

You probably won’t receive a physical folder with the CVs of each attendee (although I’ve actually received that for courses), but doing a proper research upfront would help you serve the right audience.

I’ve attended several technical conferences where 70% of the attendees were managers and C-levels. Or marketing events crowded with designers and developers.

Ask the conference organizers about demographics. Compare with existing data from the previous year. Make sure that your talk is titled properly and assigned to the right track or panel.

As an expert, you could improvise and shift your story in a relatable way for your attendees. But rebuilding your slides or coming up with the right stories will likely not work out in the last moment.

Knowing your audience will let you craft a scenario that resonates with them and is genuinely helpful.

2. Industry expertise is a must

I’ve seen far too many dilettantes presenting at events as presumable authorities.

Not only this may backfire but there’s a risk of talking non-sense or just misleading your audience as an honest mistake.

It’s also a pity if you can’t answer basic questions in front of the audience.

Last year, I spoke at an event with over 2,000 people. The speaker presenting before me had some freelance experience and decided to submit a talk about project management. Not only was the story bland and impractical, but she wasn’t aware of “agile” or “waterfall” when someone asked her which methodology does she apply with her clients.

She was certainly a nice lady but lacking the 101 in the field is a good after party story for years to come.

Stick to what you know best. Dabble with relevant and tangible areas but don’t pretend you’re qualified to discuss.

3. Replicate a natural conversation

Many inexperienced speakers follow a specific rule book that sets a specific tone – a certain body language, intonation, tone, pace, gestures.

Many of said tips are reasonable. But following them isn’t straightforward.

That’s why you have acting classes. You can watch some series and try to shadow a star. But you need to get in the groove and become comfortable.

Your temperament, weight, and height, clothing style, voice, expressions, mood, accent form a complete picture. Borrowing some tips may very well seem unnatural and make your audience uncomfortable.

Use your personal experience and see what works best for you.

  • What gets you energized while hanging out with friends at a garden party or a bar?
  • Are you able to entertain your neighbors and make them laugh?
  • When was the last time you were talking about your experience and everyone gathered around, listening and asking follow-up questions?

Tap into your experience and build the best version of yourself that you’re comfortable with. Iterate and improve if needed but don’t force it and don’t take huge leaps. One step at a time.

Being comfortable and communicating clearly would seem natural and ease up the crowd.

4. Use relevant stories and examples

I can no longer stand the endless storytelling that became trendy over the past few years.

Using relevant stories or a brief intro that would provide some context is great. But unless you’re a life coach, an inspirational guru, or simply one of the top 20 influencers worldwide, you need to provide value.

Use relevant examples in your talk. Build case studies. Discuss practical applications and how was your experience helpful.

But definitely avoid starting with a 5-minute story from a fairy tale book that has nothing to do with your topic. It’s likely that:

  1. Other beginner speakers would try the same advice from the rule books
  2. Experienced speakers will build a powerful story that would bring value

In any case, being helpful in an engaging way is much more meaningful than just being entertaining.

5. Consider the session time format

I’ve always found 5-minute lightning talks to be 10x more challenging than a 2-hour workshop.

In theory, that shouldn’t be the case, right? You can prepare easily, it’s a brief talk, not too much to mess up.

Creating an engaging story, connecting with your audience, uncovering a reasonable topic and building up to a legitimate conclusion in merely 5 minutes requires mastery.

Therefore, it’s really important to fit into the right time format.

There are lightning talks within 5–15 minutes. Or standard conference presentations between 30 to 45 minutes. A keynote speech may last an hour and a half or more. Training courses and workshops may last for a whole day, a week, or even longer.

Be careful when selecting a topic depending on the time frame. Make sure you can fit the right details within the established time frame. Keep an eye on the breaks between the sessions and see if there’s someone else presenting before you.

Setting up your own laptop at some events may eat up some time as well. Consider the acceptable time for answering questions.

A 20-minute talk may shrink to a bit over 10 minutes if you don’t plan everything well enough. Trying to deliver a 30min+ presentation would not end well.

6. Follow the very same train of thought

Each talk, a workshop session, or a training course comes with an agenda.

That agenda aims to deliver some results, explain a problem, or demonstrate a process. Roughly speaking.

Which is why public speakers need to build a story that revolves around the problem in hand and repetitively provide the proof and techniques that attendees can leverage themselves.

One of the best ways to prepare the talk is thinking backward. Consider the end goal. Imagine the end result and what the impact should be. Then reverse-engineer that into a step-by-step process being the foundation of your presentation.

And be consistent. Each example or scenario should support your core idea.

Imagine a legal case. Each trial aims to bring enough facts supporting attorney’s case. Deviation could weaken the story and sneak suspicion in the jury.

What about a software project management? Or building a marketing campaign? Or a curriculum for a university program?

All of them have an end goal in mind and every step gets you closer to the goal.

Build a story that’s engaging, support it with examples, tailor it to your audience and make sure you fit into the time format.

7. Don’t rush

Talking too fast is common with nervous and inexperienced speakers. But that increases the odds of introducing too much context and new information to people who can’t cope up and simply give up on your session.

Moreover, you’re processing more information which drains your energy. The pace isn’t balanced, either. There are more breaks once you try to recollect a memory.

Your presentation should be engaging. You can play with the pace once you have more experience. Don’t be afraid of introducing longer breaks and pauses. Convey a message, build up some tension, speed up a bit and then hit a break.

That’s not to say that you should be boringly slow. But rushing in an attempt to recite the entire talk without missing any slides is common – and you have to keep the pace into account. It will require some practice – but it makes a difference.

8. Share your top strategies

There’s a ton of common knowledge out there. Information widely available in Google and techniques that are considered to be “best practices” by everyone out there.

With that informational overload in mind, unique and creative strategies are always valued more than standard ones.

It’s the same as enrolling in a class, reading a book or even checking on an article out there. If it’s generic and mainly covers common sense ideas, it wouldn’t be as valuable to you.

On the other hand, if it reveals some practical strategies, a unique perspective, less known instruments and tools or some time-saving shortcuts, this would be far more meaningful. Including practical case studies or results from experiments that someone has spent time and money on are the way to go.

Don’t be afraid to share your best strategies when presenting. The more helpful you are, the more your audience will enjoy your talk and will be happy to attend another presentation of yours.

9. Observe your audience

Most strategies shared above (and answered by others) are generally helpful and work more often than not.

But people are different. They work in different fields and have different expertise. Most of all, they may attend an event to learn something, to meet people, or simply because they were sent by their HR or management teams.

You can’t satisfy everyone and the larger the crowd, the more challenging it is to juggle with different points of view.

But you can keep an eye on your visitors and adjust your style depending on their interest. Feel free to poll them before you start (a couple “hands up” questions would do) in order to learn more about them.

You can ask a few questions during the talk as well – just to reclaim their attention and provide some know-how depending on what makes sense to them and what – doesn’t.

You can, of course, follow your initial agenda – and this may be fine in most cases. But if the group of people is looking for something else, you still have a chance to showcase some other tricks or share some specific strategies of yours that would be applicable to those fellows.

10. Always keep practicing

Public speaking isn’t something that you can only practice during a training course or at a conference. Plus, there’s plenty of work you should put in body language, clear pronunciation, following the right pace, preparing use cases and examples, designing your slides – you name it.

There are plenty of meetups that you can apply to in your area. There are virtual conferences and webinars that you can participate in. Or you can start a podcast or a YouTube channel and test new strategies weekly.

There’s an international club called Toastmasters that organizes events for people eager to improve their communication and public speaking skills. They meet frequently and exchange tips, do short presentations and share feedback. You can browse for a local Toastmasters group or contact them with a request for starting a new one in your town.

There are different speaking games such as Bredogenerator organized by other communities. Of course, there are all of the books, training YouTube videos, and public speaking classes that you can follow regularly.

Public speaking is a skill. You need to practice regularly and nurture it. The better you get, the more techniques you can incorporate in your talks and help your audience even more.

The post Boost Your Public Speaking Chops With These 10 Practical Steps appeared first on Mario Peshev.

Hello everyone, some of you…

Hello everyone, some of you will have the following email in your inbox:

Your password on WordPress.org has been deactivated, and you need to reset it to log in again.

We recently discovered your login credentials in a list of compromised emails and passwords published by a group of security researchers. This list was not generated as the result of any exploit on WordPress.org, but rather someone gaining access to the email & password combination you also used on another service.

To reset your password and get access to your account, please follow these steps:
1. Go to login.wordpress.org
3. Click on the link “Lost your password?”
4. Enter your WordPress.org username:
5. Click the “Get New Password” button

It is very important that your password be unique. Using the same password on different web sites increases the risk of your account being hacked.

If you have any further questions or trouble resetting your password, please reply to this message to get help from our support team. We will never ask you to supply your account password via email.

At this point we don’t have a reason to believe any accounts have been compromised, but out of an abundance of caution passwords are proactively disabled just to make sure.

If you have any questions don’t hesitate to post them in the comments.

Minimum PHP version requirement

Not all plugins can work on PHP 5.2, like WordPress core currently does. Not all plugin developers want to support PHP 5.2, like core does. As a project, WordPress would like to move forward and encourage people to use more recent PHP versions.

As one of the first steps to reach that goal, plugin authors can now specify a minimum required PHP version for their plugin in readme.txt file with a new Requires PHP header:


=== Plugin Name ===
Contributors: (this should be a list of wordpress.org userid's)
Donate link: http://example.com/
Tags: comments, spam
Requires at least: 4.6
Tested up to: 4.8
Requires PHP: 5.6
Stable tag: 4.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Users will see this displayed in the plugin directory, like this:

As a next step, the WordPress core team is going look into showing users a notice that they cannot install a certain plugin or theme because their install does not meet the required criteria, with some user-oriented and host-specific instructions on how to switch their site to a newer PHP version.

If you have any feedback on the subject, please leave a comment or join the next PHP meeting in #core-php channel on Slack.

Matt Mullenweg Addresses Concerns About Gutenberg, Confirms New Editor to Ship with WordPress 5.0

Matt Mullenweg published an appeal to WordPress users over the weekend in a post titled “We Called it Gutenberg for a Reason.” In it he offers a better look at his vision for Gutenberg, which he contends will be as transformative for WordPress’ future as the first movable type printing was for Europe’s printing revolution.

Mullenweg identified the new Gutenberg editor as the tool that will enable WordPress to meet its competition and the opportunities available in the small business sector:

WordPress’s growth is impressive (28.5% and counting) but it’s not limitless — at least not in its current state. We have challenges (user frustrations with publishing and customizing, competition from site builders like Squarespace and Wix) and opportunities (the 157 million small businesses without sites, aka the next big market we should be serving). It’s time for WordPress’ next big thing, the thing that helps us deal with our challenges and opportunities. The thing that changes the world.

Automattic has been moving towards offering better support for small businesses with its 2015 acquisition of WooCommerce and steady commercialization of Jetpack, with plans targeted at business owners. The company is poised to capture even more of the self-hosted small business market by allowing customers to tap into WordPress’ third-party ecosystem.

However, many vocal opponents to Gutenberg (and the changes that will come along with it) are concerned that the project is being developed chiefly to serve Automattic’s customers and corporate interests.

“Gutenberg has been mainly introduced by one particular company which seems to be in urgent need to compete with other SaaS businesses,” WordPress theme development company owner Michael Hebenstreit said. “That’s fine, but then keep it as a plugin for at least 1-2 years, put it on WordPress.com (to gather real live feedback and usage data) and nobody will have any issues with that approach.”

Mullenweg addressed concerns that Gutenberg is being developed for Automattic’s customers in a reply to a similar comment on his post.

“There definitely is a contingent that seems to think that, but if you think through it logically it doesn’t make sense: if it were just to benefit Automattic it would be far easier and more advantageous to just do Gutenberg unilaterally in Calypso, where it would primarily benefit WordPress.com,” Mullenweg said. “Doing it in wp-admin and core first involves a lot more discussion, public feedback, backwards compatibility concerns, and breaking a lot of new ground for how core uses Javascript, and because it’s in core the benefits will accrue to all hosts of WordPress, many of which directly or indirectly compete with Automattic. We are reading and trying to learn from all the negative feedback though, even when it’s from people who haven’t used Gutenberg much yet.”

Those who build websites for clients have voiced concerns about how Gutenberg will affect their businesses, whether the brand new interface will drive users away from WordPress. Developers and product owners are eagerly awaiting more answers on what it means for existing plugins and themes in the ecosystem, as the project has yet to iron out some of the more technical details regarding extensibility and support for metaboxes. This naturally raises concerns about Gutenberg’s timeline.

“Gutenberg will ship with WordPress 5.0, but the release will come out when Gutenberg is ready, not vice versa,” Mullenweg said. “We still have target dates to help us think about scope and plan for all the supporting documentation, translation, and marketing efforts, but we’re not going to release anything until Gutenberg is something the team working on it agrees is ready.”

WordPress users have been conditioned to anticipate releases on a regular schedule but the new approach to core development will allow for the next major release to wait until the targeted features are ready. Mullenweg confirmed in the comments of his post that Gutenberg will ship with a legacy interface to offer backwards compatibility for PHP metaboxes that have not yet updated to be JS-powered.

“Some things like toolbar buttons will definitely need to be updated to work with Gutenberg, other things like Metaboxes there will be no problem to provide a legacy interface for a few releases,” Mullenweg said. “But I would say that plugin authors should start updating their plugins in late September if they want to benefit from Gutenberg’s launch.”

One of the most prevalent concerns that remains is React’s licensing issues, which came to a head after the Apache Software Foundation added Facebook’s BSD+Patents license to its Category X list of disallowed licenses for Apache PMC members. Facebook’s engineering directors considered re-licensing the project but decided against it, citing “meritless patent litigation” as the reason behind adopting the BSD + patents license. The WordPress project has yet to announce its stance on the decision.

“We anticipated a decision on React around the Apache deadline (closer to now), will have more to announce about WP and Gutenberg’s approach here in the next few weeks,” Mullenweg said.

He also reiterated how invested he is in the WordPress project and ecosystem as a whole. His post elaborated on the many benefits he anticipates for plugin, theme, and core developers, agencies, users, and hosting companies. He challenged the WordPress community to see Gutenberg in the same light.

“My life’s work is improving WordPress,” Mullenweg said. “I firmly believe that Gutenberg is the direction that will provide the most benefit to the maximum number of people while being totally in line with core WordPress’s philosophies and commitment to user freedom. So keep giving us your feedback, and let’s push through the fear together. It’s worth a little discomfort to change the world.”

Core Team Explores Idea to Automatically Upgrade Sites Running WordPress 3.7 to 3.8

WordPress 3.7 ‘Basie’ was released on October 24, 2013 and introduced automatic updates for minor releases to the masses. Although it’s not labeled as such, WordPress 3.7 has effectively acted as a LTS version or Long-term support. Security updates and crucial bug fixes have been ported back to previous branches up to 3.7.

In this week’s WordPress developer chat, Aaron Jorbin, WordPress core developer, asked if it’s time to stop back porting fixes to 3.7-4.0 and instead, update those sites directly to 4.1.

According to version statistics on WordPress.org, 0.4% of tracked sites are using WordPress 3.7. “I would like to see a published proposal outlining reasons, usage data, and any tradeoffs/considerations and leave a bit of time for feedback before definitely doing this,” Joe McGill, Core contributor said.

“It’s unclear to me what are the things that must happen and what are the things that should happen before we take this step.”

Developers noted that WordPress automatically updates minor versions and that if protections are not built-in to automatically upgrading major versions, it could cause users to lose trust in the system.

“We need to make sure all users with outdated installs get warned one way or the other. Then if they decide to turn updates off…,” Andrew Ozz, Core developer said.

After further discussion, the team agreed that upgrading sites from 3.7 to 3.8 would be a good stepping stone towards getting those sites up to 4.1. “It can also be done in the API so that we only do a small percentage at first and then stop and analyze and then increase the percentage,” Jorbin said.

A proposal will be crafted by members of the core team and published on the Make WordPress Core site for further discussion.

Locating Restored Comments in WordPress Requires Detective Skills

Every now and then, I’ll come across a user experience in WordPress that makes me scratch my head. Earlier today, I needed to edit a comment’s details before restoring it from the Trash. However, WordPress doesn’t allow this without restoring it first.

After restoring the comment, it disappeared from the trash and nothing happened. This is not the user experience I expected and needless to say, I was annoyed.

Since restored comments do not appear at the top of the approved list because of their original published date, I searched the WordPress backend for comments by the author’s first name and found it after the sixth page of results.

At first, I thought about how it would be nice to be able to edit a comment’s details while it’s in the trash so I don’t have to search for the post or author to edit it. However, Mika Epstein raised a good point.

The other idea is that after restoring a comment, WordPress redirects me to the post where it was restored. It would be even better if it took me directly to the comment in the discussions meta box. However, users can hide these meta boxes from view via Screen Options, so I’m not sure how to account for that. Perhaps redirecting users to the post is enough?

After searching WordPress Trac and not finding a ticket related to this issue, I created one. Please leave your feedback and suggestions either in the comments or on that Trac ticket.

Do You Need a WordPress Website For Your Small Business?

The vast popularity of WordPress websites for small businesses is staggering. In addition to the utilization of services such as Squarespace, Wix, or Weebly, one may ask what is the best solution or a platform for building a website.

With that in mind, it’s worth talking about the main idea of running a standalone website for a small business.

What Purpose Does a Website Serve For a Business?

A few standard assumptions (followed by the majority of the businesses):

  • Providing detailed information about the products or services offered by the business
  • Structuring and keeping up to date the company information that would build trust between the consumer and the brand – team structure, the story of the business, etc.
  • Listing the company contact details – a contact form, email, phone number, address
  • Showcasing promos, company news, PR releases, etc

All of the above can be maintained (one way or the other) in social media profiles as well – such as a LinkedIn or Facebook page for the small business.

Facebook Page or a New WordPress Website?

My company builds websites for a living, and yet we do reject RFPs if we believe that investing in an expensive website is a poor business choice at that point of time.

Different businesses target different audiences. If you own a coffee shop or a retail store selling teenage girl clothes, you’ll likely receive 50x more traffic directly on Facebook as compared to a new website.

Unless you are a large coffee shop chain that has established its own brand and a community that cares about each and every aspect of that brand:

Starbucks maintains a complex menu with tons of detailed pages

Most industries rely on larger audiences online that use a search engine in order to find a a service provider – directly through their website, and with a proper background research of listing and review websites. Or they require specific functionality with regards to their business model – such as a membership portal, eCommerce cart, or anything else that needs its own place online.

Promoting Your Small Business Online

In any case, promoting your business is mandatory and social media is one of the simplest and cheapest ways to gain traction. Having a designated website is also important – for presentation purposes, or as a leading business engine.

Here’s a practical example.

There’s a hookah bar I visit regularly which is fairly reputable – attracts higher end visitors due to its price range, food selection, and location. The business owns 4 bars and the manager has discussed a professional website option for their group.

I went over their concept and found out that they expect a 5-page business website with contact details, photos, “About” page, and a fancy home page. Right now their Facebook page has over 30 thousand likes and a couple hundred 5-star reviews. They have a Google Business profile which displays the badge with contact details and lists their Facebook page as the first result in a Google search. Their Instagram features expensive Dubai hookahs that they’ve imported, plus other luxurious assets that are attractive, and therefore viral.

How to Utilize Your Digital Marketing?

However, a business partner of mine has just bought a new restaurant and is renovating it to a hookah bar, targeting the same audience.

We are building his website since there’s a number of features that we’ve discussed last year and would certainly require a unified platform that will be used by customers:

  • A booking system for online and mobile reservations
  • VIP parking service in a private space for Black Card customers
  • Membership cards with different levels
  • A POS system tracking the purchases for card members and their levels
  • Voting system for music genres and specific events (there’s a piano in the current place which allows for acoustic evening events)

The second example is a 5-figure investment that would focus on an entirely different model than the first one. It revolves around gamification (competition), discounts, premium events, transaction logic (financial responsibility), and premium add-ons which will repay the investment over the first few months. Due to the lack of an extended and flexible business plan, a professional website wouldn’t provide a lot of additional value to the first business.

That said, a well-maintained website that provides more and more information would support the business brand over time. If you provide regular content in your blog that is educational and entertaining, it will generate more shares and links across the web. The business will start ranking higher in Google for certain keywords.

Facebook or LinkedIn Page vs. a WordPress Website

Either way, the other alternative is sticking to Facebook or LinkedIn for a designated page. LinkedIn got acquired by Microsoft just 9 months ago and the ongoing plans are currently unknown. Facebook is a good platform for certain types of businesses but not the best venue for companies whose target audience doesn’t have the time to browse Facebook all day long (for practical reasons).

Also – if you were a journalist or a blogger – would you rather link to an official website of a brand, or its Facebook page? And would you reply back to a company owner with a Gmail email address when you would naturally expect a branded domain which brings authority?

In terms of long-term plans and stability, relying on third-party sources is a liability for the company. Investing in hundreds or over a thousand statuses in 2–4 years in a network that may change priorities may lead to starting from scratch elsewhere. In fact, we’ve been having regular issues with error pages popping up while loading a few company pages on Facebook over the past 3 months every now and then (occasionally for 30 minutes at a time). There’s not much we can do and Facebook is not the main source of traffic for any of the businesses yet a good number of daily visitors is aggregated through Facebook due to investing in social media marketing.

The post Do You Need a WordPress Website For Your Small Business? appeared first on Mario Peshev.

How to Create a WordPress Intranet for Your Organization

Do you want to create a WordPress intranet for your organization? WordPress is a powerful platform with tons of flexible options that makes it ideal to be used as your company’s intranet. In this article, we will show you how to create a WordPress intranet for your organization while keeping it private and secure.

Creating a WordPress intranet for your organization

What is Intranet or Extranet? Why Use WordPress as Your Intranet Platform?

Intranet or Extranet is a communications platform used by an organization for communication, file sharing, announcements, and other organizational activities.

WordPress is an excellent platform to build your organization’s intranet or extranet. It is easy to maintain, open source, and gives you access to thousands of WordPress plugins to add new features when needed.

An intranet runs on an organization’s private network. Typically, an office IT system is connected via cable or wireless network adapters. One computer on the network can be used as the web server and host a WordPress website.

Follow the instructions in our guide on how to install WordPress on a Windows network using WAMP or install WordPress on a Mac computer using MAMP to start your WordPress intranet.

On the other hand, an extranet is an intranet platform accessible to a larger network or public internet. In plain English, this could be a website publicly accessible but restricted to authorized users only.

It is particularly useful if your organization is distributed across different geographic locations.

To create your WordPress extranet, you’ll need a WordPress hosting account and a domain name. After that, you can install WordPress and then set it up to be used as your organization’s intranet.

Once you have installed WordPress as your intranet, the next step is to convert it into a communications hub for your organization.

To do that, you’ll be using several WordPress plugins. We will show you the basic setup that will serve as the foundation for your WordPress intranet to grow and meet your organization’s goals.

Setting Up BuddyPress as Your WordPress Intranet Hub

BuddyPress is a sister project of WordPress. It converts your WordPress website into a social network. Here are some of the things a BuddyPress powered intranet can do:

  • You will be able to invite users to register on company intranet
  • Users will be able to create extended user profiles
  • Activity streams allow users to follow latest updates like Twitter or Facebook
  • You will be able to create user groups to sort users into departments or teams
  • Users can follow each other as friends
  • Users can send private messages to each other
  • You can add new features by adding third-party plugins
  • You’ll have plenty of design options with WordPress themes for BuddyPress

To get started, first you will need to install and activate BuddyPress plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, head over to Settings » BuddyPress page to configure plugin settings.

BuddyPress settings

For complete step by step instructions see our guide on how to turn WordPress into a social network with BuddyPress.

Secure Your WordPress Intranet with All-in-One Intranet

If you are running a WordPress intranet on local server, then you can secure it by limiting access to internal IPs in your .htaccess file.

However, if you are running an Extranet, then your users may be accessing the intranet from different networks and IP addresses.

To make sure that only authorized users get access to your company intranet, you need to make your extranet private and accessible to only registered users.

For that, you’ll need to install and activate the All-in-One Intranet plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, head over to Settings » All-in-One Intranet page to configure the plugin settings.

All in One Intranet settings

First you need to check the box next to ‘Force site to be entirely private’ option. This will make all pages of your WordPress site completely private.

The only thing this plugin will not make private is the files in your uploads directory. Don’t worry, we will show you how to protect it later in this article.

Next, you need to provide a URL where you want users to be redirected when they are logged in. This could be any page on your intranet.

Lastly, you can automatically logout inactive users after a certain number of minutes.

Don’t forget to click on the save changes button to store your settings.

Securing Media Uploads on your WordPress Intranet

Making your website completely private doesn’t affect media files. If someone knows the exact URL of a file, then they can access it without any restriction.

Let’s change that.

For better protection, we will be redirecting all requests made to the uploads folder to a simple PHP script.

This php script will check if a user is logged in. If they are, then it will serve the file. Otherwise, the user will be redirected to the login page.

First you need to create a new file on your computer using a plain text editor like Notepad. After that you need to copy and paste the following code and save the file as download-file.php on your desktop.

<?php
require_once('wp-load.php');

is_user_logged_in() ||  auth_redirect();

list($basedir) = array_values(array_intersect_key(wp_upload_dir(), array('basedir' => 1)))+array(NULL);

$file =  rtrim($basedir,'/').'/'.str_replace('..', '', isset($_GET[ 'file' ])?$_GET[ 'file' ]:'');
if (!$basedir || !is_file($file)) {
	status_header(404);
	die('404 — File not found.');
}

$mime = wp_check_filetype($file);
if( false === $mime[ 'type' ] && function_exists( 'mime_content_type' ) )
	$mime[ 'type' ] = mime_content_type( $file );

if( $mime[ 'type' ] )
	$mimetype = $mime[ 'type' ];
else
	$mimetype = 'image/' . substr( $file, strrpos( $file, '.' ) + 1 );

header( 'Content-Type: ' . $mimetype ); // always send this
if ( false === strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS' ) )
	header( 'Content-Length: ' . filesize( $file ) );

$last_modified = gmdate( 'D, d M Y H:i:s', filemtime( $file ) );
$etag = '"' . md5( $last_modified ) . '"';
header( "Last-Modified: $last_modified GMT" );
header( 'ETag: ' . $etag );
header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', time() + 100000000 ) . ' GMT' );

// Support for Conditional GET
$client_etag = isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) ? stripslashes( $_SERVER['HTTP_IF_NONE_MATCH'] ) : false;

if( ! isset( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) )
	$_SERVER['HTTP_IF_MODIFIED_SINCE'] = false;

$client_last_modified = trim( $_SERVER['HTTP_IF_MODIFIED_SINCE'] );
// If string is empty, return 0. If not, attempt to parse into a timestamp
$client_modified_timestamp = $client_last_modified ? strtotime( $client_last_modified ) : 0;

// Make a timestamp for our most recent modification...
$modified_timestamp = strtotime($last_modified);

if ( ( $client_last_modified && $client_etag )
	? ( ( $client_modified_timestamp >= $modified_timestamp) && ( $client_etag == $etag ) )
	: ( ( $client_modified_timestamp >= $modified_timestamp) || ( $client_etag == $etag ) )
	) {
	status_header( 304 );
	exit;
}

readfile( $file );

Now connect to your website using an FTP client. Once connected, upload the file you just created to /wp-contents/uploads/ folder on your website.

Next, you need edit the .htaccess file in your website’s root folder. Add the following code at the bottom of your .htaccess file:

RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ download-file.php?file=$1 [QSA,L]

Don’t forget to save your changes and upload the file back to your website.

Now all user requests to your media folder will be sent to a proxy script to check for authentication and redirect users to login page.

4. Adding Forms to Your WordPress Intranet with WPForms

WPForms

The main goal of a company intranet is communication. BuddyPress does a great job with activity streams, comments, and private messaging.

However, sometimes you’ll need to collect information privately in a poll or survey. You’ll also need to sort and store that information for later use.

This is where WPForms comes in. It is the best WordPress form builder in the market.

Not only it allows you to easily create beautiful forms, it also saves user responses in the database. You can export responses for any form into a CSV file.

This allows you to organize form responses in spreadsheets, print them, and share among your colleagues.

Extending Your WordPress Intranet

By now you should have a perfectly capable intranet for your organization. However, as you test the platform or open it for users, you may want to add new features or make it more secure.

There are plenty of WordPress plugins that can help you do that. Here are some tools that you may want to add right away.

That’s all for now.

We hope this article helped you create a WordPress intranet for your organization. You may also want to see our list of most useful WordPress widgets for your site.

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 Create a WordPress Intranet for Your Organization appeared first on WPBeginner.

Morten Rand-Hendriksen on What Gutenberg Means For the Future of WordPress

As work continues on Gutenberg, members of the community are discussing its impacts on WordPress’ future. Morten Rand-Hendriksen considers Gutenberg to be a watershed moment, “This is a revolution,” he said.

“This is a watershed moment for WordPress. This is entirely new and fundamentally different from how WordPress works and how we work with it today. I cannot overstate it enough when I say this changes everything.”

Rand-Hendriksen suggests that Gutenberg will allow WordPress to graduate from being a blogging platform to a platform for managing views. If Gutenberg adds complexity to the user interface, he predicts many users will migrate to simpler, hosted publishing systems.

He also predicts that due to the REST API and Gutenberg, permanent fractures may develop between different segments of the community and user base.

It’s exciting to think about what could happen to WordPress and the web in general if Rand-Hendriksen’s optimism comes to fruition. “Whatever happens to WordPress’ user base, once Gutenberg is implemented fully, WordPress’ role in the wider web and internet community will change,” he said.

“If all these things actually work, and people find them useful, WordPress will herald in a new age of UI and UX exploration. Applications have followed WordPress’ lead before and will do it again if the new solution works.”

As for the future of WordPress, Rand-Hendriksen says:

With the REST API in core and Gutenberg on the horizon, I am starting to see a new future for WordPress, one that looks nothing like where we are today. But this is true for the web as a whole as well.

Non-pointer interactions, AR/VR/MR, AI, content beyond the screen, all these things are already within sight and the web as we know it is on the cusp of its own wave of revolutionary changes.

The question I’m left to ponder is whether Gutenberg is what brings WordPress into that future.

I encourage you to read the entire post as it provides a lot of food for thought. What do you think about his predictions and the impacts Gutenberg might have on the web as a whole?