Geplaatst op 21 maart 2009 15:50 door Theo in Webdesignen
Bij statische URLs wordt vaak de titel opgenomen. Er dienen hierbij echter rekening gehouden te worden met bepaalde eisen en stijlregels.
Zoals eerder beschreven op dit blog kunnen websites een statische URL of een dynamische URL hebben. Bij het maken van een statische URL wordt meestal de titel van het artikel ook opgenomen in de URL.
Hiervoor kunnen verschillende redenen zijn:
Kort geleden heeft Matt Cutts in een korte video uitleg gegeven over het gebruik van keywords in de URL. Hij merkte hierbij onder andere op dat keywords in de URL "een beetje helpen" maar dat je er voor moet oppassen dat het er "niet gaat uitzien als spam". Een belangrijk punt in het voorkomen van een spam-look is het goed omzetten van de titel voor het gebruik in de URL.
De titel is normaal gesproken het achterste deel van de URL, bijvoorbeeld het deel 'checklist-mijn-website-is-stuk' in deze URL: http://www.tweepixels.nl/blog/2009/02/checklist-mijn-website-is-stuk. Je kunt echter niet zomaar de titel van je artikel in de URL plakken. Aan een URL zitten namelijk diverse eisen en stijlregels:
Bovenstaande eisen en stijlregels kunnen behaald worden door een combinatie van PHP functies. Dit proces zal nu stap voor stap in volgorde worden beschreven.
// Eerst een titel om mee te testen
$titel = 'Uit de enquête bleek dat één appel voldoende is!';
// Verwijder eerst eventuele spaties aan het begin of het einde van de titel (trim)
$titel_2 = trim($titel);
// Vervang de letters met accenten (in ons voorbeeld de ê en de é) door de letter zonder accent (normaliza door Sidney Ricardo)
$titel_3 = normaliza($titel_2);
// Vervang alle spaties door streepjes (str_replace)
$titel_4 = str_replace(' ', '-', $titel_3);
// Vervang meerdere streepjes op rij door één streepje (preg_replace)
$titel_5 = preg_replace('/\\-\\-+/', '-', $titel_4);
// Verwijder alle tekens die niet gewenst zijn (preg_replace)
$titel_6 = preg_replace('/[^a-zA-Z0-9\\-]/', '', $titel_5);
// Vervang alle hoofdletters door kleine letters (strtolower)
$titel_7 = strtolower($titel_6);
Op deze manier nemen de stappen veel regels code in beslag. Het is echter ook mogelijk om alles op één regel achter elkaar te zetten. De code wordt dan als volgt:
$titel = strtolower(preg_replace('/[^a-zA-Z0-9\\-]/', '', preg_replace('/\\-\\-+/', '-', str_replace(' ', '-', normaliza(trim($titel))))));
Door mijn nieuwe website heb ik er vele nieuwe klanten bij.
Arno Ramaker | Administratie
Berlagelaan 253
1222 JV Hilversum
tel. 035 - 626 73 70
kvk 32120424