I have a site built in AngularJS. Most of the dynamically-loaded content comes from a Wordpress back-end that is separate from the AngularJS site. In fact, it's a completely different domain and we do not want the public going to any of its un-styled pages/posts/media/etc. Thus, in the Wordpress settings, we've checked the search engine visibility setting to "Discourage search engines from indexing this site"
Now, if I try to fetch and render one of the pages from our AngularJS site, Google Search Console is blocking/not rendering any of the content coming from that Wordpress site.
Can anyone help find a solution to getting Google to render this AJAX content? Once again, the Wordpress is only supposed to be a "back-end" and we DO NOT want people visiting any of its URLS. We just want to fetch the data from that back-end and render it on our AngularJS site.
Please let me know if you have any possible solutions, advice, etc.
Thank you so much!
Google needs to be able to fetch the content from the WordPress site to be able to render the pages from your Angular.js site. Checking the "Discourage search engines from indexing this site" disallows crawling in the site's robots.txt file. This prevents Googlebot from fetching the content, even when called from another domain.
Instead, you want to allow Googlebot to fetch the content but tell it about the preferred URL where it can be viewed. You can use a meta rel canonical tag on each page of the WordPress site to point Googlebot to the corresponding page on the Angular.js site. For example,
wordpress.example.com/some-page might have the tag
<link rel="canonical" href="http://angular.example.com/#some-page" />