WordPress-structuur. Instructies voor beginners over de WordPress-bestandsstructuur. Bestandsstructuur van paginasjablonen

Sites die op de WordPress-engine zijn gemaakt, hebben een speciale structuur die verschilt van de structuur

Wanneer ze voor het eerst kennis maken met website-ontwikkeling, praten ze meestal over de hiërarchische structuur van de site. De essentie ervan is dat de hele site uit vele pagina's bestaat, de pagina's worden gecombineerd in secties, die op hun beurt weer grotere secties vormen, enz. Het menusysteem met meerdere niveaus komt ook overeen met dit systeem voor het plaatsen van materialen. Deze structuur van sites is vergelijkbaar met de bestandsstructuur van een computer en is daarom vertrouwd en begrijpelijk.

De structuur van het plaatsen van materiaal op de WordPress-engine, die wordt gebruikt om de meeste ervan te maken, is niet hiërarchisch, maar netwerkgebaseerd, dus op het eerste gezicht niet duidelijk. Dit kan een beginnende webmaster tot op zekere hoogte ontmoedigen om het WordPress CMS te gebruiken.

Daarom is het nodig om te begrijpen hoe een WordPress-site werkt.

Als je trouwens wilt leren hoe je websites en blogs kunt maken met het CMS WordPress, en met een uniek ontwerp, kun je het beste de cursus volgen "Een unieke site vanaf nul." Via onderstaande link kunt u kennis met hem maken.

Unieke website vanaf nul

Er zijn drie hoofdgebieden in de structuur van elke website:

  1. Externe structuur. Het toont ons het uiterlijk van de pagina, de plaatsing van individuele elementen en blokken ten opzichte van elkaar.
  2. Interne structuur, dat wil zeggen de structuur van verbindingen tussen de afzonderlijke materialen die de inhoud vormen.
  3. Een bestandsstructuur die de relatie weergeeft tussen de bestanden waaruit de hele site bestaat.

Hoe ziet een WordPress-site eruit?

Er moet meteen worden opgemerkt dat dit afhangt van de keuze van de sjabloon. Er zijn een groot aantal van dergelijke sjablonen en sites kunnen natuurlijk enorm van elkaar verschillen. Maar er zijn ook gemeenschappelijke kenmerken waar we op zullen letten. Deze site kan als voorbeeld worden genomen.

Bovenaan de pagina staat meestal koptekst. Het kan de naam van de site, het logo, de slogan, soms een zoekbalk en knoppen voor sociale netwerken bevatten.

Onder de koptekst, en soms eronder, bevindt zich meestal het hoofdmenu.

Onderaan de pagina zien we kelder. Het kan service-informatie bevatten. Bijvoorbeeld over de auteurs van de site, auteursrechten. Soms vind je social media-knoppen, enkele navigatie-elementen, etc.

In het middelste gedeelte van de pagina vindt u een feed met berichten en zijkolom (zijbalk).

Berichten (post)– het grootste deel van een WordPress-site. Ze bevatten de belangrijkste inhoud, waarover de maker van de site zijn bezoekers wilde vertellen.

Elke nieuwe vermelding verschijnt bovenaan de feed, de oude vallen eronder. U kunt slechts een beperkt aantal vermeldingen op een pagina zien, bijvoorbeeld tien. Andere vermeldingen zijn toegankelijk via de betreffende navigatieknoppen. Een ander kenmerk van de berichtfeed is dat we op de hoofdpagina meestal niet het hele bericht zien, maar alleen de eerste alinea’s. Hierdoor kunt u gemakkelijker het artikel selecteren dat u nodig heeft. Maar dit geldt al voor de interne structuur van de site.

Naast de berichtfeed bevindt de inhoud zich ook op permanente pagina's die niet veranderen of verplaatsen. Dergelijke pagina's bevatten meestal informatie over de auteur, over de site, sitemap, contactgegevens, enz.

Aan de zijkant van de tape zit zijkolom (zijbalk). Er kunnen ook verschillende opties zijn op de locatie. De zijbalk kan zich links of rechts bevinden, er kunnen er een of twee zijn.

Bijvoorbeeld sjabloon Bewonderd, gebruikt op deze site, stelt u in staat de volgende lay-outopties voor de zijbalk te gebruiken:

De zijbalk bestaat uit afzonderlijke widgetblokken (widget). Hun aantal en locatie worden bepaald door de sitebeheerder en kunnen eenvoudig worden gewijzigd.

Laten we nu verder gaan met de interne structuur van een WordPress-site. Dit is waar de kenmerken van deze motor liggen. Het navigatiesysteem bestaat uit verschillende onderdelen.

Eerst het hoofdmenu. Dit menu brengt ons naar permanente pagina's. Er kunnen veel van dergelijke pagina's zijn, maar het menu kan ook complex zijn en uit meerdere niveaus bestaan. In dit geval hebben we een hiërarchische structuur. Maar de menu-items leiden niet naar de berichten, met uitzondering van één item dat de hoofdfeed met berichten opent.

