Google Analytics eCommerce tracking

We’ve rebuilt our Google Analytics eCommerce tracking plugin and added support for WooCommerce! Read on to learn why you should buy it today. If you want to optimize your shops sales, you need to make sure you connect your visitor data to your transaction data. This plugin does just that. We’ve made transaction tracking so reliable that we can now confidently say our plugin should not miss a single sale.

eCommerce tracking allows you to do all sorts of nice reporting in Google Analytics, on which Thijs will be writing a few posts in the coming months, but let me show you the sort of reports you can get just by enabling the plugin and enabling eCommerce tracking in Google Analytics:

eCommerce overview - Google Analytics

99.9% reliable eCommerce tracking

Google introduce a new feature with Universal: a collections API that allows us to send calls on the server side instead of with JavaScript. This means that when a customer finishes a transaction, the plugin can immediately track it, instead of hoping the customer will reach the thank you page. The plugin can do this while still connecting the sale to the customers session. Because of that, your Google Analytics eCommerce tracking becomes almost 100% reliable. Almost, because there might be the odd occasion where your server errors in sending the request and we don’t want you suing us ;)

This new tracking method also means that when you refund a transaction, the transaction gets reversed in Google Analytics. This makes your Analytics data even more reliable and therefore much more useful.

This Google Analytics eCommerce tracking extension is the first premium extension specifically made for the new version 5 of our free Google Analytics plugin. From $49 for a single site, you can have the best e-commerce reports available.

Super simple installation

The plugin has no settings. You install, activate, enter your license key and activate the license so updates will flow in and you’re done:

installed analytics ecommerce tracking

 

WooCommerce bundle

woocommerce logoAs some of you might have noticed, this is our second WooCommerce offering; we also have our WooCommerce SEO plugin. We’ve bundled the two together in a new Yoast WooCommerce bundle for our most loyal users! If you use both our WordPress SEO plugin as well as our Google Analytics plugin this bundle will save you a lot of money.

Check out the Yoast WooCommerce bundle here or read more about the GA eCommerce tracking plugin!

This post first appeared on Yoast. Whoopity Doo!

How to Fix Fatal Error: Maximum Execution Time Exceeded in WordPress

Recently one of our users told us they weren’t able to update their WordPress theme due to the Fatal Error: Maximum Execution Time Exceeded in WordPress. Fixing this error is relatively simple, but it can be really frustrating for beginners. In this article, we will show you how to fix fatal error: maximum execution time exceeded in WordPress.

A WordPress site showing maximum execution time exceeded error

Why Maximum Execution Time Exceeded Error Occurs?

WordPress is coded mainly in PHP programming language. To protect web servers from abuse, there is a time limit set for how long a PHP script can run. Some WordPress hosting providers have set this value to a higher level while others may have set it to a lower level. When a script reaches the maximum execution time limit, it results into maximum execution time exceeded error.

Fixing Maximum Execution Time Exceeded Error

There are two ways you can fix this error. The first method is to fix it manually by editing your .htaccess file and the second method allows you to do the same thing with a plugin.

Method 1: Editing .htaccess File Manually

Simply connect to your website using an FTP client.

Your .htaccess file is located in the same folder as your /wp-content/ and /wp-admin/ folders. If you can’t find it, then look at our article on why you can’t find the .htaccess file and how to find it.

Next, add this line to your .htaccess file:

php_value max_execution_time 300

This code simply sets the value for maximum execution time to 300 seconds (5 minutes). If you still get the error, then try increasing the value to 600.

If you found this method easier, then check out these most useful .htaccess tricks for WordPress.

Method 2: Using a Plugin

If you don’t wish to edit .htaccess file manually, then you can install and activate the WP Maximum Execution Time Exceeded plugin.

That’s all. The plugin works out of the box and increases the maximum execution time to 300 seconds.

We hope this article helped you fix fatal error: maximum execution time exceeded in WordPress. If you come across any other issues, then don’t forget to check our list of 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 Google+.

To leave a comment please visit How to Fix Fatal Error: Maximum Execution Time Exceeded in WordPress on WPBeginner.

WordPress plugin banner as a .PSD

I recently felt like making a few banners for my plugins. First questions that came to mind: "what's the name of the file again? what dimensions?". And then, while making stuff: "will this be hidden by the plugin's title?"

So, I made this simple banner template as a Photoshop PSD file. Nothing genius but feel free to use. No excuse not to add some fancy eye candy to your best plugins!

banner-template


(cc) Ozh for planetOzh, 2014. | Permalink | No comment | Add to del.icio.us | splogmenotplz
Read more posts tagged with: , ,

Feed enhanced by Better Feed from Ozh

What Does “Open” Mean?

I’ve been an Open Source advocate for about 10 years now, and this has been something that determined me over the years. If you start applying Open Source to your life, suddenly everything changes. Completely.

Contributing to WordPress

Marko and I led a workshop on “Contributing to WordPress” for my CMS students last year at “Telerik Academy”. I didn’t expect anything particular back then, mostly because of the fact that all of them were looking forward to their first jobs and were only interested in learning enough in the tech field to land their job, start earning some money and improve their life style.

While working on my slides I found an incredible image regarding the Open Source culture:

http://www.leadcommerce.com/blog/the-pros-cons-of-open-source-ecommerce-software.html

http://www.leadcommerce.com/blog/the-pros-cons-of-open-source-ecommerce-software.html

Turns out that Open Source could also be applied to your culture, networking, and everything you do. Try this for yourself. Try this while communicating with your friends and family, keeping everything open. Living without secrets may be hard at times, but it’s so relieving and comforting.

My Open Source past

Over the past 10 years I’ve been involved with several open communities. The Linux one, the Java one, some time with Python, and several years in smaller PHP-driven communities. I’ve been sucked into the WordPress community at last by the look of everyone, spending so much time building stuff pro bono for the sake of the users, sharing knowledge and everything.

It’s been magic.

And while I was involved with Java, CodeIgniter, CakePHP or even Python, all of my small contributions have been noticed – by business partners, other developers, and clients. The technical community is grateful and appreciative when it comes to that, and I’ve seen fellow developers being saved or “bought” in times of trouble.

The WordPress Process

Matt has been playing a key role in the WordPress development. By registering the WordPress Foundation and keeping the WordPress trademark out of trouble, he has proven himself trustworthy when it comes to relying on said platform.

Not to mention the contributors at Audrey and Automattic – massively contributing and spending dozens of hours every week in order to make the platform and the community around it stable, reliable, healthy. There have been small dramas here and there, but that’s normal – especially for a platform running 23% of the World Web now.

Major companies in the US have been “buying” contributors and significant rock stars. Human Made also does – and that’s great, my only non-US example though.

It’s interesting what contributing looks like.

Contributing Formulas

There are two types of contributing:

  1. Working as a full-time Open Source contributor (that role being a unicorn with only a very few representatives in the industry)
  2. Working something and spending the “free” time contributing (the other 99.9999% of the people)

I’ve seen quite a few successful multi-million dollar businesses around other platforms, and some huge companies dealing entirely with development on top of an open platform. Research studies estimate about 9 million Java developers, compared to several tens of thousands of WordPress developers, if we take a look at the annual surveys.  And Java doesn’t power 23% of the web, even if you can program your microwave, build a website or play with Raspberry Pi. Yet, there are very few large WordPress agencies (fairly small, compared to most enterprise companies), and most projects are built by students, inexperienced contractors and first-time learners.

Experts, Consultants, Business

Showing a GitHub portfolio to your WordPress client is far from impressive.

The number of well-paid WordPress consultants I’ve been following on Twitter and reading about online is lower than the wealthy Ruby or Node.js people I’ve met in person (and I don’t know many of them).

