(function(){"use strict";function u(e){return"function"==typeof e||"object"==typeof e&&null!==e}function s(e){return"function"==typeof e}function a(e){X=e}function l(e){G=e}function c(){return function(){r.nextTick(p)}}function f(){var e=0,n=new ne(p),t=document.createTextNode("");return n.observe(t,{characterData:!0}),function(){t.data=e=++e%2}}function d(){var e=new MessageChannel;return e.port1.onmessage=p,function(){e.port2.postMessage(0)}}function h(){return function(){setTimeout(p,1)}}function p(){for(var e=0;et.length)&&(n=t.length),n-=e.length;var r=t.indexOf(e,n);return-1!==r&&r===n}),String.prototype.startsWith||(String.prototype.startsWith=function(e,n){return n=n||0,this.substr(n,e.length)===e}),String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}),String.prototype.includes||(String.prototype.includes=function(e,n){"use strict";return"number"!=typeof n&&(n=0),!(n+e.length>this.length)&&-1!==this.indexOf(e,n)})},"./shared/require-global.js":function(e,n,t){e.exports=t("./shared/require-shim.js")},"./shared/require-shim.js":function(e,n,t){var r=t("./shared/errors.js"),i=(this.window,!1),o=null,u=null,s=new Promise(function(e,n){o=e,u=n}),a=function(e){if(!a.hasModule(e)){var n=new Error('Cannot find module "'+e+'"');throw n.code="MODULE_NOT_FOUND",n}return t("./"+e+".js")};a.loadChunk=function(e){return s.then(function(){return"main"==e?t.e("main").then(function(e){t("./main.js")}.bind(null,t))["catch"](t.oe):"dev"==e?Promise.all([t.e("main"),t.e("dev")]).then(function(e){t("./shared/dev.js")}.bind(null,t))["catch"](t.oe):"internal"==e?Promise.all([t.e("main"),t.e("internal"),t.e("qtext2"),t.e("dev")]).then(function(e){t("./internal.js")}.bind(null,t))["catch"](t.oe):"ads_manager"==e?Promise.all([t.e("main"),t.e("ads_manager")]).then(function(e){undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined}.bind(null,t))["catch"](t.oe):"publisher_dashboard"==e?t.e("publisher_dashboard").then(function(e){undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined}.bind(null,t))["catch"](t.oe):"content_widgets"==e?Promise.all([t.e("main"),t.e("content_widgets")]).then(function(e){t("./content_widgets.iframe.js")}.bind(null,t))["catch"](t.oe):void 0})},a.whenReady=function(e,n){Promise.all(window.webpackChunks.map(function(e){return a.loadChunk(e)})).then(function(){n()})},a.installPageProperties=function(e,n){window.Q.settings=e,window.Q.gating=n,i=!0,o()},a.assertPagePropertiesInstalled=function(){i||(u(),r.logJsError("installPageProperties","The install page properties promise was rejected in require-shim."))},a.prefetchAll=function(){t("./settings.js");Promise.all([t.e("main"),t.e("qtext2")]).then(function(){}.bind(null,t))["catch"](t.oe)},a.hasModule=function(e){return!!window.NODE_JS||t.m.hasOwnProperty("./"+e+".js")},a.execAll=function(){var e=Object.keys(t.m);try{for(var n=0;n=c?n():document.fonts.load(l(o,'"'+o.family+'"'),s).then(function(n){1<=n.length?e():setTimeout(t,25)},function(){n()})}t()});var w=new Promise(function(e,n){a=setTimeout(n,c)});Promise.race([w,m]).then(function(){clearTimeout(a),e(o)},function(){n(o)})}else t(function(){function t(){var n;(n=-1!=y&&-1!=g||-1!=y&&-1!=v||-1!=g&&-1!=v)&&((n=y!=g&&y!=v&&g!=v)||(null===f&&(n=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),f=!!n&&(536>parseInt(n[1],10)||536===parseInt(n[1],10)&&11>=parseInt(n[2],10))),n=f&&(y==b&&g==b&&v==b||y==x&&g==x&&v==x||y==j&&g==j&&v==j)),n=!n),n&&(null!==_.parentNode&&_.parentNode.removeChild(_),clearTimeout(a),e(o))}function d(){if((new Date).getTime()-h>=c)null!==_.parentNode&&_.parentNode.removeChild(_),n(o);else{var e=document.hidden;!0!==e&&void 0!==e||(y=p.a.offsetWidth,g=m.a.offsetWidth,v=w.a.offsetWidth,t()),a=setTimeout(d,50)}}var p=new r(s),m=new r(s),w=new r(s),y=-1,g=-1,v=-1,b=-1,x=-1,j=-1,_=document.createElement("div");_.dir="ltr",i(p,l(o,"sans-serif")),i(m,l(o,"serif")),i(w,l(o,"monospace")),_.appendChild(p.a),_.appendChild(m.a),_.appendChild(w.a),document.body.appendChild(_),b=p.a.offsetWidth,x=m.a.offsetWidth,j=w.a.offsetWidth,d(),u(p,function(e){y=e,t()}),i(p,l(o,'"'+o.family+'",sans-serif')),u(m,function(e){g=e,t()}),i(m,l(o,'"'+o.family+'",serif')),u(w,function(e){v=e,t()}),i(w,l(o,'"'+o.family+'",monospace'))})})},void 0!==e?e.exports=s:(window.FontFaceObserver=s,window.FontFaceObserver.prototype.load=s.prototype.load)}()},"./third_party/tracekit.js":function(e,n){/**
Hey, Matt! Thank you for your sharing, and I learned much from it, but I still have a question. We began to do SEO work for our site 2 years ago, and our organic traffic grew 5 times ( from 8K to 40K every day). But two years later, it is very difficult to get it grow more, even it drop to 3.2K every day. So can you give me any advice to make our site's traffic grow again? Thank you in advance!
Your cornerstone articles should be of higher quality than any other content on your site. You should spend more time and resources creating these pieces of content than you do on regular blog posts. Having all of these internal links point to these main pieces of content tells Google’s algorithm they’re important, giving you a higher chance of ranking for the keywords that relate to your niche the most.
But optimizing keywords isn't something you do ONLY at the outset of a search marketing campaign. Ongoing keyword optimization is necessary to keep uncovering new keyword opportunities and to expand your reach into various keyword verticals. So keyword optimization isn't a set it and forget it process. By continuously performing keyword analysis and expanding your database of keywords, your site traffic, leads and sales will continue to grow.
Bill is a content marketing and SEO expert with over 4 years experience working as a full-time consultant. He works specifically with businesses struggling to get the results they want from their blog and content marketing strategy. Using his unique connections in the business world, he helps ecommerce brands grow their audience through influencers, backlinks, on-page search optimization and technical SEO –– all rank his brands higher on Google. You can work with him to do the same for your brand here.
Holy Engagement! This was an awesome post, full of great info… and then I realized that 3/4 of the actual page was comments… which is even better for shares, SEO and overall engagement. I was lucky enough to attend an event where Neil Patel was giving some great blogging training and a lot of what you covered was there. https://www.thatbloggingthing.com/69-blogging-secrets-i-stole-from-neil-patel/ The simple fact that you comment back is awesome.

Search engines (especially Google) are unpredictable. No matter how adept you are at using the AdWords keyword planner or how targeted your SEO strategy is, you can never be completely sure which of your blog posts or even your landing pages will perform the best — and which keywords they’ll rank for when they do. You’ve got to hit publish, then wait to see how the results shake out over time (and it can take months for a post to gain, or not gain, the traction you’re looking for).


If your content is several years old or wasn’t developed with a solid SEO strategy in place, chances are it may not currently have a clear focus keyword. You can use a plugin such as Yoast SEO for WordPress to make sure your content is properly optimized for your chosen keyword(s). Each post should have one primary focus keyword (or keyphrase) along with some well-chosen synonyms.
For those unfamiliar with the extensive list of technical jargons, or otherwise lack experience in the industry, the intricacies of web development can be confusing at best and desperately overwhelming at worst. If you are a business owner, you are more than likely trained in practices directly related to running your business rather than, say, how to best impress and conquer Google rankings.
×