JQuery en SEO vriendelijk?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marvin H

Marvin H

22/03/2013 11:09:29
Quote Anchor link
Goedemorgen,

Ik vraag me af hoe je het beste een dynamische website met Jquery SEO vriendelijk kan maken? Ik gebruik Jquery om bepaalde content in een DIV te laden en Google indexeert geen javascript...

Ik heb al wat info op Google proberen te zoeken, echter niet echt een oplossing hiervoor gevonden.
Voorbeeld van hoe ik dynamic content aanroep in de DIV #content:

HTML link die wordt opgevangen door javascript:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="#disclaimer">Disclaimer</a>


Javascript; ik maak gebruik van hashchange, zodat browser history nog werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
$(function(){  
    $(window).hashchange( function(){
        var hash = location.hash;
        var loadurl = ( hash.replace( /^#/, '' ) || 'blank' );
            
        if(loadurl == 'blank'){
            window.location="http://www.abc.nl/";
        }
        else{
            $('#content').load(loadurl);
        }
    });
});
 
PHP hulp

PHP hulp

20/04/2024 12:16:30
 
Tim S

Tim S

22/03/2013 12:57:23
Quote Anchor link
Ik denk dat je moet kijken hoe dit bij ajax wordt gedaan:

https://developers.google.com/webmasters/ajax-crawling/
 
Marvin H

Marvin H

22/03/2013 14:56:20
Quote Anchor link
@Tim: Bedankt, via hier ben ik tot de volgende oplossing gekomen :)

Een search bot gebruikt geen javascript, dus ik moet bepalen of er een searchbot op mijn pagina komt, of een bezoeker. Dit doe ik door eerst in javascript een cookie aan te maken, indien deze is aangemaakt is het dus een bezoeker gezien javascript actief is. In dit geval roep ik alle pagina's aan via Jquery.
Indien er geen cookie bestaat include ik de data.php handmatig in de content div, zodat de betreffende pagina alsnog wordt aangeroepen... langleve '_escaped_fragment_'

In de META plaats ik nu
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<meta name="fragment" content="!" />


Javascript code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var name = 'jscheck';
var value = 'true';
var days = '7';
if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    var expires = "; expires=" + date.toGMTString();
}
document.cookie = name + "=" + value + expires + "; path=/";

var escapedHash;
function findHash() {
    if(window.location.hash) {

        escapedHash = window.location.hash.replace("#!", "");

        $.get("../data.php?_escaped_fragment_=" + escapedHash, function(data) {
            $("#content").html(data);
        });
    }
    else{
        $.get("../data.php", function(data) {
            $("#content").html(data);
        });        
    }
}

$(document).ready(function() {
    findHash();
});

$(window).bind('hashchange', function() {
    findHash();
});



Mijn URLS voor dynamische content roep ik nu zo aan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<a href="#!disclaimer">Disclaimer</a>
<a href="#!privacy">Privacy</a>
<a href="#!sitemap">Sitemap</a>



HTML code DIV 'content':
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<div id="content">
    <?php
        if (!isset($_COOKIE["jscheck"])){
            include "data.php";
        }

    ?>

</div>



Data.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    $hash_frag
= $_GET['_escaped_fragment_'];
    
    if(isset($hash_frag)) {
        include $hash_frag.".php";
    }

    else{
        include "main.php";
    }

?>


Dit lijkt me een juiste manier toch? of moet het anders?
 
Mark Hogeveen

Mark Hogeveen

22/03/2013 15:44:56
Quote Anchor link
Wat ik wel altijd zo jammer vind is dat als iemand je website bezoekt, en javascript uit heeft staan (weet niet waarom, maar oke). Dan werkt je site niet of niet goed.
Ik krijg altijd de neiging om javascript niet te gebruiken voor navigatie. Maar wel voor bijvoorbeeld een effect of iets minder belangrijks.
Waarom gebruik je eigenlijk javascript, in plaats van dat je gewoon GET variabele gebruikt en de pagina met PHP laadt?
 
Tim S

Tim S

22/03/2013 17:59:26
Quote Anchor link
@harry
Als je als gebruiker javascript hebt uitstaan weet je zelf ook wel dat een site niet of minder goed werkt.

@marvin
Als het werkt zou ik het gewoon zo laten, alleen zou je kunnen overwegen om de content via ajax te laden.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.