Poniżej przedstawiamy opcję tworzenia MultiWordpressa, czyli “niezliczoną” ilość wersji językowych strony, motywów, subdomen i “substron” w ramach jednej domeny.
Do czego służy MultiWordpress?
- MultiWordpress często jest wykorzystywany do kilku wersji językowych strony.
- Opcja ta umożliwia wykorzystywać “niezliczoną” ilość motywów dla jednej domeny bez konieczności instalacji nowych podstron i wtyczek (WordPress). Np. domena.pl / blog.domena.pl / program-partnerski/domena.pl itd.
- MultiWordpress, czyli dodatkowe podstrony mogą służyć jako “zapleczówki” na rzecz SEO/Pozycjonowania.
Uwaga: Warto jednak pamiętać, że nie każdy hostingodawca udostępnia SSL Lets Encrypt dla subdomen (MultiWordpresowych) oraz zhakowanie/włamanie się do MultiWordpressa naraża wszystkie subdomeny/podfoldery.
Podfoldery czy Subdomeny w ramach WordPress Multisite?
Czym się różnią oba rozwiązania?
- subdomena.domena.pl – przykład adresu opartego o subdomeny (używa się w sytuacji innych tematycznie podstron).
- domena.pl/podfolder – przykład adresu opartego o podfoldery (używa się w sytuacji tematycznych podstron w ramach jednej strony www).
*Uwaga: subdomenę z osobnym WordPressem można utworzyć w ramach serwera – to rozwiązanie jest najbezpieczniejsze pod kątem ataków hakerskich (wówczas zhakowana będzie jedna strona, a nie wszystkie), jednak najmniej korzystne dla małych podstron pod kątem optymalizacyjnym oraz SEO/Pozycjonowania (wymaga podwójnej pracy).
Dodatkowo warto wiedzieć, że zarówno subdomeny jak i podfoldery Google odbiera jako jedną stronę www, natomiast w przypadku subdomen Google Analytics wymaga podwójnej instalacji kodu śledzenia. Również często zdarza się, że subdomeny w ramach multiwordpressa błędnie konfigurują przekierowania 301, np. z www na bez www lub z https lub bez https.
Subdomena MultiWordpress
KROK 1: Aktywuj ustawienia WordPress Multisite
Kod do wklejenia do wp-config.php nad oznaczeniem /* To wszystko, nie edytuj dalej! Szczęśliwego blogowania. */
:
define( 'WP_ALLOW_MULTISITE', true );
*Po dodaniu tego kodu w ustawieniach WordPressa pojawi się nowa zakładka: Uruchamianie sieci witryn.
KROK 2: Wyłącz wszystkie wtyczki i potwierdź, że chcesz Uruchomić sieć witryn w kokpicie WordPressa, a następnie dodaj poniższy kod.
Kod do wklejenia do wp-config.php pod wklejonym kodem: define( ‘WP_ALLOW_MULTISITE’, true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'TWOJA DOMENA');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1)
;
KROK 3: Dodatkowy kod
Kod do wklejenia do .htaccess
zamiast znajdującego się w nim kodu;
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
Odśwież swoją stronę www i zaloguj się ponownie. MultiWordpress jest utworzony 🙂
*Uwaga: w ramach strefy DNS cześć serwerów wymaga ustawienia “Wildcard dla domen”, tj. rekord “A”: *.twojadomena.pl. z wartością IP serwera (propagacja do 4 godzin)!
Zamiana konfiguracji WordPress Multisite z subdomeny na podfolder
W celu zmiany konfiguracji WordPressa z subdomeny na podfolder należy zedytować pliki wp-config.php oraz .htaccess.
KROK 1:
W pliki wp-config.php odnajdź:
define( 'SUBDOMAIN_INSTALL', true );
i zamień wartość na false
define( 'SUBDOMAIN_INSTALL', false );
Również odwrotnie dla zmiany z podfolderów na subdomeny – zmień wartość z true na false.
KROK 2:
W panelu administratora WordPress w Administracja siecią witryn > Ustawienia > Uruchamianie sieci witryn pobierz nowy kod i zmień w pliku .htaccess
To wszystko, nie edytuj dalej! Szczęśliwego blogowania 🙂
*Pamiętaj, że stworzona wersja MultiWordPressa najprawdopodobniej nie zawiera niezbędnych przekierowań 301.
Jak wyłączyć sieć WordPress MultiSite?
Krok 1: W pliku wp-config.php w katalogu głównym WordPressa usuwamy dane dot. multisite (zostaje tylko: define( 'WP_DEBUG', false );
):
define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'domena.pl');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
Krok 2: W pliku .htaccess w katalogu głównym WordPressa zmieniamy całą zawartość na:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Krok 3: W bazie MySQL usuwamy zbędne tabele (prefix wp_ może być inny):
- wp_blogs
- wp_blog_versions
- wp_registration_log
- wp_site
- wp_sitemeta
- wp_signups
- wp_sitecategories (ta tabela nie będzie występować we wszystkich instancjach WP MS)
- Dodatkowo: usuwamy dwie kolumny z tabeli użytkowników (wp_users): deleted i spam (przejdź do trybu/widoku Struktura, zaznacz niepotrzebne kolumny i wybierz: Usuń)
* Jeśli mamy wtyczkę W3 Total Cache kasujemy w katalogu wp-content:
- advanced-cache.php
- w3tc-config
- cache
Udostępnij! Podziel się artykułem w swojej sieci!