CAll Us: +1 888-999-8231 Submit Ticket

What Do WordPress File Permissions Mean?

WordPress SecurityA WordPress site is made of files. Database aside — which is a special set of files — everything else is a chunk of data stored on the server’s file system. That includes content like images and the executable PHP files that comprise WordPress Core, themes, and plugins.

It’s vitally important that only the right people and programs — represented by user accounts on the server — have access to those files. If every user on a server has access to all the files, there’s no end to the mischief they could make, and that’s before considering unauthorized users like hackers.

If you just want to know about sensible permissions for your WordPress site’s files, skip to the last paragraph. If you want to understand how permissions work, read on.
Most WordPress sites run on Linux servers, and the Linux operating system has a permission mechanism that controls who can read from, write to, and execute files. It’s useful for WordPress users to understand how these permissions work, because assigning the wrong permissions can leave a site open to security problems or stop it working altogether.

The permissions are stored as attributes. Each file has attributes for its owner, group, and everyone else.

Owner, Group, The World

The owner is a single user account on the server. The user account doesn’t have to be associated with a particular person: user accounts are often created for programs (the web server owns some files, for example) and the root user automatically has permission to do anything with any file.

In addition to belonging to a user, a file also belongs to a group. A group is a set of user accounts that can be given permission to interact with a file. For example, you might have a group of user accounts who can write to a file, but only allow the owner to execute it.

Finally, there’s the “world” or everyone else on the server, which allows for the setting of permissions that cover all user accounts.

Each of these types of user — the owner, group members, and the world, can have three levels of access: read, write, and execute. So, a file might have permissions that allow the world and the file’s group to read and write to it, but only allow the owner to execute it.

There are two ways file permissions are displayed. You’ve probably come across notations that look like 744 or drwxrw-rw-. Let’s look at the last of these first. It’s easy enough to understand if you’ve followed what we’ve talked about so far. The first letter (“d” in this case) represents access modes for the file, which we’re not going to get into here.

The rest of the string — rwxrw-rw- — is split into groups of three, with each triplet referring to the permissions of the owner, the group, and the world respectively. In our example, the owner has read(r), write(w), and execute(x) permissions. The group has read and write permissions, and so does the world.

Now to the other notation, which is the one you’re most likely to see in articles discussing WordPress. If we take 744 as an example: the numbers refer to the owner, group, and world permissions. The 7 is for the owner, the first 4 for the group, the second for everyone else.

Each of those numbers represents read, write, and execute permissions. No permission is worth 0, execute permission is worth 1, write permission is worth 2, and read permission is worth 4. Adding those numbers together gives you the permission for each of the sets of users.

This can be hard to get your head around, but it makes sense after seeing a few examples. Consider 744. The 7 is for the owner, and the only way to get a 7 given what we’ve seen is to add execute(1), write(2), and read(4) together. The second number — the group permission — is 4. That has to be a read-only permission. If, for example, it was a 6, it would indicate read(4) and write(2) permissions.

The permissions on files can be changed from the command line using the chmod utility. You can look at chmod’s manual page for full details, but to set a file’s permissions to 766 you’d run this command:

chmod 766 file.php

Finally, which permissions should your WordPress files have? The best defaults are 775 for directories and 644 for files. I haven’t really discussed directory permissions here, but the the basics principles are the same. These are are relatively safe defaults, providing file ownership permissions are properly set, as is discussed in the WordPress Codex.

Posted in:
Security, WordPress

Source link

Three Plugins For Quickly Adding Images To Your WordPress Blog Posts

WordPress BlogIt’s not essential for every blog post to have a featured image, but a relevant, eye-catching, and compelling image enriches the reader’s experience and helps to make a post more noticeable — and clickable — on social media.

I like to add an image to every blog post I publish. Sometimes they’re directly related to the content, sometimes the only relationship is a vague association between the subject of the post and the picture, and sometimes I include an image just because I think it looks cool.

I write a lot of blog posts, which means searching through hundreds of images on both free and paid stock image sites, and, if the post is for my personal blog, searching through my own image catalogue.

For the most part I use free image sites: those that make images available under a Creative Commons license or in the public domain. The quality of public domain and CC images has improved enormously over the last few years, largely thanks to sites like Unsplash, which list the work of professional photographers.

