Hot answers tagged

12

Several other search engines (Bing, Yandex, etc.) still use the _escaped_fragment_ system. They're not going to stop using it overnight just because Google has. Thus, if you care about your site being indexable by search engines other than Google, you may want to still support this scheme. Certainly, if you already have set up support for ...


8

The best option is to have a noscript fallback to regular pagination. The search engine will pick up on the links in the noscript section and index those pages. This has the added benefit that anyone browsing your site without JavaScript enabled will get a better user experience.


7

Many people appear to have this problem on Godaddy hosting and Godaddy have told one complainant this It is possible that when the error is occurring that it is triggering the Mod_sec of the hosting account. In the current hosting account type that you have it isn't possible for us to disable that function for security reasons. We do have hosting ...


7

Hash bang URLs are most definitely deprecated. Wix (a popular web site builder) is probably one of the biggest facilitators of getting people stuck in them. The problem comes into play when you can never give a 301 Redirect for a hash bang URL from your end. Meaning that once you dig into using those types of URLs, changing sites/urls to somewhere else ...


6

PushState can be used in SEO friendly ways. Google's Matt Cutts even recommends it compared to hash bang AJAX crawl syntax: http://www.seroundtable.com/google-ajax-pushstate-vs-hashbang-16464.html One technique that works well is: Put normal URIs in the <a href=""> links Have JavaScript that intercepts clicks and loads content via AJAX and then ...


5

This is a very common problem faced these days. This can be easily solved as follows: If you want to have same page /pets but also drive /pets/cats, /pets/dog to index separately, then ideally they should exist separately i.e. if opened by a http client with a separate url they should respond independently. Also the content populated via ajax or via ...


4

User Gracey says in this Google Product Forum: You can use ads for more than one pub-ID on a website, however, you are still restricted to a total of 3 adsense ad units and 3 adsense links units on any page (not 3 for each pub-ID, 3 in total). Here is another Google Product Forum where user i4c claims: Google states "Publishers are permitted to place ...


4

You can't server-side redirect from http://www.example.com/#!page1 to http://www.example.com/#!page2 because the server doesn't see the fragment ("#!page1"). For AJAX-crawling, you'd need to redirect from the old crawlable URL to the new displayed URL, which will ultimately result in the new crawlable URL being crawled. So in short: 301 redirect from http://...


4

I would put the Ajax function into robots.txt: Disallow: /somepage/AjaxFunction.aspx That will prevent Google from crawling it. Google doesn't typically index URLs it can't crawl. It will only index them if they are linked prominently, especially numerous external links. Even if Google does index the URL, it won't index the content of the URL. Google ...


4

Googlebot and other spiders can process some JavaScript, though it is true that having the content you want indexed in the underlying HTML is always best. One way to verify whether Easycomment's content is indexed is to look for other sites that have Easycomment installed, then do a site:example.com search for those sites. You can even test on your own site ...


4

I just tried setting up the default form submission trigger in a client's GMB container and was having the same problem. After a little digging around in Preview mode, I came up with the following solution: Create a second Form Submission trigger and select "Some Forms" under "This trigger fires on". Then set it to fire on submissions where the Click URL ...


3

I think that you may be interested in this article: Design AJAX-powered sites for accessibility. It's a very basic article, but it should give you some pointers about what to do and what not to do. AJAX should be used to improve the experience on specific pages and elements of the site, but not to build a whole site. For the user perspective, it's a bad ...


3

According to Google, you should list your AJAX URLs in a sitemap exactly as you say you've done: "4. Consider updating your Sitemap to list the new AJAX URLs Crawlers use Sitemaps to complement their discovery crawl. Your Sitemap should include the version of your URLs that you'd prefer to have displayed in search results, so in most cases it would be ...


3

Even though hashbangs #! are still supported, Google suggests steering away from using them and just use the History API to change the URL. Libraries like History.js make it easy to do so. This basically removes your problem altogether, there's no need to set up urls with _escaped_fragment_ when using the History API


3

