Bill Hartzer Fri, 09 Dec 2016 01:27:51 +0000 en-US hourly 1 How to Disavow Links in Bing Using Automation Thu, 08 Dec 2016 23:07:26 +0000 If you are an SEO (or an SEO Consultant like me), then you should be familiar with Google’s Disavow Tool. Essentially you can upload a text file list of URLs or domain names that are linking to your website, telling them to disavow or ignore those links or all links from a certain domain name. But most of the time, we’ll disavow those links in Google but totally forget about uploading the same disavow file to Bing, as well. You’ve done all the work finding the links to disavow, identifying bad and toxic links, so why not upload the list to Bing as well?

auto disavow links in Bing

Well, unfortunately Bing doesn’t allow you to upload a file. You have to disavow one URL at a time or one domain at a time. Manually copy and paste all of those URLs, one by one. I just recently disavowed several thousand URLs and even more domains on one link cleanup project. I’m not exactly going to take the time to add one URL or domain at a time in order to disavow them at Bing. It’s just not worth the hours it would take to do that. Well, luckily for me (and you), I’ve come up with a solution of how you can disavow all of those URLs or domains at Bing in an automated fashion–you don’t have to copy/paste them one at a time. You do, however, need to prepare a file first–and there’s a method to the madness. But about 5-10 minutes of your time will potentially save hours of manual copying and pasting. In this tutorial, I’ll show you how to disavow a list of URLs. Once you get the hang of it, you’ll easily be able to change this so you can disavow the list of domains instead.

First, you’ll need access to Bing Webmaster Tools, and you’ll need to verify the domain that you’re wanting to disavow links for.

Next, gather a few tools:
– List of domains or URLs to disavow. Usually in a text file (I prefer notepad, but any text editor will do)
– Microsoft Excel
– Text Editor
– Microsoft Word
– iMacros add-on for Firefox or Chrome

Essentially, what you’re going to do here is use the iMacros tool in Firefox or Chrome to perform the task of disavowing each URL in a list. If you have thousands of URLs in the list, you’ll be able to easily create the macro and then once created you’ll simply run it and disavow all those links in Bing.

Once you install iMacros, you’ll need to start recording a macro. So, close all of the tabs in the browser that you have open and start iMacros. Go to Bing Webmaster Tools and click on the Configure My Site then Disavow Links section. You’ll see something similar to the screen capture at the top of this post.

Next, open the iMacros sidebar and select #Current.iim. On the Rec tab, click Record. Or, you can just click Save Macro As and save it with a unique filename. You will need to be able to edit it once you’ve made your list of actions, though.

You’re ready to record your first macro. So, with all of your tabs closed except for one, go to the Bing Disavow Links page.

Then, with the recording still going, enter the first URL you’d like to disavow, and select Disavow.

You can now stop the recording.

Then, click on Manage and Edit Macro. You’ll see something like this:

This is where you edit the macro that you’ll run. For now, save the macro and we’ll come back to it later.

What you’ll need now is the text editor, Microsoft Excel, and Microsoft Word open. So, open those now. The text editor should have the list of URLs in it, and you’ll probably want to open up a blank text editor window, as well.

Here is the sample code, of one of the actions, that you’ll want to start with:


What we’ll need to do is use Microsoft Excel to add part of the fourth line of code to the actual URL you’re disavowing.

Copy the list of URLs into Microsoft Excel, making sure that you have a column before the list, like this:

So, when building your Microsoft Excel file, you’ll need to do add this in the column before the list:


Then, you’ll have the column that contains your list.

Then, add this in the column after your list:

wait seconds=3

You can make this wait 3 seconds, or even longer. I typically put in a “wait” so that it doesn’t tick off Bing. If you have a lot of URLs (I have like 2000+ in my last disavow I did for someone), you might want to make it shorter of a wait–but 3 seconds should be okay.

Then, in the next column, add this:


That’s the button click to press the disavow URL button. You’ll need it in the macro, as well.