But it’s not enough to rely solely on Unsplash and its peers. Everyone knows about these sites, which means the same images appear on dozens of posts. If you want originality, it’s a good idea to create your own images or throw the net a little wider.

For a long time, my WordPress image workflow wasn’t well organized. I’d finish a post, open up five or six image hosting sites in tabs, and spend the next twenty minutes running searches and perusing the results until I found the perfect image.

Today, I use three WordPress plugins that let me integrate WordPress with my most frequently used image sources.

Lightroom To WordPress

I use Adobe’s Lightroom to organize my personal image collection, and until recently there was no easy way to integrate my Lightroom collection and the WordPress Media Library.

I was very happy when Automattic released Lightroom To Adobe, a WordPress plugin that allows Lightroom users to choose and import images from within the WordPress dashboard.

If you want to use this plugin, you’ll need a WordPress.com account and have the Jetpack plugin installed.

Instant Images

I’ve already talked about how much I enjoy using Unsplash, and although I’m an admirer of the Unsplash interface, I prefer to be able to search for images from within WordPress.

Instant Images is a straightforward WordPress / Unsplash integration, allowing users to search the Unsplash catalogue and upload images to their Media Library.

This plugin is also great for WordPress developers who need filler or demo images.

Image Inject

When Unsplash doesn’t deliver or I want some variety, I use the Image Inject plugin, which performs a similar function to Instant Images, but includes both Flickr Creative Commons and images from Pixabay.

Neither source offers the same guaranteed high-quality images as Unsplash, but there are plenty of diamonds in the rough. Before Unsplash, Flickr CC search was my go-to source for blog images.

With these plugins, my image-searching workflow is more efficient, and I spend less time trawling through image hosting websites and more time writing.

Posted in:
Content, WordPress

Source link

Three WordPress Theme Red Flags You Should Know About

Red FlagsOne of the WordPress ecosystem’s most attractive features is its endless variety of themes. Thousands of developers have created tens of thousands of themes, many of them free. There’s almost certainly a theme in the official repository or premium marketplaces to suit any style or functional requirement.

For the most part, that’s a good thing, but finding and choosing the right theme from the thousands available is no easy task. Developers and designers range from the slipshod to the expert, and themes vary in quality accordingly. In addition to which, developers are incentivized to create themes and demo pages that look incredible, but that can prove disappointing in real-world use.

It’s useful for WordPress users to have a simple set of questions they can ask themselves before choosing a theme. At the risk of being negative, I want to focus on reasons a user shouldn’t choose a theme. Rejecting themes is an essential part of the process of selecting the right theme, so let’s take a look at three red flags that cause me to walk away.

It’s Slow

A fast website depends on two fundamental components: performance-optimized hosting and a speedy front-end. There’s a lot a theme can do to make a site slow even if it’s hosted on the fastest server. In fact, some of the most feature-rich and impressive themes are guilty of this: the demos look awesome, but that’s because they’re packed with so much poorly optimized JavaScript that site visitors are left twiddling their thumbs.

Respected designer Ethan Marcotte tested a number of prominent theme demo pages, and found them to be unacceptably slow, particularly on mobile devices. Some of the themes he tested took 90 seconds to load. If you want a front-end that doesn’t embarrass your back-end, run demo pages through a performance-testing service like WebPageTest or Pingdom tools before you install the theme on your site.

It’s Old

When I choose a WordPress theme, I expect to be able to use it for a couple of years at least. I want to be confident that a theme will be maintained and updated while I’m using it. I don’t want to be stuck with a theme that is incompatible with the most recent versions of WordPress.

Of course, there’s no guarantee that a developer won’t abandon a theme a month after I start using it, but I automatically reject any theme that doesn’t have a pattern of regular updates. If it’s a new theme without much of a history, I take a look at the developer’s other themes to see how often they are updated.

Poor Customer Support

Finally, I take a look at the developer’s support channels to see how responsive they are to support requests. This is especially important for premium themes — if I intend to use a free theme then I’m willing to accept that the developer doesn’t owe me anything, including their time. But if I pay for a theme, I want to see evidence that the developer quickly and politely responds to support requests. If I visit their support forums and the only thing moving is a tumbleweed, I’m likely to look elsewhere.

