Semakin
Zákazník

SemaSitemap

SemaSitemap for Joomla Joomla 4 / 5 / 6

Joomla 4 / 5 / 6 Verze 0.3

Připravujeme

Rozšíření dokončujeme a zatím není v prodeji. Chystaná cena je 1 125 Kč ročně. Popis níž odpovídá připravované verzi 0.3.4.

XML sitemapa pro Joomlu a VirtueMart

Online generovaná sitemapa s cache na disku, jazykovými alternativami hreflang a kolektory pro VirtueMart

Jeden balíček. Deset tisíc produktů za deset sekund. Sdílený hosting stačí.

Sitemapa je první věc, kterou si Google od e-shopu přečte — a u větších katalogů na sdíleném hostingu často to jediné, co se nikdy nepostaví celé. Generátory, které skládají všechno v jednom požadavku, vyprší na časovém limitu, statické soubory stárnou a VirtueMart přidává adresy, které na webu vůbec neexistují. SemaSitemap staví mapu po krocích, ukládá ji na disk a robotovi vydá vždy jen hotový, ověřitelný soubor.

Jak to funguje

Proč to potřebujete

Vyhledávač indexuje jen to, co najde. Sitemapa mu říká, které adresy existují, v jakém jazyce a která je ta kanonická. Když ji web nemá, nebo v ní stojí adresy vracející 404 a přesměrování, přichází o část katalogu, aniž by to kdo poznal.

Co vyhledávače chtějí

  • Úplný seznam adres, které web opravdu vrací s kódem 200
  • U vícejazyčného webu alternativy hreflang u každé adresy
  • Soubory do 50 000 adres a index, který je spojuje
  • Mapu, která se obnovuje s obsahem — ne jednou za měsíc ručně

Kde běžná řešení selhávají

  • Generátor skládá celý katalog v jednom požadavku — na sdíleném hostingu vyprší po 30 s
  • Router VirtueMartu tvoří adresy s duplicitami a stavovými segmenty, které v mapě nemají co dělat
  • Produkty skryté kvůli skladu nebo nepublikované v daném jazyce se do mapy dostanou stejně
  • Index vypisuje soubory, které na disku ještě nejsou — robot dostane 404

Co SemaSitemap řeší

Nainstalujete jeden ZIP. Balíček zapne komponentu i oba pluginy, srovná jejich pořadí a založí naplánovanou úlohu. Zapnete zdroje, stisknete Build — a na /sitemap.xml stojí index se soubory pro každý jazyk.

Zdroje obsahu

  • Joomla — položky menu, články a kategorie článků; každý zdroj se dá zapnout zvlášť
  • VirtueMart — kategorie, produkty a výrobci, volitelně i varianty produktů
  • Jen to, co web opravdu ukazuje — respektuje publikování, jazyk položky a skrývání produktů podle skladu
  • Adresy z routeru webu — mapa obsahuje stejné adresy, jaké vidí návštěvník, včetně SEF přepisů

VirtueMart bez překvapení

  • Kanonická kategorie — produkt zařazený do více kategorií dostane tutéž adresu, jakou VirtueMart vypisuje na stránce produktu
  • Vzory pro strip stavu — segmenty řazení, stránkování a zobrazení se z adres odstraní, sitemapa obsahuje jen čisté cesty
  • Velké katalogy — kolektory pracují po dávkách a čistí cache routeru VirtueMartu, takže paměť neroste s počtem produktů
  • Ověření vzorku — jedním tlačítkem otestujete, že vzorek vygenerovaných adres odpovídá 200 a ne přesměrováním

Vícejazyčné weby a výstup

  • Soubor na jazyk — /cs/sitemap-menu.xml, /en/sitemap-vmprod-2.xml… a společný index na /sitemap.xml
  • hreflang — u každé adresy alternativy v ostatních jazycích podle asociací Joomly, volitelně s x-default
  • Cache na disku — robot čte hotový soubor; platnost nastavíte v hodinách
  • Dělení na soubory — počet adres v jednom souboru si zvolíte, index se skládá sám
  • Hosting bez přepisu adres — pro servery, kde .htaccess nepřepisuje .xml, existuje tvar přes index.php

Jak to funguje

Cesta k robotovi

1

Sběr adres po krocích

Fronta projde zapnuté zdroje jazyk po jazyku a po dávkách. Každý krok se vejde do časového limitu sdíleného hostingu; když jeden selže, pokračuje se od něj, ne od začátku.

2

Soubory na disku

Z map všech jazyků se složí XML soubory s hreflang bloky a index. Skládání je levné — u deseti tisíc produktů zlomek sekundy na soubor.

3

Robot dostane hotový soubor

Požadavek na /sitemap.xml vrátí index jen s existujícími soubory. Malý web se dostaví přímo v požadavku; velký vrátí 503 Retry-After, dokud fronta neproběhne — nikdy 404.