Actually, if you were a client – like the one you work with – how would you search for WordPress developers for your project, and what would you look for while searching: portfolio, community involvement, cost?

I’ve seen several cases of almost full-time WordPress contributors, not working for any of the top companies sponsoring WordPress, asking for projects during their holidays or after quitting their jobs – getting almost or absolutely no replies and help from clients and companies.

There are very few examples of successful plugin businesses or even theme markets, and we could easily name all of them.

The ecosystem is somewhat prepared to accommodate freelancers and small agencies, yet projects tend to either fall  into the “$500 websites” group, or WordPress.com VIP clients, working with the 10 WordPress.com VIP providers.

I see a weird gap somewhere in-between, somewhere into “resolving the Open Source contributions” back to “appreciating the contributors”.

Theme Reviewers Team

“WordPress themes” is the most popular subject in Google searches if you check with the Keyword planner, yet until a week ago there were no paid contributors to the WordPress Theme Review Team. Lots of people haven’t been noticed at all there, despite of the facts that millions of websites run the themes they have reviewed and polished in order to reach to the point that they actually work.

Tension has been growing when it comes to footer links, or rewarding reviewers, or fixing the problem with themes waiting in the queue for months.

I get more leads for CodeIgniter or CakePHP work on a monthly basis from my three very small non-WP plugins on GitHub than from my 20+ GitHub plugins or WordPress.org profile.

Again, I know that there are few happy bunnies out there, working for top notch companies that allow them to contribute back and pay decent salaries. I get support from SiteGround for Core work and I’m very happy for being able to help, too.

But… What if three hundred of the top 2K contributors were backed up this way? How would that reflect to the code quality of the themes and plugins out there, and the overall ecosystem? Would it make any difference?

Who knows…

The post What Does “Open” Mean? appeared first on Mario Peshev on WordPress Development.

Contextual Related Posts 2.0

Last week I released a major update to Contextual Related Posts. Given the size of the update, I’ve tagged the latest version as 2.0, heralding a new direction in the further development of this plugin.

v2.x brings multi-site support, WordPress thumbnails and a more powerful API. It also has several minor bug fixes and cleaner code.

Multi-site support

One feature that has been missing from Contextual Related Posts has been multisite support, mainly in terms of a Network Activate feature. With the Network Activate feature enabled, a multi-site admin can choose if he wants to activate Contextual Related Posts across all sites in the network or let users activate the plugin independently on their site.

CRP - Network Activate

Network Activate Contextual Related Posts

Once you network activate the plugin, it will no longer show up in the Plugins page of the individual sites. However, users can visit Settings » Related Posts as usual to configure the plugin. If you don’t Network Activate the plugin, it will show up on individual sites and the site admin can choose to activate the plugin if he/she so chooses.

WordPress thumbnails

CRP has had support for timthumb for a long time and by default timthumb was used to create thumbnails. Although timthumb gives you much better control on thumbnail resizing, it does add slightly higher processing on the servers since the images are created on the fly.

Many users have requested to include support for WordPress’ inbuilt image resizing and this feature has found it’s way in v2.0 of Contextual Related Posts.

Thumbnail options in Contextual Related Posts 2.0

Thumbnail options in Contextual Related Posts 2.0

Contextual Related Posts will add a new image size called crp_thumbnail based on the settings above. This means WordPress will create a copy of the image with the specified dimensions when a new image is uploaded. By default, this is set to proportionally crop the image. i.e. the image will first be resized so that the max dimension is as per the above i.e. 150px. You can optionally choose to hard crop the image by enabling the crop mode above. This will cause the image to be cropped to the exact dimensions but this might result in some part of the image being chopped off.

In either case, I strongly suggest running a regenerate plugin like Force Regenerate Thumbnails to recreate the image sizes for your older images. I especially like this plugin because it deletes the old and unneeded image sizes that would have been created in the past and are unnecessarily occupying space on your server.

Extended API

In version 2.0.0, I’ve added several new filters and actions that will allow other plugins / themes or addons to talk to Contextual Related Posts. What’s currently missing is the documentation which I shall be working on over the next several weeks.

If you’re interested in the API, take a look at my new plugin Contextual Related Ports Taxonomy Tools. Available for free from WordPress.org, CRP Taxonomy Tools adds support for restricting posts to the same categories and tags of the current post.

CRP Taxonomy Tools

CRP Taxonomy Tools

This is also a working example of the API that adds settings to Contextual Related Posts and also filters the post query.

Contextual Related Posts on Transifex.

Contextual Related Posts is now on Transifex, ready for translation courtesy the WP Translations. WP-Translations is the place where you will find a number of WordPress amazing Plugins and Themes to make them available in your home language. In exchange you will receive credit for your work and will certainly make part of the WP community history in your country.

If you’re a translator, do consider joining the Wp Translations team. Visit Contextual Related Posts on Transifex.

Closing words

As usual, if you’ve got any questions please open a support ticket in the WordPress.org forums. It allows me to answer your question quickly and more efficiently. Emailing me your support query or writing it in a comment is most likely going to be missed due to volume of emails I receive.

If you’re an existing user of the plugin, do consider writing a review. WordPress developers are welcome to contribute to the plugin via GitHub. Create an issue or fork the plugin and submit a pull request for me to review.

And, before I forget, Contextual Related Posts also has a brand new header.

Contextual Related Posts

Detailed changes in 2.x

2.0.1

  • Fixed: Clear Cache button which broke in 2.0.0

2.0.0

  • New: Multi-site support. Now you can Network Activate the plugin and all users will see related posts!
  • New: Thumbnails are registered as an image size in WordPress. This means WordPress will create a copy of the image with the specified dimensions when a new image is uploaded. For your existing images, I recommend using Force Regenerate Thumbnails
  • New: Completely filterable mySQL query to fetch the posts. You can write your own functions to filter the fields, orderby, groupby, join and limits clauses
  • Modified: Lookup priority for thumbnails. The thumbnail URL set in the Contextual Related Posts meta box is given first priority
  • Modified: Removed border=0 attribute from img tag for HTML5 validation support
  • Modified: Default option for timthumb is disabled
  • Modified: Default option for post types to include is post and page
  • Modified: get_crp_posts has been deprecated. See get_crp_posts_id instead
  • Modified: Turning on the Default style will switch on thumbnails, correctly resize them and will also hide authors, excerpts and the post date
  • Fixed: Post image will now be loaded over https if the visitor visits your site on https

Download Contextual Related Posts


Contextual Related Posts 2.0 was first posted on September 12, 2014 at 8:00 pm.
© 2003-2014 "Ajay - On the Road called Life". All rights reserved.

Savvii: Expanding our local WordPress hosting options

We often get questions from people asking about what is “good” WordPress hosting. One of the things we tend to find hard is tell people which hosting company they should use in Europe. Some of the managed WordPress hosting companies out there offer servers in Europe, but their support is primarily American and it almost always shows.

Savvii LogoAbout a year ago, we were approached by a very local (to us) new managed WordPress hosting company, Savvii. They’re based in Nijmegen, the Netherlands, which is about 10 km away and they’d started to offer managed WordPress hosting. As Savvii is part of a larger company I already knew, we started talking immediately. As things go those were rather technical conversations: how should we do this, where should our servers be, etc.

Moving yoast.nl over to Savvii

Earlier this week, after quite some testing, we moved yoast.nl over. Now yoast.nl is not exactly “vital” to our business, but if something is wrong with it, I almost always get a tweet or 5 within the next few minutes, so people do still visit it :).

The new hosting is fast. We ran some tests and the yoast.nl is now actually twice as fast on the frontend. Now the frontend is nice, but the real test is always the admin, and this admin is screaming fast. Savvii’s servers are in England, which of course is a lot closer than our .com servers which are in the US, but the difference is more than “just” a bit of latency.

