Author Archive

User Login / Registration

Since version 2.0 all registration options are now simplified and you’ll find them in WorkScout Core → Registration Options.

Also don’t forget to enable registration in  Settings → General → Membership → Anyone can register.

 

How to improve page load speed?

Do you want to speed up your WordPress site? Fast loading pages improve user experience, increase your pageviews, and help with your WordPress SEO. In this article, we will share the most useful WordPress speed optimization tips to boost WordPress performance and speed up your website.

1. Enable GZIP compression

You can do it using WP Performance Score Booster plug-in or manually by adding the following to your .htaccess file:

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certain file types by extension:
<files *.html>
SetOutputFilter DEFLATE
</files>

Before we start I should explain what content encoding is. When you request a file like http://www.yahoo.com/index.html, your browser talks to a web server. The conversation goes a little like this:

HTTP_request.png

  1. Browser: Hey, GET me /index.html
  2. Server: Ok, let me see if index.html is lying around…
  3. Server: Found it! Here’s your response code (200 OK) and I’m sending the file.
  4. Browser: 100KB? Ouch… waiting, waiting… ok, it’s loaded.

Well, the system works, but it’s not that efficient. 100KB is a lot of text, and frankly, HTML is redundant. Every <html>, <table> and <div> tag has a closing tag that’s almost the same. Words are repeated throughout the document. Any way you slice it, HTML (and its beefy cousin, XML) is not lean.

And what’s the plan when a file’s too big? Zip it!

If we could send a .zip file to the browser (index.html.zip) instead of plain old index.html, we’d save on bandwidth and download time. The browser could download the zipped file, extract it, and then show it to user, who’s in a good mood because the page loaded quickly. The browser-server conversation might look like this:

HTTP_request_compressed.png

  1. Browser: Hey, can I GET index.html? I’ll take a compressed version if you’ve got it.
  2. Server: Let me find the file… yep, it’s here. And you’ll take a compressed version? Awesome.
  3. Server: Ok, I’ve found index.html (200 OK), am zipping it and sending it over.
  4. Browser: Great! It’s only 10KB. I’ll unzip it and show the user.

The HTML portion of the yahoo home page goes from 101kb to 15kb after compression:

yahoo_compression.PNG


2. Install a WordPress Caching Plugin

We recommend using the WP Super Cache:

WP Super Cache


WordPress pages are “dynamic.” This means they’re built on the fly every time someone visits a post or page on your website. To build your pages, WordPress has to run a process to find the required information, put it all together, and then display it to your user.

This process involves a lot of steps, and it can really slow down your website when you have multiple people visiting your site at once.

That’s why we recommend every WordPress site use a caching plugin. Caching can make your WordPress site anywhere from 2x to 5x faster.

Here’s how it works: Instead of going through the whole page generation process every time, your caching plugin makes a copy of the page after the first load, and then serves that cached version to every subsequent user.

How caching works

As you can see in the graphics above, when a user visits your WordPress site, which is built using PHP, your server retrieves information from a MySQL database and your PHP files, and then it’s all put together into a HTML content which is served served to the user. It’s a long process, but you can skip a lot of it when you use caching instead.


3. Optimize Images for Speed

If your images aren’t optimized, they could be hurting more than helping. In their original formats, these photos can have huge file sizes. But based on the image file format and the compression you choose in your editing software, you can decrease your image size by up to 5x.

We recommend using Smush Image Compression and Optimization plugin:

Smush Image Compression and Optimization


4. Use a Content Delivery Network (CDN)

https://gtmetrix.com/blog/wp-content/uploads/2017/02/cdn-example.png

Users in different geographical locations may experience different loading times on your site. That’s because the location of your web hosting an have an impact on your site speed. For example, let’s say your web hosting company has its servers in the United States. A visitor who’s also in the United States will generally see faster loading times than a visitor in Europe.

A CDN is a network made up of servers all around the world. When you use a CDN, every time a user visits your website they are served those static files from whichever server is closest to them. Your own web hosting server will also be faster since the CDN is doing a lot of the work.

We recommend MaxCDN. It works well with WordPress websites and complements your existing WordPress caching plugins for even faster loading times. See guide on how to install and setup WordPress CDN solution MaxCDN to get started.

 