I have found a way to do exactly what I want. It is nicely documented by google: When your site adopts the AJAX crawling scheme, the Google crawler will crawl every hash fragment URL it encounters. If you have hash fragment URLs that should not be crawled, we suggest that you add a regular expression directive to your robots.txt file. For example, ...


3

Googlebot only performs POST requests under very limited circumstances where it is believed by the Googlebot that it is safe and appropriate. Google takes precautions to avoid performing tasks on a site that could result in executing an unintended user action and Google making POST requests is for crawling purposes only to index what the end user would see. ...


3

Do not add X-Robots-Tag "noindex" in the AJAX function. That may block the main html page. We thought it would be a good idea, we did it in a project and what happened is that the AJAX portion of the page affected to the "mother" HTML page and Google considers that we are giving a "noindex" header to the mother page. This is the result in our GSC. Of ...


3

How to achieve SEO for XHTML pages which load data in DOM using a JQuery-AJAX service calls? You can load any data with Ajax call. For example, this site changes the title of all pages (it could be a meta tag too) with JavaScript and Google indexes them correctly. This site uses the "escaped URL fragments" method to be indexed. Edit: if you ...


3

Today Google can Crawl your AJAXed content Today, as long as you're not blocking Googlebot from crawling your JavaScript or CSS files, we are generally able to render and understand your web pages like modern browsers. But it recommends following the principles of progressive enhancement. https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-...


3

Googlebot does not interact with the page like a user. It does not click on anything. It does not scroll. If content is loaded into the page when users click, Google is not going to index it as part of that page. However, Googlebot still may find AJAX content to which users have to click. That is because Googlebot scans the page source, the rendered ...


2

You can create URI's for each AJAX load by playing with location.hash and then you can allow these URL's to be indexed in search engines. Learn how to manipulate location.hash. Edit Yes, linking out is important, to authoritative sites that will aid and benefit your readers. This normally works better contextually however. It really depends on exactly what ...


2

If you are using the pagination with basic reloading then it will automatically crawl by search engines(then it should have different URLs for each page). When you are using AJAX to load more content to the same page then above case will not work, but you can use an alternatives like dynamically change the URL with AJAX (without # append to the URL because ...


2

The appropriate way to do this is to use the the rel=canonical attribute on your page. This will identify one source URL for your content. For example: <link rel="canonical" href="http://blog.example.com/dresses/green-dresses-are-awesome" /> Google acknowledges this issue in a write up found here: https://support.google.com/webmasters/answer/139066?...


2

Apart from the comments from Zistoloen and John Conde, the first thing to do is test yourself the situation. Replicate the situation and environment reported by the users to see if the problem happens to you. If you can't replicate completely the environment, at least try to do it as close as you can. Test the load of the site in many browsers, preferably ...


2

Not all duplicate content is considered "bad" or "wrong" and not all of it is penalized by search engines. There is an in depth answer about that aspect at: What is duplicate content and how can I avoid being penalized for it on my site? You mention that one reason that the content is duplicated is because the same products are sold in multiple countries ...


2

It works. I have used it recently. But I would not be surprised if there are regular expressions that validate the URL input and does not allow some normally non-URL valid characters such as #!. Yes, you can argue these are valid characters to use, but probably not when the fetch as Google was written. At least under normal circumstances. It may not have ...


2

See Point #4 under "Transformation of the URL" in Google's crawlable AJAX documentation If a page has no hash fragments, but contains <meta name="fragment" content="!"> in the <head> of the HTML, the crawler will transform the URL of this page from domain[:port]/path to domain[:port]/path?_escaped_fragment= (or domain[:port]/path?queryparams ...


2

When in doubt, use rel="canonical". This could be as simple as putting <link rel="canonical" href="http://blog.example.com/dresses/green-dresses-are-awesome" /> in your <head>. See Google for more info. This won't keep bots from crawling both "versions", but it will tell Google (and other SERPs) to only index the canonical document.


2

For the #! style AJAX URLs you need to provide Googlebot with: A list of hash bang URLs -- These are the URLs that it will refer users to The corresponding hunk of content served at the _escaped_fragment equivalent For more information see https://developers.google.com/webmasters/ajax-crawling/


Only top voted, non community-wiki answers of a minimum length are eligible