Om door records te navigeren wordt een ander systeem gebruikt, gebaseerd op de concepten ‘categorie’ en ‘label’.

Bij het schrijven van een ander artikel is het gebonden aan een bepaalde categorie, of zelfs niet aan één, maar aan twee of drie. De zijbalk heeft een widget met een lijst met categorieën, en we kunnen artikelen selecteren die betrekking hebben op één categorie uit de volledige feed met berichten.

Bovendien krijgt elk artikel tags toegewezen: woorden die deze vermelding kenmerken. Er kunnen ook meerdere van deze tags zijn en u kunt records op tag selecteren. Tags zijn meestal zichtbaar aan het einde van elk artikel. Daarnaast wordt er vaak een ‘Tag Cloud’-widget in de zijbalk geplaatst, die alle tags toont en waarmee je artikelen kunt selecteren door op deze trefwoorden te klikken.

De externe structuur van de pagina en de structuur van de plaatsing van sitemateriaal zijn voor hen belangrijk, maar de bestandsstructuur is voor hen niet zichtbaar. Het is vooral van belang voor site-ontwikkelaars.

Kort over deze structuur. Zoals elke website bestaat een WordPress-website uit veel bestanden. Laten we naar de belangrijkste dingen kijken.

Ten eerste wordt alle inhoud afzonderlijk op de server opgeslagen in een MySQL-database.

Ten tweede bevinden de afbeeldingsbestanden zich in afzonderlijke mappen.

En ten derde worden de pagina's zelf gevormd uit afzonderlijke PHP-bestanden. Het aantal van deze bestanden kan variëren, dit is ook afhankelijk van de sjabloonkeuze, maar er zijn basisbestanden die verplicht zijn.

Om deze bestanden te zien, moet u selecteren in de WordPress-beheerconsole Verschijning? Bewerkt R. Aan de rechterkant wordt een lijst met alle WP-bestanden geopend. Bijvoorbeeld:

  • Archief
    (archief.php)

De machtigingen die zijn ingesteld voor bestanden en mappen die tot het contentmanagementsysteem van WordPress behoren, hebben een zeer ernstige impact op de veiligheid van de site. Als u de verkeerde machtigingen verstrekt, kunt u een verscheidenheid aan fouten verwachten in het functioneren van de site, of het nu een wit scherm des doods is in plaats van een pagina, of het onvermogen om afbeeldingen in de mediamap te laden. Bovendien kunnen onjuist ingestelde toegangsrechten het volledige beveiligingssysteem van de site vernietigen, waardoor deze uiterst kwetsbaar wordt voor hackeraanvallen.

WordPress heeft een duidelijk vooraf gedefinieerde mappenstructuur, waarbij de centrale mappen wp-content, wp-admin en wp-includes zijn.

Bijna alle belangrijke componenten waaruit uw website bestaat, zoals thema’s, plug-ins, enz., bevatten deze drie mappen. Tegelijkertijd hebben ze hun eigen toegangsrechten, waardoor de beheerder kan beslissen “wie” en “wat” erin kan doen. Met ‘wie’ bedoelen we hier een gebruiker die de volgende associaties heeft met bronnen:

  • Eigenaar – direct eigendom;
  • Groep – eigendom door lid te worden van een groep;
  • Anderen zijn een gebrek aan eigenaarschap en groepering.

Webservergebruikers en hun groepen

Voordat u verder gaat kijken naar de toegangsrechten in WordPress, is het raadzaam om te begrijpen wie er met de webservergebruiker wordt bedoeld, aangezien alles om hem draait. Kort gezegd is dit een regulier account dat rechten heeft om bepaalde acties op de webserver uit te voeren. Neem bijvoorbeeld het FTP-protocol voor bestandsoverdracht. Zodra u een afbeelding via FPT moet uploaden, gebruikt u het bijbehorende account.

Maar een FTP-account is alleen nodig als je iets rechtstreeks naar de server moet uploaden, en wat als je bijvoorbeeld moet inloggen op het admin-paneel? In dit geval komt een webgebruikersaccount in beeld, waarmee u een WordPress-site kunt beheren, plug-ins en thema's kunt installeren, afbeeldingen kunt uploaden via de multimediamanager, enz. Het is namens hem dat er nieuwe bestanden worden aangemaakt wanneer u deze dingen in uw beheerdersdashboard doet.

Elke individuele gebruiker kan ook lid zijn van een groep die zijn eigen rechten heeft. Omdat ze op iedereen in de groep van toepassing zijn, zijn ze de beste manier om bevoegdheden aan een specifieke bron toe te wijzen en deze onder alle leden te delen.

