Jump to content
Sign in to follow this  
malainhocf

Problemas com Jquery e SEO

Recommended Posts

malainhocf

Olá a todos, boa tarde,

Venho aqui com um problema que me parece grave.

O problema é JQUERY e SEO.

Vejam o seguinte website

http://www.cev.org.pt

O que eu tentei fazer:

Tentei fazer com que a div conteudo recebesse o conteudo do arquivo carregar.php mediante o menu que aponta para o arquivo carregar.php com um id.

A cada vez que se clique numa opção do menu a div conteudo é carregada com o arquivo carregar.php que por sua vez carrega outros arquivos com o conteúdo do site.

Problema:

O problema é que quando faço visualizar do código fonte da pagina a div conteudo fica vazia, sem conteudo.

Isso gera um problema de SEO.

Porque o que faz o site subir nos motores de busca é o conteudo.

E neste momento o site é como se não tivesse conteúdo

Existe uma forma de resolver o problema ?

Cumprimentos

César Oliveira

http://www.profissionalweb.net/blogue/'>http://www.profissionalweb.net/blogue/

Denunciar ao Moderador  62.169.67.134

Cumprimentos

Cesar Oliveira

Desenvolvo websites e aplicações web

http://www.profissionalweb.net

Share this post


Link to post
Share on other sites
mjamado

Não podes ter (só) AJAX e SEO ao mesmo tempo.

Tens de construir o site de forma a que quem chegue sem JavaScript activo (onde se incluem os spiders) consiga ter a mesma experiência de utilização do que os outros. Isso passa por teres links para as páginas, em vez de carregamentos dinâmicos, e apenas usar estes para quem tenha JS activo.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Share this post


Link to post
Share on other sites
ruimcosta

O mjamado tem razao. O teu site deverá funcionar normalmente sem a utilização de jquery. Ou seja, tens de ter os links <a href="index.php">inicio</a> e restantes. Tudo a funcionar "normalmente".

O jquery deverá ser uma camada superior que se sobrepõe ao funcionamento "normal" e faz aqueles "efeitos" de ir buscar os conteúdos sem fazer o refresh, etc...


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
malainhocf

Mas se eu configuro os links como se não houvesse jquery ai perco aquele efeito de carregar as paginas sem reload da pagina

Como resolver isso ? Manter a pagina como se não tivesse jquery e ao mesmo tempo ter jquery carregando a pagina sem fazer reload

Como resolver esse problema ?

Share this post


Link to post
Share on other sites
scorch

Depois adicionas JavaScript que, se estiver activo, vai desactivar os links e fazer antes os loads por AJAX e jQuery. :)


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
malainhocf

Acho que percebi a ideia

Não sei se vou conseguir por em prática

Vou ver

Share this post


Link to post
Share on other sites
malainhocf

Não funciona

O meu código js é o seguinte:

//função que vai carregar os links (paginaUrl) e manda o html para o objecto desejado (container)
function getPagina(paginaUrl, container) {
	$.ajax({
	type: 'GET',
	cache: false,
	dataType: "text",

	scriptCharset : 'utf-8',
		url: paginaUrl,
		success: function(data) {
			$('#'+container).html(data);
		},
		error: function(request, status, error) {
			alert(status + " - "+ error);
		}
	});
}

//Código a ser executado quando o documento estiver aberto
$(document).ready(function() {
//Logo ao iniciar o documento é carregada uma página.
	getPagina('carregar.php','conteudo');

	$("a.link").live('click', function(event) {
		getPagina($(this).attr("href"), "conteudo"); //vai buscar o atributo href (que contem o link) e dispara a função de carregamento

		event.preventDefault(); //esta linha evita que o link seja tratado pelo browser
	});
});

Qual será o problema ?

O que está a acontecer é que parece que carrega uma pagina dentro da outra

O que fazer ?

o index.php chama o carregar.php dentro da div conteudo

Obrigado

Share this post


Link to post
Share on other sites
malainhocf

Qual é a solução para o meu problema do jquery sem que o site fique sem conteudo para quem tiver desligado o JavaScript ?

Obrigado.

Share this post


Link to post
Share on other sites
malainhocf

Eu pus o meu código e disse que não estava a funcionar.

Que aparecia como se fosse uma pagina dentro da outra.

Provavelmente tenho que fazer alguma alteração ao código jquery.

Share this post


Link to post
Share on other sites
ruimcosta

Biba,

Depois de tudo o que foi dito, posso dizer-te por onde começas a resolver o teu problema:

<ul id="menu">
<li><a href="index.php">Inicio</a></li>
<li><a href="http://www.sapo.pt">Sapo</a></li>
<li><a href="http://www.google.pt">Google</a></li>
<li><a href="http://www.bing.com">Bing</a></li>
</ul>

Transforma o teu menu em algo deste género sem recurso  a jquery. Quando tiveres isto pronto, tratas da camada de jquery que irá contornar o comportamento normal dos links em html e fazer com que ao clicares, apareça o conteudo do link na div que desejas sem necessidade de refresh.


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
malainhocf

Olá RuiMCosta,

Eu já pus o menu como se não houvesse jquery

O código jquery que eu coloquei aqui no site tem que ser alterado ?

Share this post


Link to post
Share on other sites
ruimcosta

Coloca aí o html e o jquery é o que está aqui por cima?

Dá algum erro?


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
malainhocf