Savvii rocks all the things you’d expect from a managed hosting party, including 24 hour support and much more. We’ve been very happy to work with them and if you’re looking for high-end WordPress hosting in the Netherlands or elsewhere in Europe, I’d certainly check them out!

PS: we’re hosting a WP Meetup together with Savvii in Nijmegen tonight. The one for tonight is fully booked, but if you follow the WPM024 twitter account or check wpmeetup.nl we’ll tell you all about new meetings.

This post first appeared on Yoast. Whoopity Doo!

10 tips for an awesome and SEO-friendly blog post

Writing a blog post -like all other writing- is a skill. In order to keep your reader interested, you should think about structuring your text and writing in an appealing style. You should help your readers to grasp the main idea of your post by providing headings, subheadings and clear paragraphs. If people understand and like your text, they are much more likely to share, like, tweet and link to your post. And that will increase your rankings! So, in order to improve your ranking in Google, you should definitely try to maximize your writing skills!

For some, writing for SEO purposes and writing to attract and keep attracting your audience could appear as two contradictory goals. However, I totally disagree. Indeed, if you not only want a good but also an SEO-friendly blog post, your text should be written in such a way that the words you want to be found for have a very prominent place. And, using your keywords too often severely damages the readability of your text. So, you definitely should not do that!

In this post, I would like to give some tips on writing blog posts that are both very readable as well as SEO-friendly. I genuinely think those two goals should (and can easily!) go hand in hand!

Elementary writing tips for good blog posts

Before anything, your blog post just has to be a good piece of writing! A lot of bloggers just begin to write after creating a new blog post. They just type what comes to mind. For some, this may be sufficient, because they are natural writing talents. Others may need some help. I always follow the next set of ‘rules’ myself.

1. Think before you write!

Think hard about the message of your text. What do you want to tell your readers? And what is the purpose of your text? What do you want you readers to do at the end of the page? Write down the answers to these questions before you begin writing.

2. Write down the structure of your blog post.

Every post should have some sort of introduction (in which you introduce your topic), a body (in which the main message is written) and a conclusion (which should summarize the most important ideas or deduce some new idea). Write down what you want to write in all these three sections. You now have some sort of summary of your post. The real writing can begin!

3. Use paragraphs.

Everybody uses paragraphs, but make sure to use paragraphs that make sense. Do not start a new sentence on a new line, just because it looks nice. There should be a reason for making a new paragraph. Every paragraph should have a main idea or a main subject. Ask yourself what the main idea of each paragraph is. You should be able to grasp that main idea in only one sentence. If you need more sentences, you simply need more paragraphs!

4. Use Headings.

If you want people to find their way in your articles, you should use subheadings. Subheadings will lead people, help them scan your page, and make the structure of your articles that much clearer.

5. Use signal words.

Signal words help people to scan through your text and help people to grasp your main idea. If you, for instance, have three reasons for wanting to sell a product, you should use signal words as: First of all, Secondly and Finally. Also, words as Nevertheless, Surely and Indeed also give a clear signal to your readers. Readers will instantly get that a conclusion will follow after words as Thus, So or Therefore. Signal words are thus very important to structure your text.

6. Let other people read your post.

Before publishing your post, let someone else read your post first. Ask him/her whether or not he understands the main idea of your post. Correct typo’s and sentences that are not formulated correctly.

Additional tips for writing an SEO-friendly blog post

These tips were taken from chapter 7 of our ebook Optimize your WordPress site.

Cover of optimize your WordPress siteI think you should start writing, while using the tips I mentioned above. You should never compromise the structure or the readability of your text for SEO purposes. If people like and understand your post, they are much more likely to link, tweet and share your posts. This will lead to higher ranking and more traffic. Nevertheless, without compromising on structure or readability, you can do somethings to improve your ranking even further.

1. Write rather lengthy articles.

Make sure your articles have a minimum of 300 words. As a general rule of thumb: try to put down your search terms in about 1 to 2 percent of your text. So in an article of 300 words, you should mention your search terms 3 to 6 times.

2. Use headings.

Headings are important for readability, but for SEO as well. Make sure that your keywords are used in the subheadings, but do not put your keyword in every subheading (as it will make the text unreadable). Headings help Google to grasp the main topics of a long post and thus can help in your ranking.

3. Use our WordPress SEO plugin.

Our WordPress SEO plugin actually helps you write an SEO-friendly blog post. If you want the help of our plugin you should start by choosing your focus keyword and entering it in the appropriate box. This is the most important search term you want people to find this particular page for. Our plugin actually measures many aspects of the text you are writing and helps with making your blog post SEO-friendly. We will describe the most important ones:

  • The plugin allows you to formulate a meta description. This description has to be a short text which indicates the main topic of the page. If the meta description contains the search term people use, the exact text will be shown by Google underneath your URL in the search results.
  • The plugin analyzes the text you write. It calculates a Flesch reading ease score, which indicates the readability of your article. The Flesch reading ease score for example takes into account the length of sentences.
  • The plugin does a pretty big number of checks. It checks whether or not you used your keyword in 5 important locations: the article-heading, the title of the page, the URL of the page, the content of the article and the meta-description. The plugin also checks the presence of links in your article and the presence of images in the article. It calculates the number of words and the density of usage of the focus keyword in the article. Above that, the plugin also checks whether or not other pages on your website use the same focus keyword, to prevent you from competing with yourself.

If you write a relatively SEO-friendly blog post (based on the aspects mentioned before) the plugin will indicate this with a green bullet. Writing pages with green bullets will help you improve the ranking of the pages on your website.

Note that not every dot has to be green for the overall score to be “good”. For instance, these are the results of this post, which does have a “Good” score:

page analysis results for this SEO-friendly blog post

4. Add content regularly.

Adding actual and functional information to your website will give Google the idea that your website is alive. If it’s not an active website, Google will crawl it less often and it might become less appealing to Google to include the page in the search results.

Bonus tip: Link to previous content

If you already wrote some content about the topic of your current post, don’t forget to link to these posts. It will make your post stronger because you show some authority on the subject. Next to that, your link-structure is also of importance for your ranking in Google. You should read Joost his post about cornerstone articles if you want to read more about this.

Conclusion

The era in which some SEO tricks were sufficient to get your website to rank high in Google has long ended. Nowadays, good content has the highest likelihood to result in a higher positions in Google. And good content also leads to more Facebook likes and shares, tweets and return visitors to your website. Of course, you can do some extra things to maximize the SEO friendliness of your post, but most important is: just write a very, very good post!

This post first appeared on Yoast. Whoopity Doo!

9 Most Useful .htaccess Tricks for WordPress

Many WordPress users come across .htaccess file when fixing their permalinks. However you can do so much more. The .htaccess file is a powerful configuration file that allows you to improve your site’s security and performance. In this article, we will show you 9 most useful .htaccess tricks for WordPress that you can try on your site right away.

Getting Started

Before you make any changes, you need to backup your existing .htaccess file. Connect to your website using an FTP client and simply download the .htaccess file to your computer. If something goes wrong, then you can upload the backup file.

If you cannot see the .htaccess file, then make sure your FTP client is configured to show hidden files. Read our guide on why you can’t find .htaccess file on your WordPress site for more details.

If you do not have a .htaccess file in your website’s root folder, then you need to create one. Simply create a blank text file and save it as .htaccess. Make sure that the file name is .htaccess and not htaccess. Lastly, you need to upload the file to your website’s root folder.

1. Protect Your WordPress Admin Area