Essentially, what we’re doing now is putting this into Microsoft Excel so we can copy and paste the huge list of URLs or domains we want to disavow. Then, we’ll need to create each line for the macro itself.

Next, copy and paste all of the data that you put into Microsoft Excel. You’ll find that there are going to be “tabs” in there. You’ll need to strip those out first before you copy and paste this into Microsoft Word.

Paste the data from Microsoft Excel into a text editor (I prefer Notepad on my Macbook Pro).

In Notepad, once you’ve pasted the data, you’ll see that there are tabs in there. You need to get rid of those tab characters and replace them with something else. So do a search and replace for the tab character (you’ll need to copy/paste it into the proper search field) and replace it with “zz” (without the quotes). That will allow you to search and replace the zz again in Microsoft Word in the next step.

Copy and paste all of that code and put it into Microsoft Word.

With the code in Microsoft Word, you’ll need to paste it into a new page.

Don’t change any of the code… go ahead and do a search and replace for “zz” and replace it with ^p (that’s the Shit+6 character and the letter p). That will replace the “zz” with a line break.

Next, you’ll want to replace one more thing so that the macro will work. You’ll need to get rid of one line break in particular, the one before the URL.

Still in Microsoft Word, search for this:

inputDisavowUrl CONTENT= ^p

and replace it with this:

inputDisavowUrl CONTENT=

which is the same code without the ^p (Shift+6 P)

Copy all of that code out of Microsoft Word and put it into the macro. You’ll need to keep the URL GOTO line, as that’s the page where it’s going to do all of the disavowing. But, the rest of the code should be added after that.

Then, save and close the macro.

Run the macro with all of your tabs closed, and that should add all of those URLs on the disavow list.

Note that if you have more than 2500 URLs then you’re going to need to split it up into a few different macros or run them separately. I haven’t tested the speed, so I do recommend allowing at least 3 seconds between adding each URL. If it gets hung up, then you will need to stop it and then see where you left off. If that’s the case, then you’ll need to edit the macro so that you don’t re-enter URLs on the list.

Of course, if you have any questions, feel free to contact me.

How to Stop and Fake Google Analytics Referral Traffic Fri, 02 Dec 2016 16:38:31 +0000 In the past week, you probably have noticed that there is referral traffic from that is showing up in Google Analytics. You could also be seeing traffic from one particular URL. This is, in fact, fake, spam, or “ghost” traffic that you should ignore. The only purpose of it is to get you to visit one of those sites, typically trying to get you to copy/paste the URL and visit the website.

The domain name is, in fact, actually a “hack”. It’s not, it’s actually, which is an IDN (Internationalized Domain Name) which allows domains to use non-ASCII characters. Wikipedia’s definition: “The internationalization of domain names is a technical solution to translate names written in language-native scripts into an ASCII text representation that is compatible with the Domain Name System.”

So, you’re being tricked into thinking the K in is a K and it’s actually a non-ASCII character.

So what about Google Analytics?
Well, that’s where it gets interesting. The traffic and people are actually NEVER going to your website. In fact, all they’re doing is loading the Google Analytics code that makes Google think that they’re visiting your website. The Google Analytics code includes a UA- number that identifies your website. The hacker, or spammer in this case, actually just loads your number over and over again, and Google Analytics thinks that they are visiting your website. But they’re not.

I’ve actually gone to my web server and blocked all traffic from Russia. Google Analytics says that those visitors are coming from Russia–but they’re not. They’re faking the fact that visiting your website.

Referral Spam is a Big Problem for Google
What this spammer/hacker is doing is spamming Google Analytics. And, unfortunately, Google isn’t doing anything about it. Google Analytics Referral Spam is a huge issue, especially for companies who get less than 100 visitors a day to their websites. For example, you may be seeing a huge bump in traffic–but it’s actually just spam. It’s not real human visitors coming to your website. Here’s an example of what it looks like:


As you can see, it looks like there’s a huge bump in traffic–but in actuality, it’s all from this spam:


As you can see, the reddit and URL is there, as well as, which is also referral spam. It’s fake traffic or “ghost traffic” or what we call referral spam.

What can you do about it?
At this point, the only thing you really can do is filter out this spam in Google Analytics:

1. In Google Analytics, click the Admin tab.

2. Select All Filters.

3. Click ADD FILTER.

4. In the 1st box, put in a Filter Name. You could call it “Fake referral traffic”.

5. Select the Filter Type to Custom and select “Exclude”.

6. Click the Filter Field drop-down menu and select Page Title.

7. In Filter Pattern enter the referring website, or the first part of it, like:

8. The Case Sensitive checkbox can be selected, and the filter will still work fine.

9. You’ll then see “Apply Filter to Views”… select one of the Available Views: All Web Site Data and click Add.

10. Click SAVE

How Much Pre-Registering Marketing.Blog Domain Name Costs Thu, 17 Nov 2016 20:02:07 +0000 domain name for sale

Are you in marketing, like I am? Do you have a marketing-related blog and want the ultimate marketing blog web address? Well, here is your chance. The dot blog domain name extension, .BLOG, is launching on November 21, 2016. If you want to purchase (pre-register) for your marketing blog, then you can do so for a mere $139,999.99 over at GoDaddy:

The domain name will renew every year for the same price, which is $139,999.99, meaning that it’s an annual fee for that domain name. GoDaddy’s .com prices are typically under $10 per year, and go up from there for other domain name extensions.

Typically, premium domain names are priced at higher prices, especially for pre-registration prices. During the pre-registration phase, before a domain name TLD is launched, you’re able to purchase a domain name for a higher price. Once the TLD is available to the general public, and the TLD enter the General Availability phase, domain name prices may go down. However, certain premium domain names, such as, may still remain high.

Test Your Drawing Skills with Google’s Quick Draw Wed, 16 Nov 2016 21:56:35 +0000 Google has launched an experimental website called Quick, Draw, that shows us the capabilities of their neural networks. The idea is that it asks you to draw something or doodle something–and it tries to guess what you’re drawing.

Here’s an example of my drawing skills, which I to admit aren’t very good:

Google Quick Draw

Either my drawing skills are horrible… or Google’s neural networks are horrible.

Try it for yourself, tweet me @bhartzer and show me your doodling skills!

Link Training with Majestic at State of Search 2016 Wed, 16 Nov 2016 19:22:56 +0000

At the State of Search conference held this week, as US Brand Ambassador for Majestic, I had the pleasure of presenting a session on linking, titled “Advanced Link Training”. In this sponsored session, I went through the basics of links, as well as link cleanups and recovering from a Google manual action.

Here’s the overview of my presentation on advanced link training:

– Linking Basics
– Using Majestic for Link Analysis
– Analyzing Your Links
– Google Manual Penalties & Cleaning Up Links
– Advanced Linking Tips

One of the advanced linking tips I shared? Crawl your competitors’ websites and make a list of links that they’re linking out to–then get links from those websites. Once you do, your competitor will be passing out “link juice” to another website, that then links to you.

Google Bug Causes False Date To Show in Search Results Tue, 15 Nov 2016 01:47:22 +0000 A bug in the Google’s search engine is causing false, old dates to appear in front of websites listed in their search results. This, in turn, is causing drops in traffic. Some are also reporting ranking drops, as well.

Take a look at the following Google search result, which is for one particular website that is affected by this Google bug:

google bug search results

This is a “” search query, and as you see from the screen shot above, it lists a date of February 15, 2012. Google is showing this as if this is the last day that the web page was updated. Typically, when blogs updated their blog posts or write new blog posts, Google shows the last-updated date or the “published date” of the blog post. But, in this case, I know that I personally have updated this website’s home page lots of times since February 15, 2012.

So where does Google, all of a sudden, get a date of February 15, 2012 for this website? It is NOT listed anywhere in the source code of the page, and it’s not listed anywhere on the page itself, in the content. If you look at the page cache, the last time Google cached the page, it looks like this:

cache date google bug

