Off Screen Rendering & Other Tactics
-
Hi Folks,
We're currently trying to change our website search results to render in HTML in the first instance then switch off to AJAX when our user clicks on filters. But we came across an issue that diminishes the user experience, so we used this method below:
We have moved the search grid offscreen in the initial rendering because we execute a lot of Javascript that modifies the DOM within the grid. Also when a user has performed a search from within the page, the hash is updated to identify the new search terms. Because this is not sent to the server, a user who has done a search and refreshes would see incorrect search results initially and the correct search results would then replace them.
For example, on initial search a user reaches a URL akin to search.veer.com/chicken. When they perform a search from on that page, the hash gets updated tosearch.veer.com/chicken#keyword=monkey. If the user refreshes the page, the server only receives the request for chicken and then serves up the page with those results rendered on it. The Javascript then checks the hash and determines that it needs to run a different search and fires off an AJAX call to get the new results.
If we did not render the results offscreen the user would see the results for chicken (confusingly) and be able to briefly interact with them until the AJAX call returns and the results are replaced with the correct monkey results. By rendering offscreen, the initial results are not visible and the Javascript can move them immediately onscreen if there is no hash, or wait until the AJAX call returns and then rebuild the grid and move it onscreen.
Now I know that rendering text indent to -9999 is a black hat SEO tactic. But, would it be the same in this case? We're only doing this avoid bad UI. Please advise.
Also, we came across these two articles that may serve alternative options. These article state that each tactic is SEO-friendly, but I'd like to run it my the community and see if you guys agree.
http://joshblog.net/2007/08/03/make-your-rich-internet-application-seo-friendly/
http://www.inqbation.com/tools-to-increase-accessibility-in-the-web/
Thank you for your help!
-
Hi Cyrus,
Thanks for your note. So, if the subsequent links are not indexed by Google (via site command) would that be a sure way to know that the links are not getting followed through by Google?
Here's a sample:
http://search.veer.com/food is indexed and in the cache version you can see the image links and the text links below. However in the text version the same links are not visible. Now, I did a site command on the first image - http://marketplace.veer.com/stock-photo/Man-shopping-in-vegetable-department-FAN9018482?slot=01&pg=1&skeywords=search&stermids=1115 and http://marketplace.veer.com/stock-photo/Man-shopping-in-vegetable-department-FAN9018482 to ensure that all possible URL variations are covered. It looks like both links are not indexed. This leads to a conclusion that the links are not getting followed.
Please let me know if you agree. Thanks!
-
This is a grey area, but if they list the links in the text version, they are probably following those links. And if they follow them, they will follow the links on the next page, as long as that page has sufficient PageRank to justify it. So the answer is... maybe.
-
Thanks for your input. I'm learning a lot!
It's interesting because I see the links in the cache version, but not in the text version. Which version is the one I should go with in terms of ensuring that the links are found and crawled through?
Also if they aren't passing PR, anchor text weighting, and other good stuff, does it mean that they can't crawl through to the subsequent pages?
Thank you!
-
It's sort of a trick question, because we know that Google doesn't always list the non-html links it finds in the text only version of it's cache. In fact, it hardly ever does. I think the reason is that Google is still inconsistent about the type of javascript and other types of links it discovers, and so they probably record these links for discovery purposes, but they most likely don't pass much value.
So if Lynx sees the links, it's likely Google does too and is simply not reporting them. That said, if the links aren't listed in Google's cache, it's also more likely those links aren't passing the same value as a regular link (metrics such as pagerank, anchor text weighting, etc)
So we end up in this grey area - it's likely Google is seeing the links, we just don't know how much they are using those links in their ranking algorithms.
-
Hi Cyrus,
I've DL'ed the Lynx browser and compared the browser to the Google Cache Text Version of this page - http://search.veer.com/food. I got two different results - Lynx can definitely see the links in the search results, but Google Text Version is not seeing them. Could it be possible that Lynx browser is different from what Google sees? Or is it that Google Text Version is no longer a valid SEO tool/reference? Please let me know what you think.
Thank you!
-
Hi Folks,
We'd greatly appreciate it if we can get some development expertise regarding the proposed method in the original post in addition to the follow up articles. Does anyone have feedback regarding these? Thank you for your help!
-Corbis
-
Hi Cyrus,
Thanks for your response, we really appreciate it. All of the issues you mentioned are getting addressed in the near future. The reason why the search results pages are not getting index is because they have "noindex" tags on the pages. This is getting addressed as well.
What Lynx browser do you recommend?
Thank you!
-
First of all, let me start with the disclaimer that I'm not an expert in all these areas of technology (AJAX and offscreen rendering) but let me offer my 2 cents.
Google's quality guidelines state that no text should ever be hidden from the user, so in general I recommend against it. In reality, it's actually pretty common - and a lot of webmasters commonly justify CSS image replacement and other techniques using this line of argument > but in general I prefer to always play it safe.
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=66353
That said, I'm more concerned about other areas of your site, specifically that search results are rendered on their own subdomain, while product images are served from another separate subdomain. Splitting the domain authority like this is most likely hurting the ability of your products to rank.
I couldn't find a cached version of your search results, (probably because of the server no cache control) but it appears all the search results depend on JavaScript to render. At least, when I view the page with JavaScript turned off (using the MozBar) I get an empty page.
Also, how are the search results getting crawled? I see a few links to search results on the homepage and /product/images/ page. On the product pages themselves, I see links to search results like this:
http://search.veer.com/?termonly=1&searchTerm=2647 - which I actually think is a brilliant way to get those search results crawled, but I assume that URLs is identical to http://search.veer.com/childhood? Also, the related keywords disappear when I turn off javascript?!
So, I might be worried that big G isn't crawling your search results pages that much at all, which if true, sorta makes the point moot.
Like I said, I'm not expert in this field, so take everything I say with a grain of salt. If you're goal is to get better crawling/indexing of your product pages through Google crawling your search results,
- I'd do an audit of your site with all javascript turned off, or
- Use a text browser such as Lynx to examine your site
- check your server logs to see how often google is visiting your search results,
- See if there is another way to get better indexing of you product pages (related image links, etc)
- Make sure link juice is flowing through your site appropriately through html text links.
Hope this helps! Best of luck with your SEO.
-
Hi Cesar,
Thanks for the input. Greatly appreciate it.
In this case, we're not trying to serve different content for Google vs. our users. Rather, we're trying to make sure that the links in our internal search results are indexed by Google without hindering user experience. Google will see the same links as the users. It's just that users will experience an AJAX rendering instead of static HTML rendering. Would this still make it Black Hat SEO?
Also, any comment on the two articles?
Thank you for your help!
-
"Now I know that rendering text indent to -9999 is a black hat SEO tactic. But, would it be the same in this case? We're only doing this avoid bad UI. Please advise. "
I would definitely stay away from this one personally. This was and is a huge Black Hat practice. If Google sees it different than the user then stay away from it.
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Website Redesign & Ensuring Minimal Traffic/Rankings Lost
Hi there, We have undergone a website redesign (mycompany.com) and our site is ready to go live however the new website is built on a different platform so all of our blog pages will not be copied over - to avoid a large web developer expense. So our intention is to then leave all the blog pages as (on the old web design) but move it to the domain blog.mycompany.com with 301 redirects inserted on mycompany.com for each blog post pointing to the corresponding blog.mycompany.com. Is there anything else we should do to ensure minimal traffic/rankings are lost? Thank you so much for your help.
Web Design | | amitbroide0 -
NO Meta description pulling through in SERP with react website - Requesting Indexing & Submitting to Google with no luck
Hi there, A year ago I launched a website using react, which has caused Google to not read my meta descriptions. I've submitted the sitemap and there was no change in the SERP. Then, I tried "Fetch and Render" and request indexing for the homepage, which did work, however I have over 300 pages and I can't do that for every one. I have requested a fetch, render and index for "this url and linked pages," and while Google's cache has updated, the SERP listing has not. I looked in the Index Coverage report for the new GSC and it says the urls and valid and indexable, and yet there's still no meta description. I realize that Google doesn't have to index all pages, and that Google may not also take your meta description, but I want to make sure I do my due diligence in making the website crawlable. My main questions are: If Google didn't reindex ANYTHING when I submitted the sitemap, what might be wrong with my sitemap? Is submitting each url manually bad, and if so, why? Am I simply jumping the gun since it's only been a week since I requested indexing for the main url and all the linked urls? Any other suggestions?
Web Design | | DigitalMarketingSEO1 -
AMP vs Responsive Design? Mobile SEO
Hello !! We are developing a new website with responsive design. As is recommended, the idea would be to have a unique site for mobile and desktop, with same content and same url for both devices, using responsive design to adapt the layout depending on the device. My doubt in here is about the AMP pages? If my website has responsive design, perfectly optimized for mobile do I need somehow AMP pages? As far as I understand, these amp pages would be useful if I had different pages for mobile, but this is not the case. Am I correct or am I missing something? Thanks for your help :
Web Design | | AutoEurope1 -
Show new mobile site to 60% users & old mobile site to 40% users
Hi, We are planning to show new mobile site to 60% users & old mobile site to 40% users. We will show the old site to google crawler. Our old site has some interlinking through footer & content whereas the new site does not has it. We wanted to do this since our new site does not supports some browsers. Will there be an issue with Google on showing the site like this. The mobile site & desktop site will have same url across devices & browsers. Regards
Web Design | | vivekrathore0 -
AJAX & JQuery Tabs: Indexation & Navigation
Hi I've two questions about indexing Tabs. 1. Let's say I have tabs, or an accordion that is triggered with Jquery. That means that all HTML is accessible and indexed by search engines. But let's say a search query is relevant to the content in Tab#3, while Tab#1 is the one that's open by default. Is there any way that Tab#3 would be open directly if it's more relevant to the search query? 2. AJAX Tabs: We have pages that have Tabs triggered by AJAX (example: http://www.swisscom.ch/en/residential/help/loesung/entfernen-sie-sim-lock.html). I'm wondering about the current best practice. Google recommends HTML Snapshots. A newer SEOMoz Article talks about pushState(). What's the way to go here? Or in other words: How to get Tabs & Accordion content indexed and allow users to navigate directly to it?
Web Design | | zeepartner0 -
Competitive Analysis: Links & Keywords
I'm noticing that for some key local search terms our company is not ranking in SERPs as I would expect considering it's size relative to the local sites that are ranking. I subscribed to SEOmoz to get a better understanding of what's going on, and haven't figured it out yet. Our site is higher in almost every metric than the sites we're competing with, but our competition consistently ranks higher in organic results for industry standard keywords. The few metrics we're being outranked in are, "Linking C Blocks" and "Page MozTrust" (we're very close to the leader in MozTrust). Are these two metrics enough to account for our companies poor SERP performance or do I need to be paying attention to something else?
Web Design | | thinkWebstoreSEO0 -
3 Products & 50 Options each, How does Google handle product variant or options?
We are selling furnace filter and we might move our existing store host by BigCommerce to Americommerce or Corecommerce. Before moving the store, I have a questions about our online store structure. We are selling 3 different furnace filters, GOLD, SILVER and BRONZE Series. Each furnace filter come in about 50 different sizes, for a total of about 150 different products. The way our store is setup now, it is 150 different product, 150 different URL, 150 different page name... The way it is setup now, might look like duplicate content. All the product page are the same, all the pictures are the same, the only thing that change, is the furnace filter size in the product description. Look at those pages for example: http://www.furnacefilterscanada.com/20x20x4-Furnace-Filters/ http://www.furnacefilterscanada.com/categories/2-Inches-Thick-Filters/10x20x2-inches/ http://www.furnacefilterscanada.com/categories/2-Inches-Thick-Filters/16x25x2-inches/ Would it be better to only have 3 products and 50 variables or size options? What would be the best structure in a SEO point of view? One thing we have to keep in mind, when searching for a furnace filter, shooper will use keywords like: 16x25x4 furnace filter filter 20x20x1 air furnace filter 10x20x1 furnace filter 24x24x4 canada furnace filter Most of the Google search will included the filter size_._ How does Google handle product variant or options_?_ If I have 3 products, I will have only 3 URL and 3 different page name. I know for the shoppers, 3 products with sizes options might provide a better experience, but what about Google ranking the products? What is opinion the best online store structure in our case? Thank you for your help, preciouse time and support. BigBlaze www.furnacefilterscanada.com/
Web Design | | BigBlaze2050 -
How to serve a Mobile & Full Site using one URL?
Hello, Does anyone know of any resources or tutorials that outline how to serve a smartphone-formatted website using the same URL as the full site? I know that one solution is using media-queries to serve a seperate CSS stylesheet, but you still have the full HTML source code. In other words, I might want to serve a smartphone & desktop user different content, but under one URL. WP Touch (Wordpress Plugin) is a perfect example of what I mean, but how is it technically achieved? It serves two different sets of HTML for smartphone & full, but using one URL http://www.bravenewcode.com/store/plugins/wptouch-pro/
Web Design | | petecampbell-bmi0