You can use .htaccess to protect your WordPress admin area by limiting the access to selected IP addresses only. Simply copy and paste this code into your .htaccess file:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
# whitelist David's IP address
allow from xx.xx.xx.xxx
# whitelist Amanda's IP address
allow from xx.xx.xx.xxx
# whitelist Muhammad's IP address
allow from xx.xx.xx.xxx
# whitelist Work IP address
allow from xx.xx.xx.xxx
</LIMIT>

Replace xx.xx.xx.xxx with your own IP addresses. If you use more than one IP address to access the internet, then make sure you add them as well. See our guide on how to protect your admin folder in WordPress using .htaccess

2. Password Protect WordPress Admin Folder

Password protect your WordPress admin directory using .htaccess file

First you need to create a .htpasswds file. You can easily create one by using this online generator.

Upload this .htpasswds file outside your publicly accessible web directory or /public_html/ folder. A good path would be:

home/user/.htpasswds/public_html/wp-admin/passwd/

Now you need to create a new .htaccess file and add this code:

AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user putyourusernamehere
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any 
</Files>

Important: Don’t forget to replace AuthUserFile path with the file path of your .htpasswds file and add your own username.

Upload this .htaccess file to your wp-admin folder. That’s all, your WordPress admin folder is now password protected and only you or the users you allow will be able to access it. For detailed instructions, take a look at how to password protect your WordPress admin (wp-admin) directory.

3. Disable Directory Browsing in WordPress

Many WordPress security experts recommend disabling directory browsing. With directory browsing enabled, hackers can look into your site’s directory and file structure to find a vulnerable file. Learn more about why and how to disable directory browsing in WordPress.

Disable directory browsing using .htaccess file in WordPress

To disable directory browsing in WordPress all you need to do is add this single line in your .htaccess file:

Options -Indexes

4. Disable PHP Execution in Some WordPress Directories

Sometimes hacked WordPress sites usually have backdoor files. These backdoor files are often disguised as core WordPress files and are placed in /wp-includes/ or /wp-content/uploads/ folders. An easier way to improve your WordPress security is by disabling PHP execution for some WordPress directories.

Create a blank .htaccess file and paste this code inside it:

<Files *.php>
deny from all
</Files>

Now upload this file to your /wp-content/uploads/ and /wp-includes/ directories. For more information check out this tutorial on how to disable PHP execution in certain WordPress directories.

5. Protect Your WordPress Configuration wp-config.php File

Probably the most important file in your WordPress website’s root directory is wp-config.php file. It contains information about your WordPress database and how to connect to it. To protect your wp-config.php file from unathorized access, simply add this code to your .htaccess file:

<files wp-config.php>
order allow,deny
deny from all
</files>

6. Setting up 301 Redirects Through .htaccess File

Using 301 redirects is the most SEO friendly way to tell your users that a content has moved to a new location. If you want to properly manage your 301 Redirects on posts per post basis then check out how to do 301 redirects in WordPress with Quick Page/Post Redirect.

On the other hand if you just quickly want to redirect users from one URL to another, then all you need to do is paste this code in your .htaccess file

Redirect 301 /oldurl/ http://www.example.com/newurl
Redirect 301 /category/television/ http://www.example.com/category/tv/

7. Ban Suspicious IP Addresses

Seeing unusual requests from an IP address? Want to block an IP address from accessing your website? Add this code to your .htaccess file:

<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>

Replace xxx with the IP address you want to block.

8. Disable Image Hotlinking in WordPress Using .htaccess

Other people can slow down your website and steal your bandwidth by hotlinking images from your website. Normally, this doesn’t concern most users. However, if you run a popular site with lots of images and photos, then hotlinking can become a serious issue. You can prevent image hotlinking by adding this code in your .htaccess file:

#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?wpbeginner.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?feeds2.feedburner.com/wpbeginner [NC]
RewriteRule .(jpg|jpeg|png|gif)$ – [NC,F,L] 

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

9. Protect .htaccess From Unauthorized Access

As you have seen that there are so many things that can be done using .htaccess file. Due to the power and control it has on your web server, it is important that you protect it from unauthorized access by hackers. Simply add this code to your .htaccess file:

<files ~ "^.*.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

We hope this article helped you learn some of the most useful .htaccess tricks for WordPress.

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

To leave a comment please visit 9 Most Useful .htaccess Tricks for WordPress on WPBeginner.

WordPress Developers – Interview with David Bisset

Our last interview in the Google+ WordPress Developers community is with David Bisset – a BuddyPress freelancer from Florida, one of the WordCamp Miami organizers, recognized WordPress expert and the creator of WP Armchair.

David and I discussed the freelancing business of his and I find it quite amusing (in a good way, just like I said in the video :) ) that he’s working with European clients, which isn’t quite common with most of the WordPress freelancers or small agencies.

We went over the large events coming over the next few weeks – WordCamp Europe and WordCamp San Francisco, and the latest version of WordPress – 4.0 that landed just a few days ago.

Check out the WordPress Developer Playlist on YouTube for the other issues of our video series.

The post WordPress Developers – Interview with David Bisset appeared first on Mario Peshev on WordPress Development.

How to Fix WordPress Not Sending Email Issue

One of the most common asked questions on WPBeginner is how to fix WordPress not sending email problem. Many of our beginner level users ask us why their Gravity Forms is not sending emails, or why they are not seeing any WordPress notifications. In this article, we will show you how to fix WordPress not sending email issue.

Why You Are not Getting Emails from Your WordPress Site

The most common reason for this is that your WordPress hosting server is not configured to use PHP mail() function.

Another reason is that many email service providers use a variety of tools to reduce email spam. These tools often try to detect that an email is originating from the location it claims to be originating from. Sometimes the email is sent out by WordPress, but it never even makes into spam folder of the destination. This is why we recommend not using WordPress to send your email newsletter.

Sending Your WordPress Emails Using Mandrill

Mandrill is an email delivery system brought to you by the folks behind the popular MailChimp email service provider. Mandrill is a dedicated email service provider, so they spend a lot of money and time on making sure that your email reaches its destination. Using Mandrill, you can send your emails using Mandrill’s servers located all over the world.

Mandrill is free to use for sending up to 12,000 emails per month. This is quite sufficient if you run a small blog. Their pricing plan depends on how many emails you send per month, and it is very cheap (starting from $0.20 per thousand emails).

Configuring Mandrill with WordPress is super easy. First you need to install and activate the wpMandrill plugin. Upon activation, go to Settings » Mandrill to configure the plugin. You will be asked to provide your Mandrill API Key.

Enter your Mandrill API Key here

To obtain your API key, visit Mandrill website and sign up for your free account. After logging into your Mandrill Dashboard, you need to go to Settings page and click on the + New API Key button.

Creating a new Mandrill API key

Mandrill will create an API key for you. Copy and paste this API key on the plugin’s settings page under your WordPress admin area.

After entering your API key, Mandrill will ask you to provide sender name and a valid sender email address. Click on save changes button after entering this information.

Provide a valid sender email address for Mandrill

That’s all, your WordPress website is now configured to use Mandrill for all outgoing email.

Sending WordPress Email Using Gmail SMTP Servers

Another alternative to send your WordPress emails is using Gmail SMTP servers. You can use any regular Gmail account with this method to send out your emails. However, your email deliverability will be much better if you are using Google Apps on that particular domain name.

Most email service providers check whether or not an email is originating from the same location it claims to be originating from. When you are using a regular Gmail account, those emails are not originating from gmail servers, and this may affect their deliverability.

To use Gmail SMTP Servers for your WordPress emails, simply install and activate the WP Mail SMTP plugin. Upon activation, go to Settings » Email to configure the plugin.

WP Mail SMTP Settings

First you need to provide a sender email address and name. This should be a valid email address configured to be used with Google Apps. Make sure that ‘Send all WordPress emails via SMTP’ option is checked.

