The Need for Whitehat SEO (TNWS)

How to Plant Quality Backlinks

It is very important that you increase the number of websites that link to your website. Doing this helps you to increase traffic continuously and generate more sales. However, if you want to be successful, you have to be sure that your website is good enough for someone to link to you.

Essential Link Building
Essential Link Building

So how do you do it?

There is an old cliché that always rings true in the Internet world - "Content is king". And this is absolutely true.

You may be wondering how your content relates to our current topic of building link building, but there is a perfect connection...

It is important that you have quality content on your website or other webmasters will most likely not want to trade links. Your website should also be informative and interesting, as this will increase the chances of getting links from others.

Remember, links to your website are the building blocks for success, so it's worth getting them.

Now, let's take a look at a small list of websites that would be good candidates for good link building:

  1. A website with quality, relevant content.
  2. A website that has a higher PageRank than your current one.
  3. Online directories like Yahoo and other business directories.
  4. Web 2.0 websites like Hubpages.com.

It’s no secret that Google (and other search engines) will rank you higher in search results for having a lot of quality inbound links. So, you should really focus on building quality links, which will do you more good than fiddling with Alt tags or other exchange optimizations.

The only downside is that building link popularity like this isn’t always easy to do. It tends to be tedious and very boring. Plus, it usually takes a lot of your time, which is probably why most people don’t like to do it.

Lucky for you who can do it!

The Importance of Meta Descriptions for SEO

Meta descriptions (sometimes called meta description attributes or tags) are HTML elements that describe and summarize the content of your page for the benefit of users and search engines. While meta data isn’t as important to SEO rankings as it once was, meta descriptions still play an important role in on-page SEO. In this article, you’ll learn: What “meta description” means, how to view your site’s meta descriptions, and how they impact visitors. Why meta descriptions matter to you and your SEO rankings. How to extract real search value from your meta descriptions.

What is a Meta Description?

The meta description is an attribute in your meta tags that helps describe your page. This snippet of text can appear in search engine results under your headline, though sometimes, search engines will pull a snippet of text from the main copy of the page. You can find the meta description on any web page by right-clicking on the page and selecting “view source” or “view page source”:

Here is an example of a meta description that I used for my blogcepot at that time.

<b:if cond='data:blog.url == data:blog.homepageUrl'>
    <meta content='Your Blog Description !' name='description'/>
    <meta content='Keyword1, keyword2, dst' name='keywords'/>
    <meta content='Lostsector' name='Author'/>
    <meta content='general' name='rating'/>
    <meta content='all' name='robots'/>
    <meta content='index, follow' name='robots'/>
    <meta content='id' name='geo.country'/>
    <meta content='1 days' name='revisit-after'/>
    <meta content='Indonesia' name='geo.placename'/>
</b:if>

Overcoming Jingling Attacks & Bad Backlinks

Hi guys, I'm not too lazy to beat around the bush, if you are a true blogger, you should have time to audit your blog/site performance, at least once a week. Don't think that when you've reached page one of Google, you feel safe.. no no no! Just so you know, page one is a cruel zone, a stormy zone, a zone full of competition, some compete healthily, some compete sickly and dirty.

The experience that I have felt is that it is not uncommon to get black campaign attacks such as being attacked with traffic bombs from robots (jingling), besides that there are also those who put my site backlinks on porn sites, illegal sites and all sites that are not of good quality. So how do I overcome it?

1. Use Google Disavow Advanced Tool

If you believe your site’s rankings are being hurt by low-quality links that you don’t control, you can ask Google not to consider them when evaluating your site. You should still work to clean up unnatural links pointing to your site. Disavowing is not enough.

If you discover that your site has been subject to a manual action due to unnatural links to your site, or if you think you may be subject to such a manual action (due to paid links or other link schemes that violate our quality guidelines), you should remove those links from other sites. If you are unable to remove these links, you should disavow them from your site.

Google works very hard to ensure that actions on third-party sites do not negatively impact a site. In some cases, incoming links can influence Google’s opinion of a page or site. For example, you or your search engine optimizer (SEO) generates unnatural links to your site through paid links or other link schemes that violate our quality guidelines. First and foremost, it’s a good idea to remove as many spammy and low-quality links from the web as possible.

This is an advanced feature and should be used with caution. If used improperly, it can potentially harm your site's performance in Google search results.

In general, Google can judge which links are trustworthy without additional guidance, so most sites don't need to use this feature.

  1. You believe you have a lot of artificial, spammy, or low-quality links pointing to your site, and
  2. The link causes a manual action, or is likely to cause a manual action on your site.

Submit a list of backlinks you wish to disavow.

You will need to compile a list of links you want to disavow in a text file to upload to Google.

Link file format:

  1. Specify one URL or domain to disavow per line. You cannot reject an entire sublocation, such as example.com/id/
  2. To deny prefixing a domain (or subdomain) with "domain:", for example: domain:example.com
  3. The file must be a text file encoded in UTF-8 or 7-bit ASCII.
  4. File name must end with .txt
  5. You can include comments for yourself by starting a line with a #. Any line starting with a # will be ignored by Google.

Example:

# Dua halaman yang akan ditolak
http://spam.example.com/stuff/comments.html
http://spam.example.com/stuff/paid-links.html

# Satu domain yang akan ditolak
domain:shadyseo.com

Here is a list that I made for my blogcepot at that time.

