Moeten alle pagina's die bekeken kunnen worden in de root directory staan?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jo Immanuel

Jo Immanuel

23/03/2016 11:02:22
Quote Anchor link
Ik maak een voetbalwebsite. Nu heb ik een vraag:

Moeten alle pagina's die bekeken kunnen worden in de root directory staan?

Context: Elke speler, club, wedstrijd uit de database krijgt zijn eigen pagina die bezoekers kunnen bekijken. Eigenlijk zijn alle spelerpagina's, alle clubpaginas en alle wedstrijdpaginas hetzelfde. Enige verschil is het ID (uit de database) bovenaan de pagina.

Nu heb ik voor de overzichtelijkheid de spelerpagina's in een spelersmapje gezet, de clubpaginas in een clubclubmapje, enz. Alleen krijg ik dan opeens reference errors en doen sommige functionaliteiten het niet meer. Alsof jquery opeens niet goed meer werkt (terwijl in de code de links wel zijn geupdate).
Komt dit omdat de spelerspagina niet meer in de root directory staat maar in een subdirectory?
En meer in zijn algemeenheid: moeten alle pagina's die bekeken kunnen worden in de root directory staan? En zo ja, krijg je dan niet enorm/te veel bestanden in de rootdirectory?

PS: ik wil wegens SEO niet slechts drie pagina's: 1 spelerpagina, 1 clubpagina en 1 wedstrijdpagina.
 
PHP hulp

PHP hulp

04/12/2024 20:36:07
 
- Ariën  -
Beheerder

- Ariën -

23/03/2016 11:57:49
Quote Anchor link
Ja, alles wat maar publiekelijk staat hoort in de web-root.
 
- SanThe -

- SanThe -

23/03/2016 12:02:28
Quote Anchor link
- Ariën - op 23/03/2016 11:57:49:
Ja, alles wat maar publiekelijk staat hoort in de web-root.


En uiteraard mogen daar ook mappen in staan.
 
Jo Immanuel

Jo Immanuel

23/03/2016 12:09:25
Quote Anchor link
- Ariën - op 23/03/2016 11:57:49:
Ja, alles wat maar publiekelijk staat hoort in de web-root.


Ok. Dank voor je antwoord.

En is het dan geen probleem dat er gigantisch veel paginas in de web-root komen te staan?

Ik bedoel: elke club 30 spelers. 18 clubs per competitie. 9 x 34 wedstrijden per comepetitie per seizoen. Als je dan voor elke speler, club, wedstrijd etc een aparte pagina in de root directory hebt staan, dan krijg je een map met naar verloop van tijd potentieel enorm veel bestanden. Dat is dan geen probleem?
 
- Ariën  -
Beheerder

- Ariën -

23/03/2016 12:24:46
Quote Anchor link
Opsich niet, maar waarom zou je voor elke speler, club en seizoen een aparte pagina maken? Dit is namelijk data die je prima in een database kan opslaan, en met URL-parameters (GET) kan ophalen en filteren.
 
Jo Immanuel

Jo Immanuel

23/03/2016 12:38:21
Quote Anchor link
- Ariën - op 23/03/2016 12:24:46:
Opsich niet, maar waarom zou je voor elke speler, club en seizoen een aparte pagina maken? Dit is namelijk data die je prima in een database kan opslaan, en met URL-parameters (GET) kan ophalen en filteren.


OK

Om antwoord te geven op je vraag: ik dacht dat een aparte pagina voor iedere speler, iedere club, iedere wedstrijd beter is voor SEO. Of is dit niet zo?

Eigenlijk heb ik 3 sjabloonpaginas: voor speler, club en wedstrijd. Alleen maak ik nu voor elke speler,club en wedstrijd een aparte pagina aan. Dit is gewoon 1 van de 3 sjabloonpaginas met bovenaan die pagina de spelerID, clubID of wedstrijdID uit de database.
Gewijzigd op 23/03/2016 13:16:50 door Jo Immanuel
 