Sommige webhosts, meestal gebaseerd op Cpanel, maken geen onderscheid tussen accounts. Er zijn echter ook hosts waarop dit soort gebruikers verschillend zijn, ook al behoren ze tot dezelfde groep. Dankzij het bestaan ​​van verschillende soorten gebruikers heeft u de mogelijkheid om de juiste toegangscontroles voor uw site in te stellen.

Machtigingen voor acties op WordPress-bestanden

Elke bron in WordPress is gekoppeld aan een specifieke reeks gespecificeerde waarden die bepalen wat de gebruiker ermee kan doen. Er zijn drie acties die we kunnen uitvoeren met een specifieke bron: lezen, schrijven (of wijzigen) en uitvoeren. Voor elke resource kunt u opgeven welke van deze acties kunnen worden uitgevoerd door de eigenaar, de groep en anderen. We hebben dus drie bits nodig (één voor elke actie) voor elke associatie, voor een totaal van 9 bits. Daarom wordt de resolutie een getal van drie cijfers, bijvoorbeeld 664, waarin:

  • 6 – acties voor de eigenaar;
  • 6 – acties voor de groep;
  • 4 – acties voor andere typen.

Tegelijkertijd bepaalt elke waarde van deze getallen alle mogelijkheden die dit type gebruiker heeft. In het geval van de 664 is 6 alleen lezen-schrijven en 4 alleen-lezen.

Catalogi

Directory's kunnen, net als de bestanden zelf, ook onderworpen zijn aan bepaalde toegangsrechten. Ze lijken erg op elkaar, maar hebben toch enkele verschillen, zoals:

  • Lezen – bekijk de inhoud van de map;
  • Schrijven – maak nieuwe en verwijder bestaande (in dit geval zijn de rechten voor de map van toepassing op alles wat deze bevat);
  • Uitvoeren – voer mappen in (bijvoorbeeld met behulp van een commando in de terminal).

Het instellen van de juiste beperkingen is van cruciaal belang omdat het om beveiliging gaat, en niet alleen om WordPress-functionaliteit. Neem bijvoorbeeld config.php, het is raadzaam om deze op een harde limiet van 600 (alleen-lezen) in te stellen. Ervan uitgaande dat zijn machtigingen zijn ingesteld op 666, kan iedereen de configuratie van uw site zien en wijzigen, wat betekent dat hij deze gemakkelijk kan breken of kwetsbaar kan maken voor externe bedreigingen.

Actiemachtigingen in WordPress-mappen wijzigen

Het cpanel van uw hosting biedt een interface waarmee u elk toegangsniveau voor opgeslagen bronnen kunt instellen. Meestal kunt u dit doen door eenvoudigweg een specifiek bestand te selecteren en op “Machtigingen wijzigen” te klikken. Als je met een terminal te maken hebt, is het gemakkelijker om het speciale chmod-commando te gebruiken. Het ziet er zo uit: chmod 644

Nu we de basisconcepten al hebben behandeld, kunnen we direct doorgaan met het instellen van machtigingen voor WordPress-bronnen. Ze kunnen verschillend zijn, afhankelijk van het gewenste niveau van beveiliging en gebruiksgemak. Sommigen maken ze harder, terwijl anderen ze te zacht maken. In deze kwestie is het belangrijkste om de grootste veiligheid te bereiken zonder obstakels te creëren voor de normale werking van WordPress. Over het algemeen wordt aanbevolen om het volgende te doen:

  • Stel alle bestanden in op 664;
  • Voor alle mappen 775;
  • wp-config.php mag slechts 600 zijn.

Dit is wat er gebeurt:

  • Accounts kunnen bestanden lezen en wijzigen;
  • De engine zelf kan alle bestanden maken, wijzigen of verwijderen;
  • wp-config.php zal volledig beschermd zijn tegen nieuwsgierige blikken.

Houd er rekening mee dat, in tegenstelling tot de standaard WordPress-configuratie, een bepaalde server strenger kan zijn dan andere en u niet toestaat 600 in te stellen op wp-config.php. Maar je kunt hem een ​​zachtere 640 geven, en als dat niet werkt, dan zelfs 644.

Over het algemeen is het het veiligst om alles op alleen-lezen te zetten. Op deze manier wordt het voor hackers erg moeilijk om kwaadaardige scripts op uw site te laden of bestaande scripts te wijzigen. Dit zal de reikwijdte van eventuele aanvallen aanzienlijk verkleinen. Als u echter absoluut alles op alleen-lezen instelt, kunnen er enkele bruikbaarheidsproblemen optreden.

U kunt bijvoorbeeld geen mediabestanden meer uploaden of nieuwe plug-ins en thema's installeren. Bovendien kunnen dergelijke strikte machtigingen onder bepaalde omstandigheden tot vreemde fouten leiden bij het updaten van WordPress-plug-ins of core. Daarom zullen de aanbevolen standaardinstellingen voor de meeste doeleinden het beste werken.

Conclusie