There are thousands are elegant, feature-rich themes available for WordPress, created by talented developers and designers who care about giving their customers the best possible experience. If you know what you’re looking for (and what to avoid) you’ll have no trouble finding a great-looking theme that you can rely on for years to come.

Posted in:
Security, WordPress

Source link

4 Plugins To Turn A WordPress Site Into A Powerful Education Platform

PluginsWhen we think about WordPress, it usually brings to mind business sites, portfolios, and blogs, but as a fully fledged content management system, WordPress is flexible enough to be put to all sorts of different uses, including as a powerful educational tool.

With the proliferation of mobile devices and tablets, not to mention the explosion in online learning among people of all ages, teachers should seriously consider integrating a website into their educational workflows, both as a central location for course materials and as an educational tool that can be used by students to publish and collaborate. Educators who don’t embrace the preferred communication platforms of their students limit their potential and that of their students.

WordPress is the perfect foundation for building an education site, and developers in the WordPress community have created a number of plugins that make it straightforward to deploy education-focused features. I’d like to highlight five of them today.

Sensei

Sensei, from WooCommerce, provides a complete coursework solution that allows for the creation and publishing of courses, lessons, and quizzes. It integrates well with WooCommerce, so education entrepreneurs can charge for access to their content.

Other features include quick user registration, testing, quiz grading, and course analytics.

teachPress

This is also a course management system, but more suited to higher education and specifically designed to meet the needs of research groups, but it has useful features for any higher-level academic teaching. TeachPress is focused on academic publishing and provides comprehensive BibTeX integration for citation importing and exporting, as well as an integrated course enrollment system, and a variety of shortcodes for displaying publication lists, publication searches, and course overviews.

mTouch Quiz

There are any number of quiz plugins for WordPress, but I’m highlighting this one because it’s designed with touch interfaces in mind, so students can take multi choice quizzes from their tablets and phones.

Batch Create

This is a premium plugin from WPMUDev, so it isn’t free, but it can save a huge amount of time for educators who need to create lots of blogs or sites for their students to publish on. Doing it manually would be very time consuming, but with Batch Create, educators using WordPress Multisite can upload a CSV or XLS file exported from their enrollment records and the plugin will add users or create new sites.

I’ve only got space here to share a few educational plugins, but there are many more that I could have included. Instead, I’d like to open the floor to the educators out there: what are your favorite WordPress plugins and how have they contributed to your teaching?

About Graeme Caldwell – Graeme works as an inbound marketer for Hostdedi, a leading provider of Magento and WordPress hosting. Follow Hostdedi on Twitter at @nexcess, Like them on Facebook and check out their tech/hosting blog, http://blog.nexcess.net/.

Posted in:
Content, WordPress

Source link

WordPress’s Gutenberg Editor Is Now Available As A Plugin

Gutenberg EditorFollowing several months of development, WordPress’s forthcoming new editor — named Gutenberg for the inventor of the printing press — is available as a plugin.

The plugin is still being developed and is nowhere near finished. WordPress hosting clients should not install Gutenberg on their production sites, because it’s likely to break things. That said, Gutenberg is well-worth taking a look at if you’re interested in the future of WordPress. Anyone who spends a lot of time in the WordPress editor is going to experience substantial changes to their writing workflows when Gutenberg is rolled into WordPress Core.

If you do take Gutenberg out for a spin, its development team are eager to hear about any bugs you find. You can report bugs on the project’s GitHub page.

Gutenberg has come a long way since we last wrote about it in February, and it’s worth spending some time thinking about the motivation behind the new editing experience and the problems Gutenberg is intended to solve.

As a writer, the writing and editing experience is important to me. If I wanted to, I could write everything in HTML, but burying the content in a forest of formatting and structuring markup isn’t ideal. The current WordPress editor offers an abstraction on top of the HTML approach, allowing writers to interact more naturally with their text while also providing much needed functionality like embeds, dividers, and other features that writing on the web makes necessary.

But, although WordPress offers a good enough editing interface, today, there’s room for improvement. Most of the features WordPress makes available to writers aren’t easy to find — they’re not discoverable in designer parlance. Using them takes writers out of the flow of their work to research shortcodes or futz around with formatting.

