<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>David Tiong Web Consultancy</title>
	<atom:link href="https://www.davidtiong.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.davidtiong.com</link>
	<description>Build, Maintain, Support, Soar</description>
	<lastBuildDate>Thu, 17 Jan 2019 02:45:41 +0000</lastBuildDate>
	<language>en-AU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.0.3</generator>

<image>
	<url>https://www.davidtiong.com/wp-content/uploads/2016/09/cropped-DavidTiong_icon-188x188.png</url>
	<title>David Tiong Web Consultancy</title>
	<link>https://www.davidtiong.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WordPress image sliders &#8211; home page slider &#8211; good or bad?</title>
		<link>https://www.davidtiong.com/wordpress-image-sliders-home-page-slider-good-or-bad/</link>
		<comments>https://www.davidtiong.com/wordpress-image-sliders-home-page-slider-good-or-bad/#comments</comments>
		<pubDate>Mon, 02 May 2016 04:32:10 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[image sliders]]></category>
		<category><![CDATA[WordPress sliders]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3644</guid>
		<description><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2016/05/image-sliders-good-or-bad-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="image sliders good or bad on websites" srcset="https://www.davidtiong.com/wp-content/uploads/2016/05/image-sliders-good-or-bad-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2016/05/image-sliders-good-or-bad-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2016/05/image-sliders-good-or-bad.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>Sliders and website design Also referred to as image carousels and slideshows, sliders are a common design aspect on many websites. Seen as a way to visually present images, or other content including text and videos, the concept of a slider is based on the idea of using a slide show to present to your ... <a title="WordPress image sliders &#8211; home page slider &#8211; good or bad?" class="read-more" href="https://www.davidtiong.com/wordpress-image-sliders-home-page-slider-good-or-bad/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2016/05/image-sliders-good-or-bad-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="image sliders good or bad on websites" srcset="https://www.davidtiong.com/wp-content/uploads/2016/05/image-sliders-good-or-bad-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2016/05/image-sliders-good-or-bad-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2016/05/image-sliders-good-or-bad.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div><h2>Sliders and website design</h2>
<p>Also referred to as image carousels and slideshows, sliders are a common design aspect on many websites. Seen as a way to visually present images, or other content including text and videos, <em>the concept of a slider is based on the idea of using a slide show to present to your audience</em>.</p>
<p>There was a time when image sliders were very popular, like anything new and shiny. However many online marketing experts would now argue that sliders are ineffective and even &#8220;suck&#8221; &#8211; that they contribute to confusion (visitors miss your messages) and hinder conversion (difficult to use) on websites. </p>
<p>Others say that a slider can improve the initial interest in a website &#8211; kind of cover page for your website, or a way to introduce your business.</p>
<p>Whichever way you look at it, sliders and any other design ideas that are used on websites, must be considered on a case by case basis, not just whether they are popular or not, or whether they worked for one type of website, but not another.</p>
<p><em>My opinion is that image and content sliders can be a valuable visual asset on a page, especially on the home page, but to be effective one must do more than just adding images, setting a transition speed and choosing an transition effect.</em></p>
<h2>How to decide if a slider is right for me?</h2>
<p>Going back to what a slider is, a simplified web version of a slideshow, making a decision should be based on whether the slider can offer something that is useful to the design and functionality of your web page. </p>
<p>Questions you should ask yourself include:</p>
<ul>
<li>how will a slider benefit the person viewing?</li>
<li>should I use images only, or images and text?</li>
<li>will each slide link to a key page on my website?</li>
<li>will a slider cause confusion?</li>
<li>how does the slider help user pathways?</li>
<li>does a slider fit in with the rest of the design?</li>
<li>what impact does a slider have on the position of other page content?</li>
</ul>
<p>Also it is important to consider your audience and what they might expect to see on your website. What first impressions are you looking to give? What kind of business are you in? If people landing on your website are expecting to see plenty of visual media and photos, then a slider can also be a great tool to display this.</p>
<h2>Forgotten considerations when using a slider</h2>
<p>If you decide that a slider is a good fit for your home page, then there are some other very important things to consider that are often overlooked.</p>
<p><strong>Will you display your slider on mobiles and tablets, or just at full size on desktops and laptops? </strong><br />
&#8211; If you are considering using a slider then make sure you are using a responsive slider<br />
&#8211; Test it on smartphones and tablets to be sure that it works effectively<br />
&#8211; If you are using text overlay, then reduce the amount of text on smaller devices, or better still replace the slider with a static image banner on mobile phones</p>
<p><strong>How long does your home page take to load?</strong><br />
&#8211; Test the loading speed of your website&#8217;s home page before and after implementing a slider<br />
&#8211; Optimise images before uploading (see point below)<br />
&#8211; Use less slides rather than more<br />
&#8211; A slow loading page increases &#8220;bounce rate&#8221;</p>
<p><strong>What did you do with your images before uploading to the slider?</strong><br />
&#8211; Never just purchase an image without optimising first<br />
&#8211; Resize to the maximum dimensions of the slider<br />
&#8211; Compress to the minimum resolution that doesn&#8217;t impact image appearance<br />
&#8211; Rename all image files with search engine friendly filenames, not something like image1834509345053480803.jpg, but rather business-team-member-support.jpg</p>
<h2>How to choose a slider?</h2>
<p>Many great themes already have a jQuery slider built in. By choosing a theme where the slider is included, you don&#8217;t have to then try to integrate one manually. You can see how it will look on the page, and also this saves on issues that can arise with 3rd party slider plugins that may conflict with theme scripts.</p>
<p>If you are concerned about a slider making your home page too slow to load, then grab the URL of the theme&#8217;s demo page and plug it into something like GTMetrix to test how long the page takes to load.</p>
<p>Some themes include a copy of a premium 3rd party plugin slider, that you can implement. Or you might have to find one yourself. Either way it is important that the slider is the best WordPress slider for the job. </p>
<p>You can find out some stats on slider loading times by viewing a recent article and tests by Chris Lema titled &#8220;<a href="http://chrislema.com/best-wordpress-slider/" target="_blank" rel="external">How do you find the best WordPress slider</a>&#8221; &#8211; He tested 20 and found some interesting results.</p>
<p>If you do choose a slider plugin, then make sure that the developer is maintaining the plugin, and also check what support is included. With so many updates and upgrades in WordPress each year, compatibility is really important.</p>
<h2>What is your experience with sliders?</h2>
<p>I&#8217;d love your feedback by answering one question in my survey &#8211; <a href="#" onclick="javascript:dtwc_button_wpimagesliders_post()">What are your thoughts on image sliders to show off content on a website?</a></p>
<p>If I get enough responses, I&#8217;ll publish the results back here in the near future. </p>
<p><script>
function dtwc_button_wpimagesliders_post(){
    _gscq.push(['trackPage','/dtwc_button_wpimagesliders_post']);
}
</script></p>
]]></content:encoded>
			<wfw:commentRss>https://www.davidtiong.com/wordpress-image-sliders-home-page-slider-good-or-bad/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>4 rules you must follow if you want to succeed</title>
		<link>https://www.davidtiong.com/4-rules-you-must-follow-if-you-want-to-succeed/</link>
		<pubDate>Sun, 02 Aug 2015 13:07:31 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[Lifestyle]]></category>
		<category><![CDATA[boldness]]></category>
		<category><![CDATA[enthusiasm]]></category>
		<category><![CDATA[how to succeed]]></category>
		<category><![CDATA[simplify]]></category>
		<category><![CDATA[success]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=1564</guid>
		<description><![CDATA[<div><img width="288" height="145" src="https://www.davidtiong.com/wp-content/uploads/2014/11/4-steps-for-success-288x145.jpg" class="attachment-medium size-medium wp-post-image" alt="4 steps for success" srcset="https://www.davidtiong.com/wp-content/uploads/2014/11/4-steps-for-success-288x145.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2014/11/4-steps-for-success-494x249.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2014/11/4-steps-for-success.jpg 725w" sizes="(max-width: 288px) 100vw, 288px" /></div>Life is becoming too complex. There is too much going on, too much information overloading our lives. Our minds are wandering aimlessly in the digital clouds, following every aspect of the lives of others and keeping up with what&#8217;s trending daily. And if we continue this way our heads will explode. Well probably not literally, ... <a title="4 rules you must follow if you want to succeed" class="read-more" href="https://www.davidtiong.com/4-rules-you-must-follow-if-you-want-to-succeed/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="145" src="https://www.davidtiong.com/wp-content/uploads/2014/11/4-steps-for-success-288x145.jpg" class="attachment-medium size-medium wp-post-image" alt="4 steps for success" srcset="https://www.davidtiong.com/wp-content/uploads/2014/11/4-steps-for-success-288x145.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2014/11/4-steps-for-success-494x249.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2014/11/4-steps-for-success.jpg 725w" sizes="(max-width: 288px) 100vw, 288px" /></div><p>Life is becoming too complex. There is too much going on, too much information overloading our lives. <em>Our minds are wandering aimlessly in the digital clouds, following every aspect of the lives of others and keeping up with what&#8217;s trending daily.</em></p>
<p>And if we continue this way our heads will explode. Well probably not literally, but certainly we cannot possibly filter the constant and never-ending stream of information, and somehow hope to maintain productivity in our own lives.</p>
<p>You may disagree, but I observe that people are doing more and more, yet seemingly achieving less and less. I hear people constantly saying how busy they are, that they don&#8217;t have time to exercise, don&#8217;t have time to spend with their families, don&#8217;t have time to sleep, don&#8217;t have time to do the things they&#8217;d really love to do. </p>
<p>Why are we so busy? Technology was meant to make life easier, not more complicated.</p>
<blockquote><p>I myself am guilty of this! So what can be done to make sure that we achieve the things in life that are important to us?</p></blockquote>
<p>Well I have a challenge for you. Try to follow these 4 rules for the next few months. Don&#8217;t forget to use the hashtag when sharing your ideas, photos and experiences on social media. If you have a great tip to share with others then make sure to include the hashtag. If you mention @mrdavidtiong in your tweets then I can retweet as well.</p>
<h4 class="highlight-font less-margin-bottom">Rule 1: Be Now &#8211; use the hashtag #BeNow </h4>
<p><img src="https://www.davidtiong.com/wp-content/uploads/2014/11/benow.jpg" alt="Be Now" width="726" height="420" class="aligncenter size-full wp-image-2545" srcset="https://www.davidtiong.com/wp-content/uploads/2014/11/benow.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2014/11/benow-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2014/11/benow-494x286.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p>Life is getting more complex. Apparently we must do this, and we must do that. With no time to stop, breathe and reflect, how do we know where we have been, where we are now, or where we are going?</p>
<p>&#8220;Be Now&#8221; is about stopping right now and looking at where you are. It&#8217;s about being aware of what is happening around you. Aware of what is happening in your own life. Aware of your momentum. </p>
<p>Are you moving forwards, are you moving backwards, or do you think you are moving but really you are staying in the same spot, like running on a treadmill? </p>
<p>Decide where you want to be this time next year, and think backwards from that goal to see the path that joins where you are now, with that place you want to be. Do you really want to be in the same spot you are now, or perhaps you would like to be closer to reaching your dreams and aspirations?</p>
<p>Life is short, so don&#8217;t just show up. Be present, be where you want to be. Don&#8217;t waste your time or the precious time of others. Do you really need to read each article, do you really need to understand every concept, do you really need to learn that latest trick?</p>
<p><em>If you think you do then you will never have enough time in the day or night to get to where you want to be.</em></p>
<p>#BeNow is all about continuously being aware of exactly where you are at each moment in time. Being aware of how you feel. Being aware of the people around you and your relationships with them. Being aware of what is filling your day. This is the only way to keep on track with your purpose and <a href="http://makingitup.net.au/whats/" target="_blank" rel="external nofollow">your why</a>.</p>
<h4 class="highlight-font less-margin-bottom">Rule 2: Be Short &#8211; use the hashtag #BeShort</h4>
<p><img src="https://www.davidtiong.com/wp-content/uploads/2014/11/beshort.jpg" alt="Be Short" width="726" height="420" class="aligncenter size-full wp-image-2549" srcset="https://www.davidtiong.com/wp-content/uploads/2014/11/beshort.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2014/11/beshort-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2014/11/beshort-494x286.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p>This is not an excuse to be rude to others by being short with them, nor the permission to take shortcuts when you shouldn&#8217;t.</p>
<p>No, this is all about <em>not over-complicating things</em>. Think simplicity and minimalism. What 3 steps do you need to reach that dream or goal? </p>
<p>Keep procedures simple! </p>
<p>Obviously some projects and activities require many little tasks, however keep on track by trying to break each task into 3 steps. If you think in 3 steps then it&#8217;s easier to keep from running on the spot or chasing your tail in circles. Layout the 3 steps. Write them down. Tick them off when you are done.</p>
<p>Start today with your first step. Whenever you are faced with a new task, stop and decide if it&#8217;s really important. Is it really necessary? Is it really going to get you where you want to be? </p>
<p>Note that I&#8217;m not saying to be selfish and neglect others if they don&#8217;t fit into your goals. What I am saying is that we often decide to take on tasks that we think are important to our businesses and to our lives, however if we consider how they actually fit into the bigger picture, then we might see that often they are not actually important at all.</p>
<p>#BeShort is all about seeing the bigger picture and thinking what can I eliminate to simplify. Eg. If you type an email, before you hit the send button, stop and think about the purpose of that email. <a href="http://www.enchantingmarketing.com/how-to-write-persuasive-emails/" target="_blank" rel="external nofollow">Will this purpose</a> be clear and obvious to the receiver? Can this email be read and responded to in 3 minutes? Remember that people have limited time and limited concentration so #BeShort</p>
<p>#BeShort is about seeing the shortest path between 2 places &#8211; where you are and where you want to be, the start of a project and the end of a project, the pain of a problem and the joy of a solution.</p>
<h4 class="highlight-font less-margin-bottom">Rule 3: Be Bold &#8211; use the hashtag #BeBold</h4>
<p><img src="https://www.davidtiong.com/wp-content/uploads/2014/11/bebold.jpg" alt="Be Bold" width="726" height="420" class="aligncenter size-full wp-image-2551" srcset="https://www.davidtiong.com/wp-content/uploads/2014/11/bebold.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2014/11/bebold-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2014/11/bebold-494x286.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p><em>A boy and his dad were walking along a path one afternoon. Ahead they could see that there was water across the path. The boy turned to his dad and asked &#8220;What chance do you think I have of jumping all the way across that big puddle?&#8221;</p>
<p>The dad paused for a moment and then replied &#8220;It&#8217;s a big jump, do you think you would make it?&#8221; The boy then decided that he wouldn&#8217;t try because he might land in the water. So the pair walked around the puddle and continued on their way.</p>
<p>Suddenly the dad burst out &#8220;You had no chance of making that jump&#8221;. To this the boy glared at his dad in disgust, then turned around, took a run up and leapt over the puddle with ease. &#8220;See you were wrong dad&#8221;.</p>
<p>The dad smiled, &#8220;No I wasn&#8217;t wrong son. As long as you thought that you couldn&#8217;t make it, you had no chance whatsoever. But when you changed your mind and decided that you could do it, then you took a chance and made it happen.&#8221;</em></p>
<p>This is what #BeBold is all about. Taking risks, making mistakes, realising that sitting safely on the sidelines watching the game go by doesn&#8217;t get you anywhere.</p>
<p>So be bold, <a href="http://www.kellyexeter.com.au/even-wobbly-courage-is-courage/" target="_blank" rel="external nofollow">be brave</a>. Remember that if you are failing, then you are actually getting somewhere. &#8220;It is better to fail at doing something, than succeed at doing nothing&#8221;.</p>
<p>The following comment, from possibly the greatest basketball player of all time, sums up #BeBold</p>
<blockquote><p>&#8220;I&#8217;ve missed more than 9000 shots in my career. I&#8217;ve lost almost 300 games. Twenty-six times I&#8217;ve been trusted to take the game winning shot and missed. I&#8217;ve failed over and over and over again in my life. And that is why I succeed.&#8221; ~ Michael Jordan</p></blockquote>
<h4 class="highlight-font less-margin-bottom">Rule 4: Be True &#8211; use the hashtag #BeTrue</h4>
<p><img src="https://www.davidtiong.com/wp-content/uploads/2014/11/betrue.jpg" alt="Be True" width="726" height="420" class="aligncenter size-full wp-image-2553" srcset="https://www.davidtiong.com/wp-content/uploads/2014/11/betrue.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2014/11/betrue-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2014/11/betrue-494x286.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p>What does it mean to Be True? In simple terms it means to be a real and genuine person- authentic, not a faker, not a hypocrite.</p>
<p>Often in our quest to reach our destination, we start to lose our originality and our individuality. So remember who you are. Don&#8217;t strive to be someone else, someone you&#8217;re not.</p>
<blockquote><p>I stay true to myself and my style, and I am always pushing myself to be aware of that and be original ~ Aaliyah</p></blockquote>
<p>Remember who you are and why you have chosen your path, make time to reflect, to breathe and to share with others. Being true is about being you and being thankful for what you have &#8211; both your talents and your imperfections.</p>
<p>People will tell you what you should or shouldn&#8217;t do. It&#8217;s easy to get caught up in what is trivial or superficial. Be sure to stay true to your core values. Follow your instincts and let your values determine your choices in life and business. <a href="http://www.carriedils.com/confessions/" target="_blank" rel="external nofollow">Don&#8217;t be afraid to be honest</a>.</p>
<p>Being true is also essential in your relationships. True friends can be relied on whether you&#8217;re happy or sad, whether times are good or times are tough. Be a true friend.</p>
<p>Be True is also about doing what is right &#8211; Give more than you take. Be Generous. You can apply this philosophy in so may areas of life, in relationships and in work.</p>
<h4 class="highlight-font less-margin-bottom">Getting Started</h4>
<p>Start today. #BeNow #BeShort #BeBold #BeTrue. Try the challenge and take back control of where you are and where you are going. Share the images above by hovering over them and share to your Social streams.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Add Nivo Lightbox to WordPress using shortcode function</title>
		<link>https://www.davidtiong.com/add-nivo-lightbox-to-wordpress-using-shortcode-function/</link>
		<comments>https://www.davidtiong.com/add-nivo-lightbox-to-wordpress-using-shortcode-function/#comments</comments>
		<pubDate>Thu, 30 Jul 2015 09:36:05 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[Nivo Lightbox]]></category>
		<category><![CDATA[WordPress shortcodes]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3326</guid>
		<description><![CDATA[<div><img width="288" height="151" src="https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo-288x151.jpg" class="attachment-medium size-medium wp-post-image" alt="jQuery lightbox Nivo" srcset="https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo-288x151.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo-768x403.jpg 768w, https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo-494x259.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo.jpg 889w" sizes="(max-width: 288px) 100vw, 288px" /></div>A popular jQuery plugin for displaying images, galleries and videos in a lightbox is the Nivo Lightbox. It&#8217;s simple to use and responsive which is great for making sure that your photos look great on any device including phones and tablets. There are some easy to follow instructions on the Dev7Studios website for how to ... <a title="Add Nivo Lightbox to WordPress using shortcode function" class="read-more" href="https://www.davidtiong.com/add-nivo-lightbox-to-wordpress-using-shortcode-function/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="151" src="https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo-288x151.jpg" class="attachment-medium size-medium wp-post-image" alt="jQuery lightbox Nivo" srcset="https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo-288x151.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo-768x403.jpg 768w, https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo-494x259.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/07/jQuery-lightbox-nivo.jpg 889w" sizes="(max-width: 288px) 100vw, 288px" /></div><p>A popular jQuery plugin for displaying images, galleries and videos in a lightbox is the Nivo Lightbox. It&#8217;s simple to use and responsive which is great for making sure that your photos look great on any device including phones and tablets.</p>
<p>There are some easy to follow instructions on the Dev7Studios website for <a href="http://docs.dev7studios.com/jquery-plugins/nivo-lightbox" target="_blank" rel="external nofollow">how to setup</a>, otherwise they also offer a WordPress plugin for purchase.</p>
<p>But if you feel like adding Nivo Lightbox to your WordPress website without using a plugin, you can create a shortcode function and include the required jQuery files following the procedure below. Before you start though, make sure that your theme doesn&#8217;t already have a lightbox feature that you can use.</p>
<h2 class="highlight">How to add lightbox to your WordPress website</h2>
<p><strong>Step 1: Download the files</strong></p>
<p>Download zip file from <a href="https://github.com/gilbitron/Nivo-Lightbox" target="_blank" rel="external nofollow">https://github.com/gilbitron/Nivo-Lightbox</a></p>
<p><strong>Step 2: Extract files and add to your website</strong></p>
<p>Create a folder called &#8220;js&#8221; inside of your childtheme folder (if you have followed along in some of my other tutorials you might have already setup this folder). Inside this &#8220;js&#8221; folder create a new folder called &#8220;nivolight&#8221;, where you will be adding the required Nivo Lightbox files.</p>
<p>Extract the downloaded zip file. Find the following:</p>
<ul>
<li>&#8220;themes&#8221; folder</li>
<li>&#8220;nivo-lightbox.css&#8221;</li>
<li>&#8220;nivo-lightbox.min.js&#8221;</li>
</ul>
<p>and FTP upload them to your &#8220;nivolight&#8221; folder.</p>
<p><strong>Step 3: Setup options</strong></p>
<p>Create a javascript file to setup the lightbox options and choose the selector for Nivo Lightbox. Inside the file put the following code, and amend as you feel like based on the options available.</p>
<pre><code class="language-javascript">/* Nivo Lightbox Scripts */
var nivoeffect = nivolightboxing2.effect;
jQuery(document).ready(function ($) {
    $('a.nivolight').nivoLightbox({
        effect : nivoeffect
    });
});
</code></pre>
<p>Save the file as &#8220;nivolightboxjs.js&#8221; and then FTP upload that file into the &#8220;nivolight&#8221; folder also.</p>
<p>Notes: the selector &#8216;a.nivolight&#8217; is to target the &lt;a&gt; links with a class of &#8220;nivolight&#8221;, and the variable &#8220;nivoeffect&#8221; is being set to contain a <a href="https://www.davidtiong.com/passing-parameters-from-shortcode-to-javascript/" target="_blank">parameter passed from shortcode using wp_localize_script</a>.</p>
<p><strong>Step 4: Create shortcode function</strong></p>
<p>You will need to setup 2 functions, one is for registering the scripts and styles. The second one is for creating the shortcode. Add these functions to your childtheme&#8217;s &#8220;functions.php&#8221; file, or otherwise an mu-plugin file.</p>
<pre><code class="language-php">function nivolightbox_scripts() {
    wp_register_style('nivolightboxcss',get_stylesheet_directory_uri().'/js/nivolight/nivo-lightbox.css');
    wp_register_style('nivolightboxdefaultcss',get_stylesheet_directory_uri().'/js/nivolight/themes/default/default.css');
    wp_register_script('nivolightbox',get_stylesheet_directory_uri().'/js/nivolight/nivo-lightbox.min.js',array('jquery'),'',true);
    wp_register_script('nivolightboxjs',get_stylesheet_directory_uri().'/js/nivolight/nivolightboxjs.js',array('nivolightbox'),'',true);
}
add_action('wp_enqueue_scripts','nivolightbox_scripts');

function nivolightbox_sc($atts, $content = null){
    $nivolightboxing = shortcode_atts(array(
    'effect' =&gt; 'fade',
    'url' =&gt; '',
    'thumb' =&gt; '',
    'alt' =&gt; '',
    'title' =&gt; '',
    'type' =&gt; '',
    'gallery' =&gt; '',
    'text' =&gt; ''
    ),$atts);
    wp_enqueue_style('nivolightboxcss');
    wp_enqueue_style('nivolightboxdefaultcss');
    wp_enqueue_script('nivolightbox');
    wp_enqueue_script('nivolightboxjs');
    wp_localize_script('nivolightboxjs','nivolightboxing2',$nivolightboxing);
    $n_effect = esc_attr($nivolightboxing['effect']);
    $n_url = esc_url($nivolightboxing['url']);
    $n_alt = esc_url($nivolightboxing['alt']);
    $n_thumb = esc_url($nivolightboxing['thumb']);
    $n_title = esc_attr($nivolightboxing['title']);
    $n_type = esc_attr($nivolightboxing['type']);
    $n_gallery = esc_attr($nivolightboxing['gallery']);
    $n_text = esc_attr($nivolightboxing['text']);
    if ($n_type === '' &amp;&amp; $n_gallery === '') {
        $lightboxoutput = '&lt;a class=&quot;nivolight&quot; href=&quot;'.$n_url.'&quot; title=&quot;'.$n_title.'&quot; &gt;&lt;img src=&quot;'.$n_thumb.'&quot; alt=&quot;'.$n_alt.'&quot; /&gt;&lt;/a&gt;';
    } 
    elseif ($n_type === '' &amp;&amp; $n_gallery !== '') {
        $lightboxoutput = '&lt;a class=&quot;nivolight&quot; href=&quot;'.$n_url.'&quot; title=&quot;'.$n_title.'&quot; data-lightbox-gallery=&quot;'.$n_gallery.'&quot; &gt;&lt;img src=&quot;'.$n_thumb.'&quot; alt=&quot;'.$n_alt.'&quot; /&gt;&lt;/a&gt;';
    }
    elseif ($n_type == 'iframe' || $n_type == 'inline') {
        $lightboxoutput = '&lt;a class=&quot;nivolight&quot; href=&quot;'.$n_url.'&quot; title=&quot;'.$n_title.'&quot; data-lightbox-type=&quot;'.$n_type.'&quot; &gt;'.$n_text.'&lt;/a&gt;';
    }
    else {
        $lightboxoutput = '';   
    }
return $lightboxoutput;
}
add_shortcode('nivobox','nivolightbox_sc');
</code></pre>
<p>Notes: the first function registers the scripts and styles, which are only enqueued when the shortcode is included on a page.</p>
<p><strong>Step 5: Using the shortcode</strong></p>
<p>If you simply want to add an image onto your page that will open in the lightbox, then use:</p>
<p style="font-size:12px;">&#91;nivobox url=&#34;IMAGE URL&#34; title=&#34;TITLE&#34; alt=&#34;ALT TEXT&#34; thumb=&#34;THUMBNAIL URL&#34;&#93;</p>
<p>Clicking on the thumbnail below shows an example.<br />
[nivobox url=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/bridge-pic1.jpeg&#8221; title=&#8221;Scenery with bridge &#8211; Single Picture&#8221; alt=&#8221;bridge scenery&#8221; thumb=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/bridge-pic1-288&#215;192.jpeg&#8221;]</p>
<p>If you want to create a gallery of images, then include a classname for eg, &#8220;gallery1&#8221;:</p>
<p style="font-size:12px;">&#91;nivobox url=&#34;IMAGE URL&#34; title=&#34;TITLE&#34; alt=&#34;ALT TEXT&#34; thumb=&#34;THUMBNAIL URL&#34; gallery=&#34;gallery1&#34;&#93;&#91;nivobox url=&#34;IMAGE URL&#34; title=&#34;TITLE&#34; alt=&#34;ALT TEXT&#34; thumb=&#34;THUMBNAIL URL&#34; gallery=&#34;gallery1&#34;&#93;&#91;nivobox url=&#34;IMAGE URL&#34; title=&#34;TITLE&#34; alt=&#34;ALT TEXT&#34; thumb=&#34;THUMBNAIL URL&#34; gallery=&#34;gallery1&#34;&#93;</p>
<p>Clicking on a thumbnail below shows this example.<br />
[nivobox url=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/food-pic1.jpg&#8221; title=&#8221;A food bowl &#8211; 1 of 3&#8243; alt=&#8221;Lightbox food bowl&#8221; thumb=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/food-pic1-188&#215;188.jpg&#8221; gallery=&#8221;gallery1&#8243;][nivobox url=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/tea-brewing.jpg&#8221; title=&#8221;Tea brewing &#8211; 2 of 3&#8243; alt=&#8221;Lightbox tea brewing&#8221; thumb=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/tea-brewing-188&#215;188.jpg&#8221; gallery=&#8221;gallery1&#8243;][nivobox url=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/flowers-pic2.jpg&#8221; title=&#8221;Flowers &#8211; 3 of 3&#8243; alt=&#8221;Lightbox flowers&#8221; thumb=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/flowers-pic2-188&#215;188.jpg&#8221; gallery=&#8221;gallery1&#8243;]</p>
<p>If you want to include video(s) in the gallery such as a YouTube or Vimeo URL, then use:</p>
<p style="font-size:12px;">&#91;nivobox url=&#34;IMAGE URL&#34; title=&#34;TITLE&#34; alt=&#34;ALT TEXT&#34; thumb=&#34;THUMBNAIL URL&#34; gallery=&#34;gallery2&#34;&#93;&#91;nivobox url=&#34;VIDEO URL&#34; title=&#34;TITLE&#34; alt=&#34;ALT TEXT&#34; thumb=&#34;THUMBNAIL URL&#34; gallery=&#34;gallery2&#34;&#93;&#91;nivobox url=&#34;VIDEO URL&#34; title=&#34;TITLE&#34; alt=&#34;ALT TEXT&#34; thumb=&#34;THUMBNAIL URL&#34; gallery=&#34;gallery2&#34;&#93;</p>
<p>Clicking on a thumbnail below shows this example, the first one is an image, the second two are videos.<br />
[nivobox url=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/food-pic1.jpg&#8221; title=&#8221;A food bowl &#8211; 1 of 3&#8243; alt=&#8221;Lightbox food bowl&#8221; thumb=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/food-pic1-188&#215;188.jpg&#8221; gallery=&#8221;gallery2&#8243;][nivobox url=&#8221;https://www.youtube.com/watch?v=Sz_xVeHV8LI&#8221; title=&#8221;GoldCoast Video &#8211; 2 of 3&#8243; alt=&#8221;GoldCoast video&#8221; thumb=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/screenshot11-188&#215;188.jpg&#8221; gallery=&#8221;gallery2&#8243;][nivobox url=&#8221;https://www.youtube.com/watch?v=P_q3BdrFsLI&#8221; title=&#8221;Singapore Video &#8211; 3 of 3&#8243; alt=&#8221;Singapore video&#8221; thumb=&#8221;https://www.davidtiong.com/wp-content/uploads/2015/07/screenshot12-188&#215;188.jpg&#8221; gallery=&#8221;gallery2&#8243;]</p>
<p>If you want to include an iframe to another page, then use:</p>
<p style="font-size:12px;">&#91;nivobox url=&#34;WEB PAGE URL&#34; title=&#34;TITLE&#34; text=&#34;LINK ANCHOR TEXT&#34; type=&#34;iframe&#34;&#93;</p>
<p>Clicking on the link below loads a page in the iframe lightbox.</p>
<p style="text-align:center;text-transform:uppercase;">[nivobox url=&#8221;http://www.example.com&#8221; title=&#8221;Iframe on a webpage&#8221; text=&#8221;This link opens up in an iframe lightbox&#8221; type=&#8221;iframe&#8221;]</p>
<p>If you want to include some inline content, such as content in a hidden div, then use:</p>
<p style="font-size:12px;">&#91;nivobox url=&#34;DIV ID&#34; title=&#34;TITLE&#34; text=&#34;LINK ANCHOR TEXT&#34; type=&#34;inline&#34;&#93;</p>
<p>Clicking on the link below loads the hidden div content in the lightbox.</p>
<p style="text-align:center;text-transform:uppercase;">[nivobox url=&#8221;#inline-div-lightbox&#8221; title=&#8221;Shows inline hidden content&#8221; text=&#8221;This link opens up a hidden div&#8221; type=&#8221;inline&#8221;]</p>
<div id="inline-div-lightbox" style="display:none;">This is some content hidden in a div. Could be useful to show some extra information on your webpages
</div>
<p>A lightbox can be a great tool when used on a website, especially when it comes to displaying photo galleries. Do you use a lightbox on your website? </p>
]]></content:encoded>
			<wfw:commentRss>https://www.davidtiong.com/add-nivo-lightbox-to-wordpress-using-shortcode-function/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Local Business Internet Marketing ideas</title>
		<link>https://www.davidtiong.com/local-business-internet-marketing-ideas/</link>
		<comments>https://www.davidtiong.com/local-business-internet-marketing-ideas/#comments</comments>
		<pubDate>Wed, 08 Jul 2015 23:58:07 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[SEO and Marketing]]></category>
		<category><![CDATA[internet marketing]]></category>
		<category><![CDATA[local seo]]></category>
		<category><![CDATA[small business marketing]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3313</guid>
		<description><![CDATA[<div><img width="288" height="167" src="https://www.davidtiong.com/wp-content/uploads/2015/07/improve-local-internet-marketing-288x167.jpg" class="attachment-medium size-medium wp-post-image" alt="Improve your local business internet marketing" srcset="https://www.davidtiong.com/wp-content/uploads/2015/07/improve-local-internet-marketing-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/07/improve-local-internet-marketing-494x286.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/07/improve-local-internet-marketing.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>Running a local small business can be a stressful exercise. You have so many jobs that you are doing, from selling your products and services, to promoting through advertising, to managing staff and systems, to merchandising and window displays and so forth. Especially when just starting out. Your business not only needs to have the ... <a title="Local Business Internet Marketing ideas" class="read-more" href="https://www.davidtiong.com/local-business-internet-marketing-ideas/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="167" src="https://www.davidtiong.com/wp-content/uploads/2015/07/improve-local-internet-marketing-288x167.jpg" class="attachment-medium size-medium wp-post-image" alt="Improve your local business internet marketing" srcset="https://www.davidtiong.com/wp-content/uploads/2015/07/improve-local-internet-marketing-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/07/improve-local-internet-marketing-494x286.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/07/improve-local-internet-marketing.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div><p>Running a local small business can be a stressful exercise. You have so many jobs that you are doing, from selling your products and services, to promoting through advertising, to managing staff and systems, to merchandising and window displays and so forth. Especially when just starting out.</p>
<p>Your business not only needs to have the right mix of products displayed effectively, but you need to attract customers and clients through your doors. If you have plenty of passing traffic such as in a CBD main street or perhaps a popular shopping centre, then you need to focus on ways to get them to stop at your shop or store. </p>
<p>But if you are in a quiet strip, or a location where passing traffic isn&#8217;t enough, then you MUST focus on other types of marketing including <strong>internet marketing</strong>.</p>
<h2 class="highlight">So how do you do local business internet marketing?</h2>
<p>Start with a website, if you don&#8217;t have one yet then <a href="https://www.davidtiong.com/about/" target="_blank">David Tiong Web Consultancy</a> can help. Promoting your local business online only through a Facebook page, or through a local business online directory, should be part of your local online marketing strategy, but not replace the essential starting point of setting up your own business website.</p>
<p>If your website is live and well, then next up is to help people find it. Read this article to find out what you should be doing to promote your website by <a href="https://www.davidtiong.com/increase-your-search-appearance-on-google-what-you-should-be-doing/" target="_blank">doing some of your own local SEO</a>.</p>
<p>A recent article published on Business2Community titled &#8220;6 Internet Marketing Ideas for Your Local Small Business&#8221; give some great tips to get you started with internet marketing.</p>
<div style="margin:0 20px 30px;"></p></div>
<p>Here are some other quick and easy local SEO tips to add to your marketing to do list.<br />
Write a blog on your website, include descriptive text in your web page image ALT tags, ensure consistent NAP (name, address, phone number) on all online listings of your business, create a Facebook page for your business, create &#8220;community focused&#8221; content on your website, try getting online reviews, donate to local charities and participate in local communities and forums, create an XML sitemap and submit it to Google Webmaster Tools, and <a href="https://www.davidtiong.com/is-my-wordpress-responsive-website-mobile-friendly/">make sure your website is mobile friendly.</a></p>
<p>That should get you started with your local online marketing ideas, if you need more support or don&#8217;t have time to manage your own internet marketing, then checkout our helpful services <a href="https://www.davidtiong.com/service/website-management/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.davidtiong.com/local-business-internet-marketing-ideas/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to add estimated reading time to your WordPress posts</title>
		<link>https://www.davidtiong.com/how-to-add-estimated-reading-time-to-your-wordpress-posts/</link>
		<comments>https://www.davidtiong.com/how-to-add-estimated-reading-time-to-your-wordpress-posts/#comments</comments>
		<pubDate>Mon, 06 Jul 2015 07:05:09 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[reading time]]></category>
		<category><![CDATA[time management]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3260</guid>
		<description><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/07/Estimated-Reading-Time-288x139.png" class="attachment-medium size-medium wp-post-image" alt="how to add Estimated Reading Time to your website" srcset="https://www.davidtiong.com/wp-content/uploads/2015/07/Estimated-Reading-Time-288x139.png 288w, https://www.davidtiong.com/wp-content/uploads/2015/07/Estimated-Reading-Time-494x238.png 494w, https://www.davidtiong.com/wp-content/uploads/2015/07/Estimated-Reading-Time.png 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>Not everyone will agree with the subheading of this article, but hear me out. How often does a child say &#8220;Are we there yet?&#8221; when on a driving holiday. How often do we type into Google &#8220;How long does it take to fly from point A to point B?&#8221; Or how often do we stand ... <a title="How to add estimated reading time to your WordPress posts" class="read-more" href="https://www.davidtiong.com/how-to-add-estimated-reading-time-to-your-wordpress-posts/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/07/Estimated-Reading-Time-288x139.png" class="attachment-medium size-medium wp-post-image" alt="how to add Estimated Reading Time to your website" srcset="https://www.davidtiong.com/wp-content/uploads/2015/07/Estimated-Reading-Time-288x139.png 288w, https://www.davidtiong.com/wp-content/uploads/2015/07/Estimated-Reading-Time-494x238.png 494w, https://www.davidtiong.com/wp-content/uploads/2015/07/Estimated-Reading-Time.png 726w" sizes="(max-width: 288px) 100vw, 288px" /></div><p>Not everyone will agree with the subheading of this article, but hear me out. How often does a child say &#8220;Are we there yet?&#8221; when on a driving holiday. How often do we type into Google &#8220;How long does it take to fly from point A to point B?&#8221;</p>
<p>Or how often do we stand in a queue wondering how much time will pass before it&#8217;s our turn. How often do we ask &#8220;how long will it take&#8221;?</p>
<p><strong>You get the point! </strong>No one wants to wait, we live in a society where time is <a href="https://www.naspa.org/constituent-groups/posts/time" target="_blank" rel="external nofollow">our most limited resource</a>.</p>
<p>So when I see websites like Medium.com that include the estimated time to read an article, I understand why they think that it&#8217;s important.</p>
<h2 class="highlight">Reason 1: Time Management </h2>
<p>We are constantly fighting the hands of the clock. This is why time management ideas are so popular. Possibly the most limiting resource we have is time. We are often on the lookout for ways to <a href="https://www.davidtiong.com/service/time-saving-services/" target="_blank">save time</a>. </p>
<p><em>If I only have half hour lunch break, I&#8217;m not going to sit down to a banquet. If my bedtime is in an hour, I&#8217;m not going to start watching an epic 3 hour movie. </em></p>
<p>However, if I have 5 minutes to spare before my next appointment, I might decide to read a quick blog post. But how do I know how long it&#8217;s going to take me to read? </p>
<p>Well my first instinct would be to scroll to the bottom of the page to see how much content is in the article.</p>
<p>So if I land on a blog post and the estimated reading time is shown to me, then this might be what either makes me decide to keep on reading, or <a href="https://medium.com/@nateweiner/the-internet-needs-a-save-button-db6c8c416038" target="_blank" rel="external nofollow">save it for later</a> or immediately <a href="https://www.davidtiong.com/increase-your-search-appearance-on-google-what-you-should-be-doing/">bounce off the page</a>.</p>

<h2 class="highlight">Reason 2: How deep is the article</h2>
<p>This one is definitely subjective, and each person will interpret quantity vs quality differently, but this can be indicative of how informative the post might be. Of course it is up to you to make sure that your posts are good quality, as this is more important than how big a post is. </p>
<p>A technical tutorial might be seen as more extensive if the reading time is higher, so this could appeal to someone looking for more indepth articles. Whereas a quick and easy guide would attract those who want something short and simple to follow. </p>
<div style="max-width:550px; margin:0 auto 50px; text-align:center;"></div>
<h2 class="highlight">How to add estimated reading time to your website articles</h2>
<p>Well option 1 would be to go down the path of adding a WordPress plugin, a quick search will reveal some options <a href="https://wordpress.org/plugins/search.php?q=reading+time" target="_blank" rel="external nofollow">here</a>. </p>
<p>Option 2 could be to count up how many words on your page, estimate how many words you can read in a minute, and then divide by this. Or you could also time yourself reading the article. Then just add it manually to the start of your blog article.</p>
<p>However I prefer something a little more automated (saves time) so here is my preference &#8211; <strong>option 3</strong>. I chose with my website to try out a jQuery script called &#8220;Reading Time&#8221; by Michael Lynch, which is a lightweight script for estimating reading time and adding it to your website.</p>
<p>It&#8217;s a relatively simple procedure to include the script using the WordPress enqueue scripts function, customising the script settings and adding to the pages you want to display &#8220;time to read&#8221;, and then including a little code in your template where you&#8217;d like it to appear.</p>
<p><strong>Step 1:</strong> Download the jQuery file readingTime.js from <a href="https://github.com/michael-lynch/reading-time" target="_blank" rel="external nofollow">github.com/michael-lynch/reading-time</a>, then FTP upload to your theme folder. To keep your jQuery scripts organised I always recommend adding them into a &#8220;js&#8221; folder inside your childtheme folder. I added the file into a folder called &#8220;readingtime&#8221; and then added that into &#8220;js&#8221; folder.</p>
<p><strong>Step 2:</strong> enqueue the script by adding the following PHP function to your childtheme&#8217;s functions.php file.</p>
<pre><code class="language-php">function enqueue_readingtime() {
    wp_enqueue_script(
        'readingtimejs',
         get_stylesheet_directory_uri().'/js/readingTime/readingTime.js',
         array('jquery'),
         '',
         true);
}
add_action('wp_enqueue_scripts','enqueue_readingtime');
</code></pre>
<p>Make sure to amend the path to your readingTime.js file, if you uploaded into a different folder location. We include a dependency of &#8220;jquery&#8221; so the script loads after jQuery, and set to true so that it loads in the footer.</p>
<p><strong>Step 3:</strong> setup the script settings.<br />
Here you can customise to suit your preferences. You can choose things like whether you want to include word count, the text displayed before the time shown, the word count, the ids or classes that you will target for displaying the output, and other cool stuff. Read up more about it on the author&#8217;s page.</p>
<p>For this blog I decided to only display the reading time only on my posts, and to count the number of words in the main div which has a class of &#8220;post-content&#8221;. For reading speed &#8220;wordsPerMinute&#8221; I decided that since my blog is more technical than say a food blog or a travel blog, therefore people will read slower to comprehend so I went with a reading speed of 180 wpm, rather than the default of 270 wpm. </p>
<p>Here is my code below, again you need to add this to your functions.php file. Be sure to modify for your website.</p>
<pre><code class="language-php">function readingtime_posts() {
    if (is_single() &amp;&amp; wp_script_is('readingtimejs','done')) {
        ?&gt;&lt;script type=&quot;text/javascript&quot;&gt;jQuery(document).ready(function($) {
$('.post-content').readingTime({
    readingTimeTarget: '.reading-eta',
    wordCountTarget: '.word-count',
    wordsPerMinute: 180,
    round: true,
    prependTimeString: 'Time to Read: '
});
});&lt;/script&gt;&lt;?php
}}
add_action('wp_footer','readingtime_posts',100);
</code></pre>
<p><strong>Step 4:</strong> add some code where you&#8217;d like to show your reading time display.<br />
This is the final step in the process and we&#8217;ll add some selectors based on our script code above.</p>
<pre><code class="language-php">&lt;?php if (is_single()) {
    echo '&lt;div style=&quot;clear:both;&quot;&gt;&lt;span class=&quot;reading-eta&quot;&gt;&lt;/span&gt; (&lt;span class=&quot;word-count&quot;&gt;&lt;/span&gt; Words)&lt;/div&gt;';
} ?&gt;
</code></pre>
<p>The first span class of &#8220;reading-eta&#8221; is for the time display, and needs to match &#8220;readingTimeTarget&#8221; value in the previous code. The second span class of &#8220;word-count&#8221;, needs to match the value for &#8220;wordCountTarget&#8221; and is obviously the number of words in your content. Your content will be the div class that you chose for your selector, so in my code above I used &#8220;.post-content&#8221; but you should choose the div class that your post content is contained in. It could be &#8220;.entry-content&#8221; or &#8220;article&#8221; or maybe something else.</p>
<p>So that&#8217;s how you do it. Be sure to adjust your reading speed based on your type of content that you write about on your blog.</p>
<p>What do you think? Is this something you&#8217;d like to implement on your own website. Do you find it useful on websites like Medium that use reading time estimates?</p>
]]></content:encoded>
			<wfw:commentRss>https://www.davidtiong.com/how-to-add-estimated-reading-time-to-your-wordpress-posts/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Protecting against scams &#8211; [video]</title>
		<link>https://www.davidtiong.com/protecting-against-scams-video/</link>
		<comments>https://www.davidtiong.com/protecting-against-scams-video/#comments</comments>
		<pubDate>Wed, 17 Jun 2015 09:54:56 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[online fraud]]></category>
		<category><![CDATA[online security]]></category>
		<category><![CDATA[scams]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3263</guid>
		<description><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/06/scams-and-online-security-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="Scams and Online Security" srcset="https://www.davidtiong.com/wp-content/uploads/2015/06/scams-and-online-security-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/06/scams-and-online-security-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/06/scams-and-online-security.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>Online security should be a high priority for both individuals and businesses. Rather than being unconcerned, we should be proactive in reducing our risk. In 2015, cyber security threats are very real and could come in the way of ransomware, cyber espionage, cyber theft and password cracking. In 2014, &#8220;advanced attackers targeted 5 out of ... <a title="Protecting against scams &#8211; [video]" class="read-more" href="https://www.davidtiong.com/protecting-against-scams-video/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/06/scams-and-online-security-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="Scams and Online Security" srcset="https://www.davidtiong.com/wp-content/uploads/2015/06/scams-and-online-security-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/06/scams-and-online-security-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/06/scams-and-online-security.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div><p>Online security should be a high priority for both individuals and businesses. Rather than being unconcerned, we should be proactive in reducing our risk. In 2015, cyber security threats are very real and could come in the way of ransomware, cyber espionage, cyber theft and password cracking.</p>
<p>In 2014, &#8220;advanced attackers targeted 5 out of 6 large companies&#8221;, and &#8220;60% of all targeted attacks struck small &#8211; medium sized organizations&#8221;. &#8220;Ransomware attacks grew 113 percent in 2014, driven by a more than 4,000 percent increase in crypto-ransomware attacks &#8230; The victim will be offered a key to decrypt their files, but only after paying a ransom that can range from US$300-$500 with no guarantee that their files will be freed&#8221;. <span style="font-size:12px;font-style:italic;">(Source: <a href="http://www.symantec.com/connect/blogs/2015-internet-security-threat-report-attackers-are-bigger-bolder-and-faster" target="_blank" rel="external nofollow">Symantec Blog</a>)</span></p>
<p>National Consumer Fraud Week 2015 was held recently here in Australia, and the Australian Competition and Consumer Commission and the Institute of Public Accountants hosted a free forum on small business scams and cybercrime. You can watch the replay below, it goes for a while so make yourself a cuppa before you sit down. It is interesting, and scary to learn about the risks we are dealing with each day.</p>

<p>Although it may be difficult to stop an attacker who decides to target you, there are some simple steps you can take to substantially reduce your risks of falling prey to scams:</p>
<div style="padding-left:30px;">
[cposhort_list icon=&#8221;exclamation&#8221; style=&#8221;round&#8221;]<br />
Update your software and systems, stay on top of updates[/cposhort_list][cposhort_list icon=&#8221;exclamation&#8221; style=&#8221;round&#8221;]<br />
Don&#8217;t click links in unsolicited email or messages[/cposhort_list][cposhort_list icon=&#8221;exclamation&#8221; style=&#8221;round&#8221;]<br />
Use very strong and unique passwords for each login. Use unique login names and try two-factor authentication when available[/cposhort_list][cposhort_list icon=&#8221;exclamation&#8221; style=&#8221;round&#8221;]<br />
Don&#8217;t tell people your passwords, don&#8217;t leave them written down in public display[/cposhort_list][cposhort_list icon=&#8221;exclamation&#8221; style=&#8221;round&#8221;]<br />
Call the person to verify an unusual or unexpected email, or a change in banking details or invoicing methods, don&#8217;t respond to unexpected email requests[/cposhort_list][cposhort_list icon=&#8221;exclamation&#8221; style=&#8221;round&#8221;]<br />
Be prepared for the worst &#8211; so make sure you can restore your systems. Apply the 3-2-1 backup system &#8211; 3 backups, on 2 different media and 1 offsite[/cposhort_list]</p>
<p><iframe width="560" height="315" src="https://www.youtube.com/embed/44yxKdrp5-A?rel=0" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>https://www.davidtiong.com/protecting-against-scams-video/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hidden danger of using free digital photo websites</title>
		<link>https://www.davidtiong.com/hidden-danger-of-using-free-digital-photo-websites/</link>
		<pubDate>Mon, 25 May 2015 10:02:02 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[copyright dangers]]></category>
		<category><![CDATA[free photos]]></category>
		<category><![CDATA[stock photography]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3236</guid>
		<description><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/05/dangers-free-photos-online-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="copyright dangers using free photos" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/dangers-free-photos-online-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/dangers-free-photos-online-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/05/dangers-free-photos-online.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>Before you use another &#8220;free&#8221; digital image, you must read this Do you use free digital photos on your blog or your website? Well you might be sitting on a ticking time bomb! DISCLAIMER: The information contained in this article is based on my interpretation of my findings. I am not an expert in legal ... <a title="Hidden danger of using free digital photo websites" class="read-more" href="https://www.davidtiong.com/hidden-danger-of-using-free-digital-photo-websites/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/05/dangers-free-photos-online-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="copyright dangers using free photos" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/dangers-free-photos-online-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/dangers-free-photos-online-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/05/dangers-free-photos-online.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div><h2 class="highlight">Before you use another &#8220;free&#8221; digital image, you must read this</h2>
<p>Do you use free digital photos on your blog or your website? Well you might be sitting on a ticking time bomb!</p>
<p><em>DISCLAIMER: The information contained in this article is based on my interpretation of my findings. I am not an expert in legal matters, so recommend that you do your own research in this area and consult legal advice if needed. The purpose of this article to raise awareness and provide a warning to those using free digital imagery.</em></p>
<p>With all the free services popping up across the internet to solve the issue of finding stock photography for each blog post we churn out, it seems like it has become so much easier to find that ideal image. And yes it makes life easier for us designers, internet marketers and bloggers. But what happens when Getty Images lets Dun &#038; Bradstreet loose on you?</p>
<p>Think this won&#8217;t happen? Well how do you prove where you downloaded a free image from 5 years ago, that now only seems to be available on GettyImages, when free images don&#8217;t actually come accompanied with a licence?</p>
<p>If you buy an image, you should receive a copy of the licence that you can download with the image. Also you generally need an account with that image provider, so there is usually a record then of the images you have purchased. But when you download a free image, you get nothing. You are told that the image is <a href="https://creativecommons.org/about/pdm" target="_blank" rel="external nofollow">&#8220;Public Domain&#8221;</a> or <a href="https://creativecommons.org/about/cc0" target="_blank" rel="external nofollow">&#8220;Creative Commons CC0&#8221;</a>, but you don&#8217;t get a copy of this attached to the image to prove that. You also don&#8217;t have a record of downloading that image from the website either.</p>
<h2 class="highlight">But it says it is free to use, even for commercial purposes</h2>
<p>This is true. But what if I told you that the free image websites waive responsibility for checking that an uploaded image isn&#8217;t actually someone else&#8217;s work? What if I told you that an image can be removed by the author for whatever reason &#8211; how would you then prove that the image existed on that website in the first place? That&#8217;s if you can remember which website you downloaded it from in 5 years time (especially if you use a few image sources)! </p>
<p>What if I told you that a free photos website can remove an image if they find out it has breached copyright? How would they notify people who have already downloaded that image and are using it on their own websites &#8211; that they are now infringing on copyright? THEY DON&#8217;T TELL YOU THIS &#8211; THEY CANNOT TELL YOU THIS.</p>
<h2 class="highlight">It is happening at this moment and you could be next!</h2>
<p>A website client of mine recently received a bill for over $600 for use of a small &#8220;unlicenced&#8221; image on their website. It was an old image downloaded several years ago from a free photo source, and so no licence could be shown to prove this. Searching on the internet it was discovered that this image was being used on many different websites, but that the only &#8220;official&#8221; place to obtain the image now was through GettyImages. As a result they had no option but to pay the fee for &#8220;copyright infringement&#8221;.</p>
<p>Following the incident, I took a moment to view the terms of use for some well known free image websites, to see what they were doing to protect their users. I guess I expected to find what I did, but I was still a little disappointed.</p>





<p>It might seem reasonable that if a website, especially a small business, were to find themselves in a situation where an image appeared on their website and they had unknowingly and unintentionally used an image they believed to have been free, that a request and warning to remove it from their website would be fair. But it seems that the first notification is by way of compensation ordered to pay by debt collectors.</p>
<h2 class="highlight">So what next?</h2>
<p>Well my recommendation is that if you use free images on your website or blog, try to credit the source of the image in your blog post (so that you have a record of where the image came from), or record the URL of the image you download, or otherwise purchase an image that is accompanied by an actual downloadable copy of the licence to use that image.</p>
<p>I&#8217;d welcome any comments from anyone who has encountered any issues with using free images, or any representatives of the free image sources that would like to reassure users of their free stock photos, or any other useful advice. Feel free to share below.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Increase your search appearance on Google &#8211; what you should be doing</title>
		<link>https://www.davidtiong.com/increase-your-search-appearance-on-google-what-you-should-be-doing/</link>
		<comments>https://www.davidtiong.com/increase-your-search-appearance-on-google-what-you-should-be-doing/#comments</comments>
		<pubDate>Wed, 20 May 2015 09:43:56 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[SEO and Marketing]]></category>
		<category><![CDATA[content marketing]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3178</guid>
		<description><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="search engine ranking and marketing your website" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>SEO, Content Marketing and the Google Algorithm The role that SEO, or search engine optimisation, plays in today&#8217;s online search world where Google is king, has changed completely in recent years. Google has a secret formula called the Google Algorithm that they use to determine what to display when someone types a query into the ... <a title="Increase your search appearance on Google &#8211; what you should be doing" class="read-more" href="https://www.davidtiong.com/increase-your-search-appearance-on-google-what-you-should-be-doing/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="search engine ranking and marketing your website" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div><h2 class="highlight">SEO, Content Marketing and the Google Algorithm</h2>
<p>The role that SEO, or search engine optimisation, plays in today&#8217;s online search world where Google is king, has changed completely in recent years. Google has a secret formula called the <strong>Google Algorithm</strong> that they use to determine what to display when someone types a query into the Google search bar.</p>
<div style="padding: 30px;"></div>
<p>If you mention SEO, many people immediately think of keywords, especially ranking number 1 for popular keywords to do with their business. But what most people don&#8217;t realise is that search results now vary continuously and different results show from one search to another. Search results are not static, they are changing all the time.</p>
<p>The Google Algorithm is actually smart enough to know about you and how you search. Factors such as your geographic location, personal search history, social connections, and computer/mobile device you are using, all contribute to why you will see different search results to another person doing the exact same search query at the exact same time.</p>
<div style="padding: 30px;"></div>
<p>As search engines grow larger and larger, the amount of information they consume is increasing. To remain relevant, current and trusted your website content must also increase. This is where Content Marketing comes into the picture, and is essentially deciding on what content your customers, clients, followers and fans need and want, creating this content, and then publishing it onto your website, your social channels and your brand outlets.</p>
<h2 class="highlight">The SEO landscape has changed completely.</h2>
<p>Search engines update continuously and the Google Algorithm undergoes tweaking and updates more frequently than most people realise, but the major updates are given names like Panda and Penguin. Online marketers and SEO companies are constantly having to adapt their strategies according to these changes to remain effective in driving traffic to websites. What worked in the past to make your website rank higher, could actually now have the opposite affect and negatively impact your search engine rankings.</p>
<p><img class="aligncenter size-full wp-image-3195" src="https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO.jpg" alt="SEO changing landscape" width="726" height="350" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/negative-impact-SEO-494x238.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p>You might be wondering how to go about achieving a first page ranking, and how to rank as high as possible for as many relevant search queries. <strong>But what is often overlooked is the fact that there is no point ranking in the top spot if this doesn&#8217;t lead to conversions, especially if you&#8217;re paying big dollars to be there.</strong></p>
<p>A conversion is someone who actually becomes a customer and often follows a lengthy process of multiple &#8220;touch points&#8221; or interactions. Finding your business online through a search, reading a review or testimonial about you, visiting your website, a referral, seeing one of your online ads, looking at your Facebook page, reading a blog post on your website, or a blog post about your business on another website, and any social or brand interactions are all touch points that work together to turn prospects into leads and ultimately into clients and customers.</p>
<p>To convert you need to be relevant and have content on your webpage that fulfills the search query. So how do you make your website rank higher on Google search for a search query? Well keyword stuffing, listing your website on hundreds of global directories for back-links, and other &#8220;black hat&#8221; tactics are no longer effective, and can lead to a Google penalty that will see all of your search traffic drop. <em>Yet many SEO companies still make wild claims like &#8220;We&#8217;ll get you to number 1 on Google&#8221;</em> &#8211; You&#8217;ve probably had many phone calls and emails telling you that you are missing out on hundreds of visitors or that you don&#8217;t even rank on the first page of Google.</p>
<h2 class="highlight">What factors contribute to SEO that are relevant today?</h2>
<p>There is an extensive list of actions you can take to improve your rankings. But the best approach is simply to concentrate on putting yourself into the shoes of the person doing the search. Remember afterall, that this is what Google is trying to do &#8211; provide the most contextually relevant results &#8211; to serve up on the plate what the end user actually wants to eat.</p>
<p>The way that a user interacts with your webpage is analysed by search engines. This is called engagement metrics and includes statistics such as how long they visited your webpage after clicking through from the search page and whether they visited other pages. If they left your website immediately then this suggests that your page did not have what they wanted, what they typed into the search query. <strong>In other words &#8211; you were not a good match for that keyword phrase.</strong> This is an important aspect of being competitive in the search results and if users find your content useful then a search engine has done its job and will be more likely to show your result next time, and maybe higher up the ranking. But the opposite is also true.</p>
<p>So what actions should you take?</p>
<div style="padding: 30px;"></div>
<p>Forget about a single minded focus on rankings and concentrate instead on engagement and targeting your ideal audience. Provide value to your audience both on your website and at all of your brand&#8217;s touch points by integrating <a href="https://www.davidtiong.com/service/time-saving-services/" target="_blank">content marketing</a> into your weekly business activities. Think about the overall online branding experience and don&#8217;t just focus on one area.</p>
<h2 class="highlight">Keywords for content marketing</h2>
<p>We are starting to realise that ranking for <strong>long tail keywords</strong> (search phrases with 4 or more words) is more profitable even though there is less search traffic. Why is this?</p>
<div style="padding: 30px;"></div>
<p>If someone walks into a department store and asks &#8220;Where is menswear?&#8221; then they may just be looking in general. However if they ask &#8220;Where are mens business shirts?&#8221; then you know they are actually looking for something specific that they possibly want to buy today.</p>
<p>Here is an example of how to create keyword phrases for generating effective content for users and search engines:</p>
<div style="padding: 30px;">
<p>Lets consider how people search on Google? If a person in the UK has heard about a place called the Gold Coast in Australia, and is curious where it is, they would type a simple search query into Google &#8220;Gold Coast Australia&#8221;. They would be expecting to find a map and some information about the area, and would learn that the Gold Coast is a city in Queensland, that stretches across 57 kilometres of beautiful beach coastline and is famous for its surf, sand and sunshine.</p>
<p>Now if you own a small private resort on the Gold Coast at the southern town of Coolangatta, would there be any point trying to rank for &#8220;Gold Coast Australia&#8221;? Probably not.</p>
<p>If a person living in Melbourne, Australia wants to go for a beach holiday to the Gold Coast, their search query might be &#8220;Gold Coast accommodation&#8221;. Most likely if your resort appeared on the first page, they would click your link, but also possibly any other links on that page. However you would spend a ridiculous amount of money trying to rank on page 1 for such a highly competitive search query, as you are competing against large accommodation booking companies. <strong>If you did get there, then your site&#8217;s traffic would increase significantly, but most likely the conversion rate would not be high enough to offset the amount spent on SEO to gain and then maintain that position. </strong>Especially if a large percentage of people typing in that search query were actually looking for the accommodation directories or the most popular town of &#8220;Surfers Paradise&#8221;. Many people would quickly &#8220;bounce&#8221; off your page, back to the search results.</p>
<p>Now consider a longer keyword phrase or a &#8220;targeted keyword phrase&#8221;. Your resort is located in Coolangatta beach on the Gold Coast with beach front views and is family friendly. Perhaps your facilities include kids clubs and swimming pools with waterslides and childrens pools&#8230; etc.</p>
<p>Publish content on your website including text phrases such as &#8220;<strong>Family friendly resort on Coolangatta beach</strong>&#8221; and &#8220;<strong>Coolangatta Resort with waterslide</strong>&#8221; and &#8220;<strong>Relaxing beachside family getaways in Coolangatta</strong>&#8220;, and you will be more likely to naturally appear on Google search for these lower competition phrases, and similar related phrases containing those keywords.</p>
<p>Also make sure that your web pages have great photos showing families enjoying the pool, testimonials from happy customers, facts about your facilities, and you <strong>regularly share similarly related content on your brand&#8217;s social media pages that links back to these pages on your website</strong>.</p>
</div>
<div style="padding: 30px;"></div>
<p>The idea is to think backwards. Instead of working out a bunch of keywords to rank for and then deciding where to add them onto your website, keep your website fresh and optimise your current pages with content that is going to be useful, valuable and engaging for someone who is on your web page. <a href="https://www.davidtiong.com/increase-website-traffic-with-semantic-google-search/" target="_blank">Make sure that your page content contains a good mix of words about your topic, to ensure that Google fully understands semantically what your page is all about</a>. Google will then index what your webpage is all about and include it in a search results when it &#8220;believes&#8221; it will be useful to the search query.</p>
<h2 class="highlight">Headlines and Click Through Rate (CTR)</h2>
<p>When a user types a search query into Google, the results page displays a list of snippets, each one made up of a headline, a web page URL link and a short description. To make your snippet appealing, you should think about how it looks to the person doing the search, and how it looks in amongst other snippets.</p>
<p>If your website appears in the search results, then this is recorded by Google as an &#8220;impression&#8221;. If a person then clicks on your link and visits your website, this is recorded by Google as a &#8220;click&#8221;.</p>
<div style="padding: 30px;"></div>
<p>The higher the CTR, the more often people are choosing your website in the search results, and the more traffic you have going to your website, so when you appear in a search result you really want to make your listing snippet as appealing as possible. How do you do this?</p>
<p><img class="aligncenter size-full wp-image-3206" src="https://www.davidtiong.com/wp-content/uploads/2015/05/good-headlines-for-Google-click-through-rate.jpg" alt="good headlines for Google click through rate" width="726" height="400" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/good-headlines-for-Google-click-through-rate.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2015/05/good-headlines-for-Google-click-through-rate-288x159.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/good-headlines-for-Google-click-through-rate-494x272.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p>A good article should always have a great headline. <strong>The headline draws the attention of the reader, and a person&#8217;s reaction to the headline determines whether they read the article or move onto the next one.</strong> Interestingly when it comes to web pages, the headline is actually something different to the main heading on your page, but both are very important.</p>
<p>Your page headline is also referred to as your page title. This title is not displayed on the actual web page, but instead in the top of the browser tab.</p>
<div style="padding: 30px;"></div>
<p>It is also sometimes displayed on external websites that link to your page, such as in social media. To set your page title it must be specified in the meta &lt;title&gt; tag in the header of your web page, and should be descriptive, concise, and unique. Consider keeping the length of your titles to less than 60 characters, placing important keywords towards the start, and including your branding when possible and practical.</p>
<p><img class="aligncenter size-full wp-image-3207" src="https://www.davidtiong.com/wp-content/uploads/2015/05/snippets-in-google.gif" alt="Snippets in Google search" width="726" height="350" /></p>
<p>&nbsp;</p>
<p>Your headline needs to encourage someone to read the rest of your snippet and hopefully to then visit your website, so you must write informative and interesting titles for your web pages. As an example, lets say someone types a query into Google such as &#8220;<strong>how to learn guitar by myself</strong>&#8220;. You could make your page title / headline interesting by writing something like &#8220;<strong>Learn Guitar in 20 minutes a Day</strong>&#8220;, or &#8220;<strong>Teach Yourself to play Guitar &#8211; Learn Online&#8221;</strong>. Of course it must be relevant to your page content, but make it sound good and try to appeal to reader&#8217;s emotions.</p>
<p>Another aspect of your listing that is worth considering is your description, that appears under your headline and URL link. Google will often display your meta description here, otherwise some text it extracts from your website page. Include a meta description that evokes curiosity in the reader to visit your web page to read more. Make sure that the meta description is an accurate description of your page, unique, no more than 160 characters and include your important keywords.</p>
<p><strong>Note that your keywords will appear in bold if they match the search query.</strong> Also Google will sometimes display the starting lines from your page&#8217;s body content rather than your meta description, so always consider what you include in your first few lines of body text on a page.</p>
<h2 class="highlight">Backlinks, Links and Broken Links</h2>
<p>What is a link? Quite simply it is a relationship between two things. If you have a link on a page then it is a reference to another location, whether that is another webpage, a file or a document. A backlink, or an inbound link, is a link from another website to your website or webpage. Broken links, as the name suggests, are links that reference a destination that no longer exists, or perhaps never did exist.</p>
<p>When it comes to search engines, links help create paths for discovering new content on the web as well as helping to determine a page&#8217;s popularity, so a link to your website is a vote for you. The more high quality backlinks that you have, the more popular your site is seen to Google, and so the more likely you are to appear for your keywords. Conversely if you have very few links to your website, then this suggests that your website is unpopular, or not recommended by others, so it is harder to rank for your keywords.</p>
<div style="text-align: center; margin: 30px auto;"><iframe src="https://www.youtube.com/embed/iC5FDzUh0P4?rel=0" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<p>Google does not see every link as equal however, so some links are worth more than others and some links can even hurt your website rankings. Here is a brief outline of some link facts to be aware of (note these may change as Google changes its algorithm):</p>
<div style="padding:0 30px;">[cposhort_list icon=&#8221;link&#8221; style=&#8221;round&#8221;]<br />
external links are stronger than internal links<br />
[/cposhort_list][cposhort_list icon=&#8221;link&#8221; style=&#8221;round&#8221;]<br />
links from unique domains are more valuable than more links from a website that already links to you<br />
[/cposhort_list][cposhort_list icon=&#8221;link&#8221; style=&#8221;round&#8221;]<br />
links from highly trusted domains or from sites that are linked to by highly trusted domains pass more value in a link to your website<br />
[/cposhort_list][cposhort_list icon=&#8221;link&#8221; style=&#8221;round&#8221;]<br />
create linkable content that encourages natural links from other bloggers and websites, rather than asking for links[/cposhort_list][cposhort_list icon=&#8221;link&#8221; style=&#8221;round&#8221;]<br />
article submissions and directory listings have been abused and overuse may lead to search engine penalties<br />
[/cposhort_list][cposhort_list icon=&#8221;link&#8221; style=&#8221;round&#8221;]<br />
order of links that appear on a page (links that appear earlier in a page&#8217;s code pass more ranking than links appearing later)<br />
[/cposhort_list][cposhort_list icon=&#8221;link&#8221; style=&#8221;round&#8221;]<br />
links inside noscript tags pass little or no value<br />
[/cposhort_list]</div>
<h2 class="highlight">Now what ?!??!</h2>
<p>This hopefully gives you some insights into how you might go about improving your own rankings on Google. It&#8217;s a brief overview, but looks at the bigger picture to help you realise that marketing your website starts with you, not with paying an SEO company to &#8220;get you on Google&#8221;.</p>
<p>Ranking on search engines is actually really easy to do, if you forget about the &#8220;number 1&#8221; mindset and simply start creating something of value for your audience. That might be a resource information page, an instructional video on how to use one of your products, an inspiring story, an interview with an expert in your field, a collection or list that your readers would refer to often, a downloadable worksheet, or even just something really interesting and relevant.</p>
<p>Start brainstorming today with your team, your marketer, your friends, your family and start publishing more awesome content.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.davidtiong.com/increase-your-search-appearance-on-google-what-you-should-be-doing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hints to improve your Content Marketing strategy</title>
		<link>https://www.davidtiong.com/hints-to-improve-your-content-marketing-strategy/</link>
		<pubDate>Mon, 11 May 2015 02:13:43 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[SEO and Marketing]]></category>
		<category><![CDATA[content marketing]]></category>
		<category><![CDATA[social media]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3149</guid>
		<description><![CDATA[<div><img width="288" height="167" src="https://www.davidtiong.com/wp-content/uploads/2015/05/content-marketing-hints-288x167.jpg" class="attachment-medium size-medium wp-post-image" alt="Tips for content marketing" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/content-marketing-hints-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/content-marketing-hints-494x286.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/05/content-marketing-hints.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>Your content must be communicating effectively, so consider what is relevant for your audience &#8211; Answer real questions, provide product and services information, talk about the latest news, be interesting and entertaining. Adding fresh new content to your website with the aim to target your audience and increase &#8220;eyes&#8221; on your website is known as ... <a title="Hints to improve your Content Marketing strategy" class="read-more" href="https://www.davidtiong.com/hints-to-improve-your-content-marketing-strategy/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="167" src="https://www.davidtiong.com/wp-content/uploads/2015/05/content-marketing-hints-288x167.jpg" class="attachment-medium size-medium wp-post-image" alt="Tips for content marketing" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/content-marketing-hints-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/content-marketing-hints-494x286.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/05/content-marketing-hints.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>
<p>Your content must be communicating effectively, so consider what is relevant for your audience &#8211; Answer real questions, provide product and services information, talk about the latest news, be interesting and entertaining.</p>
<p>Adding fresh new content to your website with the aim to target your audience and increase &#8220;eyes&#8221; on your website is known as &#8220;Content Marketing&#8221;. It is as important as SEO &#8211; they go hand in hand. Since Google indexes content continuously, to enable it to provide the best response to a search query, if you want your website to appear in the search results you need to not only add fresh new content regularly, but you need to use a plan.</p>
<p>Here are some questions to consider when formulating your content marketing strategy.<br />
&nbsp;</p>
<h4>Question 1: Does your headline create curiosity?</h4>
<p><img class="aligncenter size-full wp-image-3150" src="https://www.davidtiong.com/wp-content/uploads/2015/05/headline-content-marketing.jpg" alt="headline create curiosity for better content marketing" width="726" height="420" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/headline-content-marketing.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2015/05/headline-content-marketing-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/headline-content-marketing-494x286.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p><strong>Hints:</strong><br />
When creating an effective headline, ask yourself whether or not it is &#8220;clickable&#8221;. If someone did a Google search and your headline appeared on the search results page, would it evoke enough curiosity for them to take the action of clicking on your link?</p>
<p>Is the headline short and clear? Try triggering emotional responses. Also include your keyword phrase if possible, as the words in your headline or title are used by Google.<br />
&nbsp;</p>
<h4>Question 2: Where is your introduction?</h4>
<p><img class="aligncenter size-full wp-image-3151" src="https://www.davidtiong.com/wp-content/uploads/2015/05/remember-the-intro.jpg" alt="every blog post should have an introduction" width="726" height="430" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/remember-the-intro.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2015/05/remember-the-intro-288x171.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/remember-the-intro-494x293.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p><strong>Hints:</strong><br />
Just like any piece of great writing, blog posts should contain an introduction. If you enticed your reader with your headline, then the next hurtle is to actually get them interested enough to read your article. So hook your readers in by making a bold statement, or by asking a question in your introductory paragraph. </p>
<p>Keep your intro short, no more than 2-3 paragraphs, and give them a taste of what to expect. Add in a picture to make it visually appealing also.<br />
&nbsp;</p>
<h4>Question 3: How is your body looking?</h4>
<p><img class="aligncenter size-full wp-image-3153" src="https://www.davidtiong.com/wp-content/uploads/2015/05/strong-body-content.jpg" alt="content strong body" width="726" height="420" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/strong-body-content.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2015/05/strong-body-content-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/strong-body-content-494x286.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /><br />
<strong>Hints:</strong><br />
When writing an article or body of your webpage, keep in mind the following:</p>
<ul>
<li>use subheadings &#8211; many readers will not actually read your article from start to finish, they might only skim over the article, so provide informative subheadings for scanning</li>
<li>avoid big blocks of continuous text &#8211; use short paragraphs and no more than 3-4 paragraphs in a block of text</li>
<li>use questions, tell stories and write as though it were a conversation with an actual person in front of you</li>
<li>use different forms of content such as images, charts, videos and other interesting types</li>
<li>keep your content as concise as possible &#8211; not wordy</li>
<li>use emotions to appeal to the reader</li>
<li>make sure you check your spelling and formatting before publishing</li>
<li>refer to other experts and sources, and if using facts provide the evidence</li>
</ul>
<p>&nbsp;</p>
<h4>Question 4: Have you effectively ended your article?</h4>
<p><img class="aligncenter size-full wp-image-3154" src="https://www.davidtiong.com/wp-content/uploads/2015/05/effective-conclusions.jpg" alt="writing effective conclusions" width="726" height="420" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/effective-conclusions.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2015/05/effective-conclusions-288x167.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/effective-conclusions-494x286.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p><strong>Hints:</strong><br />
Don&#8217;t just end your blog post without wrapping up the aim of the article. You wouldn&#8217;t start a conversation, say what you have to say, and then walk off on the other person. So why do this in your blog post. </p>
<p>Write a short conclusion (less than a paragraph or two) that sums up the most important points, lead the reader into the next step that you want them to make, ask a question to keep the conversation going in the comments, provide links to related content, offer them a bonus, whatever it is don&#8217;t just walk out on them and hope they know what to do next.<br />
&nbsp;</p>
<h4>Question 5: What about after you hit publish?</h4>
<p><img src="https://www.davidtiong.com/wp-content/uploads/2015/05/promotion-after-publishing.jpg" alt="Promotion after publishing new content" width="726" height="430" class="aligncenter size-full wp-image-3173" srcset="https://www.davidtiong.com/wp-content/uploads/2015/05/promotion-after-publishing.jpg 726w, https://www.davidtiong.com/wp-content/uploads/2015/05/promotion-after-publishing-288x171.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/05/promotion-after-publishing-494x293.jpg 494w" sizes="(max-width: 726px) 100vw, 726px" /></p>
<p><strong>Hints:</strong><br />
Ok so you went to all the effort to publish your masterpiece, so what now? Don&#8217;t sit back and admire your work, it isn&#8217;t finished. </p>
<p>Now is the time for promoting. This may include sharing your new page on social media, sending an email or tweeting to a person that you mentioned in your article, or perhaps someone who you know would enjoy or benefit from reading your article.</p>
<p>Some more ideas might include:</p>
<ul>
<li>create short snippets from the article for sharing &#8211; you could use your subheadings or quotes &#8211; and auto schedule more social mentions of the article over the next month or so &#8211; using a service like Hootsuite or Buffer</li>
<li>design a graphic for Instagram or Facebook, include an interesting quote from your article, and share your graphic with a link back to the blog page. </li>
<li>make a video that relates to your article, for example if you wrote about a new product, you could produce a short video demonstrating a key feature, then post it to your YouTube channel and link back to your article</li>
<li>create a PDF of your page content and print it out as a leaflet</li>
<li>send out an update to your email subscribers and provide a snippet from the article with a link to read more</li>
</ul>
<p>&nbsp;</p>
<h4>Wrapping it up</h4>
<p>There are some hints to get you started to more effective content marketing. It&#8217;s important to realise that getting the perfect mix in online marketing requires more than just following a series of steps to creating some web content. You need to continue to invest time and effort into your website and web presence. </p>
<p>Sometimes the difficulty lies in finding content to talk about on your website. Start with your audience, either think about your business from their perspective, or ask them, to decide what they want to read more about. </p>
<p>If you found something useful in this article, then why not share it with your community by clicking on your favourite social place below.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Is my WordPress responsive website mobile friendly?</title>
		<link>https://www.davidtiong.com/is-my-wordpress-responsive-website-mobile-friendly/</link>
		<comments>https://www.davidtiong.com/is-my-wordpress-responsive-website-mobile-friendly/#comments</comments>
		<pubDate>Wed, 15 Apr 2015 01:37:06 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Google algorithm]]></category>
		<category><![CDATA[responsive design]]></category>
		<category><![CDATA[search engine optimisation]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3068</guid>
		<description><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/04/mobile-ready-responsive-websites-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="mobile ready responsive websites" srcset="https://www.davidtiong.com/wp-content/uploads/2015/04/mobile-ready-responsive-websites-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/04/mobile-ready-responsive-websites-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/04/mobile-ready-responsive-websites.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div>This is the question I was asking myself a couple of days ago. I have a WordPress responsive website, and I know that it works well on mobile devices. So why would Google&#8217;s mobile friendly tester show my website as NOT friendly? Firstly let&#8217;s explore why you need a mobile friendly website. Google&#8217;s upcoming algorithm ... <a title="Is my WordPress responsive website mobile friendly?" class="read-more" href="https://www.davidtiong.com/is-my-wordpress-responsive-website-mobile-friendly/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="139" src="https://www.davidtiong.com/wp-content/uploads/2015/04/mobile-ready-responsive-websites-288x139.jpg" class="attachment-medium size-medium wp-post-image" alt="mobile ready responsive websites" srcset="https://www.davidtiong.com/wp-content/uploads/2015/04/mobile-ready-responsive-websites-288x139.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/04/mobile-ready-responsive-websites-494x238.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/04/mobile-ready-responsive-websites.jpg 726w" sizes="(max-width: 288px) 100vw, 288px" /></div><p>This is the question I was asking myself a couple of days ago. I have a WordPress responsive website, and I know that it works well on mobile devices. So why would <a href="https://www.google.com/webmasters/tools/mobile-friendly/" target="_blank" rel="external nofollow">Google&#8217;s mobile friendly tester</a> show my website as NOT friendly? </p>
<p>Firstly let&#8217;s explore why you need a mobile friendly website.<br />
</p>
<h2>Google&#8217;s upcoming algorithm change</h2>
<p>Well according to the Google Webmaster blog in a post titled &#8220;<a href="http://googlewebmastercentral.blogspot.com.au/2015/02/finding-more-mobile-friendly-search.html" target="_blank" rel="external nofollow">Finding more mobile friendly search results</a>&#8220;, Google will very soon be making a change to the search results displayed on a mobile device.</p>
<p><em>From the article:</em><br />
<em>&#8220;Starting April 21, we will be expanding our use of mobile-friendliness as a ranking signal. This change will affect mobile searches in all languages worldwide and will have a significant impact in our search results. Consequently, users will find it easier to get relevant, high quality search results that are optimized for their devices&#8221;</em></p>
<p>The key words here are &#8220;&#8230; will affect mobile searches &#8230; worldwide &#8230; will have a significant impact in our search results &#8230;&#8221;</p>
<p>I think you get the picture that if you want to appear when someone is doing a Google search on a mobile device after 21st April 2015, then you need to be mobile friendly.<br />
</p>
<h2>How to be mobile friendly</h2>
<p>Well the preferred way to be mobile, <strong>according to Google</strong> is to have just one version of your website that is a <strong>Responsive Website Design</strong>.</p>
<p>What reasons does Google give for this <em>(source: <a href="https://developers.google.com/webmasters/mobile-sites/mobile-seo/configurations/responsive-design" target="_blank" rel="external nofollow">why responsive design</a>)</em>:</p>
<div style="padding-left:30px;">[cposhort_list icon=&#8221;check&#8221; style=&#8221;square&#8221;]easier for people to share a single link to a page on your website, rather than multiple links to the same content[/cposhort_list][cposhort_list icon=&#8221;check&#8221; style=&#8221;square&#8221;]easier for Google to index a single url than a separate desktop and mobile url[/cposhort_list][cposhort_list icon=&#8221;check&#8221; style=&#8221;square&#8221;]only have one page for the webmaster to maintain[/cposhort_list][cposhort_list icon=&#8221;check&#8221; style=&#8221;square&#8221;]saves on load time when redirection is required based on device type[/cposhort_list][cposhort_list icon=&#8221;check&#8221; style=&#8221;square&#8221;]improves Googlebot&#8217;s crawling efficiency as only one version of a page to be crawled and indexed so &#8220;can indirectly help Google index more of your site&#8217;s content and keep it appropriately fresh&#8221;<br />
[/cposhort_list]</div>
<p>So if you are running a WordPress website, then simply choose a responsive theme. You can also use a mobile plugin that creates a mobile version of your website, however given the reasons listed above you would be better off using a responsive theme. There are plenty to choose from and sometimes the theme you are using may actually have a setting to turn on responsive design, so if you are not sure then check the documentation that comes with your theme, or alternatively contact your theme provider.<br />
</p>
<h2>How to test if your website is now mobile friendly?</h2>
<p>This step is nice and easy, since Google have provided us with a really easy tool to use. Simply visit <a href="https://www.google.com/webmasters/tools/mobile-friendly/" target="_blank" rel="external nofollow">test here</a> and enter your home page url for Google to test.</p>
<p>Another way to test is by setting up your website with Google Webmaster Tools, and view the &#8220;mobile usability&#8221; section for any errors that Google has found.<br />
</p>
<h2>What if I have a responsive website and Google is showing it as &#8220;not friendly&#8221;?</h2>
<p>Well this is what I found out the other day. Even though my website is mobile friendly through testing on a range of mobiles and tablets, Google seems to be of the opinion that it is not.</p>
<p>Why is it so?</p>
<p>So I checked using the Chrome developer tools, and switched on the device mobile emulator to verify that the website was still appearing correctly on mobile devices. Yes that checked out ok. </p>
<p>Then I considered why the mobile testing tool might be showing a different result to Google. Reading on the page I realised that Google is trying to view the website exactly as a typical mobile user might see the page. So that means it needs access to all the stylesheets and javascript, images and other resources that might effect how a page looks.</p>
<p>Then it made sense. Based on the way that used to be recommended for WordPress websites, we use the robots.txt file to help prevent crawling and indexing of content that isn&#8217;t relevant for search results. In other words, we simply wanted Google and other search engines to crawl the text content of our websites, not all the other files. So the Googlebot was being blocked from crawling all the stylesheets and javascript, so it cannot therefore see the website exactly how it actually appears on a mobile device.</p>
<h4>So even though the website is fully responsive, the reason why Google believes it is not is because the robots.txt file blocks the files that Google now wants to be able to view.</h4>
<p>So what to do? Do I simply remove the robots.txt file and allow all crawling of the website? Do I amend the file and stop blocking all the files?<br />
</p>
<h2>A new robots.txt file for Googlebot</h2>
<p>I decided that the reason for blocking certain resources on the website is still relevant at this stage, though in the future this may change again. So the best way to fix the issue with Googlebot is to allow it to crawl the javascript, css, images and other important files. However I still may have some files loaded in my website that I don&#8217;t want crawled.</p>
<p>Thankfully we can target Googlebot in our robots.txt using &#8220;User-agent: Googlebot&#8221;. Also although the directive &#8220;Allow&#8221; is not recognised across all crawlers (so it shows as an error in robots txt testing tools), <strong>Google does actually recognise it</strong>, provided that it is &#8220;the URL path in of a subdirectory, within a blocked parent directory, that you want to unblock&#8221; (source: <a href="https://support.google.com/webmasters/answer/6062596?hl=en" target="_blank"><em>Webmaster tools help</em></a>).</p>
<p>This is my revised robots.txt tool with an explanation below:</p>
<pre><code class="language-markup">User-agent: Googlebot
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-content/plugins/
Allow: /wp-content/plugins/*.css
Allow: /wp-content/plugins/*.js
Disallow: /wp-content/mu-plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Allow: /wp-content/themes/*.css
Allow: /wp-content/themes/*.js
Allow: /wp-content/themes/*.gif
Allow: /wp-content/themes/*.png
Allow: /wp-content/themes/*.jpg
Disallow: /*.php$
Disallow: /*.inc$
Disallow: /*? 

User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/mu-plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*?

Sitemap: https://www.davidtiong.com/sitemap.xml
</code></pre>
<p>Explanation:</p>
<ul>
<li>Lines 1-17 are for Googlebot</li>
<li>Lines 19-31 are for all other bots</li>
<li>Line 33 is to inform search engines where my sitemap is located</li>
<li>Line 4 blocks the directory &#8220;plugins&#8221;, but lines 5-6 allow Googlebot to access css and js files in there</li>
<li>Line 9 blocks the directory &#8220;themes&#8221;, but lines 10-14 allow Googlebot to access css, js and image files in there</li>
</ul>
<p>You can add other allow or disallow rules in there as needed using the same pattern, however remember that your robots.txt file is publicly available so be careful what you put in there, eg: don&#8217;t put important pathways in there to hidden files.<br />
</p>
<h2>Submitting the new robots.txt file to Google and testing</h2>
<p>Once you have uploaded your new robots.txt file to your website, you want to do the following:</p>
<div style="padding: 5px 30px;">
1. Clear any caches to ensure your new robots.txt file is available</p>
<p>2. Purge any old copy of your robots.txt file from your CDN or Cloudflare if applicable</p>
<p>3. Test your robots.txt file for errors &#8211; try <a href="http://tool.motoricerca.info/robots-checker.phtml" target="_blank" rel="external nofollow">tool.motoricerca.info/robots-checker.phtml</a> (remember that the allow directive will show as errors)</p>
<p>4. Tell Google about your new robots.txt file by going into your Google Webmaster Tools account, then navigate to Crawl > Robots.txt tester. Then click on the submit button, then next to 3 ask Google to update &#8211; click submit (see images below).<br />
<br />
<img src="https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google1.jpg" alt="Submit robots.txt to Google" width="550" height="280" class="aligncenter size-full wp-image-3078" srcset="https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google1.jpg 550w, https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google1-288x147.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google1-494x251.jpg 494w" sizes="(max-width: 550px) 100vw, 550px" /><br />
<br />
<img src="https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google2.jpg" alt="mobile friendly changes to robots.txt" width="550" height="361" class="aligncenter size-full wp-image-3079" srcset="https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google2.jpg 550w, https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google2-288x189.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google2-494x324.jpg 494w" sizes="(max-width: 550px) 100vw, 550px" /><br />
<br />
5. Check that css, js and image files are not being blocked by Googlebot anymore by using the Robots.txt tester, view the images below as an example.<br />
<br />
<img src="https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google3.jpg" alt="robots.txt tester" width="550" height="304" class="aligncenter size-full wp-image-3082" srcset="https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google3.jpg 550w, https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google3-288x159.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google3-494x273.jpg 494w" sizes="(max-width: 550px) 100vw, 550px" /><br />
<br />
<img src="https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google4.jpg" alt="check Googlebot not blocked" width="550" height="310" class="aligncenter size-full wp-image-3083" srcset="https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google4.jpg 550w, https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google4-288x162.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/04/robots-txt-google4-494x278.jpg 494w" sizes="(max-width: 550px) 100vw, 550px" /><br />
<br /> <br />
6. Check that your website is now mobile friendly using the mobile friendly tester &#8211; <a href="https://www.google.com/webmasters/tools/mobile-friendly/" target="_blank" rel="external nofollow">www.google.com/webmasters/tools/mobile-friendly/</a>.</p>
<p>7. Keep an eye on your Google webmaster tools account over the next couple of weeks to make sure that no new errors are showing up.
</p></div>
<p>
How did you go? If you need to print out this page to refer to, then click the button below.<br />
[print-me-button buttontext=&#8221;Print a copy&#8221;]</p>
<h4>Are you ready now for April 21?</h4>
]]></content:encoded>
			<wfw:commentRss>https://www.davidtiong.com/is-my-wordpress-responsive-website-mobile-friendly/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>3 ways you can protect your email address on WordPress</title>
		<link>https://www.davidtiong.com/3-tips-to-protect-your-email-address-in-wordpress/</link>
		<pubDate>Sun, 22 Mar 2015 05:46:36 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[anti spam]]></category>
		<category><![CDATA[email harvesters]]></category>
		<category><![CDATA[WordPress shortcodes]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=3054</guid>
		<description><![CDATA[<div><img width="288" height="163" src="https://www.davidtiong.com/wp-content/uploads/2015/03/wordpress-antispambot-protect-email-address-288x163.jpg" class="attachment-medium size-medium wp-post-image" alt="WordPress antispambot protect email address" srcset="https://www.davidtiong.com/wp-content/uploads/2015/03/wordpress-antispambot-protect-email-address-288x163.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/03/wordpress-antispambot-protect-email-address-494x279.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/03/wordpress-antispambot-protect-email-address.jpg 550w" sizes="(max-width: 288px) 100vw, 288px" /></div>Whenever you include your email address online you are asking for spam An email address is a valuable piece of information. In the right hands it becomes valuable for your business, whether you are networking with other businesses or communicating with customers and clients. In the wrong hands, your email is soon clogged up with ... <a title="3 ways you can protect your email address on WordPress" class="read-more" href="https://www.davidtiong.com/3-tips-to-protect-your-email-address-in-wordpress/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="163" src="https://www.davidtiong.com/wp-content/uploads/2015/03/wordpress-antispambot-protect-email-address-288x163.jpg" class="attachment-medium size-medium wp-post-image" alt="WordPress antispambot protect email address" srcset="https://www.davidtiong.com/wp-content/uploads/2015/03/wordpress-antispambot-protect-email-address-288x163.jpg 288w, https://www.davidtiong.com/wp-content/uploads/2015/03/wordpress-antispambot-protect-email-address-494x279.jpg 494w, https://www.davidtiong.com/wp-content/uploads/2015/03/wordpress-antispambot-protect-email-address.jpg 550w" sizes="(max-width: 288px) 100vw, 288px" /></div><h2>Whenever you include your email address online you are asking for spam</h2>
<p>An email address is a valuable piece of information. In the right hands it becomes valuable for your business, whether you are networking with other businesses or communicating with customers and clients.</p>
<p>In the wrong hands, your email is soon clogged up with useless spam and rot.</p>
<p><strong>So how do you protect your email address on a WordPress website or blog?</strong></p>
<p>Email spamming is all about grabbing email addresses. Programs known as email harvesters scan the internet for email addresses so they can be added to lists and then targeted with garbage (ie unsolicited email). So if you simply paste your email address on a web page, then you you are just signing up for spam.</p>
<p>So instead you want to make it easy for genuine people to contact you, without any obstacles.</p>
<p><strong>Method 1: Don&#8217;t show the email address at all</strong></p>
<p>This one really depends on personal preference. I prefer not to display an email address usually, instead providing a simple and easy contact form on a website. The advantage of this is that you can set required information such as a contact phone number, an email address, perhaps how they found out about you or your business, or other specific information. To prevent spam bots filling in the contact form you can use spam plugins such as <a href="https://wordpress.org/plugins/anti-spam/" rel="external nofollow" target="_blank">Anti-spam</a> or use the honeypot technique (hidden field that only spambots fill in and then the email is rejected). </p>
<p>Another advantage of this is that you can redirect the user to a thank you page, or send a customised auto reply, offer a special, perhaps add them to your email newsletter list (with their permission of course).</p>
<p>The main disadvantage is that they might mis-type their email address, they don&#8217;t get to use their preferred email client, they don&#8217;t get your email address until/unless you reply email, and also the person might not want to fill in the form.</p>
<p><strong>Method 2: Visual Interpretation</strong></p>
<p>This one works quite well and you are simply showing your email address, but not making it readable to spiderbot harvesters.</p>
<p>Either you show a picture image of your email address, or you add it as text in the form myemail(AT)mywebsite(DOT)com.</p>
<p>This works quite well, though the main problem is that a user has to open up their email client then type the email address in, and this can sometimes be too much effort, or otherwise they could mistype and send the email to the wrong place. Then the client might wonder why you never responded.</p>
<p><strong>Method 3: Encode or obfuscate your email address</strong></p>
<p>If you definitely would prefer to display your email address on your website, so that a client can either copy and paste it into their email client, or even a clickable link that opens up the mail client with the email address ready to go, then you can use the WordPress antispambot() function.</p>
<p>It is really easy to use, and to make it even easier I have created a simple shortcode function below that will either extract the email address from the user profile or allow you to type in the email address to use, encode the email address, then display it as a clickable link for you to use.</p>
<pre><code class="language-php">//antispam email addresses
function hide_email_addresses_sc($atts, $content = null) {
    $emailaddress_fields = shortcode_atts(array(
        'id' =&gt; '',
        'email' =&gt; ''
    ),$atts);
    $userid = $emailaddress_fields['id'];
    $e_mail = $emailaddress_fields['email'];
    if ($userid !=='' &amp;&amp; $e_mail =='') {
        $emailaddress = get_the_author_meta('user_email',$userid);
        return '&lt;a href=&quot;mailto:'.antispambot($emailaddress).'&quot;&gt;'.antispambot($emailaddress).'&lt;/a&gt;';
    }
    if ($userid =='' &amp;&amp; $e_mail !=='') {
        return '&lt;a href=&quot;mailto:'.antispambot($e_mail).'&quot;&gt;'.antispambot($e_mail).'&lt;/a&gt;';
    }
    else {
        return '';
    }
}
add_shortcode('hide_email','hide_email_addresses_sc');
</code></pre>
<p>Simply add the above shortcode function to your childtheme&#8217;s functions.php file and then you can use the shortcode in either of the following ways:</p>
<p>&#91;hide_email id=&#34;1&#34;&#93;      // this will allow you to display the clickable encoded email address for a registered user on your site  (uses the email address in the user profile with the id= 1)</p>
<p>&#91;hide_email email=&#34;email@example.com&#34;&#93;    //  this will allow you to display a clickable encoded email address for the email address you enter</p>
<p><strong>Other options</strong><br />
For alternatives on preventing spam collection of your email address you can review the <a href="https://codex.wordpress.org/Protection_From_Harvesters" rel="external nofollow" target="_blank">WordPress Codex</a>.</p>
<p>How do you prevent harvesters grabbing your email address?</p>
]]></content:encoded>
			</item>
		<item>
		<title>Add a jQuery TimeCircle Countdown Timer to WordPress</title>
		<link>https://www.davidtiong.com/add-jquery-timecircles-countdown-timer-to-wordpress/</link>
		<comments>https://www.davidtiong.com/add-jquery-timecircles-countdown-timer-to-wordpress/#comments</comments>
		<pubDate>Wed, 04 Mar 2015 06:38:01 +0000</pubDate>
		<dc:creator><![CDATA[David Tiong]]></dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[countdown timer]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[TimeCircles]]></category>
		<category><![CDATA[WordPress shortcodes]]></category>

		<guid isPermaLink="false">http://www.davidtiong.com/?p=2989</guid>
		<description><![CDATA[<div><img width="288" height="137" src="https://www.davidtiong.com/wp-content/uploads/2015/03/jQuery-TimeCircles-288x137.png" class="attachment-medium size-medium wp-post-image" alt="add jQuery TimeCircles to WordPress" srcset="https://www.davidtiong.com/wp-content/uploads/2015/03/jQuery-TimeCircles-288x137.png 288w, https://www.davidtiong.com/wp-content/uploads/2015/03/jQuery-TimeCircles-494x236.png 494w, https://www.davidtiong.com/wp-content/uploads/2015/03/jQuery-TimeCircles.png 562w" sizes="(max-width: 288px) 100vw, 288px" /></div>If you host an event on your website, perhaps run a competition or maybe set a product launch date, then you will need a countdown timer. One great little countdown timer is jQuery TimeCircles. It lets you set a future date and time, or otherwise you can set the timer based on number of seconds. ... <a title="Add a jQuery TimeCircle Countdown Timer to WordPress" class="read-more" href="https://www.davidtiong.com/add-jquery-timecircles-countdown-timer-to-wordpress/">Read more</a>]]></description>
				<content:encoded><![CDATA[<div><img width="288" height="137" src="https://www.davidtiong.com/wp-content/uploads/2015/03/jQuery-TimeCircles-288x137.png" class="attachment-medium size-medium wp-post-image" alt="add jQuery TimeCircles to WordPress" srcset="https://www.davidtiong.com/wp-content/uploads/2015/03/jQuery-TimeCircles-288x137.png 288w, https://www.davidtiong.com/wp-content/uploads/2015/03/jQuery-TimeCircles-494x236.png 494w, https://www.davidtiong.com/wp-content/uploads/2015/03/jQuery-TimeCircles.png 562w" sizes="(max-width: 288px) 100vw, 288px" /></div><p>If you host an event on your website, perhaps run a competition or maybe set a product launch date, then you will need a countdown timer. </p>
<p>One great little countdown timer is <strong>jQuery TimeCircles</strong>. It lets you set a future date and time, or otherwise you can set the timer based on number of seconds. If you set a date and time, then the countdown will finish at the set date and time. If you set a timer based on seconds, then it will start when the page loads.</p>
<p>What I like about TimeCircles is that it looks great, functions well and is responsive for different size devices (if you are using a responsive WordPress theme). I use this counting timer for my webcast replays, so that members know how long they&#8217;ve got to watch after the live webcast.</p>
<p>Here is an example of what it looks like, with the timer set for 120 seconds or 2 minutes, and at the end of the countdown it plays a sound and pops up with a message.</p>
<div style="margin: 20px auto; max-width: 500px;">[time-circle data_timer=&#8221;120&#8243; timestop=&#8221;0&#8243; message=&#8221;The countdown has finished now!&#8221;]</div>
<h3>How to add jQuery TimeCircles to WordPress?</h3>
<p>It is really easy to add this to your WordPress website. If you have been following along with previous tutorials then you probably already have an idea what procedure we are going to use. </p>
<p>First you will need to download the necessary script files to upload to your website. Then create a script file for the options, then add a couple of functions to your childtheme&#8217;s functions.php file, one to register the necessary scripts and styles ready to enqueue in our shortcode function, and the other to add the shortcode function with some basic attributes.</p>
<p><strong>Step 1: Get the materials</strong><br />
Download zip file from the <a href="http://git.wimbarelds.nl/TimeCircles/index.html" rel="external nofollow" target="_blank">TimeCircles website</a> and extract the files. Next create a new folder inside your WordPress childtheme&#8217;s folder called &#8220;js&#8221;. You may already have this folder created. </p>
<p>Now create a folder inside this &#8220;js&#8221; folder and call it &#8220;TimeCircles&#8221;. This is where we will upload our scripts and styles for TimeCircles. Go ahead and upload TimeCircles.css and TimeCircles.js into this folder.</p>
<p><strong>Step 2: Prepare our settings</strong><br />
Ok now we need to create our script file for our TimeCircle options. Create a file called timecirclescript.js and insert the following javascript into it:</p>
<pre><code class="language-javascript">/* script for countdown shortcode */
var timecircleanimation = timecircledata2.time_animation;
var timestop = timecircledata2.timestop;
var timemessage = timecircledata2.message;
jQuery(document).ready(function($) {
    $(&quot;.timecircle&quot;).TimeCircles({
        animation: timecircleanimation,
        count_past_zero: parseInt(timestop,10)
    }).addListener(function(unit, value, total) {
        if(total === 0) {
            document.getElementById('timerend').play();
            alert(timemessage);
        }
    });
});
</code></pre>
<p>
Now upload this file also into the TimeCircles folder.<br />
Note: you may notice that I&#8217;ve set some variables in the script with values such as &#8220;timecircledata2.time_animation&#8221;. This data is passed across from the wp_localize_script function that we will use in our shortcode. If you are familiar with passing parameter from a shortcode to javascript, then you will understand this. If not then have a <a href="https://www.davidtiong.com/passing-parameters-from-shortcode-to-javascript/" title="Passing Parameters from Shortcode to Javascript" target="_blank">read of the article that talks about this</a>.</p>
<p><strong>Step 3: Create the functions</strong><br />
Now edit your childtheme&#8217;s functions.php file and add the following 2 functions:</p>
<pre><code class="language-php">function scripts_for_countdownclock() {
    wp_register_style('timecirclecss',get_stylesheet_directory_uri().'/js/TimeCircles/TimeCircles.css');
    wp_register_script('timecirclejquery',get_stylesheet_directory_uri().'/js/TimeCircles/TimeCircles.js',array('jquery'),'',true);
    wp_register_script('timecirclescript',get_stylesheet_directory_uri().'/js/TimeCircles/timecirclescript.js',array('timecirclejquery'),'',true);
}
add_action('wp_enqueue_scripts','scripts_for_countdownclock');

function countdown_shortcode($atts, $content = null){
    $timecircledata = shortcode_atts(array(
        'data_date' =&gt; '0',
        'data_timer' =&gt; '0',
        'time_animation' =&gt; 'ticks',
        'timestop' =&gt; '0',
        'message' =&gt; 'time has ended'
    ),$atts);
    wp_enqueue_style('timecirclecss');
    wp_enqueue_script('timecirclejquery');
    wp_enqueue_script('timecirclescript');
    wp_localize_script('timecirclescript','timecircledata2',$timecircledata);
    $d_date = $timecircledata['data_date'];
    $d_timer = $timecircledata['data_timer'];
    if ($d_timer !=='0') { 
        $countdownoutput = '&lt;div class=&quot;timecircle&quot; data-timer=&quot;'.$d_timer.'&quot;&gt;&lt;/div&gt;';
    }
    elseif ($d_date !=='0') {
        $countdownoutput = '&lt;div class=&quot;timecircle&quot; data-date=&quot;'.$d_date.'&quot;&gt;&lt;/div&gt;'; 
    }
    else {
        $countdownoutput = '&lt;div class=&quot;timecircle&quot; data-timer=&quot;3600&quot;&gt;&lt;/div&gt;';
    }
    return $countdownoutput . '&lt;audio id=&quot;timerend&quot; src=&quot;LINK TO YOUR AUDIO FILE&quot; preload=&quot;auto&quot;&gt;&lt;/audio&gt;';
}
add_shortcode('time-circle','countdown_shortcode');
</code></pre>
<p>
The first function above takes care of registering our 2 script files and our css file. Make sure that the path to the files matches where you have uploaded the files.</p>
<p>The second function is our shortcode function that sets the attributes, enqueues the files when the shortcode is on a page, and also includes a handy use of wp_localize_script so that we can access some parameters in our script file.</p>
<p>Make sure to upload an audio sound file for playing at the end of countdown, and add that to the function where it says &#8220;LINK TO YOUR AUDIO FILE&#8221;.</p>
<p><strong>Step 4: Using the shortcode</strong><br />
Simply add &#91;time-circle data_timer=&quot;ADD NUMBER OF SECONDS HERE&quot;&#93;</p>
<p>Optional settings:<br />
data_date=&quot;&quot;   //must be in the format yyyy-mm-dd hh:mm:ss<br />
data_timer=&quot;&quot;   //default is 3600 seconds (1 hour)<br />
time_animation=&quot;&quot;   //default is &#8220;ticks&#8221;; alternative option is &#8220;smooth&#8221;<br />
timestop=&quot;&quot;   //default &#8220;0&#8221; to stop timer when reaches 0; set to &#8220;1&#8221; for timer to continue counting upwards from 0<br />
message=&quot;&quot;   //add a custom message that pops up when timer reaches 0</p>
<p>Important note: do not use both &#8220;data_timer&#8221; and &#8220;data_date&#8221; in the same shortcode, only choose one. Only use the shortcode once on a page, otherwise there will be unexpected results for localized data, as the variable name will be the same with different values.</p>
<p>Feel free to customise your TimeCircles even further, by editing the settings script in step 2 above, or by adding extra attributes to the shortcode function. </p>
]]></content:encoded>
			<wfw:commentRss>https://www.davidtiong.com/add-jquery-timecircles-countdown-timer-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
