Great article on what to look for when buying expired domains! I’ve looked at the domain and page authority of expired domains but haven’t checked if they are blocked by Google like you’ve listed. I haven’t pulled the trigger yet to purchase one (probably good that I didn’t since I didn’t do all my homework) but this will make it easier to finally go. Thanks for the great info!
What about option #4 - Redirect your existing domain to the old domain? I bought an old domain that is 100% relevant to my current domain but currently has with very little content. It did have more content fours years ago. The old domain is 13 years old, pr=3, while my current is 7 months old pr=1 and a decent amount of content. The old domain I purchased was not expired though and I do not know if this makes a difference. What are the pros and cons of option #4? Am I correct to think that option #1 would result in no benefit from the old domain's age value and if so why is it not listed as a con, a MAJOR one. Its hard to believe that a 301 using option 1 would give my existing domain 13 years credit but I'll take it if it does.
The whitelist filter for wanted characters is now split into three filters. The old whitelist is now named whitelist (only). When used, the domain has to consist only of the defined characters or numbers. No other characters are allowed. The new whitelist (any) filter finds domains that have at least one of the defined characters or numbers. The new whitelist (all) filter finds domains that have all defined characters or numbers at least once.
Since high quality expired domains are in low supply, the huge numbers of marketers competing for those drop domains tend to drive prices up. Also, if you use an exchange, you’re basically lucky to get whatever you can afford. In other words, niche specificity isn't guaranteed. This is going to be a problem because as Google continues to evolve, it is cracking down on domain niche relevance. In other words, its software is fast evolving to the point that it can tell what the niche of a particular domain is. If your private blog network is a patchwork of expired domains that involve many different and dissimilar niches, then you might be in trouble. You are at great risk of being penalized by Google.