En dus hebben we gekeken naar de belangrijke rol die machtigingen spelen voor toegang tot WordPress-bronnen. Als ze correct zijn ingesteld, kan dit de beveiligingsmaatregelen van uw site aanzienlijk versterken, anders kunt u veel problemen krijgen, waaronder zeer ernstige, zowel met de beveiliging als met de algehele prestaties van WordPress. Houd er rekening mee dat je via Htaccess ook beperkingen kunt instellen op WordPress-bronnen, maar dit zal iets ingewikkelder zijn.


Bij het werken met WordPress zal er vroeg of laat de behoefte of wens zijn om in de bestandsstructuur te kijken. We kunnen zeggen dat dit artikel een soort spiekbriefje voor beginners is over de anatomie van WP.

Als u de WordPress-bestandsstructuur in het algemeen kent en begrijpt, kunt u snel het bestand vinden dat u nodig heeft - als u bijvoorbeeld zelf wijzigingen moet aanbrengen in een WP-thema, of in een specifieker geval (zelfs als het nooit nuttig is) om het op te merken kwaadaardige indringers in de structuur van uw site.

Ga dus naar de hosting - niet naar het beheerderspaneel, maar naar de hosting, en open via Bestandsbeheer de map waarin WP is geïnstalleerd. Het vinden ervan zou niet moeilijk moeten zijn - de naam werd bepaald bij het installeren van WopdPress. Theoretisch kun je inloggen via FTP, maar ter informatie moet je dit niet doen.

De eerste plaats waar we naartoe gaan is WordPress-hoofdmap. Het screenshotfragment toont een voorbeeld van het timeweb-configuratiescherm. Qua design zie je misschien iets anders, maar de structuur zal hetzelfde zijn.

Mappen

In de regel zijn er drie mappen in de hoofdmap - wp-content, wp-includes en wp-admin, maar zoals je op de afbeelding kunt zien, kan er nog een zijn - cgi-bin - de plaats waar de cgi-scripts staan waar we nu aan denken, zullen we niet vinden.

wp-admin en wp-includes

De mappen wp-admin en wp-includes bevatten CSS-, JavaScript- en PHP-bestanden die nodig zijn voor het functioneren van WordPress. Het wordt NIET aanbevolen om deze zelf te wijzigen. Als u wilt experimenteren, vergeet dan niet kopieën te maken, zodat u een werkende versie kunt herstellen.

wp-content mapinhoud

wp-inhoud

Themabestanden worden opgeslagen in de map /wp-content/themes/. Je kunt ze bewerken, maar dit moet je niet doen, omdat na de update alle wijzigingen verloren gaan. Het is veiliger om een ​​child-thema te maken. Als u stijlen moet wijzigen, kunt u bijna altijd in het beheerderspaneel in de thema-instellingen uw eigen stijlen toevoegen. Ze zullen niet worden beïnvloed door de update en daarom zullen uw inspanningen niet tevergeefs zijn.

In de map Thema's kunt u een willekeurig aantal thema's opslaan, maar er kan er slechts één tegelijk worden geactiveerd. Standaard zijn er onnodige, u kunt ze verwijderen door eenvoudigweg de volledige bijbehorende map te verwijderen. Over het algemeen kunt u dit het beste doen nadat alle vallen en opstaan ​​is voltooid. We zullen de inhoud van de themamap in een apart artikel bekijken.

/wp-content/plugins/ slaat eventuele geïnstalleerde en geladen plug-ins op. Als ze er niet zijn, is dat geen probleem, het thema kan zonder plug-ins werken.
Het is beter om de plug-inbestanden niet aan te raken. Er kan extra code worden toegevoegd aan het function.php-bestand van het child-thema. Wees niet bang om een ​​child-thema te maken. Het is alleen de eerste keer eng. Onthoud: als er iets misgaat, kunt u altijd terugkeren naar het hoofdonderwerp en aan de fouten werken.

/wp-content/uploads/ slaat geüploade niet-tekstuele inhoud op: afbeeldingen, video's, mp3's, pdf's, enz. Standaard worden bestanden in de uploadmap gesorteerd op uploaddatum in submappen zoals: /jaar/maand/. Belangrijk punt: zorg ervoor dat u een back-up maakt van uw uploads. Veel kan heel eenvoudig vanaf de bron worden hersteld, maar het downloaden en herstellen van media-inhoud, zelfs als u kopieën heeft, zal tijd kosten. En als er geen kopieën bewaard zijn gebleven, dan is dit een echte ramp. Ja, de uploadmap wordt niet aangemaakt tijdens de installatie - deze zal er in eerste instantie niet zijn, maar wordt aangemaakt nadat u begint met het uploaden van foto's.

Er zijn ook andere mappen standaard aangemaakt in de map wp-content:

  • talen – hier zijn vertalingen voor niet-Engelstalige sites in .mo- en .po-formaat.
  • upgrade – tijdelijke map gemaakt tijdens het upgradeproces.

