I've got a large collection of pages on my site, each with unique content, but also with often redundant sidebar surrounding that content. I'm worried that this sidebar content is dragging down my site in Google, Bind, etc by diluting the results. What can I do to effectively hide this content from web spiders, but not my users?
Thanks!
It's just my gesture, but Google is smart enough to find out where is a navigation element and where are the content.
However, there might be various reasons why your website loosing positions. I would start from reading this help tipic, also keep in mind that Google search results are dynamic and once you reached first position does not guaranty that you would stay there, someone might just providing more unique content that match current subject and he would be pushed up.
If you want to make sure that search engines are aware about your document structure, and point them out what is what use microdata markup.
For example you can wrap a navigation in following format:
<ul itemscope itemtype="http://schema.org/SiteNavigationElement">
<li>
Home
</li>
...
</ul>
There after, your navigation items would appear in:
Google Webmaster Tools > Optimization > Structured Data
Also, by hiding your content with AJAX/JavaScript is more likely to harm your visitors who have disabled JavaScript or due to possible error in your library and in fact Google can understand and index asynchronous requests.
One thing you can do is not include it in the page mark-up and to load it in after page load using AJAX.
The sidebar won't affect your SEO efforts as it isn't duplicate content. Site navigation is expected to be on every page (and it is obviously very common). Duplicate content, from a search engine point of view, is when the page's primary content is identical or nearly identical, to another page's content.
A better solution would be to move your content to the top of the page and your navigation code down the bottom. Reposition stuff with CSS.
Otherwise, Ajax or put text into images.
Related
I'm not sure I've asked that question correctly, but hear me out...
In my main navigation I am calling a number of my links via fancybox.ajax, which then displays a separate page (ie. clicking on a link entitled 'INFO' opens info.php within Fancybox).
This is working, but I also see examples where people use a hidden div.
This question is helpful, explains things from an SEO standpoint, and has caused me to rethink my structure. The question is why would I want to contain my data in a separate page rather than a hidden div, and what benefits does it bring me? I'll note that I am currently using separate pages because I believed that was a good practice, but after reading that question I have been turned.
EDIT : I understand why I would use a separate page without a modal obviously...but I am specifically asking about not using hidden divs with a modal box
If you are calling those external pages via link, then Google follows the links regardless whether they are opened in a modal box or not. If you have javascript disabled those pages still will open. So
<a class="fancybox" href="info.php" rel="help">INFO</a>
... is a perfect valid structure from the SEO point of view. How the information will be shown to the visitor, in the same window, in a new tab or in a modal window is a matter of presentation.
Curiously, you could have a hidden <div> and open the contents of such in a modal window, but as mentioned by #zachary, having hidden content may affect the performance of your page load.
NOTICE that in this case we are talking about displaying "linked" content in a modal box, which is different than pulling the content dynamically via any ajax method (jQuery .load() or $.ajax() for instance) ... that definitively has effects from the SEO point of view because Google won't see the contents and the contents actually won't show up at all if the visitor has javascript disabled.
The Case for AJAX Modals
Pros
Easier to manage and organize in some setups
Markup is clean
Great for when working with a lot of data that takes time to load. Lazy loading in this way makes the app feel responsive.
Cons
Google does not crawl content (can be a pro in some cases)
Slower to render compared to hidden div
In most cases you want the hidden div. And if not, a function to render the content dynamically.
I am using various online services to create pages for our site and would like to use iframes for including pages in each other (for example header and footer blocks). I have a lot of blocks of content that I need to repeat across landing pages so using this mechanism is convenient.
Will this cause a problem for search engines visiting our site or for our ranking?
Thanks
B
Yes, of course. Try to avoid using iframes as much as possible.
In your case you may use, include or require functions. For example, if you use PHP:
<?php include('header.html') ?>
Update
If you cannot use PHP or alternatives, consider including HTML inside HTML
It certainly won't help your page in the SEO stakes. It shouldn't penalise you for the iframe per se but you will have a lot of your page content ignored by google. If the iframed content contains your header and footer links, google will ignore them which is a big no no.
Is this practice widespread in existing pages?
If the site runs on a number of html files with iframes and you have no way to use php you might be best served by simply putting the header and footer html in the static html and doing a large scale find and replace whenever you need to change the header or footer.
You are working within the constraints of quite old techniques and competing with people who are able to SEO their sites using modern techniques so if SEO is that important you should sort out the way you build pages or do it the long, hard way.
Yes, the search engines essentially ignore what's inside them. That's unfortunate especially if you have keyword rich content within the iframe. Additionally the overall page will have less content in the eyes of the search engines. Always try to serve up the content you want searched in the presentation layer. Avoid placing text, links, images etc. in the behavior layer as that too is hidden from search engines.
SEOmoz's blogs are a good place to learn http://www.seomoz.org/blog
While not optimal iframes can be used to serve up link heavy or SEO irrelevant content keeping the primary page lighter and more search engine structured, in other words, less diluted.
If the portions of your site in the iframe are essential to navigation or search engine spidering they should be avoided at all costs.
It is also important to note that if you do use iframes for content you should block the search engine from spidering those pages by using a robots.txt. Even if your pages are w3 validated they will appear broken to visotrs landing there via a SERP since the page will only include a small portion of the site markup.
On a site such as http://failblog.org/, there are a bunch of photos with content around them. Whenever failblog uploads a new photo, it pushes the bottom photo of the first page onto the second page, and the bottom of the second onto the third, etc. How can I do this? I want to have a section of HTML (such as the contents of a <div>) automatically wrap onto multiple pages, and everything not inside the section will repeat. (As on failblog.org). Thank you.
Ok, you have 2 options.
Server-Side Only
You need something called pagination to occur- when there is too much content to display on one page, server-side code can create virtual "pages" for each page of content to display.
This can't be solved with HTML, Javascript, or CSS, this depends on the server-side language (such as PHP, Ruby, Python, etc) that you are working with.
AJAX
If you want to flip through content, though on the same page, then you might consider looking at a jQuery plugin that can do that for you. Here's a list of plugins that look like they might suit your needs.
How can I hide a specific <div> from Google?
Is there any other solution than using javascript to insert this element?
I read about <!-- googleoff: index--> here, but I'm not sure it does what I want.
The problem is that the div I'm trying to hide can be seen as duplicate content by Google, and even if it hides it from the search results, I think it still penalizes you...
You can put the data in separate file, load it using iframe and block google spider from this file using robots.txt.
Apart from dynamically inserting the text into a page in a way that will only occur on a browser (as you mention, javascript would be the weapon of choice), not really.
You could hide the whole page using the correct robots.txt entry, but that doesn't seem to be what you are trying to achieve. This could work if the page contains only the text you want to hide and you insert it as an IFrame.
I don't know the specifics of what you are trying to hide, so this may or may not be ideal. However, one option that might work for some scenarios would be to convert the content you are trying to hide from the search engines to an image.
I would like to know the best practices concerning the usage of a drop-down menu in my website along with search engine optimization. Currently, the content of the menu uses almost 50% of the HTML code, but doesn't describe at all the real content of the page.
Should I move my menu at the end of the HTML code and replace it visually at the top using CSS? What is the best thing to do?
My website is http://www.meow.fr, you can check the HTML code there.
JavaScript and Drop Down Menus
It is best to keep things simple. Search engines still do not read JavaScript very well. If your site navigation is based on JavaScript, it will be difficult to get all of your pages indexed. If the decorative drops down type menus are important to you, always provide a back up of plain text links.
In strict terms, your dropdown DOES reflect the real content of your page because it's on that page. You could try moving it lower down with CSS but the SEO effects of this are likely to be negligible. Only testing & waiting & seeing can really tell.
A bigger problem for your page might be mixing English and French content. Ranking may suffer because of this.
Two more important things for that page:
1 - Your page title and H1 aren't anything anyone will search for ("Back in Dali"). A descriptive title such as "Trip to Dali" or "Photos from Dali" would be better.
2 - Add alt texts to your images (not too long) to boost relevant keyword-rich content.