elcsat Posted February 13, 2013 at 01:20 AM Report #495060 Posted February 13, 2013 at 01:20 AM boa noite, desenvolvi um site a base de ajax, e tenho bastantes urls com o example.com/teste/!#qualquer_coisa, e já as inserir no meu sitemap os links todos, mas ele não ta a indexar as páginas. Não posso mudar o sistema, tenho que o manter e ajax, contenho nas metadatas, <meta name="fragment" content="!" /> o que devo fazer mais?? obrigado.
clera Posted February 13, 2013 at 12:24 PM Report #495097 Posted February 13, 2013 at 12:24 PM boas, vê-lá se isto não te dá jeito.. http://www.dynamicdrive.com/forums/showthread.php?64206-Making-AJAX-Applications-Crawlable-using-PHP-and-jQuery já tens a parte do $_GET['_escaped_fragment_']; ? pode ser disso, ou então simplesmente as spiders ainda não foram lá cheirar o site 😛
elcsat Posted February 13, 2013 at 01:32 PM Author Report #495110 Posted February 13, 2013 at 01:32 PM boas, por acaso não tenho a parte do $_GET['_escaped_fragment_']; pensei que isso poderia ser opcional, tenho muitos resultados retornados em json e depois e que sao tratados e geridos o html. se calhar e por causa disso, vou ter que alterar um pouco a estrutura do site. dava mais jeito a gestão feita assim como ta, do que usar o $_GET['_escaped_fragment_']; tenho que usar exactamente esse nome nos pedidos de ajax _escaped_fragment_??? existe alguma solução em vez de ler o pedido de ajax, ler o resultado retornado e colocado na pagina?? obrigado já sei, como vou resolver, vou adicionar umas linhas no htaccess que me redeccione sempre para o mesmo ficheiro o crawler, e retorno cada resultado necessário do ajax directo. obrigado
clera Posted February 13, 2013 at 02:53 PM Report #495122 Posted February 13, 2013 at 02:53 PM nos pedidos de ajax é indiferente.. o que acontece é que quando as spiders vão ao teu site não é usado javascript, eles só vêm o que o servidor devolve, e para tal substituem o "#!" do teu url por ?_escaped_fragment_= o mais simples é fazeres o parser do json em php que te devolve uma div com o conteúdo certinho, por exemplo ... <body> <?php $hash_frag = $_GET['_escaped_fragment_']; if(isset($hash_frag)) { include('ajaxcrawl.php'); echo getcontent($hash_frag); } ?> </body> </html> se não for a spider, então o javascript funciona e já podes atualizar a tua página à vontade com os pedidos normais de ajax.. depois depende um pouco do que queres fazer, mas o php pode-te continuar a fazer devolver HTML e vais só mudando algumas partes com o innerHTML ou fazendo append aos teus elementos.
elcsat Posted February 13, 2013 at 03:16 PM Author Report #495129 Posted February 13, 2013 at 03:16 PM sim já tou a tratar de fazer essa parte.
elcsat Posted February 13, 2013 at 03:27 PM Author Report #495132 Posted February 13, 2013 at 03:27 PM já agora sabes me dizer isto do htaccess. Para já tenho este código RewriteEngine on RewriteRule !\.(js|ico|txt|gif|jpg|png|css|jpeg|swf|html|htm|xml)$ default.php e agora quero criar uma regra, do que for do crawler ir parar ao ficheiro crawl.php, acho que é assim mas não ta a funcionar RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$ RewriteRule ^$ /crawl.php$1 [L] podia implementar o código no default.php, e criar lá as condições, mas preferia separar os ficheiros directamente no htaccess
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now