Sources of this article:
http://www.wpbeginner.com/wordpress-performance-speed/
http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/

WooCommerce Paid Listings

WooCommerce Paid Listings is a plugin for WP Job Manager which lets you purchase Job Listing Packages and Resume Packages (as products) which are then used to post listings.

Setting up WooCommerce products as job/resume packages

After installation the first thing you’ll need to do is setup some products in WooCommerce which job submitters can purchase.

  1. Create a new product
  2. Select a package product type:
    1. Job Package – A package which lets a user post X jobs before expiring.
    2. Resume Package – A package which lets a user post X resumes before expiring. Requires Resume Manager add-on.
    3. Job Package Subscription – Requires WooCommerce Subscriptions. See below for more information.
    4. Resume Package Subscription – Requires WooCommerce Subscriptions and Resume Manager add-on. See below for more information.
  3. Enter price and other product details like any other product. Job/Resume Package products can be free or paid – your choice!
  4. Package specific options are as follows: Screen-Shot-2013-09-22-at-12.37.28
    • Listing limit – How many job or resume listings this package lets you create once purchased. Can be left blank for unlimited posting.
    • Listing duration – How long job/resume listings last (in days) before expiring when using this package.
    • Feature listings? – Whether or not job listings should be featured when using this package.
  5. Publish the product

The published package will then be available during job submission.


Subscriptions Support

Job Packages can also be subscriptions, but this requires the WooCommerce Subscriptions extension from WooThemes. You can have both Job and Resume Subscription packages.

Subscriptions can work in two ways.

  1. The Package is Linked to the Subscription
  2. From version 2.3.0, there is an option to link to Subscription to the Listing

If the subscription is linked to the package, the user will be able to post X amount of listings per subscription term. Renewals reset the package and allow the user to make more postings.

If the subscription is linked to the listing, the user will be able to post a limit of X active listings which will expire when the subscription expires. Failure to renew will expire the listings.


Job Submission Flow

WC Paid Listings will change the job submission process slightly to add the required purchase/job pack steps. This is how it should happen:

  1. User fills in the job submission form as normal
  2. User previews the job as normal
  3. In the preview header, rather than a ‘submit’ button, a ‘choose package’ button will be shown: Screen-Shot-2013-09-22-at-12.08.38
  4. When clicked, the choose a package screen will be displayed. This page lists all Job Package products and previously purchased active job packsScreen-Shot-2013-09-22-at-12.24.56
  5. User chooses a package and clicks submit.
    • If this is a new package, it will be added to the WooCommerce cart, referencing the Job ID. Once paid for, the job will be approved and the package assigned to the user.
    • If this is a package that has already been purchased, the job will be submitted right away.

The same flow is used for resumes: Enter resume details > Preview > Choose Package > Checkout.

Editing Job Submission Fields

There are three main ways to customise the fields in WP Job Manager;

  1. For simple text changes, using a localisation file or a plugin such as the Say What Plugin. See Translating WP Job Manager for more information.
  2. Use a 3rd party plugin such as https://plugins.smyl.es/wp-job-manager-field-editor/ which has a UI for field editing.
  3. Use the WordPress hooks (filters) which are explained below.

WP Job Manager’s approach to allowing customisation of it’s forms is to use filters. In WordPress, filters essentially allow you to ‘filter’ data through your own custom php functions which return a different ‘filtered’ result. Any custom code can go in your theme functions.php file.


Editing fields on the frontend

Editing job submission fields is possible via the submit_job_form_fields filter. Adding some code will allow you to edit various fields, or add new ones.

See the below example which demonstrates how to change a field’s label:

// Add your own function to filter the fields
add_filter( 'submit_job_form_fields', 'custom_submit_job_form_fields' );

// This is your function which takes the fields, modifies them, and returns them
// You can see the fields which can be changed here: https://github.com/mikejolley/WP-Job-Manager/blob/master/includes/forms/class-wp-job-manager-form-submit-job.php
function custom_submit_job_form_fields( $fields ) {

// Here we target one of the job fields (job_title) and change it's label
 $fields['job']['job_title']['label'] = "Custom Label";

// And return the modified fields
 return $fields;
}