Thomas van den Heuvel

Thomas van den Heuvel

23/03/2016 14:59:17
Quote Anchor link
Ik denk dat hier een aantal zaken door elkaar lopen.

Allereerst moeten we eerst een duidelijke definitie hebben van wat een "aparte pagina" is.

Onder een "aparte pagina" wordt in het algemeen waarschijnlijk bedoeld "een webpagina die via een zekere URL bereikbaar is". Het omgekeerde moet eigenlijk ook gelden: heb je een pagina met url A en een pagina met url B, dan zouden dit geen duplicaten van elkaar mogen zijn, oftewel de inhoud zou moeten verschillen.

Webpagina's zijn wat de webserver serveert, maar dit zegt NIETS over de interne organisatie van jouw bestanden of code. Ik neem aan dat je PHP gebruikt? Alle pagina's kunnen best geserveerd worden door één script, maar dit resulteert dus wel in "aparte pagina's" die via verschillende URL's worden geserveerd.

Wat bedoel je met het aanmaken van een aparte pagina? Bedoel je hiermee dat je script-bestanden dupliceert? Dat lijkt mij terug in de tijd gaan.

Als je op dit moment 3 scripts hebt, zeg speler.php, club.php en wedstrijd.php, dan is het mogelijk voor een zoekmachine lastig om hier onderscheid tussen te maken, maar tegenwoordig wordt hier waarschijnlijk meer rekening mee gehouden dan vroeger. Desalniettemin zegt een gebruiker "speler.php?id=41" niet zoveel.

Wat je dus waarschijnlijk mist is een soort van tussenlaag waarbij een zoekmachine-vriendelijke URL wordt "doorgezet" naar een script. Bijvoorbeeld www.jouwwebsite.nl/clubs/psv wordt intern doorgezet naar club.php?naam=psv of wat dan ook. Dit proces wordt ook wel URL rewriting genoemd.

En dan over de pagina's die in de root directory zouden moeten staan. Het staat op voorhand niet meer vast dat een URL één-op-één correspondeert met een HTML of PHP bestand op de server, dus deze hoeven niet dezelfde directory-indeling te volgen.

Als je in de problemen komt met verwijzingen naar JavaScript en CSS bestanden wanneer je sjablonen in subdirectories zet, dan klinkt het alsof je relatieve verwijzingen naar deze bestanden gebruikt. Dit kun je op twee manieren oplossen:
1. definieer een vast uitgangspunt met een <base href="..."> tag in je <head> (vervolgens mogen alle andere verwijzingen relatief blijven), of
2. maak alle verwijzigen absoluut, oftewel, voorzie deze van absolute (complete) URL's in plaats van relatieve

Oh ja, op het moment dat je je bronbestanden gaat knippen en plakken om een zeker doel te bereiken ben je vrijwel zeker verkeerd bezig.
 
Jo Immanuel

Jo Immanuel

23/03/2016 16:25:30
Quote Anchor link
Thomas van den Heuvel op 23/03/2016 14:59:17:
Ik denk dat hier een aantal zaken door elkaar lopen.

Allereerst moeten we eerst een duidelijke definitie hebben van wat een "aparte pagina" is.

Onder een "aparte pagina" wordt in het algemeen waarschijnlijk bedoeld "een webpagina die via een zekere URL bereikbaar is". Het omgekeerde moet eigenlijk ook gelden: heb je een pagina met url A en een pagina met url B, dan zouden dit geen duplicaten van elkaar mogen zijn, oftewel de inhoud zou moeten verschillen.

Webpagina's zijn wat de webserver serveert, maar dit zegt NIETS over de interne organisatie van jouw bestanden of code. Ik neem aan dat je PHP gebruikt? Alle pagina's kunnen best geserveerd worden door één script, maar dit resulteert dus wel in "aparte pagina's" die via verschillende URL's worden geserveerd.

Wat bedoel je met het aanmaken van een aparte pagina? Bedoel je hiermee dat je script-bestanden dupliceert? Dat lijkt mij terug in de tijd gaan.