Gutenberg is intended to make it easy to both write and format a page in complex ways without having to reach for fragile shortcodes. With a few clicks and a bit of typing, it’s possible to create web pages that look like this.

The major change is from linear editing to a block-based experience. The page is divided into blocks, and each block has its own formatting options, controls, and positions on the screen. Making changes to a block is as simple as clicking in the block and editing it. Naturally, plugins will be able to add more blocks in the future.

One of the basic principles of web design insists that content should be kept separate from presentation, because it’s better to be able to control each independently. As a writer, I often choose to write in Markdown because I want to spend the least possible time messing around with formatting, leaving me free to focus on the message I want to communicate to readers.

Gutenberg mixes presentation and content, but it does so in a way that doesn’t impose much of a cognitive burden on writers. It also makes the WordPress editing experience intuitive to people who have grown up with WYSIWYG environments. We’re probably a few months away from Gutenberg being integrated into WordPress Core, but I for one am looking forward to being able to build beautiful layouts without shortcodes in an elegant modern editing environment.

Posted in:
Content, WordPress

Source link

Keeping Your WordPress Site In Shape

WordPress HealthWordPress sites constantly evolve as new content is published, new pages are created, and plugins and themes are installed or removed. Most of the time, those changes are for the good and don’t cause any problems for the health of the site.

But WordPress is a complicated piece of software, and, as with any complex system, it’s hard to predict how the parts interact. Any modification can cause a regression, a change for the worse. That’s why I like to run through regular health checks on any WordPress site I’m managing.

If something is wrong, I want to know about it sooner rather than later, so it’s not enough to deploy a site that works wonderfully and leave it at that. Every month or so, I run a series of tests to reassure myself that all is as it should be.

Performance

Site performance can be affected by any number of factors. Perhaps a new plugin interacts badly with existing functionality, introducing latencies to page load times. Maybe a CDN the site relies on to load JavaScript libraries isn’t as quick as it once was.

I use Pingdom Tools to perform a comprehensive scan of the site’s performance from various locations around the world. Pingdom provides the information I need to identify performance regressions and their likely cause.

Security

Last year, a security researcher published a list of eCommerce stores infected with credit card swiper malware capable of capturing card numbers and sending them to criminals.

Many of the stores had been infected for months.

It’s impossible to be completely certain that your WordPress site hasn’t been infected with malware or otherwise compromised. Prevention is better than cure, but if preventative measures have failed, I want to know about it as soon as possible.

There are several WordPress malware scanners available, but Sucuri’s free SiteCheck does the job quickly and well.

Links

Links have a tendency to break and 404 errors are a common occurrence on sites that change frequently. They’re bad for both user experience and search engine optimization. I use the excellent Broken Link Checker plugin to scan for broken links so I can repair or redirect them.

Backups

I’m going to assume everyone reading this article makes regular backups of their WordPress site and keeps those backups for an appropriate amount of time.

But going through the motions of keeping a backup isn’t enough. Site owners should also verify that backups are actually being made and that they’re viable. There’s nothing quite so frustrating as trying to restore a site from an earlier backup only to find it empty, corrupt, or otherwise useless.

To check backups, I do a full restore of a recent backup on a brand new WordPress installation. It’s possible to do this manually or with your existing backup plugin. It’s not really important how you check backups, but not checking them can lead to nasty surprises.

Altogether, running through these steps takes no more than half an hour, and I find the peace of mind well worth the time invested.

Posted in:
Content, WordPress

Source link

Chassis Is A GUI Tool For Creating WordPress Development Environments

ChassisSetting up local WordPress development environments is an everyday task for WordPress professionals. Local development environments, which include WordPress and the full stack of software it needs to run, let WordPress pros work on sites without having to deal with the latencies and complications of working on remote staging or development installations.

Local development environments are great for developers, who will typically create environments for each of the projects they’re working on, but site owners with only one or two sites also benefit: local dev environments are useful for testing plugins, themes, beta versions, and site modifications without making potentially breaking changes to a production site.

As you might imagine, setting up a WordPress development environment on your Mac or Windows machine isn’t straightforward, a problem that tools like VVV — which we’ve written about before — are intended to solve. Chassis is a graphical tool that does much the same job as VVV, but with an intuitive user interface that’s more friendly to developers and site owners who aren’t comfortable with the command-line.

