Optimaliseren van Drupal

Voor deze blog gebruik ik de open source software Drupal. Dit is een erg mooie CMS, lekker makkelijk en je kunt er alles mee, maar het is niet echt zoekmachine vriendelijk. Drupal maakt namelijk behoorlijk wat duplicated content aan.

Op deze blog staan er bijvoorbeeld alleen blogposts op de index pagina. Maar ga je naar de /blog pagina in het menu dan krijg je exact dezelfde webpagina als de index. En dat is dus niet de bedoeling. Ik heb dus met pijn in mijn hart de /blog pagina die nog in het menu staat ook moeten blokkeren in de robots.txt.

Verder is iedere blogpost en ieder artikel automatisch een node pagina, zoals dat in Drupal genoemd wordt. Maar aangezien ik iedere pagina een mooie beschrijvende url meegeef krijgt dus iedere pagina ook nog een node duplicaat. Waardoor de /node directory ook gedisallowed kan worden.

Verder kom ik dan meteen op het eerste probleem. De pagina navigatie onderaan verwijst automatisch naar node?p=$. Dat is nou kut! Want die is nou net gedisallowed in de robots.txt. Maar om dit meteen even mooi op te lossen heb ik, met behulp van wat Netters als oplossing gaf, het scriptje van Netters even aangepast naar dit:


ob_start();

$data = ob_get_contents();
$data = str_replace('/blogpagina/','/blogpagina/',$data);
$data = str_replace('/blogpagina/','/blogpagina/',$data);

ob_end_clean();

echo $data;
?>

Hiernaast heb ik in de .htaccess file het volgende gezet:

RewriteEngine on
RewriteRule ^blogpagina/(.+) index.php?q=node&page=$1

Zet dit wel boven de regel
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Maargoed, ook op de blog pagina wordt er gelinkt naar blog?p= (die ook gedisallowed is) dus die staat hierboven in het script er ook meteen bij.

Verder zijn er nog de printbare versies van de artikelen die (neem ik aan) exact hetzelfde zijn als de artikelen zelf. En de link naar de comments die hetzelfde is als de link naar het hele verhaal. Meer hierover op Netters.

Hiermee heb je de duplicate content waarvan ik afweet wel weg gewerkt.