I have a Google+ button installed on three different domains which essentially differ only in the TLD part (example.de, example.at, example.ch). It might also be worth noting that the websites themselves are almost identical which means that for every page on one of the websites there is an identical one on other two domains (don't ask me why it was a request made by the agency responsible for SEO).
The problem is whenever I use a +1 button on, lets say, example.de homepage it's count number also increases on two other domains although in my +1 profile only the clicked page is displayed. Now if I go to the example.at homepage and click the +1 button to remove my +1 it will also be removed from the +1 count number on all the other websites.
As for the technical part of the question I am using the standard non-asynchronous version of the +1 button meaning my code essentially looks like this.
<!-- Some code... -->
<div class="g-plusone"></div>
<!-- ... even more code... -->
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">{lang: 'de'}</script>
Additionally I don't explicitly set the href part for the +1 button on every page but rather let the Google Plus script figure it out by itself. I know its not the recommended approach (its even stated in the Google Plus documentation) however this approach used to work very well from the very beginning and I would like to know what might be the potential reason for it to break suddenly.
Honestly I am clueless. I went through all the available documentation on Google+ with no luck and its almost impossible to find anything about this problem on the web.
Any help would be greatly appreciated.
You don't mention the actual URL or if you have any other metadata set for the pages in question, but one possibility is that the canonical link is set to the same value for all of the pages in question. In this case, Google treats them all as the same for +1 purposes. See https://developers.google.com/+/web/+1button/#target-url for further details.
Related
Since the 21st june all my post in my web have zero in the G+ button indicator although in Google plus all of them has many +1. For example:
Google plus post +6:
https://plus.google.com/u/0/111402624595533102497/posts/3tQoKE2juv4
Post in my web +0:
http://iphone-6.es/iphone-5s-lanzamiento-20-septiembre-espana/
But the home page gets right the +1
I have investigated what I have done and I think the issue is:
In june I activated Cloud Flare (I had to change my DNS) and the 19th of june I switched off cloud flare and my internet provider gave me another DNS (differents to the ones I had before all this change)
** Nowadays, the domain is in an internet provider and the hosting in a different one. I give this information in case it can be useful.
It might be possible that the URL picked up by the Google+ proxies is different as a result of the changes. As far as I can tell, everything is set correctly, but if there was a URL from before that was different, you can try providing the URL explicitly in your button markup:
<a
rel="nofollow"
class="addthis_button_google_plusone"
g:plusone:size="medium"
href = "http://iphone-6.es/iphone-5s-lanzamiento-20-septiembre-espana/"
onclick="_gaq.push(['_trackEvent', 'finpost', 'click', 'google-plus-sidebar', 0 ,true]);">
</a>
I tried this with your example URL and it doesn't seem to be making a difference. You might also want to check that your canonical tags have not changed because this could prevent the proxy from mapping your site back to the original link.
Upon further inspection it looks like your +1 links might not be resolving correctly. For example, this page seems to be working. You might want to try the following:
Explicitly setting the urls (as shown above) to what the pages were resolving as before.
Removing the canonical tag from your page to see if it resolves better.
Identifying articles where the +1 is working and comparing where it doesn't - there is probably a pattern for the pages not matching.
I have a website and in my website I have, for example, a list of Audi models. I saw, using google webmaster tools, that my website appears in the google search by the word audi, but the target page was the 22nd page from my result set, not the first. I need my first page to appead, not my last (or middle), but I cannot tell google that this is a parameter, because my URLs are rewritten using mod rewrite. Any ideas?
BTW, I have read in a SEO forum, that it's a bad idea to use a cannonical tag. So is it really a bad idea in my case?
You can't force Google to do anything, however, they have made it easier to deal with pagination issues with a recent post on rel="next" and rel="prev".
But the primary problem you face is signalling to Google that your first (main) page is the starting point - this is achieved using internal link and back-link "juice" focussed on that page. You need to ensure that the first page of results is linked to properly from higher-value pages (like the home-page).
Google recently announced that you can use View All which will allow them to find and index entire articles that are normally broken up using pagination and display them all as one result.
I'm maintaining an existing website that wants a site search. I implemented the search using the YAHOO API. The problem is that the API is returning irrelevant results. For example, there is a sidebar with a list of places and if a user searches for "New York" the top results will be for pages that do not have "New York" in the main content section. I have tried adding Yahoo's class="robots-nocontent" to the sidebar however that was two weeks ago and there has been no update.
I also tried out Google's Search API but am having the same problem.
This site has mostly static content and about 50 pages total so it is very small.
How can I implement a simple search that only searches the main content portions of the page?
At the risk of sounding completely self-promoting as well as pushing yet another API on you, I wrote a blog post about implementing Bing for your site using jQuery.
The advantage in using the jQuery approach is that you can tune the results quite specifically based on filters passed to the API and playing around with the JSON (or XML / SOAP if you prefer) result Bing returns, as well as having the ability to be more selective about what data you actually have jQuery display.
The other thing you should probably be aware of is how to effectively use #rel attributes on your content (esp. links) so that search engines are aware of what the relationship is between the actual content they're crawling and the destination content it links to.
First, post a link to your website... we can probably help you more if we can see the problem.
It sound like you're doing it wrong. Google Search should work on your website, unless your content is hidden behind javascript or forms or something, or your site isn't properly interlinked. Google solved crawling static pages, so if that's what you have, it will work.
So, tell me... does your site say New York anywhere? If it does, have a look at the page and see how the word is used... maybe your site isn't as static as you think. Also, are people really going to search your site for New York? Why don't you input some search terms that are likely on your site.
Another thing to consider is if your site is really just 50 pages, is it really realistic that people will want to search it? Maybe you don't need search... maybe you just need like a commonly used link section.
The BOSS Site Search Widget is pretty slick.
I use the bookmarklet thing but set as my "home" page in my browser. So whatever site I'm on I can hit my "home" button (which I never used anyway) and it pops up that handy site search thing.
As the question states, I'm trying to figure out how google tracks clicks on search results. When you view the source, you find the following:
<em>Yahoo</em>!
The function rwt is, which is pretty messy:
windows.rwt=function(b,d,e,g,h,f,i,j){
var a=encodeURIComponent||escape,c=b.href.split("#");
b.href=["/url?sa=t\x26source\x3dweb",d?"&oi="+a(d):"",e?"&cad="+a(e):"","&ct=",a(g),"&cd=",a(h),"&url=",a(c[0]).replace(/\+/g,"%2B"),"&ei=7_C2SbqXBMW0-AbU4OWnCw",f?"&usg="+f:"",i,c[1]?"#"+c[1]:""].join("");
b.onmousedown="";
return true};
So it looks like Google is changing the href of the a tag to /url?... which I'm assuming is where their tracking is. From LiveHeaders in Firefox, it looks like this page is redirecting the browser to the original href of the a tag.
Is this correct and is this the best method of tracking clicks on links on your site, such as ads?
It's actually changing the href of the link rather than the window location. It's setting b.href, and b refers to the link itself. This runs in onmousedown, so when you release the mouse and the click is handled you magically get sent to that new href.
Any click tracking pretty much comes down to sending the user to some equivalent of Google's /url?... script, counting the click, and performing a 302 redirect to the real destination.
This javascript href replacement has the advantage of automatically filtering out any robots that don't run scripts. The downside is that it also filters out any real people that have javascript disabled. If, like Google, you just care which link is most popular with your real human users, this works out quite well. The clicks that you do record should be representative of real human traffic, and you can safely ignore the clicks from non-javascript users because they probably have the same preferences anyway.
Most adverts just link straight to the counting URL with no javascript replacement. This means that you definitely count every real click on the link, but you need to worry about filtering out requests from robots, since they'll now see your counting URL too.
Which you prefer really depends on why you want to track the clicks.
I think most people expect ads to click through via some sort of tracking system, so I shouldn't worry too much about following this particular javascript implementation - as much as anything that's probably there to ensure that the user sees the correct link in the browsers status bar, that various other interesting bits of info (search terms, position on the result set at the time, who you are, etc) are sent across (without you realising it) and that the links still work if JavaScript is disabled.
Generally, yes directing the user through some tracking page with the ID of the ad they have clicked on, and possibly some additional indication of where they have come from is sensible - that way you aren't relying on other mechanisms (such as JS event handlers) to track clicks on the links, it's certainly the way most ad systems I've used work.
Some e-Marketing tools claim to choose which web page to display based on where you were before. That is, if you've been browsing truck sites and then go to Ford.com, your first page would be of the Ford Explorer.
I know you can get the immediate preceding page with HTTP_REFERRER, but how do you know where they were 6 sites ago?
Javascript this should get you started: http://www.dicabrio.com/javascript/steal-history.php
There are more nefarius means to: http://ha.ckers.org/blog/20070228/steal-browser-history-without-javascript/
Edit:I wanted to add that although this works it is a sleazy marketing teqnique and an invasion of privacy.
Unrelated but relevant, if you only want to look one page back and you can't get to the headers of a page, then document.referrer gives you the place a visitor came from.
You can't access the values for the entries in browser history (neither client side nor server side). All you can do is to send the browser back or forward a number of steps. The entries of the history are otherwise hidden from programmatic access.
Also note that HTTP_REFERER won't be there if the user typed the address in the URL bar instead of following a link to your page.
The browser history can't be directly accessed, but you can compare a list of sites with the user's history. This can be done because the browser attributes a different CSS style to a link that hasn't been visited and one that has.
Using this style difference you can change the content of you pages using pure CSS, but in general javascript is used. There is a good article here about using this trick to improve the user experience by displaying only the RSS aggregator or social bookmarking links that the user actually uses: http://www.niallkennedy.com/blog/2008/02/browser-history-sniff.html