Veel plug-ins maken hun eigen mappen binnen wp-content. Als u bijvoorbeeld goed kijkt, ziet u in de schermafbeelding de configuratiemap voor de W3 Total Cache-plug-in – w3tc-config.

Aandacht! Als u in de hoofdmap van de site mappen ziet die verschillen van de hierboven genoemde, zelfs met de meest onschuldige namen op het eerste gezicht (zoals site, blog, forum) en u weet zeker dat u deze niet hebt gemaakt - is dit een teken dat uw site is gehackt.

Bestanden

Laten we teruggaan naar de hoofdmap en de bestanden daar bekijken:

Afhankelijk van je thema-instellingen kan dit ook het volgende omvatten:

  • robots.txt – bevat instructies voor zoekmachines
  • favicon.ico – zoals je misschien wel raadt, is dit een favicon

De hierboven genoemde bestanden zijn bedoeld om de basisbewerkingen van WordPress te ondersteunen. De belangrijkste daarvan zijn .htaccess en wp-config.php:

  • .htaccess – bevat informatie over de serverconfiguratie. Houd er rekening mee dat de punt aan het begin van de naam aangeeft dat dit een verborgen bestand is en dus zonder aanvullende instellingen mogelijk niet zichtbaar is via FTP.
  • wp-config.php – bevat WP-instellingen die niet toegankelijk zijn via de beheerdersconsole, inclusief instellingen voor de MySQL-database, geheime sleutels en informatie over het databasevoorvoegsel.

Wees heel voorzichtig bij het bewerken van wp-config.php of .htaccess. Een kleine fout kan ervoor zorgen dat de site onbruikbaar of ontoegankelijk wordt.

Advies. Voordat u wp-config.php- of .htaccess-bestanden bewerkt, moet u er kopieën van maken.

Dit bericht verzamelt informatie over de structuur van WordPress in een of andere zin. De structuur van de database en tabellen in de database - waarom ze zijn en wat erin is opgeslagen. De structuur van de mappen, welke bestanden erin staan, het doel van deze bestanden en mappen. Lijst met rollen, functies, enz.

Ik heb de informatie uit het bericht “WordPress-notities, trucs en hacks” overgedragen, dat zo sterk is gegroeid dat het moet worden opgesplitst.

  • Beheerder- absolute toegang tot het beheren van thema's, gebruikers, plug-ins, instellingen, pagina's, berichten, categorieën, opmerkingen, export-import van inhoud.
  • Editor- bewerken, creëren, verwijderen van uw eigen inhoud en die van anderen, modereren van reacties, bewerken van categorieën, verwijderen, bewerken, publiceren van uw eigen pagina's en die van anderen, berichten, uploaden van bestanden.
  • Auteur- alleen uw inhoudsrecords maken, bewerken, publiceren en verwijderen. Kan geen pagina's maken. Heeft de rechten om afbeeldingen, bestanden en alle materialen te uploaden.
  • Bijdrager- kan nieuwe inhoud toevoegen - opnemen, zonder publicatierechten. Kunnen hun concepten bewerken en verwijderen. Kan geen afbeeldingen aan een bericht toevoegen, alleen door het gebruik van HTML-code die een link naar de afbeelding bevat. Deelnemers kunnen ook vermeldingen in de console zien.
  • Abonnee- je kunt abonnees privéberichten en pagina's laten zien zonder extra plug-ins of code.