Pro provozovatele webu

  • Kontrola prostředí — Přehled hned po instalaci řekne, co chybí: přepis adres, jazykový filtr, zapisovatelná cache, VirtueMart. Žádný řádek nesmí být ERROR.
  • Build s průběhem — Stavbu spustíte tlačítkem a sledujete krok, uplynulý čas a odhad zbývajícího. Po selhání pokračujete od místa, kde fronta stála.
  • Naplánovaná úloha — Balíček založí úlohu v plánovači Joomly; spouští ji cron nebo webcron hostingu a mapa se obnovuje sama.
  • Ověření vzorku — Vzorek adres z hotové mapy se otestuje HTTP požadavkem: 200 je OK, přesměrování varování, 404 chyba.
  • Žurnál chyb — Co se při stavbě nepovedlo, vidíte v Přehledu, ne v logu, který nikdo nečte.
  • Platné přepínače — Karta ukazuje každé nastavení i s tím, odkud hodnota pochází; neshoda s výchozími hodnotami se hlásí.

Co vše lze nastavit

NastaveníPopis
ZdrojeMenu, články, kategorie článků, kategorie / produkty / výrobci VirtueMart — každý zvlášť
Varianty produktůZahrnout i podřízené produkty VirtueMartu
Jazykové alternativyZapnout hreflang, volitelně odkaz x-default
Platnost cacheV hodinách; po vypršení se mapa přestaví
Počet URL v souboruVelikost jednoho XML souboru, index se skládá sám
Velikost dávky dotazuKolik řádků se načte na jeden krok fronty
Limit pro generování v požadavkuDo kolika adres se mapa staví přímo v požadavku robota
Tvar adres sitemapyHezké cesty (/sitemap-menu.xml), nebo adresy přes index.php
Vzory pro strip stavuSegmenty adres VirtueMartu, které se z mapy odstraní
Nesměrované adresyVypisovat i adresy, pro které router nemá položku menu
Priority a changefreqVe výchozím stavu vypnuté — vyhledávače je ignorují
Timeout kroku a rozpočet tickuLadění fronty podle limitů hostingu
Limit volání build endpointuOchrana proti zahlcení stavby (za minutu)

Technické údaje

ParametrHodnota
Typ rozšířeníJoomla Package (admin komponenta + system plugin + task plugin)
KompatibilitaJoomla 4.4 / 5.x, PHP 8.1+
VirtueMart4.2+ — volitelný; bez něj se stará o obsah Joomly
VýstupIndex /sitemap.xml + soubor na jazyk a zdroj, protokol sitemaps.org, hreflang
CacheSoubory na disku, platnost v hodinách, index jen z existujících souborů
StavbaFronta ve dvou fázích, obnovitelná od místa selhání, plánovač Joomly
Změřeno10 028 produktů × 4 jazyky: celá stavba 10 s, špička 16 MB, 12 souborů + index
HostingSdílený hosting bez SSH (PHP ~30 s / 128 MB)
DatabázeTři vlastní tabulky, odinstalace je uklidí
LokalizaceČeština, angličtina
InstalaceJeden ZIP přes instalátor rozšíření
AktualizacePřes správce aktualizací Joomly (SemaHub)
LicenceGPL v2+

Časté dotazy

Potřebuji VirtueMart?

Ne. Kolektory VirtueMartu se zapnou jen tam, kde VirtueMart je. Na běžném webu na Joomle SemaSitemap mapuje menu, články a kategorie článků.

Musím upravovat šablonu nebo .htaccess?

Šablonu ne. Standardní .htaccess Joomly s přepisem adres stačí — /sitemap.xml obslouží plugin. Když hosting .xml k PHP nepustí, přepnete tvar adres na index.php a ten zadáte do Search Console.

Proč sitemapa poprvé vrátila 503?

Index vypisuje jen soubory, které na disku jsou. Dokud první stavba neproběhne, vrací se 503 s hlavičkou Retry-After — robot se vrátí později a dostane celou mapu. Nikdy nedostane index s odkazy na neexistující soubory.

Jak se mapa obnovuje?

Naplánovaná úloha Joomly, kterou balíček založí, se spouští cronem nebo webcronem hostingu. Přehled vypíše přesný příkaz. Líný plánovač (spouštění návštěvou) podporovaný není — na velkém webu by stavbu nikdy nedokončil.

Zvládne to velký katalog na sdíleném hostingu?

Ano, přesně na to je fronta. Změřeno na 10 028 produktech ve čtyřech jazycích: stavba ze studena 10 sekund, špička paměti 16 MB. Každý krok se vejde do limitu hostingu a po selhání se pokračuje od něj.

Co s produkty ve více kategoriích?

Produkt dostane jednu adresu — tu, kterou VirtueMart sám vypisuje na stránce produktu. Duplicitní cesty přes ostatní kategorie se do mapy nedostanou.

Vícejazyčný web a hreflang?

Každý jazyk má vlastní soubory a u každé adresy jsou alternativy v ostatních jazycích podle asociací Joomly a VirtueMartu. Nepřeložený obsah zůstává jen v mapě výchozího jazyka, aby se neindexovaly duplicity.

Co když se vygeneruje špatná adresa?

Tlačítko Ověřit vzorek otestuje adresy z hotové mapy skutečným HTTP požadavkem a vypíše kód odpovědi. Přesměrování je varování, 404 chyba — poznáte to v administraci, ne až v Search Console.

SemaSitemap for Joomla

Online generovaná XML sitemapa pro Joomlu a VirtueMart – cache na disku, hreflang a stavba po krocích, která zvládne velký katalog i na sdíleném hostingu.

Powered by SemaHub

Máte zájem o spolupráci?

Ozvěte se nám a probereme Váš projekt. Rádi Vám poradíme s výběrem řešení.