After that you need to provide your Gmail SMTP server address, port, and login credentials.

Gmail SMTP server settings for WordPress

That’s all, save your changes and use the test email form at the bottom of settings page to test your email settings.

We hope this article helped you fix WordPress not sending email issue.

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

To leave a comment please visit How to Fix WordPress Not Sending Email Issue on WPBeginner.

WordPress Themes In Depth

Book Launch! My fourth book, WordPress Themes In Depth, focuses entirely on WordPress theme development. It goes in-depth on how to build, customize, and distribute your own WordPress themes. It’s 10+ years of experience with WordPress jam-packed into 450 pages of non-stop theme-building action.

As explained over at Digging Into WordPress, WordPress Themes In Depth contains over 450 pages of straight-up theme-building action. Rather than repeat everything posted at and WP-Tao.com, here are some quick screenshots to give you an idea of what’s inside:

WordPress Themes In Depth

So that’s just a sneak peak — for more complete information about the book, you can read the announcement post at DigWP.com, visit the book’s homepage, and check out a demo of the PDF.

Get the book, save some bucks

To celebrate the event, here is a coupon code to save $10 on WordPress Themes In Depth or anything in the store:

PERISHABLEPRESS

Apply the code during checkout for instant savings :)

Get the book!

WordPress Themes In Depth

Just launched my new book WordPress Themes In Depth! This book literally is packed with over 450 pages of in-depth theme-building action. If you want to develop, customize, and distribute your own WordPress themes, I think you will benefit greatly from this book.

About WordPress Themes In Depth

For most of this year, I have been focused heavily on WordPress theme development, pouring every ounce of knowledge, experience, and inspiration into this book. It’s filled with practical information and is just the right balance of theory, application, and technique. The book includes lots of ready-to-go code snippets, tutorials, tricks, and tips. It’s basically a hands-on field guide for intermediate-level users who want to understand how themes work and build their own awesome WordPress themes.

The book goes in-depth on the following topics:

  • Setting up for theme development
  • WordPress theme fundamentals
  • Theme anatomy and the WP Theme Template
  • In-depth coverage of the WordPress Loop
  • Complete chapter on customizing themes
  • Theme development according to the WP API
  • Security, optimization & testing
  • Front-end techniques
  • How to share and sell your own themes
  • Two complete, step-by-step theme walkthroughs
  • Advanced tour of the premium 2020 theme

The book covers all of the awesome things that WordPress can do, like Theme Features, Custom Fields, Meta Boxes, Widgets, Theme Options, Theme Customizer, Actions & Filters, Custom Taxonomies, Custom Post Types, and much, much more. To get a better idea of all that this book contains, check out the official Demo:

WordPress Themes In Depth – DEMO

WordPress Themes In Depth

Bundled themes & demos

WordPress Themes In Depth includes five themes and over 20 Demos. Themes include:

  • Simplest Theme
  • DIY Theme (starter theme)
  • General Theme
  • shapeSpace
  • Tao of WordPress
  • 2020 (full-featured premium theme)

The book provides complete step-by-step tutorials for building the Simplest Theme, DIY Theme, and General Theme, and also features an in-depth walkthrough of the 2020 theme. You can see 2020 in action by visiting the book’s homepage. Throughout the book, these bundled themes are referred to as concrete examples to help facilitate learning.

The bundled Demos are plug-n-play examples of techniques covered in the book, including the following:

  • Custom fonts (via Google)
  • Custom fonts (direct CSS3 method)
  • PHP diagnostics
  • Mobile/responsive sticky dropdown menu
  • Full-size background image
  • Full-size background video
  • Lightbox functionality
  • @media queries
  • Random images via JavaScript
  • Random images via jQuery
  • Dynamic scroll-to-top link
  • Fixed-width content slider
  • Full-width content slider
  • Video slider
  • Social media buttons
  • Theme Customizer
  • Theme Options – Basic
  • Theme Options – Tabbed
  • Theme Options – Paged
  • Toggle anything with jQuery

The book goes through each of these front-end techniques step-by-step, using the demos as plug-n-play examples so you can “see” how it works while following along. And to help tie everything together, many of these techniques are included in the 2020 theme. Triple win :)

About the author

As you may know, I’ve been working with WordPress for over 10 years. During that time, I’ve developed over two hundred themes and scores of plugins. I also wrote The Tao of WordPress and co-authored Digging Into WordPress (with the man, Chris Coyier). As if that weren’t enough, I’ve written hundreds of tutorials on WordPress at Perishable Press, DigWP.com, and worked for two years as Editor for Smashing Magazine’s WordPress section.

With my new book, WordPress Themes In Depth, I bring all of this experience and knowledge together in a complete, focused guide that shows you how to master the art of building high-quality WordPress themes.

Get the book!

WordPress Themes In Depth is a beautifully designed book that contains over 450 finely crafted pages with clean layout and easy-to-read typography. Every page is meticulously designed in full color and 100% focused on WordPress theme development. Here are some of the book’s best features:

  • Full color
  • Hyperlinked
  • Searchable PDF format
  • Bundled themes & demos
  • Lots of copy/paste code samples
  • Helpful diagrams & tables
  • Concise & easy-to-read
  • 12 chapters / 450 pages
  • 300+ external resources
  • At-a-glance notes
  • Many tips & tricks

In addition to the Demo, here are some screenshots to give you an idea of what’s inside the book:

WordPress Themes In Depth – SCREENSHOTS

Bundle Deals

Bundle deals are available to save big on my other books, The Tao of WordPress, Digging into WordPress and .htaccess made easy. Various bundles are available, visit the Perishable Press Book Store to learn more.

To celebrate the event, here is a coupon code to save $10 on WordPress Themes In Depth or anything in the store:

DIGWP

Apply the code during checkout for instant savings!

WordPress 4.0 Benny Now Available for Download

WordPress 4.0 “Benny” was released today, named for American jazz and swing musician Benny Goodman, also known as the “King of Swing.”

Development for 4.0 kicked off at the end of April, led by Helen Hou-Sandí. This release includes hundreds of refinements and a few brand new features, culminating in a more polished media and editing experience. You’ll also find some exciting new tools for developers. Here’s a quick overview of what’s new.

New Media Grid View

media-library

The WordPress media library has a beautiful new default grid view. When you click on an item, the attachment details will launch a preview that allows you to easily edit and navigate items in your library. Media is now easier to manage with the “bulk select” option which enables you to delete multiple items at once.

Improved Writing Experience

sticky-editing-tools

Composing in WordPress has never been better. The visual editor now expands to fit your content, instead of the awkward scrollbar you used to see within the content area. The editing experience is smoother with a fixed toolbar as you scroll, which means your tools will follow you as your content expands.

oEmbed Previews

  • Run Time 0:17
  • Dimensions 1,312 × 800
  • File Name oembed-previews.mp4
  • File Size 2.41 MB
  • File Type MP4
  • Mime Type video/quicktime

WordPress 4.0 adds oEmbed support for TED talks, Mixcloud, CollegeHumor.com, Issuu, Polldaddy’s short URL format, YouTube playlist URLs. The visual editor now displays previews of media added via on oEmbed URL. The video above is included on the 4.0 about page, demonstrating oEmbed previews in action.

Refreshed Plugin Install and Search Experience

add-plugins

WordPress 4.0 makes it much easier to search for plugins in the admin. The plugin installer now displays plugin as cards in a grid view. Plugin authors can add custom icons that will appear in the installer. Clicking on a listing launches the plugin details modal with a description, ratings, reviews, compatibility information and more.

Improved Language Support

wordpress-languages

This release adds major internationalization improvements to the software. Language selection is now available at installation and language management has been streamlined in the dashboard.