# please remove all my backlink from site below :
http://www.play-euro-lotto.com/
http://game-mmorpg.net/
http://mister-shop.com/
http://adf.ly/
http://ogli.org/
http://pornogig.com/
http://sexhd.tv/
http://xn--80ahdks.net/
http://4u.sexidating.xyz/
http://topeurogirls.ru/wp-content/porno-russkoe-po-pyanke/
http://topeurogirls.ru/wp-content/realnoe-porno-pervyj-raz/
http://expert.rpvi.ru/wp-content/clomid-new-england-journal/
http://expert.rpvi.ru/wp-content/viagra-11-commandements/
http://amsterjob.com/
http://kazan.xrus.org/
http://www.ekspertmed.com/
http://akvamaster.dp.ua/
http://formen.rpvi.ru/can-lexapro-make-you-cold.html
http://cardul.ru/
http://ru.sexidating.xyz/sajt-znakomstv-krymskih-tatar-v-moskve.html
http://go.mail.ru/
http://vote-up.ru/
http://hoporno.com/
http://ereko.ru/
http://carfax.com.ua/
http://tytoona.com/
http://perm.xrus.org/
http://nimfa.pro/
http://gelendzhik.xrus.org/
http://berlininsl.com
http://dnepropetrovsk.mistr-x.org

# thanks
domain:berlininsl.com
domain:play-euro-lotto.com
domain:game-mmorpg.net
domain:mister-shop.com
domain:adf.ly
domain:ogli.org
domain:pornogig.com
domain:sexhd.tv
domain:xn--80ahdks.net
domain:sexidating.xyz
domain:topeurogirls.ru
domain:rpvi.ru
domain:expert.rpvi.ru
domain:amsterjob.com
domain:autotop.com.ua
domain:kazan.xrus.org
domain:xrus.org
domain:ekspertmed.com
domain:akvamaster.dp.ua
domain:formen.rpvi.ru
domain:cardul.ru
domain:ru.sexidating.xyz
domain:go.mail.ru
domain:mail.ru
domain:vote-up.ru
domain:hoporno.com
domain:ereko.ru
domain:carfax.com.ua
domain:perm.xrus.org
domain:tytoona.com
domain:nimfa.pro
domain:gelendzhik.xrus.org
domain:dnepropetrovsk.mistr-x.org

2. Use Advanced Robot.txt Tool

You can read the full review  HERE .

How to Block Visitors from UC Browser

Hello publishers, have you ever been annoyed by visitors who use the UC Browser or use adblock plugins and the like, they really don't know how to thank you, DAMN IT!

We publishers have been tired of contributing to the public, without any reward from them, even to survive we are willing to dig into our pockets while looking for small change to cover the operational costs of managing the site, but what happened? those visitors who don't know themselves are  FUCK!  They have taken advantage of our resources, don't want to pay, block our ads using UC Browser, you bastards!.. people who can't be invited to cooperate like this should really be guided.... SAKAN so they know the essence of mutual symbiosis.

For my website that uses Wordpress, I want to block reader access from UC Browser.. I have found some scripts that can block the usual suspects (Chrome, Firefox, Safari, etc.). Is there a way I can detect UC Browser and block access through it? Of course there is, here is the script I used for my blogcepot back then.

<!-- Block UCBROWSER -->
&lt;p id=&quot;gaboleh&quot;&gt;&lt;/p&gt;
&lt;script&gt;

