Doménové prostory


Korektní způsob práce s více doménovými prezentacemi se zanořováním domén do sebe. Klasickým příkladem je struktura stránek pod hlavní doménou, jejíž jednotlivé větve fungují jako mikrostránky s vlastními doménami druhého nebo vyšších řádů. Popis problému a řešení využitého ve Virgo CMS.

Požadavky na správu domén v CMS

  • Možnost nastavení více domén v jedné administraci - základní požadavek bez jehož splnění nemá smysl pokračovat dále. Administrace CMS musí být schopná pojmout více nežli jednu prezentaci a hlavně více nežli jednu doménu.
  • Možnost nastavení více domén na jednu prezentaci - díky prvnímu požadavku máme splněnou možnost více domén, ale je třeba zajistit, aby i jedna prezentace či například jedna stránka mohla mít nastaveno více nežli jednu doménu.
  • diagram doménových prostorůMožnost nastavení domény na libovolnou stránku ze struktury stránek - tímto způsobem je možný jednoduchý vznik mikrostránek s vlastní doménou, které jsou ovšem i nadále součástí nadřazené webové prezentace (na obrázku doména moje-produkty.cz).
  • Každá stránka je dostupná právě pod jednou doménou - zásadní požadavek zabraňující duplikaci obsahu a tím zhoršování SEO optimalizace. Pokud je na stránku nastaveno více nežli jedna doména, tak musí dojít k volbě jedné z nich s ohledem na jejich použití.
  • Odkazy mezi doménami jsou zajištěny bez přesměrování - požadavek na optimalizaci rychlosti načítání stránek. Předchozí požadavek totiž lze splnit i jednoduchou detekcí "jsem na správné doméně" případně následovanou "pokud ne tak přesměrování na správnou doménu". Toto řešení je sice jednoduché, ale neefektivní a nepraktické.

Princip doménových prostorů

Veškeré požadavky lze vyřešit elegantním způsobem pomocí tzv. doménových prostorů a několika pravidel. Nejlépe je princip fungování doménových prostorů patrný z přiloženého diagramu. Doménové prostory jsou definovány nad strukturou stránek pomocí namíření konkrétní domény na konkrétní stránku. Tato stránka, kam míří doména pak funguje jako "vstupní stránka pro doménu".

Všechny její vnořené stránky a jejich podstránky pak spadají do doménového prostoru této domény. V našem diagramu máme zobrazeny tři doménové prostory - modrý pro "moje-domena.cz", červený pro "moje-produkty.cz" a zelený pro "moje-druha-domena.cz".

Červený doménový prostor je tak podmnožinou modrého a není tak jasné jaká doména by měla být použita pro stránky v něm. Zde nastupuje nejdůležitější pravidlo - přednost má doménový prostor menší velikost. Velikostí se rozumí počet stránek v prostoru obsažených. Menší červený prostor tak získává přednost před modrým a na stránky v něm je použita doména "moje-produkty.cz".

V případě konfliktu, kdy mají oba doménové prostory shodnou velikost je nutné aby u domén šla nastavit jejich priorita. Pak má přednost doména s největší prioritou.

Přechody mezi doménovými prostory

V principu může nastat několik případů přechodů mezi stránkami, které spadají do různých doménových prostorů.

Odkazem z jedné stránky na jinou

Tento případ je v našem diagramu např. přesun ze stránky "Produkty" na stránku "Reference". Pro splnění požadavku o neexistenci přesměrování při přechodu pomocí odkazů je nutné vytvořit nad celým systémem jednotící logiku pro správu stránek, doménových prostorů a URL. Často se vytváří jako statické API.

Pokud máme tuto logiku k dispozici tak můžeme veškeré odkazy vytvářet na základě symbolických vztahů mezi stránkami (odkazy podle id stránky nebo nejhůře relativními odkazy). Tj. u veškerých odkazů v rámci webové prezentace (či prezentací) je doména dopočítána korektně podle toho do jakého doménového prostoru cílová stránka spadá a jaká doména bude dle pravidel využita.

Přímým zadáním URL

Ekvivalentní je příchod odkazem mimo webovou prezentaci. V tomto případě je nutné provést kontrolu, zda je stránka pod zadanou doménou vůbec dostupná. V případě že není, ale je dostupná pod jinou doménou tak je provedeno přesměrování. Například v našem diagramu by to odpovídalo situaci příchodu na stránku produktů s doménou moje-domena.cz - bude provedeno přesměrování na tutéž stránku s donou moje-produkty.cz. Tím je zajištěno, že v žádném případě nemůže dojít k duplikaci obsahu na různých URL.

Virgo CMS a doménové prostory

Virgo CMS korektně implementuje veškeré uvedené aspekty doménových prostorů. Umožňuje tak nejen spravovat více webových prezentací s různými doménami, ale i spravovat portály obsahující mikrostránky s vlastními doménami.

Samozřejmostí je, že při zadání domény dochází k přepočtu doménových prostorů a změny se ihned projeví na webové prezentaci. veškerá implementace je optimalizována na rychlost - náročné výpočty probíhají jen v řídkých případech změn doménových prostorů, kdežto při zobrazování stránky se již využívají předpočítané výsledky.

Ing. Pavel Šimůnek
analytik a hlavní vývojář Virgo CMS


VirgoCMS
? NAPOVEDA povinné