What’s new under the hood?

WordPress 4.0 also includes an exciting array of new developer goodies. Here are a few of the highlights:

Customizer API

This release adds a new Panels API that enables developers to group customizer controls into sections. It also includes support for contextual controls that will be visible or hidden based on the page the user is viewing. The improved customizer offers a wider array of controls and parameters that allow developers to extend it for more varied uses beyond themes.

Query Ordering

WordPress 4.0 includes a more powerful ORDER BY argument for developers working with WP_Query. Developers can now pass an array to WP_Query as the value for orderby for more flexible and precise querying.

External Libraries

This major release includes updates for libraries used in WordPress, including TinyMCE 4.1.3, jQuery 1.11.1, MediaElement 2.15.

You can find the full list of all the changes on the 4.0 release page, which was created by volunteers from the docs team.

WordPress 4.0 is the result of the tireless efforts of 275 contributors. If code is poetry, then this release is a skillfully-written sonnet that resolves problem spots and introduces new tools that users will love. Once you update, you’ll wonder how you ever lived without these improvements. Visit your WordPress site and navigate to Dashboard > Update to get 4.0 and take advantage of all the shiny new features.

New Plugin: Contact Form 7 Extras

Contact Form 7 is an excellent plugin for creating and managing forms in WordPress but some of its advanced functionality is hidden away under complex control variables which cause a lot of frustration for many of its users.

Therefore, I decided to create an “Extras” add-on for Contact Form 7 which adds a simple user interface with only checkboxes and input fields for most of that complex functionality. Here is what I mean:

Extras for Contact Form 7 Plugin

Currently it has support for:

  • disabling AJAX for form submissions,
  • adding custom redirects on successful form submissions and
  • tracking form submissions with Google Analytics.

I built it as a free complimentary plugin for my Storage for Contact Form 7 plugin which keeps copies of all contact form submissions in the WordPress backend in addition to them being sent via e-mail. This ensures that you never loose a single business inquiry or lead due to e-mail failure.

I am currently waiting for the plugin to be approved for the official plugin repository. Please let me know if there is any other functionality that you would like to see added to this plugin.

New Book: Making Money Online with WordPress

My latest book is finally ready – “Making Money Online with WordPress“.

This is your guide to building your remote online business with WordPress, which will reveal various opportunities for everyone to bootstrap an online business based on the WordPress platform.

In 28 pages I have shared my experience with the WordPress platform, working with numerous non-technical clients on their first business initiatives. We have created different types of web projects – online stores, SaaS solutions, digital marketing portals, CRMs and so forth, and it’s always challenging to prepare a stable and reliable system for an established agency working offline for a long time.

This guide is a great fit for everyone who would like to turn their hobby into a part-time profitable business, slowly moving to a full-time business on the top of the WordPress platform.

Check out Making Money Online with WordPress now and learn the best way to sell digital or physical goods, start a training portal, build a marketing program and excel in whatever you do best. Reach to a potential market of hundreds of millions of online users.

Huge thanks to Chris and Troy who shared their business insight and helped me complete this ebook. Thanks!

See the book outline and get it here.

The post New Book: Making Money Online with WordPress appeared first on Mario Peshev on WordPress Development.

Yoast ebook: Optimize your WordPress Site

Cover of optimize your WordPress site, the book by team at YoastExciting news! Team Yoast has written its very own book! In recent years, we often fantasized about writing a book in which all of our knowledge was bundled. In the last few months, we finally put our pens down to paper! Starting today you can buy our awesome ebook for only $19.

Our book will help you optimize your WordPress site. The book does not solely contain information about SEO, but also gives information about Navigation, Social Media, Google Analytics, Conversion and Site Speed. These different sections can be read in any order you like and gives you the basic of one aspect of optimizing your websites. All sections are written by our very own Yoast experts in the various fields. Design and illustrations are done by our Design Dream Team Erwin and Mijke.

A book for WordPress users

The book is written for all people having a wordpress website. Building a WordPress website isn’t that hard. But after you have installed your theme and put in your text… then what? How do you make sure your site stands out from all of the other ones on the internet? How do you make sure people find your website? And what do you have to do to make people buy your stuff?

Tips to keep your website appealing

Installing your WordPress site is only the beginning. In order to have a website which keeps appealing to your audience, you will have an endless job in keeping your content and design up to date. You will have to do continuous Search Engine Optimization in order to make sure that people find your website on Google and other search engines. You should make sure users of your website can find the information you want them to find. And if you have a shop, you should make sure that people can find and (want to) buy your products. That’s a lot of work! Our book guides you through doing all these things.

A book for all WordPress Users

Our ebook is specifically written for those of you that already have a WordPress site, but need help to turn it into a fantastic WordPress site. It’s not written solely or especially for developers (it’s relatively poor on code) and can be read by (almost ;-)) everyone! Some parts in the SEO and the speed section can be a bit hard without any technical skills, but the larger part of the book is comprehensible for a large audience.

Technical Specifications

Buying our ebook will give you access to a number of files. You can download a PDF, for reading our book on your PC, Mac or tablet. But you can also download our book as EPUB, if you like to read on your ereader. Also, we provide a Kindle-version. You can thus choose the device you like! In our opinion, the ebook is best read in color and on a device connected to the internet. We provide lots of links with examples and further reading material!

Buy our book!

Convinced? Buy our ebook now for only $19 and read our 152 pages of practical information and tips! Turn your WordPress site into a fantastic WordPress site! If you would like to have some more information about the contents and look into the design of our ebook, check out our ebook page.

 

 

 

This post first appeared on Yoast. Whoopity Doo!

Google: Slowly moving back to 10 blue links

Last night Google’s John Mueller announced on Google+ that “authorship” had been removed completely from the search results. Just like Google has recently removed most video snippets, this is another step towards Google’s search result pages going “back” to being 10 blue links.

Brief history of author highlighting / authorship

We were among the very early adopters of author highlighting, building features into WordPress SEO that made this very easy as well as writing tutorials on how to achieve the author highlights. The format went from a picture on the right of the search results (notice the +1 button that appeared in the SERPs at the same time):

rel=me / rel=author search in Google showing my author highlight

to the picture being highlighted on the left, removing the +1 button but adding the number of “circles” the author was in on Google+:

wordpress seo article Google Search 133

to (more recently) it just being the name below the URL, with no mention of Google+ left:

recent author highlight

“no traffic impact”

John Mueller, anticipating flack from SEOs and webmasters worldwide, said this in his post:

(If you’re curious — in our tests, removing authorship generally does not seem to reduce traffic to sites. Nor does it increase clicks on ads. We make these kinds of changes to improve our users’ experience.)

Now, that doesn’t surprise me, because they probably tested against the 3rd iteration of author highlights shown above. I’m guessing the impact was quite different when they took away the picture, and the impact might actually have been different for different audiences as well. I know I’ve had my fair share of tweets and mentions of people saying they saw my face in the search results the whole day, as they were working on specific WordPress stuff. It definitely had a branding impact.

Schema.org

In his post, John makes it a point to highlight that they’ll continue to show rich snippets based on Schema.org markup:

Going forward, we’re strongly committed to continuing and expanding our support of structured markup (such as schema.org). This markup helps all search engines better understand the content and context of pages on the web, and we’ll continue to use it to show rich snippets in search results.

All four major search engines are backing schema.org and they’re used, for instance, in the creation of rich snippets with ratings and prices like these:

wordpress seo plugin rich snippet

As AJ Kohn showed in his excellent post on rich snippets, schema.org data seems to be used for Knowledge Graph results too, for instance for books results. Another area where (the data from) schema.org markup is used heavily is in Local search, our Local SEO plugin does lots of schema.org markup around locations and business type.