Als je op dit moment 3 scripts hebt, zeg speler.php, club.php en wedstrijd.php, dan is het mogelijk voor een zoekmachine lastig om hier onderscheid tussen te maken, maar tegenwoordig wordt hier waarschijnlijk meer rekening mee gehouden dan vroeger. Desalniettemin zegt een gebruiker "speler.php?id=41" niet zoveel.

Wat je dus waarschijnlijk mist is een soort van tussenlaag waarbij een zoekmachine-vriendelijke URL wordt "doorgezet" naar een script. Bijvoorbeeld www.jouwwebsite.nl/clubs/psv wordt intern doorgezet naar club.php?naam=psv of wat dan ook. Dit proces wordt ook wel URL rewriting genoemd.

En dan over de pagina's die in de root directory zouden moeten staan. Het staat op voorhand niet meer vast dat een URL één-op-één correspondeert met een HTML of PHP bestand op de server, dus deze hoeven niet dezelfde directory-indeling te volgen.

Als je in de problemen komt met verwijzingen naar JavaScript en CSS bestanden wanneer je sjablonen in subdirectories zet, dan klinkt het alsof je relatieve verwijzingen naar deze bestanden gebruikt. Dit kun je op twee manieren oplossen:
1. definieer een vast uitgangspunt met een <base href="..."> tag in je <head> (vervolgens mogen alle andere verwijzingen relatief blijven), of
2. maak alle verwijzigen absoluut, oftewel, voorzie deze van absolute (complete) URL's in plaats van relatieve

Oh ja, op het moment dat je je bronbestanden gaat knippen en plakken om een zeker doel te bereiken ben je vrijwel zeker verkeerd bezig.



Bedankt voor je uitgebreide antwoord Thomas!

Dus als ik een algemene sjaboloonpagina voor clubs in de root directory zet (of ergens anders) en elke keer als deze pagina benaderd wordt er een clubID wordt meegegeven om zo de juiste clubpagina weer te geven, dan ziet de indexeringsmachine (i.v.m. SEO) verschillende clubpagina's niet als 1 pagina, maar als aparte pagina's (voor elke club 1) ALS ik gebuik maar van zoekmachine-vriendelijke URL's en URL-rewriting ???

Als dat zo is, dan ga ik niet meer voor elke speler, club en wedstrijd een aparte pagina aanmaken, maar ga ik alleen nog maar gebruik maken van 'sjabloon'-paginas in de root directory. Dat kan alleen maar voordelig zijn vor deo onderhoudbaarheid en de overzichtelijkheid.
 
Thomas van den Heuvel

Thomas van den Heuvel

23/03/2016 17:58:07
Quote Anchor link
Een zoekmachine kan aan de "buitenkant" niet zien hoe jouw site technisch is opgebouwd, en dat is voor de zoekmachine ook niet relevant.

Ik denk dat je niet moet denken in termen van directories maar meer hoe je de pagina's (idealiter) zou willen noemen. De "directories" in een URL hoeven namelijk helemaal niet "fysiek" te bestaan op de webserver. Dit ondervangt je URL rewriting ook. Je hebt hier zelf de controle hoe externe verzoeken (/club/psv) vertaald worden naar interne aanroepen (/maakt/niet/uit/welke/directory/club.php?naam=psv).
En hoe je dit technisch voor elkaar krijgt kan ook nog op verschillende manieren. Maar hier zal een zoekmachine aan de buitenkant helemaal niets van weten en niets van merken.

Daarbij zul je door een zoekmachine (en ook door menselijke bezoekrs) beter gewaardeerd worden als pagina's bereikbaar zijn via /club/psv en /club/ajax in plaats van /club.php?id=2 en /club.php?id=3.

Zodra je sjabloonpagina's (wat dit ook moge zijn) gaat knippen en plakken wordt het steeds lastiger om een fatsoenlijke administratie te houden van je website inderdaad.
 



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.