<?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>ZigPress</title>
	<atom:link href="https://www.zigpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.zigpress.com</link>
	<description>WordPress and ClassicPress design, development and support</description>
	<lastBuildDate>Tue, 17 Mar 2020 05:39:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://www.classicpress.net/?v=4.9.13-cp-1.1.2</generator>
	<item>
		<title>PLDT Home Fibr router superadmin and AP isolation UPDATED FEB 2020</title>
		<link>https://www.zigpress.com/pldt-home-fibr-router-superadmin-ap-isolation-feb-2020/</link>
		<comments>https://www.zigpress.com/pldt-home-fibr-router-superadmin-ap-isolation-feb-2020/#comments</comments>
		<pubDate>Tue, 18 Feb 2020 06:24:11 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Philippines]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/pldt-home-fibr-router-admin-and-access-point-ap-isolation-2/</guid>
		<description><![CDATA[NOTE: THIS IS AN UPDATED VERSION OF OUR OLDER POST WITH NEW USERNAMES AND PASSWORDS UPDATED FOR FEBRUARY 2020. We&#8217;ve written this in order to help out fellow users of&#8230; <a class="excerptmore" href="https://www.zigpress.com/pldt-home-fibr-router-superadmin-ap-isolation-feb-2020/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<blockquote><p><strong>NOTE: THIS IS AN UPDATED VERSION OF <a href="https://www.zigpress.com/pldt-home-fibr-router-admin-and-access-point-ap-isolation/">OUR OLDER POST</a> WITH NEW USERNAMES AND PASSWORDS UPDATED FOR FEBRUARY 2020.</strong></p></blockquote>
<p>We&#8217;ve written this in order to help out fellow users of PLDT Home Fibr internet connections here in the Philippines, following our own extremely frustrating experiences with this provider.</p>
<h3>PLDT Router AP (Access Point) Isolation</h3>
<p>The standard PLDT Home Fibr ONU (modem/router) &#8211; see image above &#8211; implements access point isolation, which means that while it has 4 LAN ports as well as both 2.4GHz and 5GHz wifi, any device connected via wifi cannot communicate with a device connected to a LAN port, and vice versa. Apparently this is done for &#8220;security reasons&#8221; (in other words, PLDT views its users as stupid and is looking for ways to minimise the time it spends on technical support).</p>
<p>What this means in practical terms is that if you have a home server (e.g. a Synology Diskstation or something like it that connects to the LAN via an ethernet cable), your wifi-connected devices cannot see it on the network, rendering it useless. Needless to say, <strong>PLDT do NOT warn you about this</strong> when you sign up for a two year contract, which in our view is negligent bordering on breach of contract, so we have no qualms offering this information online.</p>
<h3>Potential Solutions</h3>
<ol>
<li>Add a USB wifi adaptor to your server, if you can (only certain adaptors will work and it will also depend on your server operating system)</li>
<li>Put your PLDT Home Fibr modem/router into bridge mode, so it just acts as a modem, and connect another wifi router to it via an ethernet cable &#8211; this involves getting the configuration of the second router just right in order for things to work, and makes it harder to access the admin screens of your PLDT box</li>
<li>Find a way to turn off the access point isolation</li>
</ol>
<p>We decided against solution 1, since getting the configuration right will still depend on having a second router set up in order to talk to the server while setting up the USB wifi adaptor, and tutorials showing exactly how to sort it out seem hard to find.</p>
<p>On researching solution 2 it seems that putting the PLDT modem/router into bridge mode can cripple the throughput speeds, so we&#8217;ve decided not to mess with that.</p>
<p>That leaves solution 3 &#8211; finding a way to turn off the AP isolation, and after several hours of googling various relevant-sounding phrases we found an article that linked to another article that linked to another article that linked to a Discord chat room where a search of the chats revealed a way to do it. Then we had to go to a different source, also challenging to find, in order to get the latest superadmin username and password. Phew.</p>
<p>The only trouble is, whenever you restart your router (or there is a power cut, which can be quite frequent here in the Philippines) you have to repeat the process of disabling the AP isolation. Still, it&#8217;s better than no solution at all, and it actually only takes a few seconds to do.</p>
<h3>Disabling AP Isolation</h3>
<p>Note: this works on our new firmware version (RP2646). We&#8217;re told it also works on RP2684. If you have RP2631 please see our <a href="https://www.zigpress.com/pldt-home-fibr-router-admin-and-access-point-ap-isolation/">older post</a>.</p>
<p>You&#8217;ll need a Telnet client installed &#8211; here&#8217;s how to set one up on <a href="http://osxdaily.com/2018/07/18/get-telnet-macos/" rel="noopener" target="_blank">Mac</a> or on <a href="https://www.rootusers.com/how-to-enable-the-telnet-client-in-windows-10/" rel="noopener" target="_blank">Windows</a>.</p>
<ol>
<li>First you have to enable the Telnet interface on your PLDT box.<br />
Go to <strong><em>http://192.168.1.1/fh</em></strong> (bookmark it) and log in with the following details:<br />
Username: <strong><em>f9!6b1e1rhO3es~u!p@e#r$a%d^m*i(n</em></strong><br />
Password: <strong><em>s)f_U+h|g{u@5h2o1q0b1l</em></strong><br />
<strong>THIS WILL ONLY WORK IF YOU USE THE /FH URL</strong></li>
<li>Once logged in, select &#8216;Debug Switch&#8217; on the sidebar menu</li>
<li>Enable the Telnet switch and click Apply (if you also enable the web admin switch you&#8217;ll be able to log in with the <strong>adminpldt</strong> account &#8211; see below)</li>
<li>Log out</li>
<li>Open a terminal window or command prompt</li>
<li><strong><em>telnet 192.168.1.1</em></strong> and use <strong><em>gepon</em></strong> as the login and as the password</li>
<li>When it says &#8216;User&#8217;, type <strong><em>enable</em></strong> and press Enter, then enter <strong><em>gepon</em></strong> again as the password</li>
<li>Type <strong><em>cd switch</em></strong> and press Enter</li>
<li>Type <strong><em>control port_fw_eligiblity_switch disable</em></strong> and press Enter (no that&#8217;s not a typo in the word eligiblity!)</li>
<li>Done. Close the command prompt window.</li>
</ol>
<p>This worked a treat and we were instantly able to see and connect to our Synology Diskstation (hooked up to the PLDT box via LAN cable) from a Mac via wifi, without using an extra router.</p>
<p>We&#8217;ve heard that if you submit a support request to PLDT, explaining why you need AP isolation permanently turned off, they <strong>may</strong> do it for you (emphasis on <strong>may</strong> and you&#8217;ll probably have to escalate through several levels of staff). That would save having to follow this process after each power cut.</p>
<p>Alternatively you may decide (like us) that PLDT support is so clueless and inflexible that it&#8217;s not worth the hours you&#8217;ll lose off your life.</p>
<h3>The adminpldt account</h3>
<p>If you enable the web admin switch when logging in as superadmin, you will also be able to log in to your router using the adminpldt account, which means you can enable LAN ports 2 and 3, disable remote access (so PLDT can no longer push firmware updates to your router), etc etc. The new password for the <strong>adminpldt</strong> username is <strong>z6dUABtl270qRxt7a2uGTiw</strong> (if that doesn&#8217;t work try 1234567890 or pldt1234). Have fun and be careful!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/pldt-home-fibr-router-superadmin-ap-isolation-feb-2020/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Update WordPress permalinks easily without losing SEO</title>
		<link>https://www.zigpress.com/update-wordpress-permalinks-easily-without-losing-seo/</link>
		<comments>https://www.zigpress.com/update-wordpress-permalinks-easily-without-losing-seo/#comments</comments>
		<pubDate>Sat, 14 Dec 2019 03:45:20 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[ClassicPress]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=5033</guid>
		<description><![CDATA[These days SEO experts recommend that the permalinks for WordPress and ClassicPress websites are set to &#8216;post name&#8217;. If you have an older site then you may have chosen a&#8230; <a class="excerptmore" href="https://www.zigpress.com/update-wordpress-permalinks-easily-without-losing-seo/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>These days SEO experts recommend that the permalinks for WordPress and ClassicPress websites are set to &#8216;post name&#8217;. If you have an older site then you may have chosen a different permalink structure. Now you want to change it, but you&#8217;re worried about losing precious SEO indexing.</p>
<p>There are good reasons for choosing &#8216;post name&#8217; for your permalink structure. It keeps URLs as short as possible while still conveying meaning and keeps URLs free from useless information. It also stops people being discouraged from clicking a search result if they see an old date in the URL.</p>
<p>But if you suddenly change your permalink structure, what happens to all those old URLs that have already been indexed by Google? Well, they will throw a 404 error. Not good. All that hard work wiped out in a stroke.</p>
<p><strong>Note: if your old permalink setting was &#8216;Default&#8217; or &#8216;Category &#8211; name&#8217; then you don&#8217;t have to do anything at all &#8211; WordPress will handle the redirects automatically.</strong> </p>
<h3>The hard way to update your permalinks without losing SEO</h3>
<p>After changing your permalinks on the permalink settings page, you could install a redirection plugin (there are several good free ones) and manually add entries for all the posts that have been indexed by Google. So each redirect entry would be something like this:</p>
<p>FROM: https://www.zigpress.com/2018-04-15/this-is-the-post-title/<br />
TO: https://www.zigpress.com/this-is-the-post-title/<br />
TYPE: 301</p>
<p>This will work but if you have a lot of posts, this is a long, tedious, task. </p>
<h3>The easy way to update your permalinks without losing SEO</h3>
<p>If your web host is running Apache (in other words, if the <strong>.htaccess file</strong> is used on your site), there is a much easier way.</p>
<h5>Step 1</h5>
<p>Install and activate our free plugin <a href="https://www.zigpress.com/plugins/zightaccess/" rel="noopener" target="_blank"><strong>ZigHtaccess</strong></a> which will let you edit the content of your .htaccess file. It&#8217;s compatible with both WordPress and ClassicPress. Here&#8217;s the link to the <a href="https://wordpress.org/plugins/zightaccess/" target="_blank">ZigHtaccess page in the WordPress plugin repository</a>.</p>
<h5>Step 2</h5>
<p>Go and change your permalinks to &#8216;<strong>Post name</strong>&#8216; after <strong>making a note</strong> of what they were set to before (for example, &#8216;Day and name&#8217; or &#8216;Numeric&#8217;).</p>
<h5>Step 3</h5>
<p>Use the <a href="https://www.zigpress.com/plugins/zightaccess/" rel="noopener" target="_blank"><strong>ZigHtaccess</strong></a> editor page (reached from &#8216;Settings&#8217;) to add a line of code at the <strong>top</strong> of your .htaccess file. In each case below, replace <strong>www.mydomain.com</strong> with your actual domain name!</p>
<p>Please copy and paste carefully, since an .htaccess file with errors can break the front end of your site. And please ensure you add the line to the top of the .htaccess file, before any other lines in the file.</p>
<p><strong>Note: if your site runs in a subfolder, scroll further down for the correct code.</strong></p>
<p>If your old permalink setting was &#8216;<strong>Day and name</strong>&#8216;, add this line of code to the top of your .htaccess file:</p>
<pre>RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://www.mydomain.com/$4</pre>
<p>If your old permalink setting was &#8216;<strong>Month and name</strong>&#8216;, add this line of code to the top of your .htaccess file:</p>
<pre>RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(?!page/)(.+)$ https://www.mydomain.com/$3</pre>
<p>If your old permalink setting was &#8216;<strong>Numeric</strong>&#8216;, add this line of code to the top of your .htaccess file:</p>
<pre>RedirectMatch 301 ^/archives/(\d+)$ https://www.mydomain.com/?p=$1</pre>
<h5>If your site runs in a subfolder</h5>
<p>If your WordPress site runs in a subfolder (for example <em>www.mydomain.com/blog</em>), you need to amend the code as shown below. In each case, change the word <strong>subfolder</strong> to your subfolder name.</p>
<p>If your old permalink setting was &#8216;<strong>Day and name</strong>&#8216;, add this line of code to the top of your .htaccess file:</p>
<pre>RedirectMatch 301 ^/subfolder/([0-9]{4})/([0-9]{2})/([0-9]{2})/(?!page/)(.+)$ https://www.mydomain.com/subfolder/$4</pre>
<p>If your old permalink setting was &#8216;<strong>Month and name</strong>&#8216;, add this line of code to the top of your .htaccess file:</p>
<pre>RedirectMatch 301 ^/subfolder/([0-9]{4})/([0-9]{2})/(?!page/)(.+)$ https://www.mydomain.com/subfolder/$3</pre>
<p>If your old permalink setting was &#8216;<strong>Numeric</strong>&#8216;, add this line of code to the top of your .htaccess file:</p>
<pre>RedirectMatch 301 ^/subfolder/archives/(\d+)$ https://www.mydomain.com/subfolder/?p=$1</pre>
<h3>Done</h3>
<p>When you&#8217;ve added the correct line of code to your .htaccess file, save the changes and you&#8217;re done. Now test your site, and click some of your Google search results to make sure the redirect is happening. Once you&#8217;re happy that everything is OK, you can deactivate and even remove ZigHtaccess if you like &#8211; or you may decide it&#8217;s a useful plugin to have available. It&#8217;s up to you.</p>
<p>And in fact after a few months, once you&#8217;re sure that Google has caught up with your permalink changes, you can even use ZigHtaccess to remove the new line from your .htaccess file, since it will no longer strictly be needed.</p>
<p>If you need to reverse the process for any reason, simply remove the new line from your .htaccess file and save the changes, then go to the permalink settings page and switch the permalinks back to what they were before.</p>
<p>If you don&#8217;t feel confident doing this yourself, we&#8217;d be happy to help for a small fee &#8211; just use our <a href="https://www.zigpress.com/contact/">Contact page</a> to get in touch.</p>
<blockquote><p><strong>Disclaimer:</strong> This article and the ZigHtaccess plugin are offered without any kind of warranty, promise or guarantee, and the article and plugin author bears no responsibility for any problems or loss of code, data or income incurred as a result of using this article or the plugin.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/update-wordpress-permalinks-easily-without-losing-seo/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Removing all emoji code from a ClassicPress site</title>
		<link>https://www.zigpress.com/removing-all-emoji-code-from-a-classicpress-site/</link>
		<comments>https://www.zigpress.com/removing-all-emoji-code-from-a-classicpress-site/#respond</comments>
		<pubDate>Thu, 17 Oct 2019 09:01:45 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[ClassicPress]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP & MySQL]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=5006</guid>
		<description><![CDATA[Here&#8217;s a quick tip for ClassicPress theme developers. If you want to remove all trace of the WordPress/ClassicPress built-in emoji scripts, styles and tags from your ClassicPress site&#8217;s pages, here&#8230; <a class="excerptmore" href="https://www.zigpress.com/removing-all-emoji-code-from-a-classicpress-site/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s a quick tip for ClassicPress theme developers. If you want to remove all trace of the WordPress/ClassicPress built-in emoji scripts, styles and tags from your ClassicPress site&#8217;s pages, here is the code that you need to add to your theme&#8217;s functions.php file:</p>
<pre>
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_styles', 'print_emoji_styles');
add_filter('emoji_svg_url', '__return_false');
</pre>
<p>This code should be added near the end of your functions.php file (but before the final ?&gt; if there is one).</p>
<p>The last line was not needed for WordPress sites, but is needed for ClassicPress. It prevents the site outputting a DNS Prefetch tag for the ClassicPress emoji subdomain, and therefore simplifies your GDPR disclosure obligations slightly.</p>
<p>ClassicPress version 2 should remove this fairly useless functionality altogether by shifting it to a core plugin. If you&#8217;d like to make sure it does, you can <a href="https://petitions.classicpress.net/posts/7/remove-emojis-gdpr-friendly" rel="noopener" target="_blank">upvote the petition</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/removing-all-emoji-code-from-a-classicpress-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PLDT Home Fibr router admin and access point (AP) isolation</title>
		<link>https://www.zigpress.com/pldt-home-fibr-router-admin-and-access-point-ap-isolation/</link>
		<comments>https://www.zigpress.com/pldt-home-fibr-router-admin-and-access-point-ap-isolation/#comments</comments>
		<pubDate>Sun, 11 Aug 2019 13:41:09 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Philippines]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=4934</guid>
		<description><![CDATA[This post is clearly not our normal fare &#8211; it&#8217;s not about WordPress or ClassicPress, or Mac computers. We&#8217;ve written this in order to help out fellow users of PLDT&#8230; <a class="excerptmore" href="https://www.zigpress.com/pldt-home-fibr-router-admin-and-access-point-ap-isolation/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>This post is clearly not our normal fare &#8211; it&#8217;s not about WordPress or ClassicPress, or Mac computers. We&#8217;ve written this in order to help out fellow users of PLDT Home Fibr internet connections here in the Philippines, following our own extremely frustrating experiences with this provider.</p>
<h3>PLDT Router AP (Access Point) Isolation</h3>
<p>The standard PLDT Home Fibr ONU (modem/router) &#8211; see image above &#8211; implements access point isolation, which means that while it has 4 LAN ports as well as both 2.4GHz and 5GHz wifi, any device connected via wifi cannot communicate with a device connected to a LAN port, and vice versa. Apparently this is done for &#8220;security reasons&#8221; (in other words, PLDT views its users as stupid and is looking for ways to minimise the time it spends on technical support).</p>
<p>What this means in practical terms is that if you have a home server (e.g. a Synology Diskstation or something like it that connects to the LAN via an ethernet cable), your wifi-connected devices cannot see it on the network, rendering it useless.</p>
<h3>Potential Solutions</h3>
<ol>
<li>Add a USB wifi adaptor to your server, if you can (only certain adaptors will work and it will also depend on your server operating system)</li>
<li>Put your PLDT Home Fibr modem/router into bridge mode, so it just acts as a modem, and connect another wifi router to it via an ethernet cable &#8211; this involves getting the configuration of the second router just right in order for things to work, and makes it harder to access the admin screens of your PLDT box</li>
<li>Find a way to turn off the access point isolation</li>
</ol>
<p>We decided against solution 1, since getting the configuration right will still depend on having a second router set up in order to talk to the server while setting up the USB wifi adaptor, and tutorials showing exactly how to sort it out seem hard to find.</p>
<p>On researching solution 2 it seems that putting the PLDT modem/router into bridge mode can cripple the throughput speeds, so we&#8217;ve decided not to mess with that.</p>
<p>That leaves solution 3 &#8211; finding a way to turn off the AP isolation, and after several hours of googling various relevant-sounding phrases we found an article that linked to another article that linked to another article that linked to a Discord chat room where a search of the chats revealed a way to do it. Then we had to go to a different source, also challenging to find, in order to get the latest superadmin username and password. Phew.</p>
<p>The only trouble is, whenever you restart your router (or there is a power cut, which can be quite frequent here in the Philippines) you have to repeat the process of disabling the AP isolation. Still, it&#8217;s better than no solution at all, and it actually only takes a minute to do.</p>
<h3>Disabling AP Isolation</h3>
<p>Note: this works on our particular firmware version (RP2631) &#8211; we have no idea which other versions it works on. Try it and see.</p>
<p>You&#8217;ll need a Telnet client installed &#8211; here&#8217;s how to set one up on <a href="http://osxdaily.com/2018/07/18/get-telnet-macos/" rel="noopener" target="_blank">Mac</a> or on <a href="https://www.rootusers.com/how-to-enable-the-telnet-client-in-windows-10/" rel="noopener" target="_blank">Windows</a>.</p>
<ol>
<li>First you have to enable the Telnet interface on your PLDT box.<br />
Go to <strong><em>http://192.168.1.1/fh</em></strong> (bookmark it) and log in with the following details:<br />
Administrator: <strong><em>f~i!b@e#r$h%o^m*esuperadmin</em></strong> (make sure the screen prompt says &#8216;Administrator&#8217; NOT &#8216;Username&#8217;)<br />
Password: <strong><em>s(f)u_h+g|u</em></strong><br />
For older firmware versions, a different superadmin username and password may apply</li>
<li>Once logged in, select &#8216;Debug Switch&#8217; on the sidebar menu</li>
<li>Enable the Telnet switch and click Apply</li>
<li>Log out</li>
<li>Open a terminal window or command prompt</li>
<li><strong><em>telnet 192.168.1.1</em></strong> and use <strong><em>gpon</em></strong> as the login and as the password</li>
<li>When it says &#8216;User&#8217;, type <strong><em>enable</em></strong> and press Enter, then enter <strong><em>gpon</em></strong> again as the password</li>
<li>Type <strong><em>cd switch</em></strong> and press Enter</li>
<li>Type <strong><em>control port_fw_eligiblity_switch disable</em></strong> and press Enter (no that&#8217;s not a typo in the word eligiblity!)</li>
<li>Done. Close the command prompt window.</li>
</ol>
<p>This worked a treat and we were instantly able to see and connect to our Synology Diskstation (hooked up to the PLDT box via LAN cable) from a Mac via wifi, without using an extra router.</p>
<p>Our intention now is to contact PLDT technical support and request that they <strong><em>permanently</em></strong> turn off AP isolation on our PLDT box, to save us having to follow the above procedure each time the PLDT box restarts following a power cut.</p>
<p>Please note that no systems were hacked or attacked in the making of this post &#8211; all we did was spend an afternoon fishing for information via Google and trying things out. All the information presented is already out there to be found with some effort.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/pldt-home-fibr-router-admin-and-access-point-ap-isolation/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Detecting https in PHP &#8211; the definitive guide</title>
		<link>https://www.zigpress.com/detecting-https-in-php-the-definitive-guide/</link>
		<comments>https://www.zigpress.com/detecting-https-in-php-the-definitive-guide/#comments</comments>
		<pubDate>Tue, 02 Apr 2019 12:58:55 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[PHP & MySQL]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=4911</guid>
		<description><![CDATA[Detecting whether your PHP code is running on https or http is useful in a number of situations, particularly if you&#8217;re building a URL to set a form action or&#8230; <a class="excerptmore" href="https://www.zigpress.com/detecting-https-in-php-the-definitive-guide/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Detecting whether your PHP code is running on https or http is useful in a number of situations, particularly if you&#8217;re building a URL to set a form action or something similar, but it&#8217;s actually not as straightforward as it should be.</p>
<p>If you search on Google or Stack Overflow for advice on how to detect https using PHP, you&#8217;ll get a number of different answers. Most if not all of these answers will involve PHP server variables, but they use different ones, so which do you pick?</p>
<p>Here are the common methods&#8230;</p>
<h4>The &#8216;HTTPS&#8217; server variable</h4>
<p>You would check this variable something like this:</p>
<pre>$https = false;
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
    $https = true;
}</pre>
<p>But this only works on some servers. On others, this server variable is simply absent.</p>
<h4>The &#8216;SERVER_PORT&#8217; server variable</h4>
<p>You would check this variable something like the example below:</p>
<pre>$https = false;
if (isset($_SERVER['SERVER_PORT']) && ('443' == $_SERVER['SERVER_PORT'])) {
    $https = true;
}</pre>
<p>But this only works on some servers. On others (I&#8217;m looking at you, Cloudways), $_SERVER[&#8216;SERVER_PORT&#8217;] can sometimes return 80, even if the site is running on SSL. If there&#8217;s a good reason for that, it escapes me at the moment.</p>
<p>So what to do?</p>
<h4>Combining these the WordPress way</h4>
<p>WordPress has a core function <strong>is_ssl</strong> which combines the above two methods so that more different servers are covered and the chances of getting back the correct result are increased. Here it is in its current incarnation:</p>
<pre>function is_ssl() {
    if ( isset( $_SERVER['HTTPS'] ) ) {
        if ( 'on' == strtolower( $_SERVER['HTTPS'] ) ) {
            return true;
        }
        if ( '1' == $_SERVER['HTTPS'] ) {
            return true;
        }
    } elseif ( isset( $_SERVER['SERVER_PORT'] ) && ( '443' == $_SERVER['SERVER_PORT'] ) ) {
        return true;
    }
    return false;
}</pre>
<p>This is good so far as it goes, and it definitely increases the chances of getting the right result.</p>
<p>But there&#8217;s another case where this may fail &#8211; and that is on servers that are operating via a reverse proxy. I&#8217;m not going to try and explain what a reverse proxy is (though if you&#8217;re using CloudFlare you&#8217;re using one), but suffice to say that sometimes the function above will fail, because there&#8217;s yet another server variable that you need to check instead&#8230;</p>
<h4>The &#8216;HTTP_X_FORWARDED_PROTO&#8217; server variable</h4>
<p>Sometimes this will be the only relevant server variable that is present and set, so you need to check for it, which you can do like this: </p>
<pre>$https = false;
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && ('https' == $_SERVER['HTTP_X_FORWARDED_PROTO'])) {
    $https = true;
}</pre>
<p>So if we combine all three methods described above, we should have a universal https detection method. So, we can create&#8230;</p>
<h4>One function to rule them all</h4>
<p>I make no guarantees but I think this function should cover your behind on a significant majority of web servers out there that are running PHP. Unless you&#8217;re using IIS in which case you should just go read the IIS documentation to learn which non-standard method Microsoft has imposed.</p>
<pre>
function is_definitely_ssl() {
    if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
        return true;
    }
    if (isset($_SERVER['SERVER_PORT']) && ('443' == $_SERVER['SERVER_PORT'])) {
        return true;
    }
    if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && ('https' == $_SERVER['HTTP_X_FORWARDED_PROTO'])) {
        return true;
    }    
    return false;
}
</pre>
<p>I&#8217;ve eliminated the &#8216;else&#8217; structure of the WordPress function, since it&#8217;s not needed. The first condition that is met will drop out of the function with the positive result. I&#8217;ve deliberately put the conditions in a certain order, so that the ones I believe are more common will be checked first, thus making the function more efficient.</p>
<p>Add this to your snippets collection, utilities class, or whatever you use to store functions that you can use in many projects.</p>
<p>I&#8217;ve actually seen yet another server variable &#8211; $_SERVER[&#8216;REQUEST_SCHEME&#8217;] &#8211; discussed in relation to this topic, but I&#8217;ve never seen it available on any server I&#8217;ve encountered. So I&#8217;m going to assume it&#8217;s very unusual and politely ignore it.</p>
<p>If you know of another method in reasonably widespread use that I haven&#8217;t covered, please leave a comment below and I&#8217;ll amend the article!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/detecting-https-in-php-the-definitive-guide/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Catching up with ClassicPress</title>
		<link>https://www.zigpress.com/catching-up-with-classicpress/</link>
		<comments>https://www.zigpress.com/catching-up-with-classicpress/#comments</comments>
		<pubDate>Mon, 18 Mar 2019 06:36:08 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[ClassicPress]]></category>
		<category><![CDATA[Gutenberg]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=4888</guid>
		<description><![CDATA[In our previous article published late last year, &#8220;ClassicPress Beta is now available – should we adopt it?&#8220;, we took a look at the new WordPress fork called ClassicPress, which&#8230; <a class="excerptmore" href="https://www.zigpress.com/catching-up-with-classicpress/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>In our previous article published late last year, &#8220;<a href="https://www.zigpress.com/2018/11/21/classicpress-beta-is-now-available-should-we-adopt-it/">ClassicPress Beta is now available – should we adopt it?</a>&#8220;, we took a look at the new WordPress fork called <a href="https://www.classicpress.net/" rel="noopener noreferrer" target="_blank">ClassicPress</a>, which essentially provides a normal WordPress installation but without the new Gutenberg block editor.</p>
<p>In that article we concluded that ClassicPress was an exciting development in the WordPress ecosystem, but we didn&#8217;t yet feel able to switch any client sites from WordPress to ClassicPress, primarily because of the lack of a security plugin that could scan the ClassicPress core installation and report any &#8216;dodgy&#8217; files &#8211; something we normally use WordFence for. </p>
<p>And to be honest, we were also concerned about whether the ClassicPress project would actually succeed in gaining enough traction not to disappear without warning a few months down the line. However, despite our uncertainty, we still took steps to ensure that all ZigPress free plugins in the WordPress repository worked correctly on ClassicPress installations, as a way of giving a little support to the project.</p>
<h3>So how is ClassicPress doing now?</h3>
<p>Now, almost four months later, ClassicPress has reached its first non-beta release (1.0.1 in fact) and as we had hoped, there is now a free security plugin available that scans ClassicPress core files on a daily basis, reporting any discrepancies via email. That plugin is the excellent <a href="https://wordpress.org/plugins/wp-simple-firewall/" rel="noopener noreferrer" target="_blank">Shield Security</a>.</p>
<p><img src="https://www.zigpress.com/wp-content/uploads/2019/03/classicpress-colour-290x290.png" alt="" width="290" height="290" class="alignright size-medium wp-image-4898" />During that time I have participated in discussions in the <a href="https://forums.classicpress.net/" rel="noopener noreferrer" target="_blank">ClassicPress forums</a>, helping out with testing and bug reporting and offering opinions, and have gradually come to the conclusion that the growing team behind ClassicPress are serious about making it succeed as a long-term, indeed permanent, replacement for WordPress. </p>
<p>The other issue discussed in our previous article was that the <a href="https://wordpress.org/plugins/mainwp/" rel="noopener noreferrer" target="_blank">MainWP</a> WordPress installation management system was not able to automatically update ClassicPress installations (though it can update <em>themes</em> and <em>plugins</em> on ClassicPress installations), and it&#8217;s only fair to point out that this situation hasn&#8217;t yet changed.</p>
<p>So, has ZigPress&#8217;s view about using ClassicPress on live sites changed since our previous article was published?</p>
<p><strong>Yes, it has.</strong></p>
<p>We&#8217;ve made the decision that certain ZigPress client sites will be migrated from WordPress to ClassicPress, and by &#8216;certain&#8217; we mean:</p>
<ul>
<li>sites where the client is not very technically minded and happy to be guided by us regarding the back-end user experience that their site provides</li>
<li>sites where the client leaves all content editing to ZigPress</li>
<li>sites where content editing is based entirely on Advanced Custom Fields Pro and the Gutenberg block editor would be completely superfluous for that reason.</li>
</ul>
<p>Other client sites, including those where the client is more technical and is very much engaged in the WordPress experience, will be left as they are for now (since it&#8217;s possible that the client will ask to use Gutenberg at some point), and we will discuss the ClassicPress option with those clients a little further down the line.</p>
<p>ZigPress also runs a small number of non-client sites (i.e. our own projects), and these will all be migrated to ClassicPress in due course &#8211; including this site.</p>
<p>When we are asked to submit proposals for new website projects, we will assess the requirements on a case-by-case basis when deciding whether to specify WordPress or ClassicPress as our chosen platform for the project.</p>
<p>So in conclusion, we&#8217;re happy to announce that <strong>ZigPress is now committed to ClassicPress as a key platform in our business activities</strong> (though not the only platform of course), and we hope and expect that the ClassicPress project will go from strength to strength in the coming months.</p>
<p>If you&#8217;re a WordPress developer who would rather work without the block editor, we now feel we can recommend ClassicPress as a genuine alternative that is well worth examining.</p>
<p>And if you work for MainWP, we would like to encourage you to support this new growing platform!</p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/catching-up-with-classicpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ClassicPress Beta is now available &#8211; should we adopt it?</title>
		<link>https://www.zigpress.com/classicpress-beta-is-now-available-should-we-adopt-it/</link>
		<comments>https://www.zigpress.com/classicpress-beta-is-now-available-should-we-adopt-it/#comments</comments>
		<pubDate>Wed, 21 Nov 2018 12:27:32 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[ClassicPress]]></category>
		<category><![CDATA[Gutenberg]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=4854</guid>
		<description><![CDATA[The ClassicPress fork of WordPress, inspired initially by the forced introduction of Gutenberg in WordPress 5.0, is progressing positively, and today the first Beta was released, superceding the initial Alpha&#8230; <a class="excerptmore" href="https://www.zigpress.com/classicpress-beta-is-now-available-should-we-adopt-it/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>The <a href="https://www.classicpress.net/" rel="noopener" target="_blank">ClassicPress</a> fork of WordPress, inspired initially by the forced introduction of Gutenberg in WordPress 5.0, is progressing positively, and today the first <a href="https://www.classicpress.net/download/" rel="noopener" target="_blank">Beta</a> was released, superceding the initial Alpha release.</p>
<p>The main feature added by the Beta is the advent of automatic updating, which of course we won&#8217;t see the benefit of until the next release, but it&#8217;s good to have it implemented.</p>
<p>I have ClassicPress installed on a test site on my development system, and aside from the different icon on the admin screens you&#8217;d hardly know the site isn&#8217;t WordPress &#8211; everything simply works the same, which for now is exactly as it should be.</p>
<p>As a developer who has wrestled with Gutenberg and would rather not have to, I&#8217;ve been closely examining the marketing copy produced by both the ClassicPress and <a href="https://calmpress.org/" rel="noopener" target="_blank">CalmPress</a> forks, and for now I think the right route for me is to continue testing and working with ClassicPress on my development system, and to leave CalmPress in the wings for now (but not forget about it entirely). The reason for this is that I believe the ClassicPress team are prioritising compatibility more highly than the CalmPress developer, and that is something that is important for me.</p>
<p>The acid test, of course, will be to use ClassicPress on a live site, and I would love to, but there are two things that need to happen before I&#8217;m willing to do that.</p>
<p>These days there are certain plugins that I use across all my sites and rely on heavily. One of these is <strong>WordFence</strong>, which scans my live sites and reports on vulnerabilities and attacks. At the moment WordFence will complain and throw out a bunch of false positives if run on a ClassicPress installation, because it is comparing that installation with a stock WordPress installation, and many core files have changed in ClassicPress. If the ClassicPress team are able to persuade those at WordFence to make it check against ClassicPress core files instead of WordPress core files, when it detects a ClassicPress installation, that would sweeten the deal considerably for me.</p>
<p>The other issue for me is that I use the <strong>MainWP</strong> centralised control system to handle core and plugin updates for all my sites and my clients&#8217; sites. It saves me untold hours every week and underpins my ZigCare service. I&#8217;ve found that MainWP handles plugin updates for ClassicPress installations without a problem, which is excellent news, but right now it&#8217;s impossible to know if it will handle ClassicPress core updates, until another release (after the current Beta) is made. You can be sure I&#8217;ll be testing that once there&#8217;s another ClassicPress release.</p>
<p>Something that both of those plugins have in common of course, is that they communicate (or trigger communication) with a third party outside the website installation. WordFence communicates with its servers and the WordPress repositories to check file integrity, and MainWP&#8217;s child plugin connects with the WordPress repositories for the purpose of identifying and fetching required updates. And that, I think, indicates one of the crucial things for ClassicPress: aside from the quality of ClassicPress itself, its success will also depend on the willingness of third parties to make it part of their ecosystems.</p>
<p>So for me in particular, ClassicPress isn&#8217;t yet ready for using on a live site, especially one belonging to a client. However, it does show promise in a lot of ways: a solid Beta has been delivered on schedule; there is an <a href="https://www.classicpress.net/about/" rel="noopener" target="_blank">eclectic team of people involved</a>; they engage in discussion via their <a href="https://forums.classicpress.net/" rel="noopener" target="_blank">forums</a>; and their <a href="https://www.classicpress.net/blog/2018/10/29/classicpress-for-business-professional-organization-websites/" rel="noopener" target="_blank">aims for ClassicPress</a> fit with the way ZigPress approaches web development. </p>
<p>I&#8217;m quite excited to see how things develop.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/classicpress-beta-is-now-available-should-we-adopt-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How is ZigPress managing the introduction of Gutenberg?</title>
		<link>https://www.zigpress.com/how-is-zigpress-managing-the-introduction-of-gutenberg/</link>
		<comments>https://www.zigpress.com/how-is-zigpress-managing-the-introduction-of-gutenberg/#respond</comments>
		<pubDate>Thu, 01 Nov 2018 17:49:43 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[ClassicPress]]></category>
		<category><![CDATA[Clients]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Gutenberg]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=4839</guid>
		<description><![CDATA[If you keep your ear to the ground as far as the WordPress content management system is concerned, or even if you don&#8217;t, you may have heard that a new&#8230; <a class="excerptmore" href="https://www.zigpress.com/how-is-zigpress-managing-the-introduction-of-gutenberg/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>If you keep your ear to the ground as far as the WordPress content management system is concerned, or even if you don&#8217;t, you may have heard that a new content editor called Gutenberg will be introduced when WordPress 5.0 is released.</p>
<p>Since WordPress is such an important part of our business activities, we&#8217;ve been following Gutenberg&#8217;s development with interest, particularly in the various Facebook groups that exist for WordPress developers. Its development has been dogged by controversy, particularly relating to whether it should permanently remain an optional plugin (we think it should), and how accessible it is for disabled users (spoiler: it isn&#8217;t, not yet at least).</p>
<p>Now that WordPress 5.0 is into Beta, we thought it might be useful to outline our strategy for dealing with Gutenberg on our client sites.</p>
<h4>Our Strategy</h4>
<p>The fairly short and succinct description of our strategy is this: we&#8217;re disabling Gutenberg on all client sites for the time being.</p>
<p>And why are we doing that?</p>
<h4>Our Rationale</h4>
<ol>
<li>Our clients need their sites to keep working. At the moment Gutenberg is causing problems with many other plugins and many developers have complained of broken sites after adding Gutenberg.</li>
<li>Our clients haven&#8217;t asked about Gutenberg, and may not even be aware of it. They probably wouldn&#8217;t take kindly to a sudden change in the way they manage their site&#8217;s content.</li>
<li>Because our clients haven&#8217;t asked for Gutenberg, they probably wouldn&#8217;t take kindly to an unexpected bill for time spent resolving problems on their site caused by adding Gutenberg without asking them first.</li>
<li>Many of our client sites use a particular plugin (Advanced Custom Fields Pro) as a modular page builder, allowing you to flexibly add blocks of content to a page; in this scenario Gutenberg (which does the same thing) would be superfluous and simply get in the way.</li>
<li>Gutenberg is still missing many useful editing functions when compared to the existing &#8216;classic&#8217; WordPress content editor.</li>
<li>We have found from bitter experience that using &#8220;version 1.0&#8221; of anything is generally a bad idea. Yes, Gutenberg has been evolving as a plugin but the version packaged with WordPress 5.0 will be the first version that the WordPress core team consider to be &#8220;ready&#8221;, and we would rather wait until there have been two or more further releases so that more of the bugs can be worked out.</li>
<li>We&#8217;re busy, and suddenly arranging a large number of Gutenberg training sessions for clients would be very difficult.</li>
</ol>
<p>There is one exception to this strategy: recently we took over maintenance for a site developed by a third party, who used the Gutenberg plugin in order to make the content editing experience more like what it will be in WordPress 5.0. We have no choice but to support this site as-is, and in fact it is giving us useful insights into the problems that Gutenberg has caused and will probably continue to cause.</p>
<h4>The Future</h4>
<p>When there have been enough future WordPress releases that Gutenberg is a polished and trouble-free part of the WordPress administration experience, we&#8217;ll set up some test sites and, if the outcome is good, may start using it for certain new design and build projects.</p>
<p>However, existing client sites that we maintain will be kept in a Gutenberg-free state for as long as possible. Then, once disabling Gutenberg is no longer possible with new WordPress releases, we will discuss the way forward with clients. This ensures that additional costs for clients are postponed for as long as possible.</p>
<h4>Alternatives</h4>
<p>We have also been closely following the development of two projects that promise to offer an alternative to a Gutenberg-equipped WordPress: <a href="https://www.classicpress.net/" rel="noopener" target="_blank">ClassicPress</a> and <a href="https://calmpress.org/" rel="noopener" target="_blank">CalmPress</a>. We will continue to evaluate these projects as possible alternative platforms for certain projects and existing sites.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/how-is-zigpress-managing-the-introduction-of-gutenberg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-Page SEO Guide: What Backlinks To Build &#038; Why</title>
		<link>https://www.zigpress.com/off-page-seo-guide-what-backlinks-to-build-why/</link>
		<comments>https://www.zigpress.com/off-page-seo-guide-what-backlinks-to-build-why/#comments</comments>
		<pubDate>Mon, 04 Jun 2018 19:21:17 +0000</pubDate>
		<dc:creator><![CDATA[Paul Redfern]]></dc:creator>
				<category><![CDATA[Guest Articles]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=4810</guid>
		<description><![CDATA[Do you have an amazing website, add content frequently but are receiving little to no traffic? Or does the following sound familiar? You have spent weeks working on a professional&#8230; <a class="excerptmore" href="https://www.zigpress.com/off-page-seo-guide-what-backlinks-to-build-why/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Do you have an amazing website, add content frequently but are receiving little to no traffic?</p>
<p>Or does the following sound familiar?</p>
<p>You have spent weeks working on a professional website design for your business, or you have paid a <a href="https://www.zigpress.com/services/">website designer</a> to make the website of your dreams, but you see no traction in the search engines, resulting in no traffic, leads or customers. </p>
<p>Thankfully there is a systematic way to overcome this problem and it can be broken down into three key areas</p>
<ol>
<li>Technical SEO</li>
<li>On Page SEO </li>
<li>Off Page SEO</li>
</ol>
<p>I assume all readers of this blog are quite aware of point one above (Technical SEO). If you are uncertain about your technical SEO and need an SEO Audit, you can check my <a href="https://fixnowmedia.com/seo-services-malta/" target="_blank">Malta-based SEO service</a>, where we would be more than happy to help.</p>
<p>Let’s also assume that you are adding content to your website on a regular basis (two to four times per month). It must not be ordinary content but high-quality content that is based on keyword phrases your target audience is using when searching for goods or services you provide. You must also ensure that the content you produce is of better quality than currently exists on page 1 of Google search results. These processes are the fundamental blocks of point two above (On-Page SEO).</p>
<p>So this article is going to concentrate on point 3, Off Page SEO, which is often sadly neglected by website owners. Why you ask? Well, because it can be overwhelming to know what to do, it can take months before you see the positive effects and most of all because it is often very tedious work!</p>
<h3>Building Your Brand &#038; Domain Authority</h3>
<p>When you have a new site, the main goal is to increase your level of authority and trust by building up a network of referral assets all driving traffic back to your website. </p>
<p>You can achieve this by utilising online platforms and third-party websites to promote your content, products, services and even your own personal brand. </p>
<p>In the SEO world, this is referred to as Off Page SEO or backlink building. </p>
<p>The beauty of the backlinking strategies listed below not only drive traffic from these off page web portals and websites, but you increase your page rankings in the Google Search Engine as Google counts backlinks as one of their top three ranking factors in their ranking algorithm (content and Rankbrain algorithm being the other two).</p>
<p>According to <a href="https://ahrefs.com/blog/link-building/" target="_blank">ahrefs</a> study, backlink building is more effective than On-page SEO. </p>
<p><img src="https://www.zigpress.com/wp-content/uploads/off-page-seo-guide-malta-640x581.jpg" alt="" width="640" height="581" class="alignnone size-large wp-image-4812" /></p>
<p>Backlinks force your way onto page one, while On-page SEO determines where you rank on Page one.</p>
<p>Now, this does not mean you cannot rank on Google Page One without backlinks as it all depends on the level of competition for the keyword phrases you are trying to target. However, for more popular searches with mid to high level competition, you will need to attain backlinks to get those higher Google rankings.</p>
<p>Be warned though, not all backlinks are the same. Google&#8217;s algorithm (Penguin update) ensured that only high-quality backlinks are counted towards your rankings, therefore forget trying to buy cheap backlinks on marketplaces like Fiverr or Warrior Forum as you will do more harm than good to your site. Unnatural backlinking as provided by the services on these websites will land you a Google penalty.</p>
<h3>What Backlinks Should You Be Building?</h3>
<p>There are the four different forms of Off Page SEO you should be building to grow your online brand and drive consistent traffic to your website, which if done correctly will increase month after month.</p>
<h4>Social Signals</h4>
<p>You should secure your brand name on all the major social networks. This will build your domain and brand authority as Google trusts these networks. Spend some time personalising your profile pages, add your logos and pictures of your office, products, opening hours, areas of expertise, fun facts etc. Also add a link back your website and link to your other social network accounts which pass valuable link juice between your link properties and back to your site, offering additional SEO value. </p>
<p>Once you secure your brand name across all the major sites and personalised your profile pages (there are over 40 essential social networks you should set up), set up automation using services like <a href="https://ifttt.com/" target="_blank">IFTTT</a> or Jetpack plugin to syndicate your latest blog posts.</p>
<p>This takes time to set up at first, but it’s a one and done type task, and it will create links and drive traffic to your website, everytime you publish a post on your blog.</p>
<h4>Hustle Backlinks</h4>
<p>The next type of backlink to build is called hustle backlinks as they are required at the very initial stage of setting up a website. Your new site will have very little domain authority in the eyes of Google at this point. Therefore, you will see very little search engine traffic, so you need to self-promote to build your brand and get the initial traffic moving!</p>
<p>This type of hustle backlinking involves building your online network in communities, forums and websites where your ideal customer is already hanging out. </p>
<p>In these type of online communities, you cannot just register and start promoting your business off the bat as this is seen as spam. You will get barred and ruin your reputation before you even begin. You must add value to the community by helping others using your knowledge and expertise. You can then drop links back to useful content on your website when it makes sense. This will naturally drive referral traffic back to your site as well as build your brand authority.</p>
<p>Every niche imaginable has their online communities. And if you cannot find one exactly, there are always geo communities which offer more broad subject matter but still useful to drive traffic to your website.</p>
<p>Just concentrate on the top 5 to 10 following website types to build your online brand even further but drive highly engaged traffic to your site:</p>
<ul>
<li>Industry Leading Blog Comments</li>
<li>Niche Forums</li>
<li>Local Geographical Forums</li>
<li>Niche Directories</li>
<li>Local Geographical Directories</li>
<li>Questions and Answers Sites (e.g. Quora)</li>
</ul>
<h4>Repurpose Content Links</h4>
<p>A great way to ensure you get the maximum ROI from your content is to repurpose it so that you can syndicate on other well known and highly trafficked websites to drive potential customers back to your site.</p>
<p>Therefore, every time you invest in content, make the most out of it by repurposing and sharing it on the following website types (where it makes sense to do so):</p>
<ul>
<li>Video Sharing Sites</li>
<li>Infographic Sites</li>
<li>Audio Sites</li>
<li>Slide Share Sites</li>
</ul>
<p>You can also input these media types into your content which increases user engagement metrics (which is also a ranking factor with google) and also makes your content stand out more from your competitors.</p>
<p>When you add your repurposed media to these websites, you can also post a link back to your post page, which gives you additional SEO benefit. This is a safe in the eyes of Google as the links are coming from trusted websites such as Youtube.com, Dailymotion.com, soundcloud.com, slideshare.net, visual.ly etc. </p>
<h4>Editorial Backlinks (a.k.a. Power Backlinks)</h4>
<p>An editorial backlink is where the owner/editor of a website or blog places a link to your site within the content or body of an article/post on their website.</p>
<p>These are exceptionally high-quality backlinks that can drive lots of referral traffic to your website (dependant on the domain authority of the site). However, the even bigger bonus with these editorial links is the boost in your google search engine rankings.</p>
<p>Here is a high-level overview of the most popular ways to get these type of power backlinks:</p>
<h5>Guest Posts</h5>
<p>Find blogs in your niche that accept blog posts and pitch the editor topic ideas that you think would suit their audience. The more research you do on your target guest post website, the higher the chance that they will allow you to submit a guest post. </p>
<h5>Resource Page Links</h5>
<p>This strategy aims to create a high-quality resource page or resource centre on your website that is worthy of someone adding this page to their resource page. Use email outreach to ask these blog owners to include a link back to your resource page. </p>
<h5>Infographic Outreach</h5>
<p>This is also called a Guestographic, and it is quite simple to execute. Find a content topic relevant to your niche or complementary niche that has already proven to receive a lot of backlinks. Make a visually compelling infographic of this content topic and add some extra points to make it even better than the original content piece. You then outreach to websites who have already linked to the old article or similar content pieces and ask if they would like to see your infographic. You will find that some website owners will either add it to their existing page, or they will create a new blog post on your infographic. You can offer to write the introduction where you include a link back to your website. If the website owner responds but is not interested in the infographic, try discussing if they are willing to accept a guest post instead and put forward some topic ideas. </p>
<h5>Round-Up Posts</h5>
<p>Some websites frequently publish roundup posts or best of the web type posts. Do your research on the types of content they like to include and outreach to them when you have published a high-quality article and look for inclusion.</p>
<h5>Broken Backlinks</h5>
<p>This can be quite labour intensive, therefore, using automated tools such as scrapebox is highly recommended. Make a list of websites from where you would like a link. Then you must scrape all the pages of your target website and scan each page for a broken backlink. If you have a piece of content that is similar in topic to the content of the broken backlink, send a mail to the webmaster and informing him of the broken backlink and advising that you have a link that could be used instead. Of course, if you do not have a similar piece of content, you can always use archive.org to see what content was on the broken backlink page and make a better version of it, then proceed to email the webmaster as before.</p>
<h5>Testimonials</h5>
<p>Every business uses suppliers, services or tools/products to perform their daily work. Each one of these entities also has their website. Reach out to your favourite suppliers, service providers or tool/product owners and ask if they would like to add a testimonial on their website from you, as long as they will place a link back to your site. As testimonials are great for boosting conversions, it is a win-win situation for both parties.</p>
<h5>Epic Content Promotion</h5>
<p>This is very similar to the guestographic strategy, but instead of making an infographic using data points from a piece of content that has previously received backlinks, the aim is to create a better version of the written article. So if an original content piece were 2000 words, the new content piece would be 4000 words or updated relevant content and also contain additional media such as slick images, better formatting, custom videos etc. The article should be head and shoulders better than the original piece and justify the “epic” tag. Like the guestographic strategy, you then outreach to everyone who has shared the original post before or websites who have shared something similar before asking to replace the link/include it on their site.</p>
<h5>Existing Network </h5>
<p>This is quite an often overlooked strategy but such a simple one. Every person knows at least a handful of people who own a website or blog. While it may not be as highly relevant as one would want, it still counts. Ask your friends if you can write a guest post on their site in return for some free work or a few beers. If they are your real friends, they will happily oblige with no strings attached!</p>
<h3>Bonus Tips &#8211; Brand Building &#038; Viral Content Strategies To Drive Traffic</h3>
<h4>Expert Roundups</h4>
<p>This is a great way to get on the radar of influencers in your niche. Not only do you build meaningful relationships but you also get to produce an outstanding piece of content. Send a niche related question to prominent bloggers in your industry asking for their expert opinion. Once you have compiled all the answers and added your input with regards to the topic&#8217;s subject matter, send an email to the experts letting them know about it. A high percentage of the experts will share the post on their social media accounts, leading to a massive inrush of traffic. Some of the experts may even link to the article on their website, gaining you a high authority backlink for your troubles.</p>
<h4>Expert Listicles</h4>
<p>Make a list of complementary niches to yours and then put together a “best of” list, including all the leading players in that sphere. Like the previous strategy, once the article is published, promote it to all the included influencers via email and social media. Expect a lot of traffic if the article is well presented and the outreach emails are authentic and genuine. </p>
<p><em>Paul Redfern is the founder of <a href="https://www.fixnowmedia.com/" target="_blank">FixNowMedia</a> and regularly works in partnership with ZigPress when specialist SEO knowledge is required on a particular project.</em></p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/off-page-seo-guide-what-backlinks-to-build-why/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GIMP annoyances on Mac High Sierra</title>
		<link>https://www.zigpress.com/gimp-annoyances-on-mac-high-sierra/</link>
		<comments>https://www.zigpress.com/gimp-annoyances-on-mac-high-sierra/#comments</comments>
		<pubDate>Tue, 27 Mar 2018 16:06:26 +0000</pubDate>
		<dc:creator><![CDATA[ZigPress]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">https://www.zigpress.com/?p=4761</guid>
		<description><![CDATA[Following the death of my old MacBook which ran Yosemite and ran GIMP without any problems, I had to purchase a new MacBook, and this one came with the High&#8230; <a class="excerptmore" href="https://www.zigpress.com/gimp-annoyances-on-mac-high-sierra/">More&#160;&#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Following the death of my old MacBook which ran Yosemite and ran GIMP without any problems, I had to purchase a new MacBook, and this one came with the High Sierra version of MacOS installed.</p>
<p>As part of the reconfiguration process I downloaded the latest version of GIMP (2.8.22) for Mac and installed it, only to find that it now misbehaves in various extremely annoying ways.</p>
<p>I tried uninstalling the latest version of GIMP and installed various earlier versions (clearing the hidden library folder each time), but with the same results, so my assumption is that GIMP is not fully compatible with the High Sierra version of MacOS.</p>
<p>Here are the problems I found:</p>
<h3>CMD-H won&#8217;t hide GIMP</h3>
<p>This used to work when using GIMP on Yosemite. Now it doesn&#8217;t. I found that CMD-H was allocated to a layer function in GIMP&#8217;s shortcuts, and removed that, but it had no effect on the problem. CMD-H now does nothing at all.</p>
<h3>Opening a second image from Finder opens a new instance of GIMP</h3>
<p>Put two image files on your desktop. Right-click the first one and select &#8216;Open with GIMP&#8217;. No problem. GIMP launches and opens the image. Now right-click the second one and select &#8216;Open with GIMP&#8217;. A <strong>NEW INSTANCE</strong> of GIMP launches and loads the second image. Not desirable behaviour.</p>
<h3>When exporting, the final dialogue doesn&#8217;t have focus</h3>
<p>This is perhaps the worst problem. Say you have an XCF native GIMP image loaded, and you want to export it as a JPG. So you use CMD-SHIFT-E for export, and the export dialogue comes up. So far no problem. Then you select JPG in the file types dropdown, and click the button. The final export box appears (the one showing JPG quality), but it doesn&#8217;t have focus, and you can&#8217;t give it focus. It&#8217;s like it&#8217;s dead, or there&#8217;s an invisible overlay over it. The only option is to CMD-TAB (to switch tasks) then CMD-TAB again to bring focus to the dialogue. It&#8217;s infuriating.</p>
<p>This last problem has led me to start using <a href="http://seashore.sourceforge.net/The_Seashore_Project/About.html" rel="noopener" target="_blank">Seashore</a> as my main app for basic photo editing, but I miss the power of GIMP.</p>
<p>Surely GIMP&#8217;s Mac team can fix these problems?</p>
]]></content:encoded>
			<wfw:commentRss>https://www.zigpress.com/gimp-annoyances-on-mac-high-sierra/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