Standing out in a crowded search result

Author highlights, video snippets, ratings: they’re all ways to stand out in a result that is otherwise just a “bland” 10 blue links. When we’re being limited by Google in how to stand out, we immediately start looking for new ways.

The third screenshot above shows that we’ve been playing with separators, a recent feature in our WordPress SEO plugin that lets you choose which separator to use:

title separator option

While implementing this I was testing which separators still worked in search results. In the “old” days, you could use diamonds, airplanes and all sorts of other weird characters. This too has been severely limited. A few years ago, 888 used special characters in their titles like this:

888.com result with special characters in the title

They no longer do that as most of those special characters no long work.

So what’s the next step for creative optimization?

With all these changes, a few things remain that allow you to really stand out:

  • rating snippets (though one must start to wonder for how long those will remain, with results like these);
  • news results (for which you have to be included in Google News, in which case our News SEO plugin is awesome);
  • YouTube videos still stand out (it’s no coincidence that we’ve finally gotten a Yoast YouTube channel) – note Google owns YouTube;
  • optimizing for the knowledge graph. AJ Kohn’s earlier linked post is a good starting point for thinking about that. The knowledge graph comes with its own dangers though, if you search for [how to boil an egg] you’ll see what I mean.

Who knows what the future brings?

And of course, there will always be new features in Google. When we were discussing these changes with some SEO friends, one of them said “it’s awesome, it’s a chance to be the first movers on another new thing”. That’s one thing you can be sure of: we’ll be there helping you make the most of it!

 

This post first appeared on Yoast. Whoopity Doo!

Jason Schuller on WordPress Theme Business

Hulu.com had just launched earlier that same year and I had been inspired by its clean design. Interested to see if I could duplicate a similar experience using WordPress, I started working on a new theme I called “On Demand” which was an instant success. On Demand grossed a total of $3,750.00 for the first month after I released it in August 2008 — the result of everything I had learned up to that point including the perfect balance of design, functionality and options.

— A Brief History of a WordPress Theme Business

WordPress SEO Tutorial Videos

One of the returning questions we get from customers is for better tutorial videos for our SEO plugin. That’s no “simple” thing as we quite regularly update the plugin and add new features to it, changing the interface. So we’ve teamed up with Shawn Hesketh, from WP101, who has created (and will continue to update) a beautiful set of 17 videos. These videos are now included in our WordPress SEO premium plugin:

WordPress SEO tutorial videos as seen in the premium WordPress SEO plugin.

WordPress SEO tutorial videos as seen in the premium WordPress SEO plugin.

These WordPress SEO tutorial videos will be kept up to date with all the changes we make to the plugin. In fact, when we did the initial set of videos, I was smart enough to make so many changes in one update that 4 of the 17 videos had to be redone. Shawn must hate me already ;)

Let me show you the first WordPress SEO tutorial video, which is the first of 17 videos. It highlights how to use the snippet preview and focus keyword functionality:

If you like what you see, upgrade to our Premium SEO plugin and you’ll have this set of videos available (and up to date) all the time!

But you already had WordPress SEO tutorial videos?

We used to have a separate Video Manual plugin; that plugin has been discontinued, as those videos weren’t up to date. It will continue to work for a while longer, but will not be updated. The license holders for that plugin can upgrade to the premium WordPress SEO plugin at a very nice price: we’ll give you the original plugin purchase price as a discount. Email support and we’ll set it up for you.

This post first appeared on Yoast. Whoopity Doo!

Landing the First WordPress Job

One of my email list subscribers asked me how to find a remote WordPress job. I was facing the same issue looking for my first remote WordPress job, so here’s the list of the options if you’re looking for a full-time WordPress job as a remote worker.

Build a Portfolio

If you are coming from another area close to WordPress, but not WordPress itself, the best bet for you is to build a portfolio. Work on some free plugins or themes, start a decent pet project based on WordPress, adopt a plugin or help with some pull requests on GitHub.

Even if you have a solid portfolio with PHP or theme development for another CMS, small WordPress bits are almost mandatory, unless you are a Core PHP developer or the creator of Smashing Magazine. :) At the very least there is some learning curve switching from a framework or another system to WordPress, and your future employers would like to see how deep have you researched into it.

There are other ways to build your online presence too, if you are a blogger, tutorial writer, start a podcast or anything that would position you among the reliable WordPress folks.

Contribute to WordPress

Giving back to WordPress is helpful for several reasons.

First, you learn more about WordPress, the ecosystem and the accompanying users.

Second, you will become a part of the community by helping newbie users, providing your expertise and proving yourself as a reliable WordPress member. Furthermore you can share your know-how in your blog, writing tutorials or giving talks at WordCamps or meetups.

Thirds, decent companies value community work. By being a part of the community, you bring some good karma to your employer, and your projects accordingly.

Target the right job spots

There are various places online where you could apply for work.

You could go to SimplyHired or WPhired and check the open job offers. You can search for full-time options in jobs.wordpress.net. You can browse other relevant job boards like the one from Smashing Magazine.

Additionally, you can browse the websites of the larger WordPress agencies and apply with them.

If you don’t know them, you can browse WordCamp Central and browse the sponsors pages for several WordCamps. You can take the next step by browsing the speakers’ profiles – some agency owners or lead engineers present at many WordCamps and look for expert folks to join their team.

There is also Google, the WordPress communities in the social networks, and the holy Twitter – plus the main WordPress news and tutorial websites that mention some of the companies regularly.

Network, network, network

Networking is the best way to prove that you’re not only a professional, but a contactable human being. ITs are known to have quirks back from the early years of development when only wunderkind nerds were able to play with computers. Still, making the right contacts would meet you with the right people, or at least they could recommend you when someone is looking for employees.

Your first stop should be your local WordCamp or a meetup group, or if possible, go to one or two events abroad. You will learn a lot and meet lots of community people, too.

Sales Pitch

Too many experts have no idea how to promote themselves. Chances are that you’re a good fit, but you are unable to explain that in an interview or online.

Spend some time reading freelancer resources focusing on marketing and sales. Most freelancers focus on those aspects since that’s what brings leads in the first place.

Update your online portfolio and presence, your LinkedIn profile, and your GitHub. Focus on WordPress or the skills where you excel best. Approach more companies and convince them that you’re experienced, motivated and willing to work extra hours at first in order to prove them that you’re a great fit. Prepare to do a small test project for free if needed, and be serious.

What would you do now if you were just getting into WordPress and looking for your first full-time remote job?

The post Landing the First WordPress Job appeared first on Mario Peshev on WordPress Development.

WordPress 4.0 Release Candidate Now Available for Testing

WordPress 4.0 RC 1 is now available for download. Helen Hou-Sandí announced the release candidate today with an update to the project schedule. The official release was targeted for the week of August 25th but will likely be arriving the following week.

“We hope to ship WordPress 4.0 next week, but we need your help to get there. If you haven’t tested 4.0 yet, there’s no time like the present,” Hou-Sandí said in the release announcement.

The easiest way to test RC1 is to put the WordPress Beta Tester plugin on a test site and start running through all the new features, many of which are highlighted on the 4.0 about page in the admin (wp-admin/about.php). If you want a more in-depth look at the new features, Hou-Sandí previewed WordPress 4.0 at a recent NYC Meetup and you can watch the video.

The good news is that plugin and theme authors still have plenty of time to test their extensions against the release candidate for compatibility. Since WordPress 4.0 adds icons to the admin plugin installer, plugin developers will want to put their custom icons in place to improve visibility among all the auto-generated ones.

Over the past month of four beta releases, WordPress 4.0 has incorporated hundreds of fixes and refinements that make it truly a joy to use. Watch for the official release to drop sometime next week.