Chassis is a cross-platform application that hides much of the complexity involved in creating development environments. When you first launch Chassis, it will take care of installing the components it needs to build virtual machines to install WordPress on. Under-the-hood, Chassis uses VirtualBox, a popular free virtual server management application, and Vagrant, a tool used by developers to create configurable dev environments.

Once the basics have been installed, Chassis pulls down an Ubuntu disk image and builds a virtual machine, onto which the full software stack and configuration required by a WordPress site will be installed. Users can either create a virtual machine and WordPress installation from scratch, or use an existing virtual machine. Because the end result is just a WordPress site running on a server, site owners can replicate their production site in the same way they any other staging site.

The end result is a fully configured WordPress site running locally on your machine that you can interact with in your browser, just as you would with a remote WordPress site.

One of the nicest features of Chassis is its extension system. Extensions, which are installed from GitHub, let Chassis users add software to the virtual machine running their local WordPress site. Available extensions include Memcache, Redis, PHPMyAdmin, and Composer.

The extension system exemplifies one of the reasons you might want to try out Chassis even if you already use a tool like VVV for creating development environments. Chassis creates minimal dev environments containing only the software you need to get a WordPress site up and running, in contrast to the “everything you might possibly want” approach of related tools.

It should be noted that Chassis is still in beta, and the process of building virtual machines and installing WordPress isn’t as smooth as I would like, but once the wrinkles are ironed out, Chassis will be an excellent addition to the toolkit of WordPress site owners and developers who prefer to avoid the command line.

Posted in:
Content, WordPress

Source link

Keyy Is A Clef Replacement For Intuitive WordPress Two-Factor Authentication

KeyyMany WordPress users were disappointed to hear that two-factor authentication provider Clef is shutting down. Clef was popular with WordPress site owners because it let them add an extra layer of security to their site without the complexity associated with other two-factor authentication systems. With over a million installations, the loss of Clef was a serious blow to WordPress site owners.

In March, the team behind the UpdraftPlus backup service announced that they planned to step into the space vacated by Clef. Their brand new two-factor authentication service, Keyy, is now live, and it has many of the same features as Clef.

For those who are unfamiliar with two-factor authentication, it allows site owners to demand an identifying credential in addition to the usual username / password combination. Username and password combinations can be very secure, but in the real world they tend to be a liability. Users often fail to choose a secure password, they may use the same password on more than one site, or otherwise make the life of criminals easier than it should be.

To take a common example, simple passwords can often be quickly cracked by brute-force bots. Many WordPress sites are compromised because an admin user picked “pa55word” as their password, or an equally guessable combination.

The second factor of authentication is typically associated with an item in the possession of a user: a smartphone or dedicated device that displays a one-time code. In addition to their username and password, the user has to enter the code presented to them by the authenticated object in their possession.

It’s much harder for attackers to compromise a site using two-factor authentication, but many users find the process of logging in with two-factor authentication overly burdensome. Clef, on the other hand, was supremely easy to use, as is Keyy.

With Keyy, users don’t have to enter usernames, passwords, or one-time codes. Instead, when they are ready to log in, users are shown a graphic which they scan with the Keyy app on their phone. Keyy works in essentially the same way Clef did. The app on the user’s smartphone creates a public key pair, the private part of which remains on the device, while the public key is shared with Keyy’s server. When the user wants to log in, the Keyy service generates an image tied to the session. The app scans that image and signs it with the private key before sending it to the Keyy servers, which verify the user has possession of the private key and logs them in using OAuth.

Clef provided other services like single-sign on, which aren’t available yet with Keyy, but the company plans to launch an SSO service in the coming months.

It’s worth mentioning that Keyy is a very new service, and it may be subject to the occasional glitch as the team works out the kinks. But it’s great to see an established and sustainable WordPress company with a track record of successful WordPress services step up to provide such an important security service.

Posted in:
Security, WordPress

Source link

XSS Vulnerabilities Have Been Found In The Avada WordPress Theme

AvadaIt has recently come to light that several critical vulnerabilities were fixed in the Avada theme in April, although ThemeFusion, the developers of the theme didn’t widely announce the patched release until several weeks later. If you use the Avada WordPress theme on your site, you should upgrade to Avada 5.1.5 as soon as possible.