Tabelstructuur in de WordPress-database:

  • wp_commentmeta – voor metagegevens van opmerkingen
  • wp_comments – opmerkingen
  • wp_links - verouderd; slaat informatie op die is ingevoerd in de WordPress-linkssectie
  • wp_options – alles wat in het gedeelte Opties van het beheerderspaneel staat, wordt opgeslagen in deze tabel, site-instellingen
  • wp_postmeta – metadata plaatsen
  • wp_posts – berichten, pagina’s, hun revisies en navigatiepunten
    • id - berichten, pagina's, revisies
    • post_author - id van de gebruiker - de auteur.
    • post_date - postdatum
    • post_date_gmt - postdatum in GMT
    • post_content - inhoud plaatsen
    • post_title - berichttitel
    • post_uittreksel – berichtbeschrijving
    • post_status – berichtstatus: publiceren, concept, automatisch concept, overnemen
    • comment_status – "open" als reageren op een bericht is toegestaan ​​en "gesloten" als dit verboden is.
    • ping_status
    • post_password - wachtwoord voor het lezen van het bericht als het met een wachtwoord is beveiligd
    • post_name - alias van het bericht dat zal worden gebruikt in CNC-koppelingen.
    • naar_ping
    • gepingd
    • post_modified - datum van de laatste wijziging van het bericht
    • post_modified_gmt - datum van de laatste wijziging van het bericht in GMT
    • post_content_gefilterd
    • post_parent - id van het bovenliggende bericht, als er geen ouder is, dan is de waarde 0
    • guid – post-URL in de vorm http://site/?p=id voor berichten of http://site/category/test/name - voor pagina’s
    • menu_order – nul voor het bericht, paginaserienummer, gebruikt om de volgorde te bepalen waarin pagina’s worden weergegeven
    • post_type - berichttype, kan zijn: post - post, pagina - pagina, revisie - opgeslagen versie van de pagina of post, bijlage - media, bijvoorbeeld een afbeeldingspagina
    • post_mime_type
    • comment_count - aantal reacties op het bericht
  • wp_terms – bevat voornamelijk informatie over termen/taxonomieën (categorie, linkcategorie, label, menu)
    • term_id - id van de term (bijvoorbeeld categorieën)
    • naam - termnaam
    • slug - hoe de term in de link wordt geschreven
  • wp_term_relationships – relaties tussen berichten en categorieën, tags en andere taxonomieën
    • object_id - ID van bericht, link
    • term_taxonomy_id - id van een categorie of een andere taxonomieterm (categorie, linkcategorie, label)
    • term_order - gebruikt voor sorteren
  • wp_term_taxonomie – beschrijft welk type term deze of gene term is
    • term_taxonomie_id - taxonomie-id
    • term_id - term-id
    • taxonomie - taxonomietype: categorie, link_category, post_tag, nav_menu
    • parent - ouderterm, als bijvoorbeeld een categorie binnen een categorie is genest
    • count - aantal objecten (berichten, links) geassocieerd met de taxonomie
  • wp_usermeta – gebruikersrechten en aanvullende informatie over geregistreerde gebruikers
  • wp_users – alle gebruikers

Wordpress-bestandsstructuur

De hoofdmap bevat de volgende mappen en mapbestanden:

  • wp-config.php- dit php-bestand bevat de databasenaam en het wachtwoord, de codering, het tabelvoorvoegsel, de taal en de cachegrootte. U kunt vele andere parameters aan het bestand toevoegen.
  • Bestand.htaccess- een extra configuratiebestand voor de Apache-webserver, evenals vergelijkbare servers. Hiermee kunt u een groot aantal extra parameters en machtigingen voor de webserver in afzonderlijke mappen instellen.
  • wp-inclusief- WordPress-kern. Bij elke update wordt de map overschreven.
  • wp-admin- CSS-, JavaScript- en PHP-bestanden die de beheerdersconsole bieden. Bij elke update wordt de map overschreven.
  • wp-inhoud- bevat gebruikersmappen en bestaat uit mappen:
    • talen - bevat engine-vertaalbestanden in .mo- en .po-indeling
    • plug-ins - geïnstalleerde plug-ins
    • thema's- geïnstalleerde sjablonen, er moet minimaal één sjabloon zijn geïnstalleerd. Kan de volgende mappen en bestanden bevatten:
      • index.php - sjabloon voor de hoofdpagina van de site, laadt ook het zijbalkbestand. Vereist bestand, in de hoofdmap van de sjabloonmap
      • style.css - een vereist bestand, verantwoordelijk voor de CSS-stijlen van de sjabloon, in de hoofdmap van de sjabloonmap
      • header.php – bestand dat verantwoordelijk is voor het uitvoeren van gegevens in de sectie en topmenu
      • sidebar.php – het bestand is verantwoordelijk voor het genereren van zijkolommen (extra). Kortom, categorieën, tags en banners worden hier weergegeven.
      • footer.php – het bestand is verantwoordelijk voor het weergeven van de voettekst, het onderste menu, auteursrechten en sluit HTML-tags
      • single.php – is verantwoordelijk voor het weergeven van individuele berichten.
      • page.php – is verantwoordelijk voor het weergeven van individuele pagina’s (bijvoorbeeld “Contact”, “Over ons”, enz.)
      • archive.php – is verantwoordelijk voor het weergeven van de archiefpagina met records
      • categorie.php – genereert pagina's die publicaties per categorie weergeven
      • tag.php – paginasjabloon die een lijst met publicaties op tags weergeeft
      • commentaren.php – het bestand beschrijft hoe opmerkingen worden weergegeven
      • functies.php – een extra bestand met PHP-code, waarmee u bepaalde functionaliteit kunt in- of uitschakelen, toevoegen of verwijderen. Aan dit bestand wordt vaak aangepaste code toegevoegd als er iets verbeterd moet worden.
      • /css/ - deze map kan extra CSS-bestanden bevatten
      • /js/ – map met JavaScript-bestanden
      • /images/ - de map bevat afbeeldingen die in de sjabloon zijn ingebouwd
      • /talen/ - de map bevat themavertaalbestanden
    • uploads - mediabestanden: afbeeldingen, muziek, documenten, enz.

Sjabloontags in WordPress

