I have submitted a sitemap for my AJAX web application to Google via their Webmaster Tools. The submitted URLs are of the form:
http://www.mysite.com/#!myscreen;id=object-id
http://www.mysite.com/#!myotherscreen;id=another-id
However, even though more than a week has passed since sitemap submission, Google has not indexed the URLs. Google states that the sitemap has been processed, states that 60 URLs have been detected, states that no errors occurred, but does not index any of the URLs.
I have already implemented the AJAX crawlability contract on the server side, where requests containing an _escaped_fragment_ are responded to with a snapshot.
Any help/info regarding why Google is not indexing the URLs would be greatly appreciated.
See GWT SE friendly application
Suggestions include following the guide at http://code.google.com/web/ajaxcrawling/.
Nowadays, you don't need to do something specific for Google anymore, and AJAX crawling scheme has been deprecated been Google.
Just make sure that your website is easy to use for your users, and Google will be able to properly crawl it.
If you want to go the extra mile, however, you can check that article:
* https://moz.com/blog/optimizing-angularjs-single-page-applications-googlebot-crawlers
Related
Given any URL of a site I "own", in Google Search Console I can see this information:
I am particularly interested in the "last crawl date".
How do I get the same information with the API (Search Console API or Webmaster Tools API)?
You cannot. Not via the Google Search Console API, the Webmaster Tools API, or any other Google API for that matter. How Google can design their APIs so poorly is beyond me. Providing access to 100% of the features that you can access through the UI of the same service, is the #1 most basic requirement of an API, and they fail even at that.
There's this workaround (requesting https://webcache.googleusercontent.com/search?q=cache:<YOUR_URL>... and scraping the response contents), but you'll start getting "429 too many requests" pretty soon, so it's basically useless unless you only need to make, I don't know, maybe a request every few days.
In practice, there doesn't seem to be any other way than logging the crawler's visits yourself (recognizing it from the user-agent string, validating the IP maybe with a reverse lookup or just against a list).
I've learned that you shouldn't be using GET requests for URLs that modify information on the server because you could get problems with browser link prefetch, search engine crawlers etc.
But when I'm viewing the source code for some sites I saw that many big companies doesn't use this approach.
For example: I signed up for tidal.com and activated a subscription.
When I went to the subscript page I got a page where I was able to cancel my subscription. But the button "cancel my subscription" is not a form performing a POST request, but simply a link to https://my.tidal.com/br/account/subscription/cancel
as well reactivate subscription is a link to https://go.tidal.com/br/account/subscription/resume/40cd9e3e-3d58-4c80-aee7-c378011b49d4
Why are they doing that if my action is modifying information on the server?
As we are moving from the classic google analytics to the Universal google analytics for the marketing requirement, i need to find out from where the customer is coming from. If he is coming from the marketing campaigns then we have the param utm_source from url. So with this I can find out the customer visit. But if the customer is from the google results, then there will be no extra parameters added to the URL.
Because of this, I am unable to differentiate whether the customer is from the Google Results or from the direct URL visit. My idea is to use, HTTP_REFERRER. But this will result in lot of requests to server for each page load which results in unnecessary load on server.
Universal google analytics does support _utmz cookies. It will only supported in classic google analytics. So is there any better way to differentiate the customer visit from the google results and the direct URL visit.
I think your idea to use the referrer is as solid as it gets. You do not need any server roundtrips, since you can access the referrer via Javascript using document.referrer - if that is empty you have a direct type-in/bookmark, else you can check against a list of hostnames of search engines. This might not match to 100% with Google Analytics attribution, but should give you a usable approximation (it will obviously only work on the landing page, after that the referrer is your own site).
All!
I wanted to develop a feature for a blog I wrote myself. I want to grab the search result of Google Images, and display them in a user-friendly way in or beside my blog's posts editor.
So I did some research on code.google.com
I found Google's official AJAX API for Google images. But on its documentation site it says something like this:
Important: The Google Image Search API
has been officially deprecated as of
May 26, 2011. It will continue to work
as per our deprecation policy, but the
number of requests you may make per
day may be limited
I know they can restrict the number of requests I can make by my API key.But..
Can anyone tell me how exactly is this API restricted? like how much traffic or requests is allowed?
Is it possible to use this API to develop a Wordpress plugin that everyone else can use?
I am looking for a web service kind of like Google Analytics.
Paste some javascript into your web page and if any of the links there become invalid, hey presto, an email is sent to someone telling them which link, which page etc etc has the incorrect link.
Anyone heard of such a service?
This would slow the page loading down a lot if it had to check for broken links every time someone visited it (basically a http request for every link). Not that it isn't possible, but the implementation would have to be very very good.
Javascript cannot send emails, you would have to use ajax to post the details to another page that would then email the admin. As this is all client side, it is very open to abuse.
I would suggest using a program to do it every now and again. There are even Firefox extensions to do it rather than a program. Google will also list a whole host of websites offering the service.