The last time Google cached the page was November 11, 2016. So where is Google getting the February 15, 2012 date? A date from over 4 years ago?

Turns out that this particular website’s home page is embedding a YouTube video, using Google’s own embed code. And, the video embedded was uploaded on February 12, 2015. BINGO!

youtube google bug

Why would Google choose a date from an uploaded YouTube video as the last time that a page was updated? I guess since they have to pull a date from somewhere? But really, why do they need to pull the date from anywhere and put it in front of the page in the search results? If it’s an older date, no one will click on the web page in the search results–since it hasn’t been updated since 2012.

Looking at this website’s stats, I cannot tell exactly when this ranking drop or traffic drop has occurred, since I do not know when the YouTube video was embedded on the website. Based on what I’m seeing others report in other places, though, it appears that their rankings dropped when they embedded videos on their websites.

So, for now, this appears to be a Google bug. Whatever it is, it’s not right–and Google should provide a fix for this right away.

In the meantime, there is, in fact, a solution to this:
– remove the video embed code on the affected page.
– use the Google Fetch and Render code to ask Google to recrawl the page.
– they should see that the YouTube video isn’t there anymore, and rankings “should” come back.

For now, the solution is to not embed YouTube videos on web pages that you want to rank well in the Google search results. But that’s not a very good option, I have to admit.

Network Solutions Emails Domain Transfer Codes in 3 Days Fri, 11 Nov 2016 23:12:43 +0000 cxbc0jyvqaa9jei-jpg_large

If you’re wanting to transfer a domain name away from the Network Solutions domain name registrar, then their response is typically delayed. They will email you the domain name transfer code 3 days after you request it.

Spotted by Twitter user @shendison:

When you’re transferring a domain name away from Network Solutions, their website states “you will receive your Auth Code by email in 3 days”. This doesn’t seem right–and certainly most domain name registrars will give you the Auth Code right away via email. I realize that this is probably for their protection, so that people can’t transfer domain names away from their registrar easily and steal domain names, but really?

According to Network Solutions’ policy, “Your Authorization Code will be e-mailed to the Primary Contact in 3 days.”

The domain name Auth Code “is required when transferring domains from one registrar to another. The transfer Authorization Code is created when the domain is first registered and can be obtained from the current Registrar for your domain.”, according to Tucows.

I recently transferred a domain name from the Pheenix registrar over to GoDaddy, and I got the Auth Code instantly via their online portal. It then took a few days until it was completely moved over to GoDaddy, but it took less than 5 days.

Thanks and h/t to @shendison for pointing this out.

People to Meet and Network With at State of Search 2016 Fri, 11 Nov 2016 22:26:20 +0000 stateofsearchhomepage

During that first evening, back in 2004 when Jim Gilbert and I first met with 16 of the best internet marketers and SEOs in the D/FW area, I never thought I’d be posting now about the State of Search conference. You see, I had hand-picked those first 16 people and personally invited them to show up to what ended up as being the very first Dallas/Fort Worth Search Engine Marketing Association meeting. That was the founding group, the founding members.

Now, 12 years later, I’m honored to write this post, again, to hand-pick, as I always do for lots of search conferences, my personal list of people to meet and network with at State of Search 2016, which is on November 14th and 15th and Gilley’s in Dallas. In the past, I’ve hand-picked speakers. But this time there are so many individuals beyond the list of wonderful speakers. So, I’ve added a few and turned my list into a “who to meet and network with” at State of Search. If you’re on the list, make sure you bring plenty of business cards. And if you’re not on the list, then that’s okay, too! Make sure you go out of your way to meet ME, so I can add you to the list next time. It could that I haven’t met you yet (in person) or haven’t spoken with you on Twitter, Facebook, or some other random social network.

Here’s “Bill’s List” for State of Search, 2016:

Jim Gilbert
Adam Dorfman
Adam Reimer
Alan Bleiweiss
Alex Fender
Andrew Shotland
Ashley Berman Hale
Bart Peters
Beth Kahlich
Bill Hartzer (That’s Me!) @bhartzer
Brian Medina
Casey Markee
Chris Silver Smith
Christine Churchill
Christian Ward
Damon Gochneaur
Dan Leibson
Dan Sturdivant
Danny Sullivan
Deandre Upshaw
Duane Brown
Duane Forrester
Eric Enge
Greg Gifford
Jackie Bese
James Loomstein
Jason Channell
Jeff Rudluff
Jennifer Slegg
Jesse McDonald
Jon Henshaw
Joshua Graham
Katy Katz
Kelcey Piper
Kelsey Jones
Kevin Adams
Maile Ohye
Mark Traphagen
Matt Siltala
Matthew Decuir
Mike Stewart
Purna Virji
Rob Bucci
Rob Garner
Ryan Mclaughlin
Scott Vann
Sean Dolan
Sean Jackson
Sha Menz
Stephan Spencer
Tim Wagner
Tony Wright
Wil Reynolds
Zeph Snapp

So, my list is complete. If I forgot you, let me know. Of course, this isn’t in any particular order of importance! I did, however, put it in alphabetical order. But Jim Gilbert, who, without him, we wouldn’t have a DFWSEM, is most important… Hope to see you all at State of Search this year.

Upload a Disavow File and No Results? Here’s Why Sat, 29 Oct 2016 15:11:46 +0000 google disavow backlinks

If you’ve taken advantage of Google’s Disavow Tool to disavow backlinks to a website, it’s quite possible that you may not be seeing any results. The whole idea of the disavow tool is to tell Google that there are certain links to your website that you don’t want them to count when they are calculating the Google algorithm. It’s can be helpful to use the disavow too to upload a disavow file if you can’t get rid of certain low quality links to the website. But, if you don’t do it correctly, you may not see any movement in search engine rankings. Here are several reasons why you may not see any results after uploading a disavow file.

It hasn’t been long enough.
One of the biggest issues that I see when people are complaining that they have disavowed links and they’re not seeing results is that they haven’t waited long enough. When you disavow a link to your website, Google must crawl the link and see it before they can disavow it. So, if some bad website is linking to you, they must crawl that bad website, see the link, see that you’ve disavowed it, and then they’ll ignore it. But, if it’s a bad website, Google may not be crawling it that often. They might not have permission to crawl it or they might not be able to access it (for whatever reason). So, it might take a while. It could take weeks or longer.

You can tell if a link has been “disavowed” by looking at the cache date of the page linking to you. If it’s cached after you uploaded your disavow file, then Google has disavowed it. If not, well, you need to wait until it’s cached.

link detox boost

Pro Tip: use Link Research Tools’ Link Detox Boost tool to recover faster.

You disavowed the wrong links.
This can be tricky. If you’re not an experienced link builder and you don’t have any experience cleaning up links and know what Google likes and what they don’t like, it’s easy to mess this all up. I’ve see plenty of disavow files and lists of links that others think they should disavow–yet the links are actually good links. Even people who think they know–don’t know. Trust me when I say that it’s really easy to screw up your disavow file. Even though you see a link that you don’t like doesn’t mean that it’s a bad link that you should disavow. I typically concentrate on disavowing web spam. It’s easy for me to spot, but I’ve been cleaning up links for several years now.

Every website is different–and there are certain links that need to be disavowed. But, in some cases, I would disavow one link for one site and not disavow another link for another site.

You only disavowed URLs and not domains.
There are generally two different ways to disavow links to a website. You can list the exact URL, and then you can list the fill domain name, like this:

The domain: list will disavow ALL links to your website from that domain name. If you’re looking at a list of links, you may not have all of the pages that are linking to your website on that domain name, especially if the link is in a footer, for example. If the website adds more pages on the site, then you get more links. So, in most cases I would consider using the domain: function. In some cases, you may want to use the subdomain like this: So, you may want to use that for a blog or something similar, like, especially if you own a or blogpost blog and link to your website (if it’s a good subdomain). That way you can disavow certain subdomains but not the full domain.