o html é o seguinte:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>CEV - Centro Espírito de Verdade | Centro Espírita, Espiritismo</title>
    <meta name="resource-type" content="document" />
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta name="copyright" content="CEV - Centro Espírito de Verdade" />
    <meta name="author" content="CEV - Centro Espírito de Verdade" />
    <meta name="robots" content="all" />
    <meta name="Description" content="CEV - Centro Espírito de Verdade" />
    <meta name="keywords" content="CEV, Centro Espírito de Verdade, Centro Espírita, ADEP, espiritismo, Doutrina Espirita, Espíritos, Allan Kardec, Alma, Reencarnação, Medium, Mediuns, Fenómenos, Filosofia, Ciência, Etica, Moral" />
    <meta name="distribution" content="Global" />
    <meta name="rating" content="General, internet" />
    <meta name="DC.title" content="CEV - Centro Espírito de Verdade" />

    <style type="text/css" media="screen">
        @import url("css/estilos.css");
    </style>

    <link rel="shortcut icon" href="imagens/cev.ico" type="image/x-icon" />

<!-- Histats.com  START  (standard)-->
<script type="text/javascript">document.write(unescape("%3Cscript src=%27http://s10.histats.com/js15.js%27 type=%27text/javascript%27%3E%3C/script%3E"));</script>
<a href="http://www.histats.com" target="_blank" title="web counter free" ><script  type="text/javascript" >
try {Histats.start(1,1384495,4,0,0,0,"00000000");
Histats.track_hits();} catch(err){};
</script></a>
<noscript><a href="http://www.histats.com" target="_blank"><img  src="http://sstatic1.histats.com/0.gif?1384495&101" alt="web counter free" border="0"></a></noscript>
<!-- Histats.com  END  -->

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" type="text/javascript"></script>

<script src="/js/principal.js" type="text/javascript"></script>

<script src="/js/forms.js" type="text/javascript"></script>

</head>
<body>
<div id="max-container">

<div id="pagina">

    <div id="cabecalho">

        <?php include 'cabecalho.php'; ?>

    </div>



    <div id="menu">

        <?php include 'menu.php'; ?>

    </div>



    <div id="mostraimagens">

        <?php include 'imagens.php'; ?>

    </div>



    <div id="conteudo">
        <?php include 'carregar.php'; ?>
    </div>

    <div id="rodape">

    	<?php include 'rodape.php'; ?>

    </div>
</div>

</div>

</body>
</html>

O principal.js é o código que eu tenho ai em cima

O menu já está como se não houvesse Jquery

Qual será o problema ?

Obrigado

Share this post


Link to post
Share on other sites
ruimcosta

O problema é que eu queria ver o codigo html do menu.php....


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
malainhocf

O código do menu é exactamente tipo isso o que tu falaste

O menu já está direitinho como se não houvesse Jquery

Olha, acabei de tirar o jquery

Vê o site a funcionar sem Jquery

http://www.cev.org.pt

O problema está resolvido sem Jquey

O problema é quando eu incluo o js.

Mas se quiseres o código do menu é o seguinte:

<div id="menu">

        <ul id="menu"><li id="inicio"><a class="link" href="index.php?idpagina=1&l=pt#Inicio">Inicio</a> </li><li id="cev"><a class="link" href="index.php?idpagina=2&l=pt#CEV">CEV</a> </li><li id="espiritismo"><a class="link" href="index.php?idpagina=3&l=pt#Espiritismo">Espiritismo</a> </li><li id="questoes"><a class="link" href="index.php?idpagina=4&l=pt#Questões">Questões</a> </li><li id="links"><a class="link" href="index.php?idpagina=5&l=pt#Links">Links</a> </li><li id="download"><a class="link" href="index.php?idpagina=6&l=pt#Download">Download</a> </li><li id="multimedia"><a class="link" href="index.php?idpagina=7&l=pt#Multimedia">Multimedia</a> </li><li id="newsletter"><a class="link" href="index.php?idpagina=8&l=pt#Newsletter">Newsletter</a> </li><li id="lvisitas"><a class="link" href="index.php?idpagina=9&l=pt#L. Visitas">L. Visitas</a> </li></ul>

</div>

O menu está direitinho e a funcionar sem Jquery.

Share this post


Link to post
Share on other sites
ruimcosta

Ve este exemplo:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.4.2");
</script>
<ul id="menu">
    <li><a href="index.php">Inicio</a></li>
    <li><a href="index.php?pag=empresa">Empresa</a></li>
    <li><a href="index.php?pag=noticias">Noticias</a></li>
    <li><a href="index.php?pag=contactos">Contactos</a></li>
</ul>
<div id="conteudo"></div>
<script>
$(document).ready(function() {
    $("#menu li a").click(function(e){
        e.preventDefault();
        
        var url     = $(this).attr("href");
        var tamanho = url.length;
        var igual   = url.indexOf("=");

        if( igual > 0 ){
            url = url.substr(igual + 1,tamanho - igual);

            $.post(
                url + ".php",
                function(data) {
                    $("#corpo").empty().html(data);
                }
            );
        }      
    }); 
});
</script


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
ruimcosta

Já tinha esse exemplo pronto antes de colocares o html do menu.

O código que tens, dá algum erro?Estas a utilizar que browser: IE? FF? Opera? Chrome?

Se tens o FF, instala a extensão Firebug.


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
malainhocf

Dá erro em todas os browsers

Não dá um erro de programação

Não fica é como deve ser

Fica como se fosse uma pagina dentro da outra

Parece que dentro da div conteudo ele carrega o site todo.

Fica uma confusão.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.