Sjabloontags zijn PHP-functies in WordPress voor het weergeven van informatie of voor het opzetten van een blog, bijvoorbeeld wp_list_pages() - geeft een lijst met pagina's weer in de vorm van links.

In WordPress zelf worden sjabloontags beschreven in de volgende bestanden:

  • wp-includes/author-template.php - auteurgerelateerde sjabloontags
  • wp-includes/bookmark-template.php - sjabloontags geassocieerd met bladwijzers
  • wp-includes/category-template.php - sjabloontags over alle voorwaarden en taxonomie, inclusief categorieën en tags
  • wp-includes/comment-template.php - bestand voor sjabloontags voor de commentaarsectie
  • wp-includes/link-template.php - sjabloontags voor links (permanente links, bijlagelinks, archieflinks, enz.)
  • wp-includes/nav-menu-template.php - sjabloontags voor het navigatiemenu
  • wp-includes/post-template.php - sjabloontags die aan berichten zijn gekoppeld
  • wp-includes/post-thumbnail-template.php - bestand voor sjabloontags die zijn gekoppeld aan berichtminiaturen
  • wp-includes/general-template.php - bestand voor andere sjabloontags die overal kunnen worden gebruikt

WordPress is een open source-systeem, dus de standaard bestands- en mapstructuur bestaat uit openbaar beschikbare informatie en iedereen, inclusief hackers, weet precies waar hij een aanval op de site moet lanceren.

Om dergelijke aanvallen tegen te gaan, kunt u de standaardbestandsstructuur van een WordPress-site reorganiseren. In dit artikel leert u 2 manieren om de bestands- en mapstructuur van een enkele site en een WordPress-installatie met meerdere sites te wijzigen.

Waarschuwing van WordPress: Doe dit op eigen risico. Voor de meeste sites is het niet aan te raden om WordPress naar een andere map te verplaatsen, tenzij je daar een goede reden voor hebt en weet wat je doet, omdat dit bij veel plugins problemen kan veroorzaken.

Maak een back-up

U wijzigt de locatie van bestanden en mappen, zodat als er iets misgaat, u de site kunt herstellen vanaf een back-up.

Als de sitebestanden niet kunnen communiceren met , worden er fouten weergegeven aan de voorkant van de site met informatie die niet door buitenstaanders gezien mag worden. Het is beter om deze informatie te verbergen; in plaats van de voorkant, kan deze worden opgeslagen in een logbestand.

1. Breng de site over zonder de URL te wijzigen

Normaal gesproken betekent het verplaatsen van sitebestanden van de hoofdmap naar een submap dat het siteadres verandert van http://uw-site.ru naar het adres van deze map, bijvoorbeeld http://uw-site.ru/abcd -xyz/, maar u kunt ervoor zorgen dat het siteadres ongewijzigd blijft, maar dat de bestanden in een nieuwe map staan.

Maak een nieuwe folder

Maak een nieuwe map in de hoofdmap van de site. Dit kan gedaan worden in de bestandsbeheerder op het hostingpaneel of via FTP.

Een nieuwe map op de server aanmaken via FTP-client

Geef de nieuwe map een unieke naam die niet gemakkelijk te raden is. Noem de map niet "wordpress", "wp-core" of iets dergelijks. Kies een naam die iets voor u betekent, maar die voor hackers niet gemakkelijk te kiezen is.

Verplaats de WordPress-kernbestanden naar een nieuwe map

Breng ALLE sitebestanden en mappen over naar de nieuw aangemaakte map.

Op basis van de URL van uw site zal een hacker ervan uitgaan dat de bestanden en mappen van de site zich in de hoofdmap bevinden, maar wanneer hij probeert toegang te krijgen tot deze bestanden, zal hij zich realiseren dat ze daar niet zijn. Dit vergroot de kans dat bestanden intact blijven.

Maak een leeg .htaccess-bestand

U kunt hetzelfde doen voor een enkele WordPress-installatie, maar in dit geval kunt u het WordPress-adres in het menu niet wijzigen InstellingenKomen vaak voor.

Open wp-config.php en voeg deze regels toe

aan het einde van het bestand, maar vóór de regel

Vervang abcd-xyz door de naam van uw map. Als je geen SSL-certificaat hebt geïnstalleerd, vervang dan https in beide regels door http .

Sla uw wijzigingen op. De site moet niet beschikbaar zijn. Nu moeten we de bestanden verplaatsen.

Bestanden verplaatsen

Verplaats alle bestanden en mappen van de hoofdmap naar de nieuwe map die u hebt gemaakt, in dit voorbeeld heet dit /abcd-xyz .

Ga naar deze map en kopieer de bestanden .htaccess En index.php terug naar de hoofdmap vanwaar u ze zojuist hebt verplaatst. Als gevolg hiervan worden de bestanden en index.php moet zich zowel in de hoofdmap van de site als in de nieuw gemaakte map /abcd-xyz bevinden.