You didn’t upload the disavow file to all versions of your site.
I’ve actually been guilty of this in the past. Even if you are currently using https://www as your main site, you probably have links pointing to another version of your website, such as http://www. You technically have to upload the same disavow file to ALL versions of your website or you’re not disavowing everything properly. There are possibly several versions of your site:

(and any subdomains other than those above)

If you have a blog subdomain, such as, then you would also need to upload a disavow file to these:

In order to upload a disavow file to all versions, you’ll need to verify all of these versions of your site in Google Search Console. That should be easy enough to do as long as you other “versions” redirect with a 301 redirect to your main public-facing version of your site.

If you don’t upload a disavow file to all versions of your site, and even if you are redirecting from one version to another, links exist to your other version(s)…and they aren’t being disavowed. Google doesn’t automatically pass the disavow file over to the other versions. This is unfortunate, it shouldn’t work that way. But, that’s they way Google has it set up currently. You just have to take the time to upload the same file multiple times.
You didn’t disavow all of your bad links.

You disavowed links but that’s not the problem.
Time and time again I see this same problem. The site has another issue, such as a duplicate content issue, that they must resolve on their website. So, even though you have uploaded a disavow file and disavowed the correct links and you’ve waited for weeks for it all to be disavowed, disavowing won’t help. So, you have to fix the other issue before you will see recovery in your search engine rankings.

Your site has a manual action, a manual penalty.
If your website has a manual action (a manual penalty) for links, then you’re not going to get that manual penalty lifted until you have actually removed links to your website. Just uploading a disavow file to Google won’t get that penalty lifted. And, as long as you have a manual penalty, you won’t have better search engine rankings. Google requires that you get links removed–a certain percentage of them. I once worked on a manual penalty for a website that had over 100,000 links. It wasn’t until I got over 65,000 links removed until they lifted the manual penalty. I disavowed links but it wasn’t enough, they said. I then got 26,000 links removed. It wasn’t enough. But finally, after getting 65,000 links removed, the manual action was lifted.

There are several reasons why a disavow file may not have worked to get your website back in the search results where it was previously. I’ve just mentioned 7 reasons. There are a lot more, and I’ll just leave it at that–you’ll need to talk to me about your specific situation. Regardless, I have to admit that I’ve seen a lot of links in the past several years, and every website is different, and their links are different. Hopefully this list has give you an idea of why you’re not seeing results after uploading a disavow file.

Job Opening: Tech Reporter Wed, 26 Oct 2016 19:03:43 +0000 Advice has a job opening (an immediate need) for a tech reporter in our Dallas-area office. We’re looking for a reporter with a passion for technology and digital marketing. The ideal candidate will be one that can follow, quickly find and comprehend digital news. The person would be responsible for writing, editing and publishing news related content for three websites daily.

The Tech Reporter, reporting to the VP Content Management, will be responsible for real-time reporting. This candidate should have a positive attitude, be detail oriented, results driven, a dependable team player and demonstrate a sense of urgency. Must be able to thrive in a fast-paced environment and have a strong work ethic.

Duties and Responsibilities:

To perform the job successfully, an individual must be able to execute each essential duty satisfactorily. Other duties, assignments and specific projects may be assigned at the discretion of management.

— Write 11 to 15 articles per week on three websites: Advice Interactive, Advice Local and Rocks Digital.
— Work on longer-form pieces and larger content pieces in addition to the daily reporting.
— Responsible for monitoring the daily industry news.
— Ensuring these properties are among the first to report.
— Communicate with the social media team on news / articles to be published that day.
— Write corresponding social posts with articles.
— Adhere to daily deadlines and report on daily work.
— As needed, attend local events to report, create video and audio pieces.
— Basic graphic design skills to create custom images for each article.
— Communicate with graphic designer on elements needed.
— WordPress, SEO and basic HTML knowledge a plus.

Job Type: Full time
Job Location: McKinney, Texas
Required Experience: Mid-Level, with proven track record in writing on tech
Salary range: DOE