var cari = navigator.userAgent;
var dapet = cari.search(&quot;UCBrowser&quot;);
if(dapet&gt;1) {

    var strs=document.URL;
    var urlnya= strs.replace(&quot;http://&quot;, &quot;&quot;);
    var strings=&#39;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;&lt;h3 align=&quot;center&quot;&gt; Maaf, website kami tidak dapat dibuka dengan baik jika anda menggunakan UCBrowser&lt;br/&gt;&lt;br/&gt;klik tombol pilih dibawah ini , lalu salin/copy dan buka menggunakan browser lain (seperti Chrome, Opera, dll)&lt;br/&gt;&lt;br/&gt;&lt;input type=&quot;text&quot; class=&quot;teks&quot; value=&quot;&#39;+ document.URL  +&#39;&quot; size=&quot;50&quot;&gt;&lt;br/&gt; &lt;button class=&quot;js-copy-btn&quot;&gt;Pilih&lt;/button&gt;&lt;br/&gt;&lt;/h3&gt;&#39;;

    document.getElementById(&quot;gaboleh&quot;).innerHTML = strings;

var copyTextareaBtn = document.querySelector(&#39;.js-copy-btn&#39;);

copyTextareaBtn.addEventListener(&#39;click&#39;, function(event) {
  var copyTextarea = document.querySelector(&#39;.teks&#39;);
  //copyTextarea.select();
copyTextarea.selectionStart=0;
copyTextarea.selectionEnd=copyTextarea.value.length;

  try {
    var successful = document.execCommand(&#39;copy&#39;);
    var msg = successful ? &#39;successful&#39; : &#39;unsuccessful&#39;;
    console.log(&#39;Copying text command was &#39; + msg);
  } catch (err) {
    console.log(&#39;Oops, unable to copy&#39;);
  }
});

   exit();
}

function exit( status ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Brett Zamir (http://brettz9.blogspot.com)
    // +      input by: Paul
    // +   bugfixed by: Hyam Singer (http://www.impact-computing.com/)
    // +   improved by: Philip Peterson
    // +   bugfixed by: Brett Zamir (http://brettz9.blogspot.com)
    // %        note 1: Should be considered expirimental. Please comment on this function.
    // *     example 1: exit();
    // *     returns 1: null

    var i;

    if (typeof status === &#39;string&#39;) {
        alert(status);
    }

    window.addEventListener(&#39;error&#39;, function (e) {e.preventDefault();e.stopPropagation();}, false);

    var handlers = [
        &#39;cut&#39;,
        &#39;beforeunload&#39;, &#39;blur&#39;, &#39;change&#39;, &#39;contextmenu&#39;, &#39;focus&#39;, &#39;keydown&#39;, &#39;keypress&#39;, &#39;keyup&#39;, &#39;mousedown&#39;, &#39;mousemove&#39;, &#39;mouseout&#39;, &#39;mouseover&#39;, &#39;mouseup&#39;, &#39;resize&#39;, &#39;scroll&#39;,
        &#39;DOMNodeInserted&#39;, &#39;DOMNodeRemoved&#39;, &#39;DOMNodeRemovedFromDocument&#39;, &#39;DOMNodeInsertedIntoDocument&#39;, &#39;DOMAttrModified&#39;, &#39;DOMCharacterDataModified&#39;, &#39;DOMElementNameChanged&#39;, &#39;DOMAttributeNameChanged&#39;, &#39;DOMActivate&#39;, &#39;DOMFocusIn&#39;, &#39;DOMFocusOut&#39;, &#39;online&#39;, &#39;offline&#39;, &#39;textInput&#39;,
        &#39;abort&#39;, &#39;close&#39;, &#39;dragdrop&#39;, &#39;load&#39;, &#39;paint&#39;, &#39;reset&#39;, &#39;submit&#39;, &#39;unload&#39;
    ];

    function stopPropagation (e) {
        e.stopPropagation();
        // e.preventDefault(); // Stop for the form controls, etc., too?
    }
    for (i=0; i &lt; handlers.length; i++) {
        window.addEventListener(handlers[i], function (e) {stopPropagation(e);}, true);
    }

    if (window.stop) {
        window.stop();
    }

    throw &#39;&#39;;
}

&lt;/script&gt;
<!-- Block UCBROWSER -->

Just so you know, this script is also compatible for use on WordPress or other PHP sites.

Blokir visitor UCBROSER

BLOGGER:
<!-- INSTALASI DI BLOGGER -->
&lt;p id=&quot;gaboleh&quot;&gt;&lt;/p&gt;
&lt;script&gt;

var cari = navigator.userAgent;
var dapet = cari.search(&quot;UCBrowser&quot;);
if(dapet&gt;1) {

    var strs=document.URL;
    var urlnya= strs.replace(&quot;http://&quot;, &quot;&quot;);
    var strings=&#039;&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;&lt;h3 align=&quot;center&quot;&gt; Maaf, website kami tidak dapat dibuka dengan baik jika anda menggunakan UCBrowser&lt;br/&gt;&lt;br/&gt;klik tombol pilih dibawah ini , lalu salin/copy dan buka menggunakan browser lain (seperti Chrome, Opera, dll)&lt;br/&gt;&lt;br/&gt;&lt;input type=&quot;text&quot; class=&quot;teks&quot; value=&quot;&#039;+ document.URL  +&#039;&quot; size=&quot;50&quot;&gt;&lt;br/&gt; &lt;button class=&quot;js-copy-btn&quot;&gt;Pilih&lt;/button&gt;&lt;br/&gt;&lt;/h3&gt;&#039;;

    document.getElementById(&quot;gaboleh&quot;).innerHTML = strings;

var copyTextareaBtn = document.querySelector(&#039;.js-copy-btn&#039;);

copyTextareaBtn.addEventListener(&#039;click&#039;, function(event) {
  var copyTextarea = document.querySelector(&#039;.teks&#039;);
  //copyTextarea.select();
copyTextarea.selectionStart=0;
copyTextarea.selectionEnd=copyTextarea.value.length;

  try {
    var successful = document.execCommand(&#039;copy&#039;);
    var msg = successful ? &#039;successful&#039; : &#039;unsuccessful&#039;;
    console.log(&#039;Copying text command was &#039; + msg);
  } catch (err) {
    console.log(&#039;Oops, unable to copy&#039;);
  }
});

   exit();
}

function exit( status ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Brett Zamir (http://brettz9.blogspot.com)
    // +      input by: Paul
    // +   bugfixed by: Hyam Singer (http://www.impact-computing.com/)
    // +   improved by: Philip Peterson
    // +   bugfixed by: Brett Zamir (http://brettz9.blogspot.com)
    // %        note 1: Should be considered expirimental. Please comment on this function.
    // *     example 1: exit();
    // *     returns 1: null

    var i;

    if (typeof status === &#039;string&#039;) {
        alert(status);
    }

    window.addEventListener(&#039;error&#039;, function (e) {e.preventDefault();e.stopPropagation();}, false);

    var handlers = [
        &#039;cut&#039;,
        &#039;beforeunload&#039;, &#039;blur&#039;, &#039;change&#039;, &#039;contextmenu&#039;, &#039;focus&#039;, &#039;keydown&#039;, &#039;keypress&#039;, &#039;keyup&#039;, &#039;mousedown&#039;, &#039;mousemove&#039;, &#039;mouseout&#039;, &#039;mouseover&#039;, &#039;mouseup&#039;, &#039;resize&#039;, &#039;scroll&#039;,
        &#039;DOMNodeInserted&#039;, &#039;DOMNodeRemoved&#039;, &#039;DOMNodeRemovedFromDocument&#039;, &#039;DOMNodeInsertedIntoDocument&#039;, &#039;DOMAttrModified&#039;, &#039;DOMCharacterDataModified&#039;, &#039;DOMElementNameChanged&#039;, &#039;DOMAttributeNameChanged&#039;, &#039;DOMActivate&#039;, &#039;DOMFocusIn&#039;, &#039;DOMFocusOut&#039;, &#039;online&#039;, &#039;offline&#039;, &#039;textInput&#039;,
        &#039;abort&#039;, &#039;close&#039;, &#039;dragdrop&#039;, &#039;load&#039;, &#039;paint&#039;, &#039;reset&#039;, &#039;submit&#039;, &#039;unload&#039;
    ];

    function stopPropagation (e) {
        e.stopPropagation();
        // e.preventDefault(); // Stop for the form controls, etc., too?
    }
    for (i=0; i &lt; handlers.length; i++) {
        window.addEventListener(handlers[i], function (e) {stopPropagation(e);}, true);
    }

    if (window.stop) {
        window.stop();
    }

    throw &#039;&#039;;
}

&lt;/script&gt;
<!-- INSTALASI DI BLOGGER -->

WEB PHP
<!-- INSTALASI DI WEB PHP -->
<p id="gaboleh"></p>
<script>

var cari = navigator.userAgent;
var dapet = cari.search("UCBrowser");
if(dapet>1) {

var strs=document.URL;
var urlnya= strs.replace("http://", "");
var strings='<meta name="viewport" content="width=device-width, initial-scale=1.0"><h3 align="center"> Maaf, website kami tidak dapat dibuka dengan baik jika anda menggunakan UCBrowser<br/><br/>klik tombol pilih dibawah ini , lalu salin/copy dan buka menggunakan browser lain (seperti Chrome, Opera, dll)<br/><br/><input type="text" class="teks" value="'+ document.URL  +'" size="50"><br/> <button class="js-copy-btn">Pilih</button><br/></h3>';

document.getElementById("gaboleh").innerHTML = strings;

var copyTextareaBtn = document.querySelector('.js-copy-btn');

copyTextareaBtn.addEventListener('click', function(event) {
var copyTextarea = document.querySelector('.teks');
//copyTextarea.select();
copyTextarea.selectionStart=0;
copyTextarea.selectionEnd=copyTextarea.value.length;

try {
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
console.log('Copying text command was ' + msg);
} catch (err) {
console.log('Oops, unable to copy');
}
});

exit();
}

function exit( status ) {
// http://kevin.vanzonneveld.net
// +   original by: Brett Zamir (http://brettz9.blogspot.com)
// +      input by: Paul
// +   bugfixed by: Hyam Singer (http://www.impact-computing.com/)
// +   improved by: Philip Peterson
// +   bugfixed by: Brett Zamir (http://brettz9.blogspot.com)
// %        note 1: Should be considered expirimental. Please comment on this function.
// *     example 1: exit();
// *     returns 1: null

var i;

if (typeof status === 'string') {
alert(status);
}

window.addEventListener('error', function (e) {e.preventDefault();e.stopPropagation();}, false);

var handlers = [
'cut',
'beforeunload', 'blur', 'change', 'contextmenu', 'focus', 'keydown', 'keypress', 'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'resize', 'scroll',
'DOMNodeInserted', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument', 'DOMNodeInsertedIntoDocument', 'DOMAttrModified', 'DOMCharacterDataModified', 'DOMElementNameChanged', 'DOMAttributeNameChanged', 'DOMActivate', 'DOMFocusIn', 'DOMFocusOut', 'online', 'offline', 'textInput',
'abort', 'close', 'dragdrop', 'load', 'paint', 'reset', 'submit', 'unload'
];

function stopPropagation (e) {
e.stopPropagation();
// e.preventDefault(); // Stop for the form controls, etc., too?
}
for (i=0; i < handlers.length; i++) {
window.addEventListener(handlers[i], function (e) {stopPropagation(e);}, true);
}

if (window.stop) {
window.stop();
}

throw '';
}

</script>
<!-- INSTALASI DI WEB PHP -->

The Impact of Adblock on the Growth of Site Monetization (Blog / Web)

This is the sixth report in this series that I have helped produce. In 2013, PageFair’s founders were the “canary in the coal mine” of ad blocking, coming from a background of web gaming content that was already heavily impacted. Many in the gaming sector were already losing a third of their ad revenue to blocking, but most publishers had yet to identify the threat. We began publishing research to shed light on the rapid growth of ad blocking and the motivations of its users, in the hope of driving change towards a more sustainable advertising experience. We did this by relying on empirical data, either gathered from our own analytics network of several thousand publishers or derived from usage statistics provided directly by adblock software makers.

By late 2015, the adblocking issue had landed on the boardroom agendas of publishers everywhere. But the short history of the digital media industry is one of crisis. The adblocking crisis began with the shift to mobile, the rise of video, and coincided with the ad fraud crisis. For much of 2016, minds were focused on solving adblocking, but in 2017, priorities shifted to the brand safety crisis, concerns over the margin-eating hegemony of the big internet platforms, and then to GDPR and other privacy regulations that threatened programmatic ad attribution and targeting. As attention shifted from one crisis to the next, adblocking continued to grow, its impact softened only by the continued shift to mobile, where adblocking was still in its infancy.

Mobile ad blocking is maturing, and measured globally, it dwarfs the desktop issue that focused so many minds three years ago. It’s alarming that mobile ad blocking isn’t a niche technology used only by the digitally savvy: it’s now a key differentiator used by branded tech companies to compete effectively with Google Chrome. It’s here to stay, and it’s growing faster than desktop ad blocking.

In 2015, PageFair’s Adblock Report emerged as the industry’s de facto authority on all things adblocking. While Blockthrough was still in its embryonic stages, PageFair made the industry aware of a growing trend that today impacts nearly every publisher on the Web.

In its first edition since Blockthrough’s acquisition of PageFair in Q4 2018, this year’s PageFair Report shows just how much the adblocking phenomenon has matured. While desktop ad blocking appears to have peaked, mobile adoption is growing rapidly.

This year’s report is also the first to feature a comprehensive breakdown of the diverse strategies top U.S. publishers are using to mitigate revenue losses from adblocking, as well as an overview of the vendors working with publishers to solve this complex problem. It’s a fascinating glimpse into how radically the adblock remediation category has changed over the past five years.

Made up of adblock users and digital media veterans, our team at Blockthrough cares deeply about helping publishers address adblocking in a way that users find acceptable. And this year’s report definitively shows that our approach to helping publishers succeed with Acceptable Ads is a critical step in building a sustainably monetized Web.

As proud heirs to PageFair's early work in the space, we're honored to continue their legacy and once again objectively illuminate the state of adblocking around the world, as well as try to predict what the future holds.

3 Tips for Choosing an SEO Friendly Domain

A domain is a website address on the internet that is human-readable, meaning it is easy for humans to read. Root domains are identified by their name and extension, for example exmaple.com, example.org, example.net, etc. At first glance, these three domains have the same name, but they are actually all different. The root domain is the top-level hierarchy of a domain, this is what each registrant buys.

Subdomain is the lowest caste of the root domain, for example en.example.com, www.example.com, id.example.com. Well, even though this looks a little different, they are actually the same, namely both subdomains of example.com.

Top Tips

  1. Word Separators. Avoid hyphens. Hyphens reduce credibility and can act as an indicator of spam.
  2. Top Level Domains (TLDs), such as .com, are extensions associated with domain names. For best ranking results, avoid uncommon top level domains (TLDs), such as hyphens, or oddities such as, .info, .cc, .ws, and .name are indicators of spam.
  3. Length. Avoid domain names longer than 15 characters. Short domain names are easier to remember, easier to share, and less likely to result in typos.

Best SEO Practices In Choosing A Domain

To maximize traffic referred by search engines, it is important to always keep each of the following elements in mind:

1. Easy to remember

There are a number of considerations when choosing a domain name. Among them are making the name short, memorable, and easy to type. It is also important that the name is easy to type in a browser. This is especially true for websites that rely on word-of-mouth advertising, which forces people to type a domain name they may not recognize into their web browser.

2. Rich in Keywords

Ideally, webmasters should find a balance between finding a catchy, unique, and brand-friendly domain name and having a domain that contains the keywords they want to target. The benefits of a keyword-rich domain are two-fold. First, the domain name itself is a ranking factor that search engines consider when calculating ranking order. Second, having relevant keywords in the domain name is beneficial because the domain name is the text that other Internet users will use as anchor text when linking to. Since keywords in anchor text are an important ranking factor, having these keywords in the domain name can have a positive impact on rankings.

In recent years, Google has made some changes that prioritize sites with low-quality keyword-rich domains, which makes for a poor user experience. Having keywords in your domain is tricky, but what’s more important is the quality of your web content that continues to improve and is of high quality.

3. Avoid Hyphens

If your domain name is two words (like www.examplesite.com), you may want to separate the words with hyphens for readability: www.example-site.com. That said, hyphens are also highly correlated with spammy behavior—and more than one hyphen should never be used in a domain name. For this reason, it's generally best to stick to domain names that are just one or two words.

4. Non-.com Top-Level Domain (TLD)

When a webmaster registers a domain name, they will be given the option to purchase additional TLDs. In order to maximize direct traffic to the domain, it is recommended that webmasters only purchase a domain if the .com version is available. Furthermore, it is not recommended that SEO conscious webmasters purchase low-quality TLDs such as .biz, .info, .ws, .name, etc. as a means to increase traffic.

5. Subdomains or Sub-folders

Since search engines store different metrics for domains than subdomains, it is recommended that webmasters place link-worthy content such as blogs in subfolders rather than subdomains. (e.g. www.example.com/blog/ rather than blog.example.com) The exception to this is language-specific websites. (e.g. en.example.com for an English version of a website).

6. Buying & Directing Domains

Buying web pages for links/backlinks has long been a practice used by SEO webmasters. While this has been effective in the past, industry leaders like Danny Sullivan of Search Engine Land have chosen to do it on a large scale, buying aged, reputable domains and redirecting them to their main site.

7. Long Domain Name Like a Sentence

Trying to get all the keywords into a domain name is silly. The idea that domain registration length matters as an SEO factor is a myth. When asked about domain registration length, Google's Matt Cutts said, "As far as I know, no search engine has ever confirmed that they use registration length as a factor in their ranking. If a company were to state that as a fact, that would be a problem. The main reasons to renew a domain are if it's your primary domain, you plan to keep it for a while, or you just like the convenience of renewing so you don't have to stress about your domain expiring."

How to Customize Blogspot Domain to TLD

Hi bro, are you bored with the blogspot frills? If yes, then it's time for you to create a custom domain to the TLD (Top Level Domain) of your choice, so the platform remains a blogger hosted on Google but the domain is a bit cooler without the blogcepot frills anymore. Then how do you do it?

Step 1: Purchase a domain

You can buy the domain on Google through the basic blogger settings, for example:

  1. Login to Blogger.
  2. Select the blog you want to update.
  3. On the left, click Settings > Basic.
  4. Under "Publication" next to "Blog Address", click Buy domain.
  5. At the top, search for the domain.
  6. Next to the desired domain, click Buy.
  7. To complete your domain purchase, follow the on-screen steps.

buy domain

or you can also buy the domain from other hosting providers such as namecheap, hostinger, hostgator, etc. If you have bought it, the next step is:

Step 2: Set up a domain with your blog

Connect Domain Hosting by Google via Blogger

  1. Login to Blogger.
  2. Select the blog you want to update.
  3. On the left, click Settings > Basic.
  4. Under "Publishing", click +Set up a Google Domains URL for your blog.
  5. Under "Google Domains Settings", select the subdomain and domain then click Save.

successful config tld to blogger

Connect Domain Hosting by non-Google via Blogger

  1. Login to Blogger.
  2. Select the blog you want to update.
  3. On the left, click Settings > Basic.
  4. Under "Publishing", click +Set up a third-party URL for your blog.
  5. Type in the URL of the domain you purchased.
  6. Click Save.
  7. You will see an error with 2 CNAMEs.
  8. > Name, Label, or Host: Enter a name as a subdomain, such as "blog." or "www.". For the destination, enter "ghs.googlehosted.com."
  9. > Purpose, Target, or Leads to: These details are different for everyone and are specific to your blog and Google Account.
  10. Go to the site where you purchased the domain. Find DNS (Domain Name System) in the control panel.
  11. Under “Name, Label, or Host,” type the subdomain you entered in the previous step.
  12. Under "Destination, Target, or Points to", type "ghs.googlehosted.com".
  13. Enter the details for the second CNAME, which is specific to your blog and Google Account.
  14. Wait at least 1 hour for your DNS settings to be activated.
  15. Repeat steps 1 through 6. Your blogspot.com address will be redirected to the custom domain. This process may take up to 24 hours.

example config in namecheap

Step 3 (optional): Add www. to the domain.

To change a domain (example: mydomain.com) to www.mydomain.com, set up a redirect without a prefix.?

  • Open the domain provider site.
  • Open DNS settings.
  • Enter the domain name in example.com format.
  • Add 4 A records pointing to Google IP.
  • > 216.239.32.21
  • > 216.239.34.21
  • > 216.239.36.21
  • > 216.239.38.21
  • Login to Blogger.
  • Select the blog you want to update.
  • On the left, click Settings > Basic.
  • Under "Publications", in the "Blog Address" section, check Redirect [mydomain.com to www.mydomain.com].

dns configuration example

Solve the problem

If you're having trouble, here are some steps you can try.

  1. You may not need to enter 2 CNAMEs when setting up a domain.
  2. Make sure the CNAME "Name, Label, or Host" is entered correctly.
  3. If your custom domain isn't working, wait before trying the steps again. If you're having trouble, contact your domain provider.

Observe Copy Modify Youtube Technique

Substance:

  1. The secret of the "closed mouth of Google Adsense" fee to escape the banned trap
  2. What is the really kick-ass YouTube video niche? (I'll reveal the answer)
  3. How to double your YouTube AdSense earnings.

OK, First of all, let me introduce myself, my name is NURDIANTO. I have been struggling in the world of YouTube Adsense since early 2013. At first, I felt that it would be impossible to earn income from YouTube, because I had to upload videos, so I thought about what videos I should upload. From here I often underestimated other friends in the ads-id forum who were playing YouTube. Then, just for fun, I tried the techniques shared in the forum. And the results were NOT AS EASY AS I IMAGINED. From here arose my desire to really dive into YouTube Adsense.

The first time I made my own video, if I'm not mistaken it was at the end of February. Then I registered my channel to Adsense and wow, it was approved within an hour. At first I was confused about what other videos to upload, then I accidentally heard from a whisper from a blackhatworld forum member who said to remix a cc video. I was confused at that time, what was a cc video. Then I searched for it myself on YouTube.

Well, from here I can search for cc videos as I please and then I remix them one by one. So it can be said that for one month I only remix cc videos and then I monetize them. No wonder the videos I remix can reach 30-50 per day. Why do I only remix videos? Because it saves internet costs, if I upload videos, I will have to spend a lot. The term is UMPANTERI GET A BIG BIGGER. The following is the appearance of a video remix.

Day by day, I keep remixing videos, and I don't realize that I have remixed thousands of videos. And until now when I made this ebook, my remixed channel still generates income even though I have left it because I am taking care of another channel. Tik Tok Tik Tok, time flies, morning, noon, night from the rooster crowing until the time to count ants arrives. When I am asleep, I feel anxious. The black shadow suddenly appears. Until one day, PLAKKKKKK. I felt shocked. My friend came from behind. His son was big, black, short and cheeky. Then I asked "WHAT'S WRONG". He replied "You're crazy, Dro, still happy, look at my Adsense account being BANNED". In my mind "GIVE UP, BE GRATEFUL, SO CUTE". Then I had to say WOW like that. He replied "My friend is having a hard time but he says wow". In my mind (faces like that are indeed difficult to be happy). Then I gave him advice "This is it bro, there is already a secret to the Google Adsense silence fee so you don't get banned". "What's the secret", he explained. THIS IS THE SECRET.........(censored, not the place here). He then grinned "WOW THAT'S A GOOD IDEA". GBRAKKKKK, BLAG, when he was about to go home he slipped, and at that moment I was SHOCKED because of his voice. And I woke up "IT WAS JUST A DREAM".

Ok, as usual I have to routinely remix videos, but I still remember the incident that happened to my friend in a dream. Then respectfully, I looked at my Adsense account, and OH MY GOD Why is this happening???????

  1. I've remixed a lot of videos but my earnings are still small
  2. There are a lot of views but the earnings are still small.

At that moment, I started thinking again, what kind of video should I upload to get dollars quickly, what kind of channel should I create? And this is where the YOUTUBE CASH ATM TECHNIQUE began to emerge.

OBSERVE

Yes, you have to observe videos on YouTube. Things to note: 1. Observe videos that are trending or that you like and see the videos, whether there are ads in the video playback. If there are ads, it means that videos like that are the ones we can follow to upload. 2. Observe the channel that uploads the video. If the channel is still young but has a lot of subscribers, it means that the videos uploaded are videos that are liked by the audience. Basically, do some observations on both the video and the channel.

IMITATE

Imitate the channels that upload the videos we have observed.

  1. Copy the niche
  2. Copy where he got his video source from
  3. Imitate his style in delivering the video in front of the public.
  4. Copy the channel's habits in updating its videos.

MODIFICATION

After doing the observation and imitation process, the next step is to modify it. So if we already know what videos to upload, don't copy 100% with the videos we imitate. But modify them. We already know where the videos are taken from. Now, in modifying the videos that we will upload or the channels that we create, pay attention to some of my suggestions below.

  1. How I optimize my videos and channel>>>  http://on.fb.me/16H5UuC
  2. How I doubled my YouTube AdSense earnings >>>>>  http://on.fb.me/19LNU4L

Suggestion point number two, it wouldn't be complete without evidence, here's a screenshot:

In reality, many people upload TV show videos, is that allowed? I answer YES, but be careful, there are advantages and disadvantages that we must accept in uploading TV show videos. Well, in some of my sentences above there are the words Secret cost of "keeping your mouth shut on Google Adsense" to be free from the banned trap, you can see at >>>>  http://on.fb.me/GWEuHv  For the answer to What is a really kick-ass YouTube video niche, you can find it at  http://on.fb.me/1ge1yy2/

Okay then let's try to practice the YOUTUBE CASH ATM TECHNIQUE. For example, we know that yesterday the national team just won and of course it is trending now and there are several channels that upload videos, let's observe. Please observe the video, are there any advertisements, if there are we can add them to the list of videos that can be uploaded, then observe the channel whether it has many subscribers.

We see that the channel already has many subscribers, meaning that the niche taken by the channel is right. We also see that every time he uploads a video, the views are also many, meaning that he has succeeded in making his subscribers happy and of course has certain optimizations in developing the channel. Our next task is to COPY that channel. We copy what niche he takes. We copy where the videos he uploads come from (from TV). We copy how he conveys the video in front of the public. We copy how the channel is used to updating its videos. Our next task is if at any time there is a TV show that has the same niche as the channel, record and upload the video. Don't forget to modify it. Some TV shows can be monetized and some can't. But play YouTube fairly, don't like to download videos from other channels and then upload them again on your own channel.

Please do your own development of the videos and channels that should be observed, here is one of my channels that has implemented the YOUTUBE CASH ATM TECHNIQUE. I no longer manage my channel above. It used to generate a few dollars that were enough for me, especially since it was a niche outside the ad click value and the rpm was very large. Although the view is small but the earnings are large. Well, this technique can also be done not only for those who play adsense, it can be affiliate, ppd, cpa, etc. IT TURNS OUT THE TECHNIQUE IS SIMPLE. YES THAT'S IT, BUT NO MUCH SIMPLE THE KLOGAK TECHNIQUE IS PRACTICED, IT'S IN VAIN. OH YES I FORGOT, I WILL SHARE ANOTHER TECHNIQUE "HOW TO MONETIZE VIDEOS WITHOUT ADSENSE CAN EARN $1000 PER DAY" I WILL SHARE THE INFORMATION IN MY STATUS.

How to Create Blog Schema Markup

Schema is a language used to help search engines understand the content of your site. Learn about what types of schema exist and how to add them to give your website the best chance of being seen.

When search engines crawl your site’s pages, they are trying to understand what each page is about. This is to index them and serve them when they search for something relevant. To do this, they need to understand all of the HTML code on your site. Depending on how your site is built, this may or may not be easy for them.

Schema (also known as structured data, rich snippets or microdata), is a language that is universally understood by search engines, very easily. Basically, schema tells search engines what your site or a particular page is about in very simple terms.

Why is it Important to Add Article Schema to Blog Posts?

If you write great content, it makes sense that you want search engines to understand it easily: incorporate schema, a language that is literally built to make your content easier to understand. Plus, around March 2016, structured data was added to Google’s ranking factors algorithm. So having that on your page can help you get your long-tail blog posts to rank better, which helps your content marketing strategy and overall digital marketing goals.

Also, if you read our blog or other digital marketing news, you know that Accelerated Mobile Pages (AMP) have become a big topic for blogs and publishing sites. These rely heavily on structured data for their advanced features. Understanding the simpler types, like BlogPosting schema, is a surefire way to help prepare you for this.

Finally, if you need more convincing, having structured data on your website news, blog posts or articles can improve your website’s visibility in search engines. You might even get a spot in the top stories carousel (however, keep in mind that this isn’t guaranteed by Google as it seems to be prioritizing AMP pages over anything else at the moment).

What types of article schema can I add?

There are several types of article schema that can be added: NewsArticle or BlogPosting being the most common. For most businesses (unless you are reporting news), I recommend using BlogPosting schema because it is more specific to what the article is about. The more specific you can get with your schema, the easier it is for search engines to fully understand your site. So for clarity, I will use BlogPosting schema as an example.

How to Add Schema in Blog Posts

Nowadays many CMS will add it automatically or at least will be compatible with plugins that do. For example, Yoast for WordPress, Amasty for Magento etc. - you just need to find one that is compatible with your site and make sure it doesn't interfere with other plugins or site speed. This is also really useful as it means every blog post you write will have the BlogPosting schema dynamically inserted into it - you don't have to add it to every post.

The following is an example of my blog's schema markup code at that time.

<div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
    <b:if cond='data:post.thumbnailUrl'>
            <meta expr:content='data:post.thumbnailUrl' itemprop='image'/>
          </b:if>

    <a expr:name='data:post.id' itemprop='postId'/>
    <b:if cond='data:post.title'>
      <h3 class='post-title entry-title' itemprop='headline'>
      <b:if cond='data:post.link'>
        <a expr:href='data:post.link' itemprop='name'><data:post.title/></a>
      <b:else/>
        <b:if cond='data:post.url'>
          <b:if cond='data:blog.url != data:post.url'>
            <a expr:href='data:post.url'><data:post.title/></a>
          <b:else/>
            <data:post.title/>
          </b:if>
        <b:else/>
          <data:post.title/>
        </b:if>
      </b:if>
      </h3>
    </b:if>

    <div class='post-header'>
    <div class='post-header-line-1'/>
    </div>

    <div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id'>

      <b:if cond='data:blog.pageType != &quot;item&quot;'><b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<b:if cond='data:post.isFirstPost'>
<script type='text/javascript'>
//<![CDATA[
function bp_thumbnail_resize(image_url,post_title)
{
var image_size=0;
var show_default_thumbnail=true;
var default_thumbnail="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR8VkM0GSG5GWwXFK2QpXKOrdUAwSQM9d0T7A_-vUSxNkg7LvRTYJkWuWZd8SeazEcsq4_GOb1vGebGzpXacr_95CSeyqDYet8MsRKuDrGzIl6iTvbNQf05BCCQ5EHYTHG2A2q3sCgnNQ/s0/default.png";
if(show_default_thumbnail == true && image_url == "") image_url= default_thumbnail;
image_tag='<img src="'+image_url.replace('/s72-c/','/s'+image_size+'-c/')+'" alt="'+post_title+'"/>';
if(image_url!="") return image_tag; else return "";
}
//]]>
</script>
</b:if>

<b:if cond='data:post.snippet'>
<div class='thumbs'>
<script type='text/javascript'>
document.write(bp_thumbnail_resize(&quot;<data:post.thumbnailUrl/>&quot;,&quot;<data:post.title/>&quot;));
</script>

<div class='homelabel'>
        <b:if cond='data:post.labels'>
          <b:loop values='data:post.labels' var='label'>
            <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'> | </b:if>
          </b:loop>
        </b:if>
</div>
<a expr:href='data:post.url'>
<div class='readitmore'>
Read Article &#8594;
</div>
</a>
</div>

<div class='summary'>
<data:post.snippet/></div>
<div class='botsnip'>
<i><data:top.authorLabel/> : <data:post.author/></i><br/>
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:post.numComments/> Comments</a><br/>
</div>
          <b:else/>
            <data:post.body/>
          </b:if>
      <b:else/>
      <data:post.body/>
      </b:if>
<b:else/>

<data:post.body/>
<br/>

<!-- Go to www.addthis.com/dashboard to customize your tools -->
<div class='addthis_sharing_toolbox'/>

</b:if>

      <div style='clear: both;'/> <!-- clear for photos floats -->
    </div>

    <div class='post-footer'>
    <div class='post-footer-line post-footer-line-1'><span class='post-author vcard'>
        <b:if cond='data:top.showAuthor'>
          <data:top.authorLabel/>
            <b:if cond='data:post.authorProfileUrl'>
              <span class='fn'>
                <a expr:href='data:post.authorProfileUrl' itemprop='author' rel='author' title='author profile'>
                  <data:post.author/>
                </a>
              </span>
            <b:else/>
              <span class='fn'><data:post.author/></span>
            </b:if>
        </b:if>
      </span> <span class='post-timestamp'>
        <b:if cond='data:top.showTimestamp'>
          <data:top.timestampLabel/>
        <b:if cond='data:post.url'>
          <a class='timestamp-link' expr:href='data:post.url' itemprop='url' rel='bookmark' title='permanent link'><abbr class='updated' expr:title='data:post.timestampISO8601' itemprop='datePublished'><span class='updated'> <data:post.timestamp/> </span></abbr></a>
        </b:if>
        </b:if>
      </span> <span class='post-comment-link'>
        <b:if cond='data:blog.pageType != &quot;item&quot;'>
          <b:if cond='data:blog.pageType != &quot;static_page&quot;'>
            <b:if cond='data:post.allowComments'>
              <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
            </b:if>
          </b:if>
        </b:if>
      </span> <span class='post-icons'>
        <!-- email post links -->
        <b:if cond='data:post.emailPostUrl'>
          <span class='item-action'>
          <a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'>
              <img alt='' class='icon-action' height='13' src='http://img1.blogblog.com/img/icon18_email.gif' width='18'/>
          </a>
          </span>
        </b:if>

        <!-- quickedit pencil -->
        <b:include data='post' name='postQuickEdit'/>
      </span> <div class='post-share-buttons goog-inline-block'>
        <b:if cond='data:post.sharePostUrl'>
          <b:include data='post' name='shareButtons'/>
        </b:if>
      </div> </div>

      <div class='post-footer-line post-footer-line-2'><span class='post-labels'>
        <b:if cond='data:post.labels'>
          <data:postLabelsLabel/>
          <b:loop values='data:post.labels' var='label'>
            <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
          </b:loop>
        </b:if>
      </span> </div>

      <div class='post-footer-line post-footer-line-3'><span class='post-location'>
        <b:if cond='data:top.showLocation'>
          <b:if cond='data:post.location'>
            <data:postLocationLabel/>
            <a expr:href='data:post.location.mapsUrl' target='_blank'><data:post.location.name/></a>
          </b:if>
        </b:if>
      </span> </div>
    </div>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div id='related-posts'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast != &quot;true&quot;'>
</b:if>
<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels_thumbs&amp;max-results=7&quot;' type='text/javascript'/></b:loop>
<script type='text/javascript'>
removeRelatedDuplicates_thumbs();
printRelatedLabels_thumbs(&quot;<data:post.url/>&quot;);
</script>
</div><div style='clear:both'/>
</b:if>

</div>

For websites built with a bespoke CMS, ask your developer how they can add it. They may need to do it by hardcoding it into the page - but if they can build a page template that supports schema, that's great. See more in this blog on what they need to hardcode into the page.

If you can’t get a plugin that inserts it dynamically and your developer can’t code it on your site, your last resort is to add it via Google Tag Manager. This is a last resort as only Google can see the code – GTM can also be temperamental at times so it’s not ideal.

This method doesn’t require you to actually change any code on your site. In order to add article schema, as a business you will need to already have Organization schema on your site. To set this up, check out the blog post I wrote last month that has a step-by-step guide – again, remember that plugins and hardcoding are the preferred options.

Similar to adding Organization schema to your site, to add article schema you need to create a trigger and a custom HTML tag. Except this time, you don’t want your trigger to target “all pages,” you want to target specific blog post URLs. For example, to add BlogPosting schema to one of my client’s blog posts:  https://www.gatewan.com  I set up the trigger in Tag Manager.


Post a Comment

Previous Next

نموذج الاتصال