View the full list of core fields in this file: https://github.com/mikejolley/WP-Job-Manager/blob/master/includes/forms/class-wp-job-manager-form-submit-job.php


Editing fields in admin

Fields in admin are of similar structure and can be edited using the ‘job_manager_job_listing_data_fields’ filter. Each field takes a label, placeholder, type and description arguments.

See the below example which demonstrates how to change a field’s placeholder:
 // Add your own function to filter the fields
 add_filter( 'job_manager_job_listing_data_fields', 'custom_job_manager_job_listing_data_fields' );

// This is your function which takes the fields, modifies them, and returns them
 // You can see the fields which can be changed here: https://github.com/mikejolley/WP-Job-Manager/blob/master/includes/admin/class-wp-job-manager-writepanels.php
 function custom_job_manager_job_listing_data_fields( $fields ) {

// Here we target one of the job fields (location) and change it's placeholder
 $fields['_job_location']['placeholder'] = "Custom placeholder";

// And return the modified fields
 return $fields;
 }

View the full list of core fields in this file: https://github.com/mikejolley/WP-Job-Manager/blob/master/includes/admin/class-wp-job-manager-writepanels.php

How to change some texts/words?

If you would like to change some texts from english to english (translating to another language is described here) you can do it using SayWhat? plugin that allows you to alter strings on your site without editing WordPress core:

Say what?

After installing SayWhat? plugin go to Tools → Text Changes and click “Add New“. In “Original string” field write original text, then in “Text domain” field add workscout_core or workscout and in “Replacement string” field add new text.

Some texts might come from theme and then the textdomain is workscout or from plugin then it’s workscout_core

In this example we changed text above search input field on homepage from “What job are you looking for” to “Find great places to work”.

Click “Add” and voila:

Why do I get “Failed to import” message when importing demo content?

While importing demo content you might get a list of messages started with ” Failed to import xxx” – that is quite common and in most cases nothing to worry about.

This message will display for ” media” – the theme you’ve bought doesn’t included the images used in Theme Preview – those are stock images which cannot be redistributed – so we cannot allow you as end user to get them with the xml file, that’s why they are not imported and replaced with generic gray placeholder images.

The same message might happen for some post types or post attributes. For example if the demo of theme includes shop functionality, it’s added via WooCommerce. If you don’t have WooCommerce installed prior to importing demo content (because you don’t need it or you didn’t want it yet) – your WordPress simply doesn’t know there could by custom post type named “product” – so it won’t be able to import the products from demo XML, and the import tool with show each of the product as a “Failed to import“.

How can I add “Browse Companies” page

To add Browse Companies page like on  demo you need to install free WordPress add-on for WP Job Manager Company Profiles – after installing and activating it on your WordPress installation, create new Static Page, set it to full-width layout, name it for example “Companies” and as a content of that page add just

[job_manager_companies]

Publish your website and that’s all 🙂

How do I add image for search area in WorkScout?

To add background image for search area in homepage like on the demo page  http://workscout.in/ you need to go to your  Dashboard -> Appearance -> Customize -> Jobs Options -> Job Home Page Options:

You can upload/select image from media, for the best results, the images size should be 1920 × 720,  after you select it, click “Choose file” then Save Changes. That’s all!


How to display the search box on my homepage?

Make sure your home page in Page Attributes as Page Template has set the Page with Jobs Search

You can do the same for Resume Search, but in  Dashboard -> Appearance -> Customize -> Resumes Options -> Resume Home Page Options:

Why Revolution Slider / Visual Composer is asking me for licence key?

If you’re using one those plugins you might stumble uppon a notice in Dashboard about need of providing purchase key.

The Visual Composer (the same applies to Revolution Slider) is included in theme on extended/developers license, which means I bought it for higher price to be able to include it in my theme. You as end user can use it only with this theme, and do not get the license key that is used to auto-updates.
Updates of Visual Composer come with the updates of the theme ( I always include new VC in theme few days after release). You can of course buy your own copy of VC if you want it faster or need support from plugin authors, but that’s not necessary.