The Avada theme is among the most popular themes on ThemeForest, and its developers boast that it’s been the single most popular paid WordPress theme for four years in a row. That means tens of thousands of sites could be vulnerable until they update to the most recent version.

It’s unusual for a developer to release a fix for a known vulnerability and then to decline to publicize it. Although information about the patch was available in the release’s changelog, it’s unlikely that many of the theme’s users avidly read changelogs.

Typically, a developer wants as many people as possible to update as soon as possible when a security vulnerability is discovered, although they may choose not to disclose the exact details of the vulnerability. The average user may not scrutinze changelogs, but it’s a fair bet that hackers and criminals do, which means there’s little benefit to keeping quiet about the existence of a security problem.

But regardless of the wisdom of waiting, a full explanation of the vulnerabilities along with code examples is widely available now. The smart choice is to update all sites using the Avada theme before they’re targeted.

The details of the vulnerability can be read about on WordPress Hütte, but the nutshell version is that several cross-site scripting and cross-site request forgery vulnerabilities were discovered by a security researcher. Both are common critical vulnerabilities in web applications that can potentially be used by an attacker to take over a WordPress site or exfiltrate private data.

We’ve discussed cross-site scripting vulnerabilities on this blog before because they’re the number one security problem on the web. Cross-site scripting is caused by a failure to properly sanitize user input. The protoypical cross-site scripting attack occurs when an attacker submits code to a web form and that code is displayed somewhere on a web page without being rendered inert. When a browser loads the page, it executes the code, which is very bad news if the browser belongs to a user with admin privileges.

Cross-site request forgeries are a little more involved, but — as with XSS attacks — they can be used by an attacker to execute arbitrary code in the trusted context of a browser. Attackers often use CSRF vulnerabilities in conjuntion with social engineering attacks or phishing attacks against existing trusted users to make sites perform an action, like create an admin user with a password the attacker knows.

In conclusion, upgrade Avada now, because it won’t be long before hackers start looking for sites they can exploit with these vulnerabilities.

Posted in:
Security, WordPress

Source link

WordPress 4.8 Will Arrive On June 8th

WordPress 4.8The WordPress development team has announced that WordPress 4.8 will be released on June 8th.

WordPress 4.8 will include editing enhancements with a focus on laying the groundwork for an improved text editing experience, but it won’t include the full version of Gutenberg, WordPress’s experimental editor, which is still being developed.

The release is on a much tighter schedule than previous releases, which typically have more than a month of lead-time. In fact, it’s somewhat surprising that there is a release at all, given the new project-based focus of WordPress development. It appears that some features are ready to go, and Matt Mullenweg – the release leader – wants to push out improvements that are already available without waiting for the larger project-based updates to be complete. Development on the larger block-based editor enhancements is likely to become the major focus after the release of WordPress 4.8.

Enhancements coming in WordPress 4.8 include better link handling, WYSIWYG features in text widgets, and new media widgets. The new media widgets were mooted for release some time ago. They’re intended to simplify the current multi-step process for adding media to pages and posts. The widgets are integrated with the Media Library, making it easier to drop images onto pages without having to go through the main Media Library interface.

The new image widgets are the first of a series of JavaScript-based widgets that are planned for release, including widgets for video, audio, slideshows, and galleries. All of these are part of the drive to improve the WordPress editing interface and bring it in line with modern user experience and interface design practices.

The Core Media Widgets are being developed as a plugin, so WordPress users can get a sneak peak of what’s in store.

All of the improvements are described as “low-hanging fruit” – features that are relatively easy to develop but will have a significant impact on the experience of WordPress users.

As I mentioned, the release schedule for WordPress 4.8 is substantially shorter than for typical releases. The first Beta will be available on May 12, followed by a second Beta on May 19, a release candidate on June 1, and the final release on June 8.

That gives WordPress site owners and plugin and theme developers about a month to test for compatibility issues. When Betas are released, the easiest way to test the new features is to use the WordPress Beta Tester plugin, which allows WordPress site owners to update to pre-release versions of WordPress. As always, it should be kept in mind that beta releases and release candidates are under active development and may contain bugs. It would be very unwise to upgrade your production site before the final release.

Posted in:
Content, WordPress

Source link