Bestand .htaccess kan onzichtbaar zijn, dus ga in de instellingen van bestandsbeheer op de hosting of in de FTP-clientinstellingen naar Instellingen en vink het vakje aan Laat verborgen bestanden en mappen zien.

Als, nadat u de optie Verborgen bestanden weergeven in de hoofdmap van de site hebt ingeschakeld, andere verborgen bestanden of mappen zichtbaar worden, verplaats deze dan naar de nieuw gemaakte map /abcd-xyz.

Het index.php-bestand bewerken

Om de site te laten werken met bestanden die zich op het nieuwe adres bevinden, moet u wijzigingen in het bestand aanbrengen index.php. Open index.php, die zich in de hoofdmap van de site bevindt en deze regels vindt, ze bevinden zich aan het einde van het bestand:

Voeg het adres van de nieuwe map toe vóór /wp-blog-header.php, zodat het er als volgt uit zou moeten zien:

Vervang /abcd-xyz door de naam van uw map. Sla de wijzigingen op en upload deze naar de server.

Permalinks bijwerken

Log in op het sitebeheergedeelte. De URL van de inlogpagina moet nu de naam van de nieuwe map bevatten.

In dit voorbeeld heet de map /abcd-xyz, waarna het inlogadres verandert in http://my-site.ru/abcd-xyz/wp-login.php of http://moy-site.ru/ abcd-xyz/wp-admin.

Ga naar InstellingenPermalinks en druk op Wijzigingen opslaan. Hierdoor wordt het bestand automatisch bijgewerkt .htaccess en alle berichten en pagina's zullen beschikbaar zijn voor bezoekers.

3. Enkele WordPress-mappen verplaatsen

U kunt nog een paar wijzigingen aanbrengen in de mappenstructuur van de site. Om dit te doen, moet u een paar regels code aan het bestand toevoegen wp-config.php voor elke volgende stap.

Er zijn 2 regels die moeten worden gevolgd:

  1. Map wp-inclusief kan alleen samen met alle andere bestanden en mappen naar een nieuwe locatie worden verplaatst, zoals in het bovenstaande voorbeeld.
  2. Kan map niet verplaatsen uploads. Deze map zou zich moeten bevinden op /wp-content/uploads/, maar de naam kan worden gewijzigd.

U kunt wijzigingen in deze mappen aanbrengen met behulp van de code in wp-config.php:

  • wp-inhoud
  • plug-ins
  • uploads (alleen hernoemen)

Wanneer u wijzigingen aanbrengt in mappen wp-inhoud En plug-ins, voeg de code toe aan wp-config.php naar lijn

met map uploads- na deze regel.

WP-inhoud

U kunt een nieuwe map maken in de hoofdmap van de site en de map daarheen verplaatsen wp-inhoud. Daarna geopend wp-config.php en voeg deze code toe:

Vervang nieuwe map door de naam van de nieuwe map. Vervang my-site.ru door de naam van uw site en https door http als u geen SSL-certificaat hebt geïnstalleerd.

Als u wilt overstappen wp-inhoud naar de map die dat is Niet in de hoofdmap van de site en vervang vervolgens /nieuwemap/ door uw adres.

Plug-ins

Maak een nieuwe map, verplaats de map ernaartoe plug-ins. Voeg deze code toe aan wp-config.php:

Vervang add-folder door de naam van de nieuwe map. Vervang my-site.ru door de naam van uw site en https door http als u geen SSL-certificaat hebt geïnstalleerd.

Als je een compatibiliteitsprobleem met plug-ins hebt, voeg dan deze regel toe:

Vervang add-folder door de naam van de nieuwe map.

Uploads

Om de naam van een map te wijzigen uploads, open wp-config.php, ga helemaal onderaan het bestand, onder de regels "Dat is alles, geen verdere bewerkingen", en zoek deze 2 regels:

Boven de regel require_once(ABSPATH . "wp-settings.php"); toevoegen

Map Uploads is altijd relatief ten opzichte van ABSPATH, dus de schuine streep vóór wp-content/media is niet vereist. Vervang media door de nieuwe mapnaam uploads. Het resultaat zou moeten zijn:

Redden wp-config.php.

Als u besluit de mapnaam te wijzigen uploads, dan moet u de huidige mapnaam op de server wijzigen.

Log in op de server via FTP of via het hostingpaneel en wijzig de mapnaam uploads naar de naam die u deze map in het bestand hebt gegeven wp-config.php.

Conclusie

Als je alles goed hebt gedaan, zou de site correct moeten werken op het gebruikelijke adres zonder een submap aan de URL toe te voegen, en zullen bezoekers en hackers niet kunnen detecteren dat de WordPress-kernbestanden niet langer op hun gebruikelijke plaats in de site staan. hoofdmap.

Lees voor meer gedetailleerde informatie het artikel WordPress hosten in een aparte map (Russisch) in de WordPress-documentatie.