An Alternative to @import in WordPress Child Themes

Using Child Themes in WordPress is a great way to modify an existing theme, however the CSS @import directive is slower than it has to be, so you should try and avoid it. Here’s why.

If it takes 200ms to load the child theme’s stylesheet, and 200ms to load the parent theme’s CSS, a modern web browser should take approximately 200ms to load both of them, because modern browsers load assets in parallel.

Unfortunately this is not true for CSS @import. Let me quote Google:

The browser must download, parse, and execute first.css before it is able to discover that it needs to download second.css.

Which means that instead of 200ms, with @import it’ll take the web browser approximately 400ms to load both stylesheets. Here’s a typical child theme’s CSS:

/**
 * Theme Name: My Child Theme
 * Template: parent-theme
 */
@import url(../parent-theme/style.css);

/* My Child Theme CSS */

We can drop the @import statement, and make good use of functions.php and the wp_enqueue_style() function:

// Faster than @import
add_action( 'wp_enqueue_scripts', 'my_child_theme_scripts' );
function my_child_theme_scripts() {
    wp_enqueue_style( 'parent-theme-css', get_template_directory_uri() . '/style.css' );
}

And we don’t need to re-declare dependencies because the child theme’s functions.php is loaded before the parent theme’s. Unless, of course, the parent theme uses a different action priority, in which case we should just match it.

That’s +1 to our PageSpeed score :)

Click here to comment

More from Konstantin Kovshenin

Post Language Project Proposes to Bring Better Support for Multilingual WordPress Content

photo credit: . Entrer dans le rêve - cc
photo credit: . Entrer dans le rêvecc

WordPress global usage on the web is now at 23%, and this year marked the first time that non-English downloads surpassed the number of English downloads. Major internationalization improvements coming in 4.0 will open up the platform even more for those publishing in different languages.

While discussing the upcoming language-related improvements at WordCamp Seattle this year, Andrew Nacin highlighted the fact that only 5-10% of the world speaks English. It may not be long before the majority of WordPress installations are in Mandarin, Spanish, Hindi, or Arabic.

The need for better ways to support multilingual content is already a concern for many international users and agencies. One thing that WordPress core is currently missing is the ability to easily retrieve the language in which a post or page has been written. German WordPress developer Caspar Hübinger is in the early stages of creating a proposal to add a Post Language feature to core.

Why Does WordPress Need Post Language Support?

In outlining the need for post language support, Hübinger cites WordPress download stats from the end of April, demonstrating that 3.9 had been downloaded roughly 1.36 times more often in other languages than the default US English:

Total Core downloads: 6,589,287 (100%)
Default English: 2,807,978 (42.6%)
Others: 3,781,309 (57.4%)

(Data from April 29, 2014)

Hübinger wants to add post_language as a property of WP_Post just like post_author, post_excerpt, and the other variables.

“Offering a basic opportunity to users for them to store the language of their content along with other post meta information would provide a new level of empowerment for both, users and developers,” Hübinger contends.

His proposal is based on the premise that the language of post content serves as:

  • a highly relevant piece of post meta information in general
  • one of the most important parameters for plugin and theme developers to tackle the already complex field of language and translation

Many plugins, in the course of providing translation features, require the ability to determine the language a post was written in, but they all go about it in different ways. Portability is abysmal across plugins such as WPML, Polylang, Babble, Multilingual Press, and others that provide a similar functionality.

All of those plugins, however, do much more than just determining the language of a post,” Hübinger told the Tavern. “They offer UIs for translating content and establishing language relationships between single posts — a field so complex that being built without any core method for language determination, each one of those plugins can become a major headache when a user tries to switch from one plugin to another.

“As a user you’re pretty much locked in to the solution you choose, since not only are connections between original posts and translations gone when you switch plugins, but also the very marker of which language a post is written in simply vanishes or becomes ineffective,” Hübinger explained. If WordPress had a standard way to determine the language in which a post was written, all of these plugins could potentially provide more portable functionality.

The Proposed Post Language Feature

So what would Post Language look like as a feature implemented in WordPress? In addition to providing developers with more tools to add custom language and translation features, post language would also allow users to assign a language selection in the Publish Post meta box:

post-lanugage-publish-box

Hübinger proposes that the select box be populated with the languages previously defined through either the language packs available within the given WordPress install, or a filter. The language selection would return the ISO code for that language and store it in a database field as post meta or an extra field that would have to be added to the database table.

The value for Post Language could then be used in the following ways:

  • should be made accessible through template tags:
    the_post_language()
    get_the_post_language()
  • should possibly affect
    get_bloginfo( 'language' )
    get_bloginfo( 'text-direction' )
    and thus language_attributes()
  • OR should be implemented via a new attribute on a per-post basis, similar to post_class():
    • post_language()

      <article <?php post_class(); ?> <?php post_language(); ?>>
      // ouput:
      <code><article class="foo bar" lang="en-US"></code>

Since not all WordPress sites would need this feature, he suggests that it be disabled by default and enabled via a constant, a filter or perhaps an admin setting under Settings > General.

Hübinger mentioned his idea in a comment on Andrew Nacin’s roadmap for 4.0 internationalization improvements, but he decided to wait until 4.0 is in place before officially proposing the feature. Adding a new property to WP_Post is a major consideration and will likely encounter a healthy debate.

Post Language Support Falls In Line with WordPress’ Mission to Democratize Publishing

Unlike various other CMSs, such as Drupal and Typo3, WordPress does not provide a core feature to publish translations of original content. “You can’t even just publish single posts in more than one language per site without messing up your markup with false language attributes,” Hübinger notes. “Not a problem? Try to get a machine reading a post to you in any other language than English when its markup says it is written in English. You’ll most certainly hear the problem.”

Hübinger believes that raising awareness is key for the Post Language feature to gain momentum. “Language on a per post basis is generally associated with translation in people’s minds, and rightfully so,” he said. “Translation, though, has always been an edge case scenario for our mainly anglophone WordPress core dev team, and rightfully so as well.” Convincing the WordPress community of the case for adding Post Language to core is the first step to making it a viable possibility.

The lack of a post language field juxtaposed with the existence of post formats in core is a continual source of bewilderment for Hübinger, who comes from a multilingual culture.

“I like to say if we have a visual carnival like post formats in core, it is high time to spend some thought on a language API which potentially will affect and benefit a couple of millions more users than fancy post formats,” he said. “Nothing against post formats; I like them. They just make such good contrast when comparing the importance of core features.”

His proposal makes a compelling case for the international community and appeals to the heart of WordPress’ core mission to democratize publishing.

After all, WordPress is all about publishing content, and content inevitably has to do with language. We can’t honestly claim to ‘democratize publishing’ while we continue to ignore the relevance of linguistic aspects regarding content for WordPress users around the world.

Hübinger believes that a Post Language feature can help the project enter a higher level of maturity with one small API feature addition. “While the whole field of translating and multilingual content rightfully has been and will be outsourced into plugin territory, WordPress core needs to provide at least a basic language-per-post API for plugin authors to work with, thus preventing users from locking themselves in with one solution forever,” he said.

Hübinger readily admits that the feature is beyond his coding capabilities and hopes that other developers will join the effort to establish a path for architecture and implementation.

“I am totally open to any self-respecting developers who would like to contribute, fork the repo, set up their own one for the same idea,” he said. “This is about making WordPress better for millions of non-anglophone users, so let’s just get that language API in there in the most decent manner possible!”

Once WordPress 4.0 is released with improved multilingual support, Hübinger hopes to drum up more support and contributors to work on the project before officially proposing it to core. If you’d like to assist on further developing the Post Language proposal, you can find the project on GitHub.