Hi Kulwant, these are great tips as usual. I particularly like the way to tell us to check the google pagerank in case the domain has been banned – that could lower the usefulness of the domain quite a bit. One thing though, don’t you think that buying domains is sometimes immoral? Like sometimes you accidentally buy a domain of somebody elses website who forgot to renew.
Also, I currently have two other domains that are registered with Squarespace, and I have their annual payments set up automatically so I never have to manually pay (and so nobody else gets that window of opportunity to take the domain away from me). Would it be possible that the owner of this domain might just have a similar system in place and that I might be wasting my time?
Domain names expire when someone decides to stop renewing it. They may not be available to register immediately. We update the search index every night, so some names may already be renewed or re-registered. Some may become available in a few days. Some registrars, like GoDaddy, will let you buy a name that one of their own customers expire immediately. When you find a name you like, just click on it to try backordering the name!
Domain Hunter Gatherer is a specialized software that helps internet marketers to easily find expired domains quickly and efficiently. First, you can use it to crawl multiple domain auction sites. You can easily monitor many different domain exchanges so you can scoop up the latest and greatest dropped domains. Secondly, you can use Domain Hunter Gatherer to crawl Web 2.0 sites. Now, you may be thinking, “I'm looking for drop domains here, what do Web 2.0 sites have to do with my search?” Well, you would be overlooking one of the best ways to add value to your private blog network. While you don't legally own your Web 2.0 site, you can use your accounts to redirect the links to your target sites. The best part is that many people who build up nice looking and high goodwill Web 2.0 pages end up abandoning them. Many Web 2.0 platforms enable people to re-register or claim abandoned Web 2.0 accounts. By using Domain Hunter Gatherer, you can find these accounts and filter them by niche as well as quality indicators and then redirect their links to your target sites. Your private blog network goes up in value because of a more diverse backlink footprint.
But unless the domain name you want is undesirable to anyone else (e.g., it does not include real words or have a high search volume for the words), the odds are not in your favor. With over 210 million domain names registered and an active, worldwide domain name investing community, it is highly likely that someone else will also find interest in the domain name you are watching. As such, skip to Step 4.
!function(n,t){function r(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function i(e){return void 0===e}if(n){var o={},u=n.TraceKit,s=[].slice,a="?";o.noConflict=function(){return n.TraceKit=u,o},o.wrap=function(e){function n(){try{return e.apply(this,arguments)}catch(e){throw o.report(e),e}}return n},o.report=function(){function e(e){a(),h.push(e)}function t(e){for(var n=h.length-1;n>=0;--n)h[n]===e&&h.splice(n,1)}function i(e,n){var t=null;if(!n||o.collectWindowErrors){for(var i in h)if(r(h,i))try{h[i].apply(null,[e].concat(s.call(arguments,2)))}catch(e){t=e}if(t)throw t}}function u(e,n,t,r,u){var s=null;if(w)o.computeStackTrace.augmentStackTraceWithInitialElement(w,n,t,e),l();else if(u)s=o.computeStackTrace(u),i(s,!0);else{var a={url:n,line:t,column:r};a.func=o.computeStackTrace.guessFunctionName(a.url,a.line),a.context=o.computeStackTrace.gatherContext(a.url,a.line),s={mode:"onerror",message:e,stack:[a]},i(s,!0)}return!!f&&f.apply(this,arguments)}function a(){!0!==d&&(f=n.onerror,n.onerror=u,d=!0)}function l(){var e=w,n=p;p=null,w=null,m=null,i.apply(null,[e,!1].concat(n))}function c(e){if(w){if(m===e)return;l()}var t=o.computeStackTrace(e);throw w=t,m=e,p=s.call(arguments,1),n.setTimeout(function(){m===e&&l()},t.incomplete?2e3:0),e}var f,d,h=[],p=null,m=null,w=null;return c.subscribe=e,c.unsubscribe=t,c}(),o.computeStackTrace=function(){function e(e){if(!o.remoteFetching)return"";try{var t=function(){try{return new n.XMLHttpRequest}catch(e){return new n.ActiveXObject("Microsoft.XMLHTTP")}},r=t();return r.open("GET",e,!1),r.send(""),r.responseText}catch(e){return""}}function t(t){if("string"!=typeof t)return[];if(!r(j,t)){var i="",o="";try{o=n.document.domain}catch(e){}var u=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(t);u&&u[2]===o&&(i=e(t)),j[t]=i?i.split("\n"):[]}return j[t]}function u(e,n){var r,o=/function ([^(]*)\(([^)]*)\)/,u=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,s="",l=10,c=t(e);if(!c.length)return a;for(var f=0;f0?u:null}function l(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function c(e){return l(e).replace("<","(?:<|<)").replace(">","(?:>|>)").replace("&","(?:&|&)").replace('"','(?:"|")').replace(/\s+/g,"\\s+")}function f(e,n){for(var r,i,o=0,u=n.length;or&&(i=u.exec(o[r]))?i.index:null}function h(e){if(!i(n&&n.document)){for(var t,r,o,u,s=[n.location.href],a=n.document.getElementsByTagName("script"),d=""+e,h=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,p=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,m=0;m]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,o=n.split("\n"),a=[],l=0;l=0&&(g.line=v+x.substring(0,j).split("\n").length)}}}else if(o=d.exec(i[y])){var _=n.location.href.replace(/#.*$/,""),T=new RegExp(c(i[y+1])),E=f(T,[_]);g={url:_,func:"",args:[],line:E?E.line:o[1],column:null}}if(g){g.func||(g.func=u(g.url,g.line));var k=s(g.url,g.line),A=k?k[Math.floor(k.length/2)]:null;k&&A.replace(/^\s*/,"")===i[y+1].replace(/^\s*/,"")?g.context=k:g.context=[i[y+1]],h.push(g)}}return h.length?{mode:"multiline",name:e.name,message:i[0],stack:h}:null}function y(e,n,t,r){var i={url:n,line:t};if(i.url&&i.line){e.incomplete=!1,i.func||(i.func=u(i.url,i.line)),i.context||(i.context=s(i.url,i.line));var o=/ '([^']+)' /.exec(r);if(o&&(i.column=d(o[1],i.url,i.line)),e.stack.length>0&&e.stack[0].url===i.url){if(e.stack[0].line===i.line)return!1;if(!e.stack[0].line&&e.stack[0].func===i.func)return e.stack[0].line=i.line,e.stack[0].context=i.context,!1}return e.stack.unshift(i),e.partial=!0,!0}return e.incomplete=!0,!1}function g(e,n){for(var t,r,i,s=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],c={},f=!1,p=g.caller;p&&!f;p=p.caller)if(p!==v&&p!==o.report){if(r={url:null,func:a,args:[],line:null,column:null},p.name?r.func=p.name:(t=s.exec(p.toString()))&&(r.func=t[1]),"undefined"==typeof r.func)try{r.func=t.input.substring(0,t.input.indexOf("{"))}catch(e){}if(i=h(p)){r.url=i.url,r.line=i.line,r.func===a&&(r.func=u(r.url,r.line));var m=/ '([^']+)' /.exec(e.message||e.description);m&&(r.column=d(m[1],i.url,i.line))}c[""+p]?f=!0:c[""+p]=!0,l.push(r)}n&&l.splice(0,n);var w={mode:"callers",name:e.name,message:e.message,stack:l};return y(w,e.sourceURL||e.fileName,e.line||e.lineNumber,e.message||e.description),w}function v(e,n){var t=null;n=null==n?0:+n;try{if(t=m(e))return t}catch(e){if(x)throw e}try{if(t=p(e))return t}catch(e){if(x)throw e}try{if(t=w(e))return t}catch(e){if(x)throw e}try{if(t=g(e,n+1))return t}catch(e){if(x)throw e}return{mode:"failed"}}function b(e){e=1+(null==e?0:+e);try{throw new Error}catch(n){return v(n,e+1)}}var x=!1,j={};return v.augmentStackTraceWithInitialElement=y,v.guessFunctionName=u,v.gatherContext=s,v.ofCaller=b,v.getSource=t,v}(),o.extendToAsynchronousCallbacks=function(){var e=function(e){var t=n[e];n[e]=function(){var e=s.call(arguments),n=e[0];return"function"==typeof n&&(e[0]=o.wrap(n)),t.apply?t.apply(this,e):t(e[0],e[1])}};e("setTimeout"),e("setInterval")},o.remoteFetching||(o.remoteFetching=!0),o.collectWindowErrors||(o.collectWindowErrors=!0),(!o.linesOfContext||o.linesOfContext<1)&&(o.linesOfContext=11),void 0!==e&&e.exports&&n.module!==e?e.exports=o:"function"==typeof define&&define.amd?define("TraceKit",[],o):n.TraceKit=o}}("undefined"!=typeof window?window:global)},"./webpack-loaders/expose-loader/index.js?require!./shared/require-global.js":function(e,n,t){(function(n){e.exports=n.require=t("./shared/require-global.js")}).call(n,t("../../../lib/node_modules/webpack/buildin/global.js"))}});
The way this list is implemented means I can't update prices, nor removed sold domains automatically and sedo doesn't provide me with the tools I need to implement it properly. Unfortunately some users keep contacting me to update their domain prices or remove their domains and I can't keep doing that manually. So I've decided to disable the list for now.
×